:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#20201c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f1ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#ffffffb8,#f4f1ecf2),#f4f1ec;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{background:linear-gradient(#ffffffb8,#f4f1ecf2),#f4f1ec;grid-template-rows:auto auto 1fr;min-height:100vh;display:grid}.app-shell[data-theme=dark]{--portfolio-bg:#171716;--portfolio-bg-soft:#20201e;--portfolio-bg-alt:#191918;--portfolio-border:#30302d;--portfolio-border-strong:#363633;--portfolio-text:#dedbd5;--portfolio-muted:#a9a6a0;--portfolio-muted-2:#8f8d89;--portfolio-active:#282824;color:#e6e0d6;background:#11110f}.app-shell[data-theme=dark] .topbar{background:#11110f;border-bottom-color:#2c2b28}.app-shell[data-theme=dark] .topbar,.app-shell[data-theme=dark] .fund-picker-button,.app-shell[data-theme=dark] .fund-menu,.app-shell[data-theme=dark] .main-panel,.app-shell[data-theme=dark] .table-panel,.app-shell[data-theme=dark] .detail-panel{border-color:var(--portfolio-border);background:var(--portfolio-bg);color:#e6e0d6}.app-shell[data-theme=dark] .main-panel{background:#181816;border-color:#2f2f2b;box-shadow:inset 0 1px #ffffff08}.app-shell[data-theme=dark] .fund-picker-button{background:#171816;border-color:#3a3934;box-shadow:0 10px 30px #0000002e}.app-shell[data-theme=dark] .fund-picker-button:hover,.app-shell[data-theme=dark] .fund-picker-button[aria-expanded=true]{background:#1c2623;border-color:#5d817a}.app-shell[data-theme=dark] .fund-picker-button small{color:#9c968c}.app-shell[data-theme=dark] .brand svg{color:#467b73}.app-shell[data-theme=dark] .tabs,.app-shell[data-theme=dark] .section-header,.app-shell[data-theme=dark] .table-title,.app-shell[data-theme=dark] .detail-header,.app-shell[data-theme=dark] .table-head,.app-shell[data-theme=dark] .fund-header{border-color:var(--portfolio-border);background:var(--portfolio-bg-soft)}.app-shell[data-theme=dark] .fund-header{background:#1b1b19;border-bottom-color:#2c2b28}.app-shell[data-theme=dark] .brand p,.app-shell[data-theme=dark] .fund-heading p,.app-shell[data-theme=dark] .table-title span,.app-shell[data-theme=dark] .detail-header span,.app-shell[data-theme=dark] .fund-meta,.app-shell[data-theme=dark] .field span,.app-shell[data-theme=dark] .stat span,.app-shell[data-theme=dark] .metric span{color:#9f9a91}.app-shell[data-theme=dark] h1,.app-shell[data-theme=dark] .fund-heading h2,.app-shell[data-theme=dark] .fund-picker-button strong{color:#ece7dd}.app-shell[data-theme=dark] .eyebrow{color:#b9a165}.app-shell[data-theme=dark] .stat,.app-shell[data-theme=dark] .metric,.app-shell[data-theme=dark] .quality-metric,.app-shell[data-theme=dark] .field,.app-shell[data-theme=dark] .search-box,.app-shell[data-theme=dark] .stock-search,.app-shell[data-theme=dark] .icon-button,.app-shell[data-theme=dark] .pdf-link,.app-shell[data-theme=dark] .export-link{border-color:var(--portfolio-border);background:var(--portfolio-bg-soft);color:var(--portfolio-text)}.app-shell[data-theme=dark] .health-strip{background:#4c4942;border-color:#6d695f}.app-shell[data-theme=dark] .stat{background:#191917}.app-shell[data-theme=dark] .stat strong{color:#e6e0d6}.app-shell[data-theme=dark] .icon-button{color:#b8b2a8;background:#191917;border-color:#2f2f2b}.app-shell[data-theme=dark] .icon-button:hover,.app-shell[data-theme=dark] .export-link:hover{color:#dfece9;background:#1c2623;border-color:#5d817a}.app-shell[data-theme=dark] .fund-stats{gap:10px}.app-shell[data-theme=dark] .metric{background:#171716;border-color:#2f2f2b}.app-shell[data-theme=dark] .metric svg{color:#a6663b}.app-shell[data-theme=dark] .metric strong{color:#dedbd5}.app-shell[data-theme=dark] .fund-row:hover,.app-shell[data-theme=dark] .fund-row.is-selected,.app-shell[data-theme=dark] button.stock-row:hover,.app-shell[data-theme=dark] button.stock-row.is-selected,.app-shell[data-theme=dark] .tabs button:hover,.app-shell[data-theme=dark] .tabs button.is-active{color:#dfece9;background:#263936;border-color:#466e68}.app-shell[data-theme=dark] .tabs{background:#191917;border-bottom-color:#2c2b28}.app-shell[data-theme=dark] .tabs button{color:#817d75}.app-shell[data-theme=dark] .tabs button:hover{color:#cfd9d6}.app-shell[data-theme=dark] .tabs button.is-active{color:#e5efec;background:#223834;border-color:#557b74;box-shadow:inset 0 0 0 1px #ffffff0a}.app-shell[data-theme=dark] .table-row,.app-shell[data-theme=dark] .line-item-row,.app-shell[data-theme=dark] .document-row:hover,.app-shell[data-theme=dark] .detail-scroll,.app-shell[data-theme=dark] .stock-summary,.app-shell[data-theme=dark] .stock-summary .holdings-metric,.app-shell[data-theme=dark] .stock-identity-grid,.app-shell[data-theme=dark] .stock-holders-table,.app-shell[data-theme=dark] .section-block{background:#171716;border-color:#30302d}.app-shell[data-theme=dark] .document-row.is-selected,.app-shell[data-theme=dark] button.stock-row.is-selected{background:#263936}.app-shell[data-theme=dark] .raw-row strong,.app-shell[data-theme=dark] .detail-section h4{color:#dedbd5}.app-shell[data-theme=dark] .quality-header,.app-shell[data-theme=dark] .quality-empty{background:#171716;border-color:#30302d}.app-shell[data-theme=dark] .quality-header p,.app-shell[data-theme=dark] .quality-empty{color:#9f9a91}.topbar{z-index:10;background:#fffdf9;border-bottom:1px solid #d8d1c6;grid-template-columns:minmax(220px,1fr) minmax(320px,560px) minmax(220px,1fr);align-items:center;gap:20px;min-height:72px;padding:14px 22px;display:grid;position:relative}.brand,.topbar-actions,.fund-heading,.metric,.detail-header,.section-header,.table-title,.tabs{align-items:center;display:flex}.brand{gap:12px}.brand svg{color:#235d55}h1,h2,h3,h4,p{margin:0}h1{font-size:18px;line-height:1.2}.brand p,.panel-header span,.table-title span,.detail-header span,.fund-heading p,.field span,.stat span,.metric span,.section-header span,.fund-meta{color:#67635b}.brand p{margin-top:2px;font-size:13px}.topbar-actions{justify-self:end;gap:14px}.fund-picker{justify-self:center;width:min(560px,100%);position:relative}.fund-picker-button{color:#20201c;text-align:left;background:#fffdf9;border:1px solid #d8d1c6;border-radius:10px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:14px;width:100%;height:58px;padding:6px 16px 6px 8px;display:grid;box-shadow:0 8px 22px #27221b0f}.fund-picker-button:hover,.fund-picker-button[aria-expanded=true]{background:#edf6f4;border-color:#82bbb1}.fund-picker-button strong,.fund-picker-button small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.fund-picker-button strong{font-size:15px;line-height:1.2}.fund-picker-button small{color:#67635b;margin-top:4px;font-size:12px}.fund-picker-button .fund-code{border-radius:8px;grid-row:auto;width:50px;height:42px;font-size:15px}.fund-menu{z-index:20;background:#fffdf9;border:1px solid #d8d1c6;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(460px,100vw - 28px);max-height:min(580px,100vh - 96px);display:grid;position:absolute;top:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 18px 42px #27221b2e}.fund-menu .search-box{margin-top:12px}.fund-menu .fund-list{max-height:478px}.health-strip{background:#d8d1c6;border:1px solid #d8d1c6;border-radius:8px;grid-template-columns:repeat(3,minmax(76px,1fr));gap:1px;display:grid;overflow:hidden}.stat{background:#f8f5ef;min-width:0;padding:8px 11px}.stat span,.metric span,.field span{font-size:11px;line-height:1.2;display:block}.stat strong{margin-top:2px;font-size:14px;line-height:1.1;display:block}.icon-button,.search-box button,.pdf-link{color:#235d55;background:#fffdf9;border:1px solid #d8d1c6;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;text-decoration:none;display:inline-flex}.icon-button:hover,.search-box button:hover,.pdf-link:hover{background:#edf6f4;border-color:#9dc9c1}.export-link{color:#235d55;white-space:nowrap;background:#fffdf9;border:1px solid #d8d1c6;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:34px;padding:0 10px;font-size:12px;font-weight:720;line-height:1;text-decoration:none;display:inline-flex}.export-link:hover{background:#edf6f4;border-color:#9dc9c1}.export-link.is-disabled{cursor:default;opacity:.48;pointer-events:none}.error-banner{color:#8b2e19;background:#fff1ed;border:1px solid #db9f8c;border-radius:8px;margin:14px 22px 0;padding:10px 12px;font-size:13px}.workspace{grid-template-columns:minmax(0,1fr);min-height:0;padding:14px;display:grid}.funds-panel,.main-panel,.table-panel,.detail-panel{background:#fffdf9e6;border:1px solid #d8d1c6;border-radius:8px;min-height:0}.funds-panel{grid-template-rows:auto auto 1fr;display:grid;overflow:hidden}.panel-header{justify-content:space-between;gap:12px;padding:16px;display:flex}.panel-header h2,.fund-header h2{font-size:18px;line-height:1.2}.panel-header span,.table-title span,.detail-header span,.section-header span{font-size:12px}.search-box{color:#6d665d;background:#fff;border:1px solid #d8d1c6;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;height:40px;margin:0 16px 12px;padding:0 8px 0 11px;display:grid}.search-box input{color:#20201c;background:0 0;border:0;outline:0;min-width:0}.search-box button{border:0;width:28px;height:28px}.fund-list{min-height:0;padding:0 8px 10px;overflow:auto}.fund-row{text-align:left;width:100%;min-height:62px;color:inherit;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-rows:auto auto;grid-template-columns:54px minmax(0,1fr);gap:3px 10px;padding:10px 8px;display:grid}.fund-row:hover{background:#f7f1e7}.fund-row.is-selected{background:#edf6f4;border-color:#82bbb1}.fund-code{color:#fff;letter-spacing:0;background:#293d3a;border-radius:7px;grid-row:1/span 2;justify-content:center;align-self:center;align-items:center;width:48px;height:34px;font-size:13px;font-weight:700;display:inline-flex}.fund-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:650;overflow:hidden}.fund-meta{font-size:12px}.main-panel{grid-template-rows:auto auto 1fr;display:grid;overflow:visible}.fund-header{border-bottom:1px solid #e4ded3;justify-content:space-between;gap:18px;padding:18px;display:flex}.fund-heading{gap:13px;min-width:0}.avatar{color:#fff;background:#235d55;border-radius:8px;flex:none;place-items:center;width:52px;height:52px;font-weight:760;display:grid}.eyebrow{color:#7a5f1c;text-transform:uppercase;letter-spacing:0;margin-bottom:3px;font-size:11px;font-weight:700}.fund-heading h2,.fund-heading p{overflow-wrap:anywhere;min-width:0}.fund-heading p{margin-top:3px;font-size:13px}.fund-stats{grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px;display:grid}.metric{background:#faf7f0;border:1px solid #ded7cc;border-radius:8px;gap:8px;min-width:0;padding:9px 10px}.metric svg{color:#9b5b2f}.metric strong{margin-left:auto;font-size:15px}.tabs{background:#fbf8f2;border-bottom:1px solid #e4ded3;gap:6px;padding:10px 14px}.tabs button{color:#4f4a43;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;height:34px;padding:0 12px;font-size:13px;font-weight:650;display:inline-flex}.tabs button:hover,.tabs button.is-active{color:#235d55;background:#fff;border-color:#d8d1c6}.document-grid{grid-template-columns:minmax(520px,.85fr) minmax(560px,1.15fr);gap:14px;min-height:0;padding:14px;display:grid}.stocks-grid{grid-template-columns:minmax(360px,.72fr) minmax(620px,1.28fr);gap:14px;min-height:0;padding:14px;display:grid}.stock-list-panel{grid-template-rows:auto auto minmax(0,1fr);display:grid}.stock-search{color:#6d665d;background:#fff;border:1px solid #d8d1c6;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;height:38px;margin:10px 12px;padding:0 8px 0 11px;display:grid}.stock-search input{color:#20201c;background:0 0;border:0;outline:0;min-width:0}.stock-search button{border:0;width:26px;height:26px}.stock-table{max-height:calc(100vh - 318px)}.stock-row{grid-template-columns:minmax(150px,1fr) 54px 82px 58px}button.stock-row{cursor:pointer;width:100%}button.stock-row:hover{background:#f8f4ec}button.stock-row.is-selected{background:#edf6f4;box-shadow:inset 3px 0 #235d55}.stock-name{gap:2px;min-width:0;display:grid}.stock-name strong,.stock-name small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.stock-name small{color:#756f66;font-size:11px;font-weight:500}.stock-detail-panel{grid-template-rows:auto auto minmax(0,1fr);display:grid}.stock-summary{background:#e4ded3;border-bottom:1px solid #e4ded3;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.stock-summary .holdings-metric{background:#fbf8f2;border:0;border-radius:0}.stock-detail-scroll{padding:12px}.stock-identity-grid{background:#e4ded3;border:1px solid #e4ded3;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.stock-identity-grid .field{border:0}.stock-history-panel{margin-top:14px}.stock-history-bar{fill:#43bfd0;opacity:.82}.stock-history-bar:hover{opacity:1}.stock-holders-table{border:1px solid #e4ded3;border-radius:8px;overflow:auto}.stock-holder-row{grid-template-columns:minmax(130px,1fr) 96px 72px 96px 82px 34px}.holdings-panel{--portfolio-bg:#fffdf9;--portfolio-bg-soft:#faf7f0;--portfolio-bg-alt:#f5f0e7;--portfolio-border:#ded7cc;--portfolio-border-strong:#d0c6b8;--portfolio-text:#2b2925;--portfolio-muted:#716b62;--portfolio-muted-2:#928a7e;--portfolio-head:#f0e9dd;--portfolio-active:#eef7f5;--portfolio-bar-muted:var(--portfolio-text);--portfolio-zero:#c9c1b5;--portfolio-negative:#d98a7d;--portfolio-tooltip-bg:#fffdf9;--portfolio-tooltip-shadow:0 14px 36px #27221b2e;border:1px solid var(--portfolio-border);background:var(--portfolio-bg);min-height:0;color:var(--portfolio-text);border-radius:8px;grid-template-rows:auto 1fr;margin:14px;display:grid;overflow:visible}.app-shell[data-theme=dark] .holdings-panel{--portfolio-bg:#171716;--portfolio-bg-soft:#20201e;--portfolio-bg-alt:#191918;--portfolio-border:#30302d;--portfolio-border-strong:#363633;--portfolio-text:#dedbd5;--portfolio-muted:#a9a6a0;--portfolio-muted-2:#8f8d89;--portfolio-head:#171716;--portfolio-active:#282824;--portfolio-bar-muted:#363633;--portfolio-zero:#4b4a46;--portfolio-negative:#7e3d3d;--portfolio-tooltip-bg:#151514;--portfolio-tooltip-shadow:0 14px 36px #00000057}.table-panel,.detail-panel{overflow:hidden}.table-panel.full{margin:14px}.table-title{border-bottom:1px solid #e4ded3;justify-content:space-between;gap:10px;min-height:48px;padding:12px 14px}.table-title-main{gap:3px;min-width:0;display:grid}.table-title h3,.detail-header h3,.section-header h4{font-size:14px;line-height:1.2}.data-table{max-height:calc(100vh - 260px);overflow:auto}.table-row{min-height:42px;color:inherit;text-align:left;background:#fffdf9;border:0;border-bottom:1px solid #ece5db;align-items:center;gap:12px;padding:8px 14px;font-size:13px;display:grid}.table-head{z-index:1;color:#67635b;text-transform:uppercase;letter-spacing:0;background:#f6f0e7;min-height:36px;font-size:11px;font-weight:720;position:sticky;top:0}.document-table .table-row{grid-template-columns:minmax(160px,1fr) 92px 48px 58px 48px 32px;gap:10px}.section-table .table-row{grid-template-columns:minmax(120px,1fr) 78px 58px 110px}.document-row:hover{background:#f8f4ec}.document-row.is-selected{background:#edf6f4;box-shadow:inset 3px 0 #235d55}.file-name,.issuer,.line-item-name,.sample-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pdf-link{width:30px;height:30px}.detail-panel{grid-template-rows:auto auto 1fr;display:grid}.detail-header{border-bottom:1px solid #e4ded3;gap:10px;padding:14px}.detail-header svg{color:#235d55;flex:none}.detail-header h3{overflow-wrap:anywhere}.detail-meta{background:#e4ded3;border-bottom:1px solid #e4ded3;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.field{background:#fbf8f2;min-width:0;padding:10px 12px}.field strong{overflow-wrap:anywhere;margin-top:3px;font-size:12px;display:block}.detail-scroll{min-height:0;padding:12px;overflow:auto}.detail-section+.detail-section{margin-top:16px}.detail-section h4{color:#4f4a43;text-transform:uppercase;letter-spacing:0;margin-bottom:8px;font-size:12px}.value-row{border-bottom:1px solid #ece5db;grid-template-columns:minmax(0,1fr) minmax(80px,auto);align-items:center;gap:10px;min-height:34px;padding:7px 0;font-size:12px;display:grid}.value-row span,.value-row strong,.raw-row span,.raw-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.value-row strong{color:#235d55;justify-self:end}.raw-row{border-bottom:1px solid #ece5db;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;min-height:34px;padding:7px 0;font-size:12px;display:grid}.raw-row span{color:#67635b}.raw-row strong{color:#20201c;font-weight:560}.empty-state{color:#67635b;padding:18px 0;font-size:13px}.sections-list{max-height:calc(100vh - 250px);overflow:auto}.section-block{border-bottom:1px solid #e4ded3}.section-header{background:#fbf8f2;justify-content:space-between;gap:10px;padding:13px 14px}.line-item-table{display:grid}.line-item-row{background:#fffdf9;border-top:1px solid #ece5db;grid-template-columns:minmax(180px,1.4fr) 88px 70px 90px minmax(110px,.8fr);align-items:center;gap:12px;min-height:40px;padding:8px 14px;font-size:13px;display:grid}.line-item-row span:not(.line-item-name){color:#5c574f}.quality-panel{grid-template-rows:auto auto minmax(0,1fr);gap:14px;min-height:0;margin:14px;display:grid}.quality-header{background:#fffdf9;border:1px solid #d8d1c6;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:18px;min-width:0;padding:16px 18px;display:flex}.quality-header h3{margin-top:2px;font-size:18px;line-height:1.2}.quality-header p{color:#67635b;margin-top:4px;font-size:13px}.quality-mapping-methods{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.quality-actions{justify-content:flex-end;align-items:flex-start;gap:10px;min-width:0;display:flex}.quality-metrics{grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px;display:grid}.quality-metric{background:#faf7f0;border:1px solid #ded7cc;border-radius:8px;min-width:0;padding:11px 12px}.quality-metric.is-ok{background:#eef7f4;border-color:#b8d8cf}.quality-metric span{color:#67635b;font-size:11px;line-height:1.2;display:block}.quality-metric strong{margin-top:4px;font-size:20px;line-height:1.05;display:block}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0;display:grid}.quality-section{min-height:0}.quality-table{max-height:340px}.quality-doc-row{grid-template-columns:minmax(170px,1fr) 100px 58px 72px 54px}.quality-mapping-row{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) 86px 96px minmax(140px,1fr)}.quality-portfolio-row{grid-template-columns:minmax(120px,1fr) 128px 120px 120px minmax(140px,1fr)}.quality-empty-row{grid-template-columns:minmax(170px,1fr) 110px 110px}.quality-badge{color:#4f4a43;white-space:nowrap;background:#f6f0e7;border:1px solid #d8d1c6;border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:4px 7px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.quality-badge.is-ok{color:#235d55;background:#e7f4f1;border-color:#a9d1c7}.quality-badge.is-warn{color:#755710;background:#fff6da;border-color:#dfc36f}.quality-badge small{color:inherit;opacity:.78;font-size:10px}.quality-empty{color:#67635b;background:#fffdf9;padding:18px 14px;font-size:13px}.holdings-title{border-bottom:1px solid var(--portfolio-border);background:var(--portfolio-bg);justify-content:space-between;gap:24px;min-width:0;padding:18px 22px;display:flex}.holdings-title h3{color:var(--portfolio-text);margin-top:2px;font-size:22px;font-weight:650;line-height:1.15}.holdings-title p{color:var(--portfolio-muted-2);margin-top:5px;font-size:13px}.holdings-title .eyebrow{color:#b9a165}.holdings-tools{justify-content:flex-end;align-items:flex-start;gap:10px;min-width:0;display:flex}.holdings-meta{border:1px solid var(--portfolio-border);background:var(--portfolio-border);border-radius:7px;grid-template-columns:repeat(3,minmax(86px,1fr));align-self:start;gap:1px;min-width:315px;display:grid;position:relative}.period-picker{min-width:0;position:relative}.holdings-metric{background:var(--portfolio-bg-soft);min-width:0;color:inherit;text-align:left;border:0;padding:9px 11px}.period-picker .holdings-metric{width:100%;height:100%}.holdings-meta>.period-picker:first-child .holdings-metric{border-radius:6px 0 0 6px}.holdings-meta>.holdings-metric:last-child{border-radius:0 6px 6px 0}.holdings-metric span{color:var(--portfolio-muted-2);font-size:11px;display:block}.holdings-metric strong{color:var(--portfolio-text);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:14px;display:block;overflow:hidden}.period-picker-button{cursor:pointer}.period-picker-button:hover,.period-picker-button[aria-expanded=true]{background:var(--portfolio-active)}.period-picker-button:disabled{cursor:default}.period-picker-menu{z-index:30;border:1px solid var(--portfolio-border-strong);background:var(--portfolio-bg);border-radius:8px;width:min(380px,100vw - 44px);max-height:380px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 18px 45px #0003}.period-picker-menu button{width:100%;color:var(--portfolio-muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;gap:3px;padding:9px 10px;display:grid}.period-picker-menu button:hover,.period-picker-menu button.is-active{background:var(--portfolio-active);color:var(--portfolio-text);border-color:#6fa8a0}.period-picker-menu strong{color:var(--portfolio-text);font-size:13px}.period-picker-menu span,.period-picker-menu small{color:var(--portfolio-muted-2);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.value-panel,.allocation-panel{border-bottom:1px solid var(--portfolio-border);background:var(--portfolio-bg);padding:18px 22px 22px}.value-title,.allocation-title,.changes-title{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.value-title h4,.allocation-title h4,.changes-title h4{color:var(--portfolio-text);font-size:16px}.value-title>span,.allocation-title>span,.changes-title>span{color:var(--portfolio-muted-2);font-size:12px}.value-chart,.allocation-chart{border:1px solid var(--portfolio-border);background:var(--portfolio-bg-soft);border-radius:8px;width:100%;min-height:230px;display:block}.value-area{fill:#43bfd047}.value-line{fill:none;stroke:#43bfd0;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.value-point{fill:var(--portfolio-bg-soft);stroke:#43bfd0;stroke-width:2px}.value-point.is-active{fill:#43bfd0;stroke:var(--portfolio-text)}.value-grid-line{stroke:var(--portfolio-border);stroke-width:1px}.value-y-label,.value-x-label{fill:var(--portfolio-muted-2);font-size:11px}.value-hit{cursor:pointer;fill:#0000;pointer-events:all}.value-selected-line{stroke:var(--portfolio-text);stroke-dasharray:4 4;stroke-width:1.5px}.allocation-area{opacity:.92;stroke:var(--portfolio-bg-soft);stroke-width:1px}.allocation-grid-line{stroke:var(--portfolio-border);stroke-width:1px}.allocation-y-label,.allocation-x-label{fill:var(--portfolio-muted-2);font-size:11px}.allocation-hit{cursor:pointer;fill:#0000;pointer-events:all}.allocation-selected-line{stroke:var(--portfolio-text);stroke-dasharray:4 4;stroke-width:1.5px}.allocation-legend{color:var(--portfolio-muted);flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:12px;display:flex}.allocation-legend span{align-items:center;gap:7px;min-width:0;display:inline-flex}.allocation-legend i{background:var(--legend-color);border-radius:999px;flex:none;width:9px;height:9px}.holdings-strip{border-bottom:1px solid var(--portfolio-border);min-height:92px;padding:22px}.holdings-strip-track,.holdings-negative-track{border-radius:8px;gap:1px;height:44px;display:grid;overflow:hidden}.holdings-negative-track{border-radius:999px;height:8px;margin-top:6px}.holdings-segment{background:var(--segment-color);color:#111;place-items:center;min-width:0;height:100%;transition:background .12s,filter .12s,opacity .12s;display:grid}.holdings-segment.is-muted{background:var(--portfolio-border-strong)}.holdings-segment.is-zero{background:var(--portfolio-zero)}.holdings-segment.is-negative{background:var(--portfolio-negative)}.holdings-segment.is-active{background:var(--segment-color);filter:saturate(1.2)brightness(1.18)}.holdings-table.has-hovered-holding .holdings-segment:not(.is-active){opacity:.72}.holdings-segment span{font-size:14px}.holdings-table{min-height:0;overflow:visible}.holdings-sticky-stack{z-index:8;background:var(--portfolio-bg);position:sticky;top:0}.holdings-row{border-bottom:1px solid var(--portfolio-border);background:var(--portfolio-bg-alt);min-height:46px;color:var(--portfolio-muted);grid-template-columns:minmax(280px,1fr) 110px 124px 86px 86px 104px;align-items:center;gap:18px;padding:10px 22px;font-size:14px;transition:background .12s,color .12s;display:grid}.holdings-row:nth-child(2n){background:var(--portfolio-bg-soft)}.holdings-row.is-active{background:var(--portfolio-active);color:var(--portfolio-text)}.holdings-head{background:var(--portfolio-bg);min-height:44px;color:var(--portfolio-text);font-size:15px}.holdings-row .is-positive{color:#3d8f73}.holdings-row .is-negative{color:#bd5d5d}.holding-name{grid-template-columns:18px minmax(54px,auto) minmax(0,max-content) 16px;justify-content:start;align-items:center;gap:10px;min-width:0;display:grid}.holding-dot{border:1px solid var(--dot-color);background:var(--dot-color);border-radius:999px;width:12px;height:12px;transition:background .12s,box-shadow .12s,opacity .12s}.holdings-row.is-muted .holding-dot{border-color:var(--portfolio-border-strong);background:0 0}.holdings-row.is-muted.is-active .holding-dot,.holdings-row.is-active .holding-dot{border-color:var(--dot-color);background:var(--dot-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--dot-color) 22%, transparent)}.holding-symbol{color:var(--portfolio-muted-2);font-variant-numeric:tabular-nums}.holding-name strong{min-width:0;color:var(--portfolio-text);text-overflow:ellipsis;white-space:nowrap;font-weight:520;overflow:hidden}.holding-name svg{color:var(--portfolio-muted-2)}.holdings-empty{color:var(--portfolio-muted-2);padding:28px 22px;font-size:14px}.holding-tooltip{z-index:20;border:1px solid var(--portfolio-border-strong);background:var(--portfolio-tooltip-bg);color:var(--portfolio-muted);box-shadow:var(--portfolio-tooltip-shadow);pointer-events:none;border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.45;position:fixed}.holding-tooltip-title{grid-template-columns:14px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:8px;display:grid}.holding-tooltip-title span{background:var(--tooltip-color);border-radius:999px;width:12px;height:12px}.holding-tooltip-title strong{color:var(--portfolio-text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:520;overflow:hidden}.holding-tooltip-metrics{border:1px solid var(--portfolio-border);background:var(--portfolio-border);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.holding-tooltip-metrics div{background:var(--portfolio-bg-soft);min-width:0;padding:8px 9px}.holding-tooltip-metrics span,.holding-mini-chart-title span,.holding-mini-summary{color:var(--portfolio-muted-2);font-size:11px}.holding-tooltip-metrics strong{color:var(--portfolio-text);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:13px;line-height:1.15;display:block;overflow:hidden}.holding-tooltip-charts{gap:10px;margin-top:12px;display:grid}.holding-mini-chart{gap:5px;min-width:0;display:grid}.holding-mini-chart-title,.holding-mini-summary{justify-content:space-between;align-items:center;gap:10px;display:flex}.holding-mini-summary span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.holding-mini-summary strong{color:var(--portfolio-text);margin-right:4px;font-weight:650}.holding-mini-chart-title strong{color:var(--portfolio-text);font-size:12px;font-weight:650}.holding-mini-chart-svg{border:1px solid var(--portfolio-border);background:var(--portfolio-bg-soft);border-radius:8px;width:100%;height:78px;display:block}.holding-mini-grid{stroke:var(--portfolio-border-strong);stroke-dasharray:3 4;stroke-width:1px}.holding-mini-area{fill:color-mix(in srgb, var(--tooltip-color) 20%, transparent)}.holding-mini-line{fill:none;stroke:var(--tooltip-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.holding-mini-point{fill:var(--portfolio-bg-soft);stroke:var(--tooltip-color);stroke-width:1.8px}.holding-mini-point.is-absent{fill:var(--portfolio-bg-soft);stroke:var(--portfolio-muted-2);opacity:.45}.holding-mini-point.is-start{fill:var(--portfolio-bg);stroke:var(--tooltip-color);stroke-width:2.4px}.holding-mini-point.is-active{fill:var(--tooltip-color);stroke:var(--portfolio-text);stroke-width:2px}.holding-mini-selected-line{stroke:var(--portfolio-text);stroke-dasharray:3 4;stroke-width:1.2px}.holding-mini-y-label{fill:var(--portfolio-muted-2);font-size:9px}.section-totals{border-top:1px solid var(--portfolio-border);background:var(--portfolio-bg);padding:18px 22px 22px}.section-total-title{color:var(--portfolio-text);justify-content:space-between;align-items:center;gap:16px;display:flex}.section-total-title span{color:var(--portfolio-muted-2);font-size:12px}.section-total-content{grid-template-columns:230px minmax(0,1fr);align-items:center;gap:36px;margin-top:18px;display:grid}.section-total-pie{aspect-ratio:1;border:1px solid var(--portfolio-border);background:var(--portfolio-bg);border-radius:999px;width:230px;overflow:visible}.section-total-slice{cursor:pointer;stroke:var(--portfolio-bg);stroke-width:.45px;outline:none;transition:opacity .12s,filter .12s}.section-total-slice.is-active{filter:saturate(1.18)brightness(1.12)}.section-total-slice.is-dimmed{opacity:.36}.section-total-list{border-top:1px solid var(--portfolio-border);grid-template-columns:1fr;gap:0;display:grid}.section-total-row{border-bottom:1px solid var(--portfolio-border);min-width:0;min-height:38px;color:var(--portfolio-muted);border-radius:6px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0 -8px;padding:0 8px;font-size:13px;transition:background .12s,color .12s,opacity .12s;display:grid}.section-total-row.is-active{background:var(--portfolio-bg-soft);color:var(--portfolio-text)}.section-total-row.is-active .holding-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--dot-color) 22%, transparent)}.section-total-row.is-dimmed{opacity:.48}.section-total-row span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-total-row strong{color:var(--portfolio-text)}@media (width<=1080px){.topbar{grid-template-columns:1fr}.brand,.fund-picker,.topbar-actions{justify-self:stretch}.fund-picker{width:100%}.workspace,.document-grid,.stocks-grid{grid-template-columns:1fr}.funds-panel{max-height:340px}.fund-header{flex-direction:column}.fund-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.holdings-title{flex-direction:column}.holdings-tools,.quality-actions{justify-content:flex-start}.holdings-meta{min-width:0}.quality-metrics,.quality-grid,.stock-summary,.stock-identity-grid{grid-template-columns:1fr}}@media (width<=720px){.topbar,.fund-header{align-items:stretch}.topbar-actions{justify-content:space-between}.health-strip{flex:1}.workspace,.document-grid,.stocks-grid{padding:10px}.holdings-panel{margin:10px}.document-table .table-row{grid-template-columns:minmax(160px,1fr) 84px 48px 54px 42px 34px}.stock-row{grid-template-columns:minmax(140px,1fr) 58px 84px}.stock-row span:nth-child(4){display:none}.section-table .table-row,.line-item-row,.stock-holder-row,.quality-doc-row,.quality-mapping-row,.quality-portfolio-row,.quality-empty-row{grid-template-columns:minmax(140px,1fr) minmax(90px,.8fr)}.section-table .table-head span:nth-child(n+3),.section-table .table-row span:nth-child(n+3),.line-item-row span:nth-child(n+3),.stock-holder-row span:nth-child(n+3),.quality-doc-row span:nth-child(n+3),.quality-mapping-row span:nth-child(n+3),.quality-portfolio-row span:nth-child(n+3),.quality-empty-row span:nth-child(n+3){display:none}.holdings-title,.holdings-strip,.holdings-row,.section-totals{padding-left:14px;padding-right:14px}.holdings-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.holdings-tools,.quality-actions{flex-direction:column;align-items:stretch}.holdings-row{grid-template-columns:minmax(180px,1fr) 88px 92px 74px}.holdings-row span:nth-child(4),.holdings-row span:nth-child(6){display:none}.section-total-content{grid-template-columns:1fr}.holding-name{grid-template-columns:16px minmax(44px,auto) minmax(0,1fr)}.holding-name svg{display:none}}
