.dashboard-root{background:radial-gradient(circle at 120% -20%,rgba(99,102,241,.15),transparent 40%),radial-gradient(circle at 0% 0%,rgba(14,165,233,.1),transparent 35%),var(--bg);min-height:100vh;padding:1rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.summary-row,.positions-row,.planning-row,.exposures-row,.components-row{grid-template-columns:1fr}.panel{background:var(--panel);border-radius:1rem;border:1px solid var(--panel-border, rgba(255, 255, 255, .08));padding:1.4rem 1.5rem;box-shadow:0 20px 40px #03071259;transition:transform .22s ease,box-shadow .22s ease}.panel:hover{transform:translateY(-3px);box-shadow:0 28px 60px #03071273}.panel-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.panel-title{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted, #94a3b8)}.panel-value{font-size:2rem;font-weight:600}.panel-value.small{font-size:1rem;font-weight:500}.panel-subtle{color:var(--text-muted, #94a3b8);font-size:.85rem}.summary-panel{padding:2rem}.summary-grid{margin-top:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.summary-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.summary-value{font-size:1.55rem;font-weight:600}.confidence-row{margin-top:1rem}.confidence-track{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.confidence-fill{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .22s ease}.chart-panel{min-height:260px}.chart-body{margin-top:1.4rem}.chart-sparkline{margin-top:1rem;width:100%;height:110px}.sparkline path{stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;fill:none}.alerts-panel .alert-chip{margin-top:.7rem}.alert-chip{display:flex;justify-content:space-between;border-radius:.85rem;border:1px solid rgba(255,255,255,.08);padding:.75rem 1rem;background:#ffffff05}.projection-table{margin-top:1rem;width:100%;border-collapse:collapse}.projection-table th,.projection-table td{padding:.45rem 0;font-size:.9rem}.projection-table th{color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.exposure-list{margin-top:1.2rem;display:flex;flex-direction:column;gap:.75rem}.exposure-row{display:flex;justify-content:space-between}.exposure-stack{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.exposure-drift{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.exposure-drift-overweight{color:var(--danger)}.exposure-drift-underweight{color:var(--warning)}.exposure-drift-neutral{color:var(--accent)}.exposure-bar-track{width:120px;height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.exposure-bar-fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.positions-panel .positions-table{margin-top:1rem}.positions-row{display:grid;grid-template-columns:2fr repeat(3,1fr);align-items:center;font-size:.9rem}.positions-row.positions-header{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.positions-label{display:flex;flex-direction:column;gap:.2rem}.positions-label strong{font-size:1rem}.positions-pnl.positive{color:var(--accent)}.positions-pnl.negative{color:var(--warning)}.rebalance-list{margin-top:1rem;display:flex;flex-direction:column;gap:.6rem}.rebalance-row{display:flex;justify-content:space-between;align-items:center}.rebalance-meta{display:flex;gap:.6rem;align-items:center}.rebalance-pill{padding:.25rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.rebalance-drift{font-size:.85rem;font-weight:600}.scenario-pills{display:flex;flex-wrap:wrap;gap:.4rem}.scenario-pill{border-radius:999px;border:1px solid rgba(255,255,255,.08);padding:.45rem .85rem;min-width:110px;background:#ffffff05;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;display:flex;flex-direction:column;gap:.1rem}.scenario-pill.active{border-color:#8bd4ffcc}.scenario-controls input[type=range]{width:100%;margin-top:.4rem}.scenario-summary{margin-top:.5rem}.liquidity-main{display:flex;gap:1.5rem;margin:1rem 0}.liquidity-metric{display:flex;flex-direction:column;gap:.25rem}.liquidity-impact span{font-size:.9rem}.diversification-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.diversification-card{padding:.9rem 1rem;border-radius:.95rem;border:1px solid rgba(255,255,255,.08);background:#ffffff08;display:flex;flex-direction:column;gap:.35rem}.diversification-card-bar{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.diversification-card-bar span{display:block;height:100%;border-radius:999px;background:var(--accent)}.diversification-card-note{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.diversification-score strong{font-size:1.4rem}:root{color-scheme:dark;--bg: #0b1220;--panel: #111829;--panel-strong: #131f2c;--panel-border: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .08);--text: #f8fafc;--muted: #94a3b8;--accent: #8bd4ff;--accent-strong: #40a9ff;--success: #4ade80;--warning: #f97316;--danger: #ef4444;font-family:Inter,IBM Plex Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,rgba(139,212,255,.15),transparent 40%),var(--bg);color:var(--text);font-family:inherit}#root{min-height:100vh}.app-shell{min-height:100vh;padding:2rem 2rem 3rem;display:flex;flex-direction:column;gap:1rem}.app-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.app-header h1{margin:0;font-size:2rem;letter-spacing:.06em;text-transform:uppercase}.tenant-form{display:flex;flex-direction:column;gap:.5rem}.tenant-input-group{display:flex;align-items:center;gap:.5rem}.tenant-input-group input{border-radius:999px;border:1px solid var(--border);padding:.5rem .75rem;background:#ffffff0a;color:var(--text);min-width:180px}.tenant-input-group button{border-radius:999px;border:none;padding:.45rem 1rem;background:var(--accent);color:#041c2e;font-weight:600;cursor:pointer;transition:transform .2s ease}.tenant-input-group button:hover{transform:translateY(-1px)}.app-status{display:flex;gap:.5rem}.status-chip{padding:.35rem .85rem;border-radius:999px;border:1px solid var(--border);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.status-loading{color:var(--accent)}.status-ready{color:var(--success)}.status-error{color:var(--danger)}.status-placeholder{padding:1.5rem;border-radius:1rem;background:var(--panel);border:1px solid var(--border);color:var(--muted)}
