:root{font-family:IBM Plex Sans,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1{margin-top:0;font-size:2rem}:root{--bg-dark: #0f172a;--bg-panel: #1e293b;--bg-hover: #334155;--text-main: #f8fafc;--text-muted: #94a3b8;--border-color: #334155;--primary: #3b82f6;--primary-hover: #2563eb;--success: #10b981;--success-hover: #059669;--danger: #ef4444;--danger-hover: #dc2626;--warning: #f59e0b;--warning-hover: #d97706}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-dark);color:var(--text-main);line-height:1.5}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:250px;background-color:var(--bg-panel);border-right:1px solid var(--border-color);display:flex;flex-direction:column}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.sidebar-header h2{font-size:1.25rem;font-weight:600}.badge{background-color:var(--primary);color:#fff;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge.warning{background-color:var(--warning)}.sidebar-nav{padding:1rem 0;flex:1;overflow-y:auto}.nav-item{display:flex;align-items:center;padding:.75rem 1.5rem;color:var(--text-muted);text-decoration:none;transition:all .2s;gap:.75rem}.nav-item:hover{background-color:var(--bg-hover);color:var(--text-main)}.nav-item.active{background-color:var(--bg-hover);color:var(--primary);border-right:3px solid var(--primary)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{height:60px;background-color:var(--bg-panel);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 2rem;justify-content:flex-end}.status-indicator{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted)}.dot{width:8px;height:8px;border-radius:50%}.dot.green{background-color:var(--success);box-shadow:0 0 8px var(--success)}.content-area{flex:1;overflow-y:auto;padding:2rem}.page-container{max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{font-size:1.875rem;font-weight:600}.last-updated{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.875rem}.demo-banner{margin-bottom:1.5rem;padding:.75rem 1rem;border:1px solid rgba(16,185,129,.3);background-color:#10b9811f;color:#6ee7b7;border-radius:.375rem;font-size:.875rem;font-weight:600}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;border:none;transition:all .2s;font-size:.875rem}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--bg-hover);color:var(--text-main)}.btn-secondary:hover{background-color:var(--border-color)}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover{background-color:var(--success-hover)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:var(--danger-hover)}.btn-outline{background-color:transparent;border:1px solid var(--border-color);color:var(--text-main)}.btn-outline:hover{background-color:var(--bg-hover)}.status-grid,.metrics-grid,.approvals-grid,.strategies-grid,.backtests-grid{display:grid;gap:1.5rem}.status-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.status-card,.metric-item,.approval-card,.strategy-card,.backtest-card,.event-card{background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem}.status-card.primary{border-top:4px solid var(--primary)}.status-card.warning{border-top:4px solid var(--warning)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;color:var(--text-muted)}.card-header h3{font-size:1rem;font-weight:500}.card-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.card-footer{font-size:.875rem;color:var(--text-muted)}.text-green{color:var(--success)}.text-red{color:var(--danger)}.text-gray{color:var(--text-muted)}.metric-item{display:flex;flex-direction:column;gap:.5rem}.metric-label{color:var(--text-muted);font-size:.875rem}.metric-value{font-size:1.5rem;font-weight:600}.metric-value.positive{color:var(--success)}.metric-value.negative{color:var(--danger)}.approvals-grid{grid-template-columns:1fr 400px}.approval-card{margin-bottom:1rem}.approval-card.pending{border-left:4px solid var(--warning)}.approval-card.accepted{border-left:4px solid var(--success);opacity:.7}.approval-card.rejected{border-left:4px solid var(--danger);opacity:.7}.approval-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.side-badge{padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:700}.side-badge.buy{background-color:#10b98133;color:var(--success)}.side-badge.sell{background-color:#ef444433;color:var(--danger)}.symbol{font-size:1.25rem;font-weight:700;letter-spacing:1px}.status-badge{margin-left:auto;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.status-badge.pending{background-color:#f59e0b33;color:var(--warning)}.status-badge.completed,.status-badge.filled,.status-badge.validated{background-color:#10b98133;color:var(--success)}.status-badge.failed,.status-badge.rejected{background-color:#ef444433;color:var(--danger)}.status-badge.paper_enabled{background-color:#3b82f633;color:var(--primary)}.approval-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.detail-row{display:flex;justify-content:space-between}.detail-row .label{color:var(--text-muted)}.detail-row .value{font-weight:500}.warning-text{color:var(--warning)}.approval-actions{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-color)}.action-buttons{display:flex;gap:.5rem}.shadow-preview-panel{background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem;position:sticky;top:2rem}.shadow-preview-panel h3{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.preview-content pre{background-color:var(--bg-dark);padding:1rem;border-radius:.375rem;overflow-x:auto;font-size:.875rem;color:var(--text-muted);margin-bottom:1.5rem}.kill-switch-card{background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:.5rem;padding:2rem;margin-bottom:2rem;transition:all .3s}.kill-switch-card.active{border-color:var(--danger);box-shadow:0 0 20px #ef444433}.kill-switch-card .description{color:var(--text-muted);margin-bottom:2rem;max-width:600px}.toggle-container{display:flex;align-items:center;gap:1.5rem}.switch{position:relative;display:inline-block;width:60px;height:34px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-hover);transition:.4s}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--danger)}input:focus+.slider{box-shadow:0 0 1px var(--danger)}input:checked+.slider:before{transform:translate(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.status-text{font-weight:700;font-size:1.125rem}.events-list{display:flex;flex-direction:column;gap:1rem}.event-card{display:flex;gap:1.5rem;align-items:flex-start}.event-card.warning{border-left:4px solid var(--warning)}.event-icon{color:var(--warning);padding:.5rem;background-color:#f59e0b1a;border-radius:.5rem}.event-content{flex:1}.event-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.event-header .category{font-weight:600;font-size:.875rem}.event-header .time{color:var(--text-muted);font-size:.875rem}.data-table-container{background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:.5rem;overflow-x:auto}.data-table{width:100%;min-width:760px;border-collapse:collapse;text-align:left}.data-table th,.data-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.data-table th{color:var(--text-muted);font-weight:500;font-size:.875rem;background-color:#0003}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background-color:var(--bg-hover)}.id-cell{font-family:monospace;color:var(--text-muted)}.symbol-cell{font-weight:600;letter-spacing:1px}.time-cell{color:var(--text-muted);font-size:.875rem}.positive{color:var(--success)}.negative{color:var(--danger)}.pnl-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.25rem;font-size:.875rem;font-weight:500}.positive .pnl-badge{background-color:#10b9811a}.negative .pnl-badge{background-color:#ef44441a}.empty-state{padding:3rem;text-align:center;color:var(--text-muted);font-style:italic}.title-group{display:flex;align-items:center;gap:1rem}.version-badge{background-color:var(--bg-hover);padding:.125rem .375rem;border-radius:.25rem;font-size:.75rem;font-family:monospace}.time-group{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.875rem}.error-message{display:flex;align-items:center;gap:.5rem;color:var(--danger);background-color:#ef44441a;padding:.75rem;border-radius:.375rem;margin-top:1rem;font-size:.875rem}.strategy-card .card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.strategy-card .actions{display:flex;gap:.5rem}@media(max-width:1100px){.approvals-grid{grid-template-columns:1fr}.shadow-preview-panel{position:static;top:auto}}@media(max-width:840px){.app-layout{flex-direction:column;height:auto;min-height:100vh}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-color)}.sidebar-header{padding:1rem}.sidebar-nav{display:flex;gap:.5rem;padding:.75rem 1rem 1rem;overflow-x:auto}.nav-item{flex:0 0 auto;padding:.75rem 1rem;border-radius:.5rem;white-space:nowrap}.nav-item.active{border-right:none;border-bottom:3px solid var(--primary)}.topbar{height:auto;padding:1rem;justify-content:flex-start}.content-area{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.page-header .status-badge,.page-header .badge,.page-header button,.last-updated{margin-left:0}.status-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-header,.event-header,.toggle-container,.strategy-card .card-footer,.approval-actions{flex-wrap:wrap}.approval-actions{flex-direction:column;align-items:stretch;gap:.75rem}.action-buttons{width:100%;flex-wrap:wrap}.action-buttons .btn{flex:1 1 180px}.toggle-container{gap:1rem}.event-card{flex-direction:column;gap:1rem}}@media(max-width:640px){.page-header h1{font-size:1.5rem}.status-card,.metric-item,.approval-card,.strategy-card,.backtest-card,.event-card,.kill-switch-card,.shadow-preview-panel{padding:1rem}.card-value{font-size:1.5rem}.metrics-grid{grid-template-columns:1fr}.approval-header,.detail-row,.event-header,.title-group,.time-group{flex-direction:column;align-items:flex-start;gap:.5rem}.status-text{font-size:1rem}.btn{width:100%;justify-content:center}.strategy-card .actions{width:100%;flex-direction:column}.data-table{min-width:640px}.data-table th,.data-table td{padding:.75rem 1rem}}
