:root{--gray-0:#fff;--gray-50:#f8f9fa;--gray-100:#f1f3f4;--gray-200:#e2e6e3;--gray-300:#c9cfcb;--gray-400:#9aa19d;--gray-500:#6f7772;--gray-600:#4e5551;--gray-700:#343a36;--gray-800:#202420;--gray-900:#151815;--green-50:#eaf4ee;--green-100:#d6eadc;--green-200:#abd3b7;--green-300:#81bc94;--green-400:#4f9f6b;--green-500:#188038;--green-600:#137333;--green-700:#0d652d;--green-800:#0b4f26;--green-900:#06391b;--red-50:#fce8e6;--red-200:#f4b7b0;--red-500:#c5221f;--red-700:#8c1d18;--amber-50:#fef7e0;--amber-500:#b06000;--bg:var(--gray-50);--panel:var(--gray-0);--text:var(--gray-900);--muted:var(--gray-600);--soft:var(--gray-500);--line:var(--gray-200);--line-strong:var(--gray-300);--accent:var(--green-600);--accent-hover:var(--green-700);--danger:var(--red-700);--success:var(--green-700);--bar-height:52px}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0;font-family:Arial,Helvetica Neue,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--green-500);outline-offset:2px}.app-shell{min-height:100vh}.workspace-bar{background:var(--gray-0);border-bottom:1px solid var(--line);height:var(--bar-height);z-index:20;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:0 20px;display:grid;position:sticky;top:0}.brand-mark{white-space:nowrap;align-items:baseline;display:inline-flex}.brand-mark>span{color:var(--green-700);letter-spacing:.12em;font-size:16px;font-weight:700}.nav-list{scrollbar-width:none;align-self:stretch;gap:2px;min-width:0;display:flex;overflow-x:auto}.nav-list::-webkit-scrollbar{display:none}.nav-link{color:var(--gray-600);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:2px 10px 0;font-size:13px;font-weight:500;display:inline-flex}.nav-link:hover{background:var(--gray-50);color:var(--gray-900)}.nav-link[aria-current=page]{border-bottom-color:var(--green-500);color:var(--green-700)}.workspace-account{align-items:center;gap:12px;display:flex}.account-copy{text-align:right;line-height:1.2;display:grid}.account-copy strong{font-size:12px;font-weight:500}.main-area{min-width:0;padding:20px 24px 40px}.workspace-canvas{max-width:1680px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px;display:flex}.page-header>div:first-child{min-width:0}.page-header h1,.login-panel h1{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:600;line-height:1.15}.page-header p:not(.eyebrow),.muted{color:var(--muted);max-width:72ch;margin:6px 0 0;line-height:1.5}.eyebrow{color:var(--green-700);letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:3px;min-width:0;padding:16px}.panel h2,.panel h3{color:var(--gray-800);margin:0 0 14px;font-size:18px;font-weight:600;line-height:1.25}.panel h3{font-size:15px}.metric-strip{background:var(--gray-0);border:1px solid var(--line);grid-template-columns:repeat(var(--metric-columns,3), minmax(0, 1fr));border-radius:4px;gap:0;display:grid;overflow:hidden}.metric-strip.grid.three,.metric-strip.grid.four{gap:0}.metric-strip-four{--metric-columns:4}.metric-strip .panel,.portfolio-stats .panel{border:0;border-right:1px solid var(--line);border-radius:0;padding:13px 16px 14px}.metric-strip .panel:last-child,.portfolio-stats .panel:last-child{border-right:0}.portfolio-stats{background:var(--gray-0);border:1px solid var(--line);border-radius:4px;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.stat{align-content:center;gap:6px;min-height:68px;display:grid}.stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1}.portfolio-stats .stat strong{font-size:clamp(17px,1.5vw,20px)}abbr[title]{cursor:help;-webkit-text-decoration-color:var(--gray-400);text-decoration-color:var(--gray-400);text-underline-offset:3px;text-decoration-style:dotted}.negative{color:var(--danger)}.positive{color:var(--success)}.calculation-note{color:var(--gray-500);margin:8px 0 0;font-size:12px;line-height:1.5}.returns-guide{background:var(--gray-0);border:1px solid var(--line);border-top:0}.returns-guide>summary,.data-ledger>summary{color:var(--gray-600);cursor:pointer;padding:9px 12px;font-size:12px;font-weight:600;list-style:none}.returns-guide>summary::-webkit-details-marker{display:none}.data-ledger>summary::-webkit-details-marker{display:none}.returns-guide>summary:after{color:var(--green-700);content:"Learn";float:right;font-weight:600}.returns-guide[open]>summary:after{content:"Close"}.metric-definitions{border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;display:grid}.metric-definitions>div{border-right:1px solid var(--line);padding:12px}.metric-definitions>div:last-child{border-right:0}.metric-definitions dt{color:var(--gray-800);margin-bottom:4px;font-size:12px;font-weight:700}.metric-definitions dd{color:var(--gray-600);margin:0;font-size:12px;line-height:1.5}.portfolio-entry-grid,.portfolio-structure-grid,.portfolio-table-panel{margin-top:16px}#add-investment,#portfolio-actions,#add-company{scroll-margin-top:calc(var(--bar-height) + 16px)}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:12px;display:flex}.section-heading h2{margin-bottom:0}.sheet-toolbar{background:var(--gray-0);border:1px solid var(--line);border-radius:4px 4px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.toolbar-subline{color:var(--gray-500);margin-top:2px;font-size:11px;font-weight:400;display:block}.toolbar-actions,.inline-filter{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sheet-toolbar .action-panel[open]{min-width:min(620px,100vw - 64px)}.inline-filter label{align-items:center;gap:8px;display:flex}.inline-filter select{min-width:140px}.table-wrap{scrollbar-color:var(--gray-300) var(--gray-50);overflow:auto}.portfolio-table{min-width:1120px}.fund-holdings-table th:last-child,.fund-holdings-table td:last-child{border-right:1px solid var(--line);width:52px}.holding-edit-row>td{padding:12px 14px;background:var(--green-50)!important}.holding-editor{gap:12px;display:grid}.holding-editor-grid{grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-subline{color:var(--gray-500);white-space:nowrap;margin-top:2px;font-size:11px;line-height:1.45;display:block}.table{background:var(--gray-0);border-collapse:separate;border-spacing:0;width:100%}.table th,.table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:middle;padding:8px 10px;font-size:13px;line-height:1.35}.table th:first-child,.table td:first-child{border-left:1px solid var(--line)}.table th{background:var(--gray-100);color:var(--gray-600);letter-spacing:.02em;text-transform:none;white-space:nowrap;z-index:2;font-size:11px;font-weight:600;position:sticky;top:0}.table tbody tr:hover td{background:var(--green-50)}.table tbody tr:last-child td{border-bottom:1px solid var(--line)}.table a:not(.button){color:var(--green-700);font-weight:600}.numeric{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right!important}.record-list{display:grid}.record-item{border-bottom:1px solid var(--line);gap:3px;padding:10px 2px;display:grid}.record-item:first-child{padding-top:2px}.record-item:last-child{border-bottom:0;padding-bottom:2px}a.record-item:hover{background:var(--green-50);margin-inline:-8px;padding-inline:8px}.record-title{color:var(--gray-800);font-weight:600}.record-meta{color:var(--muted);font-size:12px;line-height:1.45}.pill{background:var(--green-50);border:1px solid var(--green-100);color:var(--green-800);text-transform:capitalize;white-space:nowrap;border-radius:999px;align-items:center;padding:4px 7px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.empty-state{color:var(--gray-500);flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 0;font-size:13px;display:flex}.empty-state p{margin:0}.text-action{color:var(--green-700);font-size:13px;font-weight:600}.text-action:hover{text-decoration:underline}.form-stack{gap:12px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}label{color:var(--gray-600);gap:5px;font-size:12px;font-weight:500;display:grid}input,select,textarea{background:var(--gray-0);border:1px solid var(--line-strong);color:var(--text);border-radius:2px;width:100%;min-height:36px;padding:7px 9px}input:hover,select:hover,textarea:hover{border-color:var(--gray-400)}input:focus,select:focus,textarea:focus{border-color:var(--green-500);box-shadow:inset 0 0 0 1px var(--green-500);outline:none}input::placeholder,textarea::placeholder{color:var(--gray-400)}textarea{resize:vertical;min-height:80px}button,.button{background:var(--green-600);border:1px solid var(--green-600);color:var(--gray-0);white-space:nowrap;border-radius:3px;justify-content:center;align-items:center;min-height:36px;padding:7px 13px;font-size:13px;font-weight:600;display:inline-flex}button:hover,.button:hover{background:var(--green-700);border-color:var(--green-700)}.button.secondary,button.secondary{background:var(--gray-0);border-color:var(--line-strong);color:var(--gray-700)}.button.secondary:hover,button.secondary:hover{background:var(--gray-100);border-color:var(--gray-400)}.button.tertiary,button.tertiary{color:var(--gray-600);background:0 0;border-color:#0000}.button.tertiary:hover,button.tertiary:hover{background:var(--gray-100);color:var(--gray-900)}.compact{min-height:30px;padding:5px 9px;font-size:12px}.action-tray{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px;display:grid}.fund-actions{margin-top:12px}.data-ledger{background:var(--gray-0);border:1px solid var(--line);scroll-margin-top:calc(var(--bar-height) + 16px);margin-top:16px}.data-ledger>summary{justify-content:space-between;align-items:center;display:flex}.data-ledger>summary:before{color:var(--green-700);content:"+";margin-right:8px}.data-ledger[open]>summary:before{content:"−"}.data-ledger>summary span{color:var(--gray-500);margin-left:auto;font-size:11px;font-weight:400}.data-ledger>.calculation-note{border-top:1px solid var(--line);margin:0;padding:8px 10px}.cash-flow-table{min-width:840px}.cash-flow-table input,.cash-flow-table select{min-height:30px;padding:4px 6px}.company-actions,.portfolio-structure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-tray>.action-panel[open]{grid-column:1/-1}.action-panel{background:var(--gray-0);border:1px solid var(--line);border-radius:4px}.action-panel>summary,.row-editor>summary{color:var(--gray-700);cursor:pointer;padding:11px 13px;font-size:13px;font-weight:600;list-style:none}.action-panel>summary::-webkit-details-marker{display:none}.row-editor>summary::-webkit-details-marker{display:none}.action-panel>summary:before,.row-editor>summary:before{color:var(--green-600);content:"+";margin-right:8px;font-weight:700;display:inline-block}.action-panel[open]>summary,.row-editor[open]>summary{border-bottom:1px solid var(--line)}.action-panel[open]>summary:before,.row-editor[open]>summary:before{content:"−"}.action-panel-body{padding:14px}.action-panel-body>.eyebrow,.action-panel-body>h2{display:none}.row-editor{min-width:86px}.row-editor>summary{color:var(--green-700);padding:3px 0}.row-editor[open]{min-width:300px}.row-editor .form-stack{padding:10px 0 4px}.embedded-editor{border:1px solid var(--line);border-radius:3px}.embedded-editor>summary{color:var(--green-700);cursor:pointer;padding:8px 10px;font-size:12px;font-weight:600;list-style:none}.embedded-editor>summary::-webkit-details-marker{display:none}.embedded-editor>summary:before{content:"+";margin-right:7px}.embedded-editor[open]>summary{border-bottom:1px solid var(--line)}.embedded-editor[open]>summary:before{content:"−"}.embedded-editor>form{padding:12px}.login-page{background:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px), var(--gray-50);background-size:34px 34px;align-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--gray-0);border:1px solid var(--line-strong);border-radius:4px;width:100%;max-width:420px;margin:0 auto;padding:28px;box-shadow:0 8px 24px #2024201a}.alert,.success{border:1px solid;border-radius:3px;padding:9px 11px;font-size:13px;line-height:1.45}.alert{background:var(--red-50);border-color:var(--red-200);color:var(--danger)}.success{background:var(--green-50);border-color:var(--green-200);color:var(--success)}@media (max-width:1100px){.portfolio-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-stats .panel:nth-child(3){border-right:0}.portfolio-stats .panel:nth-child(-n+3){border-bottom:1px solid var(--line)}.action-tray{grid-template-columns:1fr}.holding-editor-grid,.metric-definitions{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-definitions>div{border-bottom:1px solid var(--line)}.metric-definitions>div:nth-child(2n){border-right:0}}@media (max-width:920px){.workspace-bar{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:0 12px}.account-copy{display:none}.main-area{padding:20px 16px 40px}.grid.two,.grid.three,.grid.four,.form-grid{grid-template-columns:1fr}.holding-editor-grid,.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-strip .panel:nth-child(2n){border-right:0}.metric-strip .panel:nth-child(n+3){border-top:1px solid var(--line)}}@media (max-width:640px){:root{--bar-height:96px}.workspace-bar{height:var(--bar-height);grid-template-rows:38px 42px;grid-template-columns:1fr auto;align-content:center}.nav-list{grid-area:2/1/auto/-1}.workspace-account{grid-area:1/2}.page-header{align-items:flex-start;gap:12px;display:grid}.page-header h1,.login-panel h1{font-size:24px}.portfolio-stats,.metric-strip{grid-template-columns:1fr 1fr}.holding-editor-grid,.metric-definitions{grid-template-columns:1fr}.metric-definitions>div{border-right:0}.metric-definitions>div:last-child{border-bottom:0}.portfolio-stats .panel,.portfolio-stats .panel:nth-child(3){border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.portfolio-stats .panel:nth-child(2n){border-right:0}.portfolio-stats .panel:nth-last-child(-n+2){border-bottom:0}.section-heading{align-items:flex-start;gap:4px;display:grid}.sheet-toolbar,.inline-filter{align-items:stretch}.inline-filter,.inline-filter label{width:100%}.login-panel{padding:22px}}
