:root{--bg-base: #050b1f;--bg-surface: #0c1635;--bg-surface-strong: #101d46;--bg-accent: #142656;--text-primary: #f1f5ff;--text-muted: #9fb0da;--positive: #2ce28f;--negative: #ff5a6f;--warning: #f7c04b;--info: #49a3ff;--border: #20356b;--radius-card: 10px;--radius-control: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px}*{box-sizing:border-box}body{margin:0;font-family:Sora,IBM Plex Sans,Segoe UI,sans-serif;color:var(--text-primary);background:radial-gradient(circle at 15% 10%,#1a2d67 0%,transparent 40%),radial-gradient(circle at 85% 20%,#132957 0%,transparent 38%),linear-gradient(180deg,#061231,#040a1a);min-height:100vh}a{color:var(--info)}h1,h2,h3,p{margin:0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:var(--space-8)}.auth-card{width:min(420px,100%);padding:var(--space-8);border-radius:var(--radius-card);border:1px solid var(--border);background:#0c1635eb;display:grid;gap:var(--space-4)}.auth-card input,.auth-card button,.form-grid input,.form-grid select,.form-grid button,.table-wrap input,.table-wrap select,.inline-actions input{font:inherit}label{display:grid;gap:var(--space-2);color:var(--text-muted)}input,select{width:100%;background:var(--bg-accent);border:1px solid var(--border);color:var(--text-primary);padding:var(--space-3);border-radius:var(--radius-control)}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--info);outline-offset:2px}.primary-btn,.ghost-btn{border-radius:var(--radius-control);padding:var(--space-3) var(--space-4);border:1px solid var(--border);cursor:pointer}.primary-btn{background:linear-gradient(120deg,#1f75ff,#31b9ff);color:#fff;border:none}.ghost-btn{background:var(--bg-accent);color:var(--text-primary)}.app-shell{width:min(1400px,100%);margin:0 auto;padding:var(--space-6)}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.brand{font-size:1.4rem;font-weight:700;letter-spacing:.2px;color:var(--text-primary);text-decoration:none}.subtitle{color:var(--text-muted);margin-top:var(--space-2)}.topbar-actions{display:flex;align-items:center;gap:var(--space-3)}.user-chip{background:var(--bg-accent);border:1px solid var(--border);border-radius:999px;padding:6px 12px;color:var(--text-muted)}.tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-6)}.tabs a{text-decoration:none;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-control);padding:10px 12px;background:var(--bg-surface)}.tabs a.active{color:var(--text-primary);border-color:#3f67c7;background:var(--bg-surface-strong)}.stack-lg{display:grid;gap:var(--space-6)}.status-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.status-badge{font-size:.85rem;border:1px solid var(--border);border-radius:999px;padding:6px 10px}.status-badge.neutral{color:var(--text-muted)}.status-badge.positive{color:var(--positive)}.status-badge.negative{color:var(--negative)}.status-badge.warning{color:var(--warning)}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.metric-card{border:1px solid var(--border);border-radius:var(--radius-card);background:linear-gradient(155deg,#12214bf0,#0a132cf5);padding:var(--space-4)}.metric-title{color:var(--text-muted);margin-bottom:var(--space-2)}.metric-value{font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:1.65rem;font-weight:600}.metric-sub{margin-top:var(--space-2)}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.panel{border:1px solid var(--border);border-radius:var(--radius-card);background:#0c1635d9;padding:var(--space-4);display:grid;gap:var(--space-4)}.operations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.operations-grid article{border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-3);background:#101d46bf}.operations-grid p{margin-top:var(--space-2);color:var(--text-primary)}.bar-chart{display:grid;gap:var(--space-2)}.bar-row{display:grid;grid-template-columns:64px 1fr 72px;gap:var(--space-2);align-items:center}.bar-symbol,.bar-value{font-size:.85rem;color:var(--text-muted)}.bar-track{background:#ffffff0d;border-radius:999px;height:14px;overflow:hidden}.bar-fill{height:100%;border-radius:999px}.bar-fill.positive{background:linear-gradient(90deg,#1bbd78,#2ce28f)}.bar-fill.negative{background:linear-gradient(90deg,#e4445a,#ff7288)}.allocation-grid{display:flex;min-height:170px;border-radius:var(--radius-control);overflow:hidden;border:1px solid var(--border)}.allocation-item{display:flex;flex-direction:column;justify-content:space-between;min-width:60px;padding:var(--space-2);background:linear-gradient(145deg,#1c8f7a,#27c08d);color:#052219;border-right:1px solid rgba(7,25,20,.25)}.allocation-item small{opacity:.8}.table-wrap{width:100%;overflow:auto;border-radius:var(--radius-control);border:1px solid var(--border)}table{width:100%;border-collapse:collapse;min-width:860px;font-size:.92rem}th,td{padding:10px;border-bottom:1px solid rgba(43,65,117,.5);text-align:left}th{color:var(--text-muted);background:#0e1c43e6}td{color:var(--text-primary)}.text-positive{color:var(--positive)}.text-negative{color:var(--negative)}.text-muted{color:var(--text-muted)}.text-link{color:var(--info);text-decoration:none}.text-link:hover{text-decoration:underline}.inline-actions{display:flex;gap:var(--space-2);align-items:center}.form-grid{display:grid;gap:var(--space-3)}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.detail-grid article{border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-3);background:#101d4673}.loading,.error-text{padding:var(--space-4);border-radius:var(--radius-control);border:1px solid var(--border);background:#0c163580}.error-text{color:#ff9cab}@media(max-width:1080px){.metrics-grid,.grid-two,.operations-grid,.detail-grid,.form-grid.two-col{grid-template-columns:1fr}.app-shell{padding:var(--space-4)}.topbar{flex-direction:column}}@media(prefers-reduced-motion:reduce){*{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
