*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-void: #020508;--bg-base: #050d1a;--bg-surface: #081425;--bg-elevated: #0d1d35;--bg-overlay: #132240;--nav-bg: #040b18;--border: rgba(255,255,255,.055);--border-hi: rgba(255,255,255,.11);--border-accent: rgba(0,200,255,.28);--text-primary: #e4eeff;--text-secondary: #7898be;--text-muted: #3d5a7a;--text-faint: #1d3050;--accent: #00c8ff;--accent-dim: rgba(0,200,255,.1);--accent-glow: rgba(0,200,255,.18);--green: #00e676;--green-dim: rgba(0,230,118,.1);--green-glow: rgba(0,230,118,.15);--red: #ff3d5a;--red-dim: rgba(255,61,90,.1);--red-glow: rgba(255,61,90,.15);--amber: #ffb300;--amber-dim: rgba(255,179,0,.12);--purple: #7c3aed;--purple-dim: rgba(124,58,237,.12);--blue: #4d9ef7;--blue-dim: rgba(77,158,247,.1);--cyan: #00e5ff;--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Mono", monospace;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-2xl: 20px;--shadow-sm: 0 1px 4px rgba(0,0,0,.6);--shadow-md: 0 4px 20px rgba(0,0,0,.5);--shadow-lg: 0 8px 40px rgba(0,0,0,.6);--shadow-xl: 0 20px 60px rgba(0,0,0,.7);--nav-w: 220px;--t-fast: .12s ease;--t-mid: .2s ease;--t-slow: .35s ease}html,body,#root{height:100%;background:var(--bg-base);color:var(--text-secondary);font-family:var(--font-ui);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff24}.mono{font-family:var(--font-mono)}.up{color:var(--green)}.dn{color:var(--red)}.muted{color:var(--text-muted)}.label{font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px}.card-elevated{background:var(--bg-elevated);border:1px solid var(--border-hi);border-radius:var(--r-lg);padding:16px 18px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:100px;font-size:10px;font-weight:600;letter-spacing:.3px;white-space:nowrap}.badge-green{background:var(--green-dim);color:var(--green);border:1px solid rgba(0,230,118,.2)}.badge-red{background:var(--red-dim);color:var(--red);border:1px solid rgba(255,61,90,.2)}.badge-accent{background:var(--accent-dim);color:var(--accent);border:1px solid rgba(0,200,255,.2)}.badge-amber{background:var(--amber-dim);color:var(--amber);border:1px solid rgba(255,179,0,.2)}button{font-family:var(--font-ui);font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border-hi);background:var(--bg-elevated);color:var(--text-secondary);border-radius:var(--r-md);padding:6px 14px;transition:all var(--t-fast);letter-spacing:.2px;display:inline-flex;align-items:center;gap:6px}button:hover{background:var(--bg-overlay);color:var(--text-primary);border-color:var(--border-hi)}button.active,button.btn-primary{background:var(--accent-dim);color:var(--accent);border-color:var(--border-accent)}button.btn-success{background:var(--green-dim);color:var(--green);border-color:#00e6764d}button.btn-danger{background:var(--red-dim);color:var(--red);border-color:#ff3d5a4d}button:disabled{opacity:.35;cursor:not-allowed}input,select,textarea{font-family:var(--font-ui);font-size:13px;background:var(--bg-elevated);border:1px solid var(--border-hi);color:var(--text-primary);border-radius:var(--r-md);padding:7px 12px;outline:none;transition:border-color var(--t-fast),box-shadow var(--t-fast);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}input::placeholder{color:var(--text-muted)}.tbl{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono)}.tbl th{background:var(--bg-void);color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;padding:8px 12px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.tbl th:first-child{text-align:left}.tbl td{padding:7px 12px;text-align:right;border-bottom:1px solid var(--border);color:var(--text-secondary);white-space:nowrap}.tbl td:first-child{text-align:left}.tbl tr:hover td{background:#ffffff06}.divider{height:1px;background:var(--border);margin:12px 0}.stat-tile{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px}.stat-tile .stat-label{font-size:10px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.stat-tile .stat-value{font-size:20px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono);line-height:1}.stat-tile .stat-sub{font-size:11px;color:var(--text-muted);margin-top:4px;font-family:var(--font-mono)}.page{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.page-title{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px}.page-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.page-body{flex:1;overflow:auto;padding:20px 24px}.dot-live{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:pulse-dot 2s infinite}.dot-offline{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in .25s ease forwards}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.sector-it{color:#4ade80}.sector-banking{color:#60a5fa}.sector-fmcg{color:#fbbf24}.sector-pharma{color:#c084fc}.sector-auto{color:#f59e0b}.sector-energy{color:#fb923c}.sector-metals{color:#38bdf8}.sector-infra{color:#34d399}
