:root{color:#e8eef7;font-synthesis:none;background:#07111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 80% -10%,#12284a 0%,#0000 36%),#07111f;min-width:320px;min-height:100vh;margin:0}button{font:inherit}.app-shell{grid-template-columns:278px minmax(0,1fr);gap:16px;min-height:100vh;padding:16px;display:grid}.panel{background:linear-gradient(#101e32f5,#0a1525f5);border:1px solid #94a3b824;border-radius:18px;box-shadow:0 18px 50px #00000038}.sidebar{flex-direction:column;min-height:calc(100vh - 32px);padding:20px 16px;display:flex}.brand{border-bottom:1px solid #94a3b821;align-items:center;gap:12px;padding:2px 4px 24px;display:flex}.brand-icon{background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:13px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 8px 20px #2563eb47}.brand strong,.brand span{display:block}.brand strong{font-size:17px}.brand span{color:#7f92aa;margin-top:2px;font-size:12px}.section-heading,.panel-header,.portfolio-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.section-heading{align-items:center;padding:22px 4px 12px}.section-heading h2,.portfolio-header h2,.panel-header h1{margin:4px 0 0}.section-heading h2{font-size:17px}.eyebrow{color:#6f84a0;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700}.icon-button{color:#aebed1;cursor:pointer;background:#ffffff06;border:1px solid #94a3b82e;border-radius:10px;place-items:center;width:35px;height:35px;transition:all .2s;display:grid}.icon-button:hover:not(:disabled){color:#fff;background:#58a6ff21;border-color:#58a6ff59}.icon-button:disabled{opacity:.32;cursor:not-allowed}.model-list{flex-direction:column;gap:7px;padding:2px;display:flex;overflow:auto}.model-row{cursor:pointer;border:1px solid #0000;border-radius:12px;grid-template-columns:24px 1fr 10px;align-items:center;gap:10px;padding:12px 10px;transition:all .18s;display:grid}.model-row:hover{background:#ffffff09}.model-row.focused{background:#3b82f617;border-color:#60a5fa33}.checkbox{color:#fff;cursor:pointer;background:0 0;border:1px solid #40536b;border-radius:6px;place-items:center;width:20px;height:20px;display:grid}.checkbox.checked{background:#3b82f6;border-color:#3b82f6}.model-copy{min-width:0}.model-copy strong,.model-copy span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.model-copy strong{font-size:13px}.model-copy span{color:#71849c;margin-top:4px;font-size:11px}.status-dot{background:#34465c;border-radius:50%;width:7px;height:7px}.status-dot.online{background:#2dd4bf;box-shadow:0 0 10px #2dd4bfb3}.sidebar-note{color:#8498b1;background:#3b82f612;border:1px solid #60a5fa1f;border-radius:12px;margin-top:auto;padding:14px;font-size:11px;line-height:1.55}.workspace{grid-template-rows:minmax(410px,58vh) minmax(280px,auto);gap:16px;min-width:0;display:grid}.chart-panel,.portfolio-panel{min-width:0;padding:22px 24px}.panel-header h1{font-size:24px}.panel-header p{color:#7f92aa;margin:7px 0 0;font-size:13px}.live-pill{color:#6ee7d5;background:#2dd4bf14;border:1px solid #2dd4bf2e;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:11px;font-weight:700;display:flex}.chart-wrap{height:calc(100% - 76px);min-height:300px;margin-top:16px}.chart-tooltip{background:#0b1728;border:1px solid #24364d;border-radius:10px;padding:11px 13px;font-size:12px;box-shadow:0 10px 30px #00000059}.chart-tooltip strong{margin-bottom:7px;display:block}.chart-tooltip div{color:#aab7c8;align-items:center;gap:7px;margin-top:4px;display:flex}.chart-tooltip span{border-radius:50%;width:7px;height:7px}.portfolio-header{align-items:center}.portfolio-header h2{font-size:19px}.history-controls{align-items:center;gap:10px;display:flex}.date-block{text-align:center;min-width:132px}.date-block strong,.date-block span{display:block}.date-block strong{font-size:13px}.date-block span{color:#71849c;margin-top:3px;font-size:10px}.holdings-table{border:1px solid #94a3b81f;border-radius:13px;margin-top:18px;overflow:hidden}.table-row{border-bottom:1px solid #94a3b817;grid-template-columns:minmax(160px,1.4fr) 100px minmax(130px,1fr);align-items:center;gap:18px;padding:11px 16px;font-size:12px;display:grid}.table-row:last-child{border-bottom:0}.table-head{color:#6f84a0;text-transform:uppercase;letter-spacing:.1em;background:#ffffff05;font-size:9px;font-weight:800}.asset-cell{align-items:center;gap:10px;display:flex}.asset-logo{color:#b8ccf2;background:linear-gradient(135deg,#3b82f638,#7c3aed38);border:1px solid #60a5fa26;border-radius:9px;place-items:center;width:30px;height:30px;font-size:9px;display:grid}.allocation{background:#1a2a3f;border-radius:999px;height:6px;overflow:hidden}.allocation div{border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#8b5cf6);height:100%}.empty-state{text-align:center;color:#647a96;flex-direction:column;justify-content:center;align-items:center;gap:9px;height:100%;padding:28px;display:flex}.empty-state strong{color:#aebed1}.empty-state span{max-width:520px;font-size:12px;line-height:1.55}.empty-state.compact{min-height:180px}.empty-state code{color:#8fb9ef}.error-banner{z-index:5;color:#fecdd3;background:#3a1720;border:1px solid #7f293b;border-radius:10px;padding:10px 14px;font-size:12px;position:fixed;top:24px;right:24px;box-shadow:0 12px 30px #0000004d}.muted{color:#71849c}.empty-side{padding:12px;font-size:12px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=850px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.model-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));max-height:210px;display:grid}.sidebar-note{margin-top:14px}.workspace{grid-template-rows:480px auto}.table-row{grid-template-columns:1fr 75px}.table-row>:last-child{display:none}}@media (width<=560px){.app-shell{gap:8px;padding:8px}.panel{border-radius:14px}.chart-panel,.portfolio-panel{padding:17px 14px}.panel-header,.portfolio-header{flex-direction:column;align-items:flex-start}.history-controls{justify-content:space-between;align-self:stretch}.panel-header h1{font-size:21px}.table-row{padding:10px}.live-pill{display:none}}
