:root{--bg: #0b0f14;--panel: #121821;--line: #1e2a38;--text: #e8eef6;--muted: #8aa0b5;--accent: #3dd6c6;--buy: #3ecf8e;--sell: #f07178;--warn: #e6b450;--font: "IBM Plex Sans", "Noto Sans TC", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--ui-border: #3a5168;--ui-border-strong: #5a738c;--ui-radius-sm: 8px;--ui-radius-md: 10px}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:var(--text);background:#0e141c;border:1px solid var(--line);border-radius:8px}button{cursor:pointer;padding:.45rem .8rem}button.primary{background:var(--accent);color:#06221f;border-color:transparent;font-weight:600}input,select{padding:.45rem .6rem;width:100%}label{display:grid;gap:.3rem;font-size:.8rem;color:var(--muted)}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100%}nav.side{border-right:1px solid var(--line);padding:1.2rem 1rem;background:#0d1218}nav.side h1{font-size:.95rem;margin:0 0 1.2rem;letter-spacing:.04em}nav.side a{display:block;padding:.55rem .7rem;border-radius:8px;color:var(--muted)}nav.side a.active,nav.side a:hover{background:var(--panel);color:var(--text)}main{padding:1.4rem 1.6rem 2.4rem}h2{margin:0 0 1rem;font-size:1.25rem}.grid{display:grid;gap:1rem}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem}p.label{color:var(--muted);font-size:.85rem;margin:0 0 1rem}.card .label{color:var(--muted);font-size:.75rem}.card .value{font-family:var(--mono);font-size:1.35rem;margin-top:.25rem}.chart{height:420px;width:100%}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:.45rem .4rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.row-actions{margin-top:1rem;display:flex;gap:.6rem;align-items:center}.ok{color:var(--buy)}.bad{color:var(--sell)}.pill{font-size:.72rem;padding:.15rem .45rem;border-radius:999px;background:#1a2430}.flash{color:var(--accent);font-size:.85rem}@media(max-width:960px){.shell{grid-template-columns:1fr}.kpis,.form-grid{grid-template-columns:1fr 1fr}}
