:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:-.006em;--surface-page: #f9f9f7;--surface-page-2: #f2f1ee;--surface-card: #fcfcfb;--surface-sunken: #f2f1ee;--surface-hover: #ececea;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--border: rgba(11, 11, 11, .1);--border-strong: rgba(11, 11, 11, .16);--grid-line: #e1e0d9;--accent: #2a78d6;--accent-hover: #1c5cab;--accent-soft: rgba(42, 120, 214, .1);--good: #0ca30c;--good-text: #006300;--warning: #d68000;--critical: #d03b3b;--shadow-sm: 0 1px 2px rgba(11, 11, 11, .05);--shadow: 0 1px 2px rgba(11, 11, 11, .04), 0 10px 28px -10px rgba(11, 11, 11, .12);--shadow-lg: 0 4px 10px rgba(11, 11, 11, .05), 0 20px 48px -14px rgba(11, 11, 11, .18);--radius-sm: 7px;--radius: 12px;--radius-lg: 16px;--ease: cubic-bezier(.2, .7, .3, 1)}:root[data-theme=dark]{color-scheme:dark;--surface-page: #0a0e14;--surface-page-2: #0d1219;--surface-card: #10151d;--surface-sunken: #161c26;--surface-hover: #1c2430;--text-primary: #eef1f5;--text-secondary: #c3c2b7;--text-muted: #898781;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--grid-line: #232c39;--accent: #3987e5;--accent-hover: #5598e7;--accent-soft: rgba(57, 135, 229, .16);--good: #17b854;--good-text: #17b854;--warning: #fab219;--critical: #e5484d;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 28px -8px rgba(0, 0, 0, .45);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .35), 0 24px 56px -14px rgba(0, 0, 0, .55)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--surface-page: #0a0e14;--surface-page-2: #0d1219;--surface-card: #10151d;--surface-sunken: #161c26;--surface-hover: #1c2430;--text-primary: #eef1f5;--text-secondary: #c3c2b7;--text-muted: #898781;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--grid-line: #232c39;--accent: #3987e5;--accent-hover: #5598e7;--accent-soft: rgba(57, 135, 229, .16);--good: #17b854;--good-text: #17b854;--warning: #fab219;--critical: #e5484d}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--surface-page);color:var(--text-primary);transition:background-color .2s var(--ease),color .2s var(--ease)}h1,h2,h3,h4,p{margin:0}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--surface-page-2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh}.sidebar-brand{font-size:20px;font-weight:700;padding:4px 10px 24px}.sidebar-brand span:first-child{color:var(--text-primary)}.sidebar-brand span:last-child{color:var(--accent)}.sidebar-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1}.sidebar-nav a{display:block;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:background-color .15s var(--ease),color .15s var(--ease)}.sidebar-nav a:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-nav a.active{background:var(--accent-soft);color:var(--accent)}.theme-toggle{border:1px solid var(--border);background:var(--surface-card);color:var(--text-secondary);border-radius:var(--radius-sm);padding:9px 12px;font-size:13px;font-weight:500}.theme-toggle:hover{background:var(--surface-hover)}.main-col{flex:1;min-width:0;display:flex;flex-direction:column}.mode-banner{padding:8px 24px;font-size:13px;font-weight:700;letter-spacing:.03em;text-align:center}.mode-banner.paper{background:var(--accent-soft);color:var(--accent)}.mode-banner.live{background:var(--critical);color:#fff;animation:pulse-live 2s infinite}.mode-banner.kill{background:var(--warning);color:#1a1200}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.82}}.status-bar{display:flex;align-items:center;gap:24px;padding:14px 24px;background:var(--surface-card);border-bottom:1px solid var(--border);flex-wrap:wrap}.status-chip{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.status-dot.good{background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 20%,transparent)}.status-dot.bad{background:var(--critical)}.status-dot.warn{background:var(--warning)}.status-bar .spacer{flex:1}.status-metric{text-align:right}.status-metric .label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.status-metric .value{font-size:15px;font-weight:700}.btn{border:1px solid var(--border-strong);background:var(--surface-card);color:var(--text-primary);padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;transition:background-color .15s var(--ease),transform .1s var(--ease)}.btn:hover{background:var(--surface-hover)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover)}.btn-danger{background:var(--critical);border-color:var(--critical);color:#fff}.btn-danger:hover{filter:brightness(1.1)}.btn-sm{padding:5px 10px;font-size:12px}.page{padding:24px;display:flex;flex-direction:column;gap:20px;flex:1}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.card-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap}.card-header h2{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.card-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.stat-box{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.stat-box .label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.stat-box .value{font-size:20px;font-weight:700}.stat-box .delta{font-size:12px;font-weight:600;margin-top:4px}.pos{color:var(--good-text)}.neg{color:var(--critical)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border-strong);white-space:nowrap}td{padding:9px 10px;border-bottom:1px solid var(--border);white-space:nowrap}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-hover)}.table-scroll{overflow-x:auto}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.badge-long,.badge-bullish,.badge-active{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good-text)}.badge-short,.badge-bearish{background:color-mix(in srgb,var(--critical) 14%,transparent);color:var(--critical)}.badge-paper{background:var(--accent-soft);color:var(--accent)}.badge-live{background:color-mix(in srgb,var(--critical) 16%,transparent);color:var(--critical)}.badge-muted{background:var(--surface-sunken);color:var(--text-muted)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;color:var(--text-secondary)}.field input[type=text],.field input[type=number],.field input[type=password],.field select{padding:9px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-sunken);color:var(--text-primary);font-size:13px}.field-checkbox{flex-direction:row;align-items:center;gap:8px}.field-checkbox input{width:16px;height:16px}.field-help{font-size:11px;color:var(--text-muted)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tabs button{background:none;border:none;padding:10px 16px;font-size:13px;font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.danger-zone{border:1px solid color-mix(in srgb,var(--critical) 30%,var(--border));background:color-mix(in srgb,var(--critical) 6%,var(--surface-card))}.danger-zone h2{color:var(--critical)}.coin-list{list-style:none;margin:0;padding:0;max-height:480px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.coin-list button{width:100%;text-align:left;background:none;border:none;padding:8px 10px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary)}.coin-list button:hover{background:var(--surface-hover)}.coin-list button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.chart-row{display:grid;grid-template-columns:200px 1fr;gap:16px}.chart-panel{min-height:460px;display:flex;flex-direction:column}.chart-canvas-wrap{flex:1;min-height:400px}.logs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;max-height:74vh;overflow-y:auto}.log-line{padding:4px 8px;border-radius:4px;display:flex;gap:8px}.log-line:hover{background:var(--surface-hover)}.log-time{color:var(--text-muted);flex-shrink:0}.log-level{flex-shrink:0;font-weight:700;width:44px}.log-level.info{color:var(--accent)}.log-level.warn{color:var(--warning)}.log-level.error{color:var(--critical)}.log-tag{color:var(--text-muted);flex-shrink:0}.log-msg{color:var(--text-primary)}.inline-error{color:var(--critical);font-size:13px;padding:8px 12px;background:color-mix(in srgb,var(--critical) 10%,transparent);border-radius:var(--radius-sm)}.inline-success{color:var(--good-text);font-size:13px;padding:8px 12px;background:color-mix(in srgb,var(--good) 10%,transparent);border-radius:var(--radius-sm)}.empty-state{color:var(--text-muted);font-size:13px;padding:20px;text-align:center}.credential-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.mode-switch-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media (max-width:768px){.app-shell{flex-direction:column} .sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;padding:8px 10px;overflow-x:auto;gap:10px} .sidebar-brand{padding:4px 8px;flex-shrink:0} .sidebar-nav{flex-direction:row;flex:0 0 auto;overflow-x:auto;gap:2px} .sidebar-nav a{padding:8px 10px;white-space:nowrap;font-size:13px} .theme-toggle{flex-shrink:0;margin-left:auto} .page{padding:12px;gap:14px} .card{padding:14px} .status-bar{padding:10px 12px;gap:12px} .status-metric{text-align:left} .stats-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px} .chart-row{grid-template-columns:1fr} .form-grid{grid-template-columns:1fr} .card-header{gap:8px} .mode-banner{padding:8px 12px;font-size:12px} } @media (max-width:420px){.stats-grid{grid-template-columns:repeat(2,1fr)} .status-bar{gap:8px} .status-metric{flex:1 1 40%} }
