:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:#1a1f35;--bg-hover:#252b45;--border:#2a3050;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--accent:#3b82f6;--accent-hover:#2563eb;--green:#22c55e;--green-dim:#16a34a;--red:#ef4444;--red-dim:#dc2626;--yellow:#eab308;--purple:#a855f7;--radius:10px;--sidebar-width:220px;--topbar-height:56px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout{flex:1;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;padding:16px 0;display:flex}.sidebar-logo{color:var(--accent);letter-spacing:-.5px;border-bottom:1px solid var(--border);margin-bottom:8px;padding:0 20px 20px;font-size:18px;font-weight:700}.sidebar-logo span{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex}.nav-item{color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent);color:#fff}.nav-item svg{flex-shrink:0;width:18px;height:18px}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{height:var(--topbar-height);background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:24px;padding:0 24px;display:flex}.stat-card{flex-direction:column;gap:2px;display:flex}.stat-card .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.stat-card .value{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.stat-card .value.positive{color:var(--green)}.stat-card .value.negative{color:var(--red)}.regime-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700}.regime-badge.bull{color:var(--green);background:#22c55e26}.regime-badge.bear{color:var(--red);background:#ef444426}.regime-badge.chop{color:var(--yellow);background:#eab30826}.topbar-spacer{flex:1}.emergency-btn{border:1px solid var(--red);color:var(--red);cursor:pointer;background:#ef44441a;border-radius:8px;padding:6px 16px;font-size:12px;font-weight:700;transition:all .15s}.emergency-btn:hover{background:var(--red);color:#fff}.emergency-btn.active{background:var(--green);border-color:var(--green);color:#fff}.page-content{flex:1;padding:20px 24px;overflow-y:auto}.page-title{color:var(--text-primary);margin-bottom:20px;font-size:22px;font-weight:700}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.grid-2x2{height:calc(100vh - var(--topbar-height) - 40px);grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:16px;display:grid}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;overflow:hidden}.card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);background:var(--bg-card);padding:8px 10px;font-size:11px;font-weight:600;position:sticky;top:0}.data-table td{font-variant-numeric:tabular-nums;border-bottom:1px solid #2a305080;padding:8px 10px}.data-table tr:hover td{background:var(--bg-hover)}.dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.dot.green{background:var(--green);box-shadow:0 0 6px var(--green)}.dot.red{background:var(--red);box-shadow:0 0 6px var(--red)}.dot.yellow{background:var(--yellow)}.tag{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.tag.green{color:var(--green);background:#22c55e26}.tag.red{color:var(--red);background:#ef444426}.tag.blue{color:var(--accent);background:#3b82f626}.tag.yellow{color:var(--yellow);background:#eab30826}.signal-item{border-bottom:1px solid #2a30504d;align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.signal-item:last-child{border-bottom:none}.signal-time{color:var(--text-muted);min-width:60px;font-size:12px}.signal-symbol{min-width:90px;font-weight:700}.signal-metric{color:var(--text-secondary);font-size:12px}.config-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.config-section-header{background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.config-section-header:hover{background:var(--bg-hover)}.config-section-title{font-size:14px;font-weight:700}.config-section-body{padding:16px 20px}.config-row{border-bottom:1px solid #2a30504d;grid-template-columns:200px 1fr 200px;align-items:center;gap:16px;padding:8px 0;display:grid}.config-row:last-child{border-bottom:none}.config-label{font-size:13px;font-weight:500}.config-desc{color:var(--text-muted);font-size:12px}input[type=text],input[type=number],input[type=password],select{background:var(--bg-primary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:6px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s}input:focus,select:focus{border-color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent)}.toggle{background:var(--border);cursor:pointer;border-radius:12px;width:44px;height:24px;transition:background .2s;position:relative}.toggle.active{background:var(--accent)}.toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle.active:after{transform:translate(20px)}.btn{cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;transition:all .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:var(--red-dim)}.btn-outline{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.btn-outline:hover{border-color:var(--text-primary);color:var(--text-primary)}.btn-group{gap:8px;margin-top:20px;display:flex}.status-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.status-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.status-card .title{color:var(--text-muted);text-transform:uppercase;margin-bottom:8px;font-size:12px}.status-card .metric{font-size:24px;font-weight:700}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:2s infinite pulse}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:.3s ease-out slideIn}
