:root{--canvas: #f5f7fb;--surface-1: #ffffff;--surface-2: #f0f3f8;--surface-3: #e7ecf4;--hairline: #d9e0ea;--hairline-strong: #b8c2d2;--ink: #172033;--ink-muted: #4f5f73;--ink-subtle: #78859a;--accent: #5661d9;--accent-hover: #4550c8;--up: #c93a37;--down: #138a52;--warning: #b7791f;--warning-bg: #fff7e8;--info: #2563a7;--info-bg: #eaf3ff;--danger: #a93a3a;color:var(--ink);background:var(--canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;font-variant-numeric:tabular-nums;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,#eef2f8 0,var(--canvas) 280px),var(--canvas)}button,input{font:inherit}button{border:1px solid var(--hairline-strong);border-radius:8px;background:var(--surface-1);color:var(--ink);cursor:pointer;min-height:36px;padding:0 12px;transition:border-color .14s ease,background .14s ease,color .14s ease}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-hover)}.primary-button{border-color:var(--accent);background:var(--accent);color:#fff}.primary-button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover);color:#fff}button:focus-visible,input:focus-visible{outline:2px solid rgba(86,97,217,.28);outline-offset:2px}button:disabled{color:var(--ink-subtle);cursor:not-allowed;background:var(--surface-2)}.app-shell{width:min(1440px,calc(100vw - 32px));margin:0 auto;padding:24px 0 40px}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:8px 0 16px}.topbar h1{margin:0;color:var(--ink);font-size:24px;line-height:1.2;letter-spacing:0}.topbar-subtitle{margin:5px 0 0;color:var(--ink-subtle);font-size:13px}.topbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.status-pill,.session-pill,.confidence{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:13px;white-space:nowrap}.status-ready{background:var(--surface-2);color:var(--ink-muted)}.status-partial{background:var(--warning-bg);color:var(--warning)}.session-open{background:var(--info-bg);color:var(--info)}.session-afterClose{background:var(--warning-bg);color:var(--warning)}.session-closed{background:var(--surface-2);color:var(--ink-muted)}.timestamp{color:var(--ink-subtle);font-size:14px}.icon-button{width:30px;min-height:30px;padding:0;font-size:16px;line-height:1}.subtle-icon-button{border-color:transparent;background:transparent;color:var(--ink-subtle)}.subtle-icon-button:hover:not(:disabled){border-color:transparent;background:var(--surface-2);color:var(--accent-hover)}.refresh-button{color:var(--accent)}.refresh-button.is-refreshing,.refresh-button.is-refreshing:disabled{border-color:transparent;background:var(--info-bg);color:var(--accent);cursor:default}.refresh-button.is-refreshing span{animation:refresh-spin .85s linear infinite;display:inline-block}@keyframes refresh-spin{to{transform:rotate(360deg)}}.tooltip-button{position:relative}.tooltip-button:after{position:absolute;right:0;bottom:-32px;z-index:20;padding:5px 8px;border-radius:4px;background:var(--ink);color:#fff;content:attr(data-tooltip);font-size:12px;line-height:1.2;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease;white-space:nowrap}.tooltip-button:hover:after,.tooltip-button:focus-visible:after{opacity:1;transform:translateY(0)}.search-icon{position:relative;display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-radius:50%}.search-icon:after{position:absolute;right:-5px;bottom:-4px;width:6px;height:2px;background:currentColor;border-radius:999px;content:"";transform:rotate(45deg)}.workspace{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}.panel{background:var(--surface-1);border:1px solid var(--hairline);border-radius:12px;min-width:0}.detail-panel{grid-column:auto}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:58px;padding:14px 16px;border-bottom:1px solid var(--hairline)}.panel-heading h2{margin:0;font-size:17px;letter-spacing:0}.panel-title{display:inline-flex;align-items:center;gap:8px}.search-box{display:grid;gap:7px;padding:14px 16px 8px;color:var(--ink-muted);font-size:14px}.search-box input{width:100%;min-height:40px;border:1px solid var(--hairline-strong);border-radius:8px;padding:0 12px;color:var(--ink)}.search-box input:focus{border-color:var(--accent)}.search-results{padding:8px 10px 14px}.result-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 6px;border-top:1px solid var(--hairline)}.search-dialog .result-row{align-items:center;flex-direction:row}.search-dialog .result-row>div{flex:1 1 auto;min-width:0}.search-dialog .result-row .primary-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 80px;width:80px;padding:0 12px;line-height:1;white-space:nowrap}.result-row:first-child{border-top:0}.result-row strong,td strong{display:block;margin-bottom:3px;font-size:14px}.result-row span,td span{display:block;color:var(--ink-subtle);font-size:12px}.state,.empty-watchlist{padding:22px 16px;color:var(--ink-subtle)}.state.error{color:var(--danger)}.watchlist-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end}.selection-actions{display:inline-flex;align-items:center;gap:8px;color:var(--ink-muted);font-size:13px}.selection-actions span{min-width:54px}.selection-actions button{min-height:28px;padding:0 9px;border-color:transparent;background:transparent}.column-toggles{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.column-toggles label{display:inline-flex;gap:5px;align-items:center;color:var(--ink-muted);font-size:13px}.table-wrap,.holdings-table{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:660px}th,td{border-bottom:1px solid var(--hairline);padding:12px;text-align:left;vertical-align:middle;font-size:14px;white-space:nowrap}th{color:var(--ink-subtle);font-size:12px;font-weight:600;background:#f7f9fc}.selection-column{width:42px;text-align:center}.selection-column input{width:16px;height:16px;margin:0}.actual-change-column{text-align:center}tbody tr{cursor:pointer}tbody tr:hover,.selected-row{background:#eef2ff}.positive{color:var(--up);font-weight:650}.negative{color:var(--down);font-weight:650}.neutral{color:var(--ink-muted)}.estimate-with-confidence{display:inline-flex;align-items:center;gap:10px;min-width:108px}.estimate-with-confidence>span:first-child{display:inline-block;width:58px;text-align:right}.estimate-with-confidence .confidence{justify-content:center;min-width:32px}.confidence-high{background:#e6f5ee;color:var(--down)}.confidence-medium{background:var(--info-bg);color:var(--info)}.confidence-low{background:var(--warning-bg);color:var(--warning)}.danger-button{border-color:transparent;background:transparent;color:var(--danger)}.danger-button:hover:not(:disabled){border-color:transparent;color:#802d2d}.fund-detail{padding:16px}.detail-summary{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.detail-summary h3{margin:0;font-size:20px;letter-spacing:0}.detail-summary p{margin:6px 0 0;color:var(--ink-subtle)}.estimate-number{font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}.detail-warnings{margin:14px 0 0;padding:10px 12px;border-left:3px solid var(--warning);background:#b4701414;color:var(--ink);font-size:13px;line-height:1.5}.detail-warnings p{margin:0}.detail-warnings p+p{margin-top:4px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.metric{border:1px solid var(--hairline);border-radius:10px;background:var(--surface-2);padding:11px;min-height:72px}.metric span{display:block;color:var(--ink-subtle);font-size:12px;margin-bottom:8px}.metric strong{font-size:17px}.source-line{color:var(--ink-muted);font-size:13px;margin:12px 0}.holdings-table table{min-width:700px}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:start center;padding:12vh 16px 32px;background:#1f293347}.search-dialog{width:min(680px,100%);max-height:min(680px,76vh);overflow:hidden;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-1);box-shadow:0 18px 48px #17203329}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:14px 16px;border-bottom:1px solid var(--hairline)}.dialog-heading h2{margin:0;font-size:17px}.search-dialog .search-results{max-height:420px;overflow-y:auto}@media(max-width:980px){.app-shell{width:min(100vw - 20px,760px);padding-top:14px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{justify-content:flex-start}.workspace{grid-template-columns:1fr}.detail-panel{grid-column:auto}.panel-heading{align-items:flex-start;flex-direction:column}.column-toggles,.watchlist-toolbar{justify-content:flex-start}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.topbar h1{font-size:22px}.result-row,.detail-summary{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){.refresh-button.is-refreshing span{animation:none}}
