:root{color:#17201a;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.loginPanel,.panel{background:#fff;border:1px solid #dbe3d8;border-radius:8px;box-shadow:0 14px 40px #192a1c14}.loginPanel{gap:18px;width:100%;max-width:420px;padding:28px;display:grid}.appShell{max-width:1180px;margin:0 auto;padding:18px 28px 28px}.topbar,.summaryBand,.userActions,.appTabs,.inlineForm,.rowActions,.keyRow,.panelHeader,.basisToggle,.sectorChart,.sectorLegendRow{align-items:center;display:flex}.topbar{justify-content:space-between;gap:14px;margin-bottom:14px}.eyebrow{color:#58715d;letter-spacing:0;text-transform:uppercase;margin:0 0 2px;font-size:.68rem;font-weight:700}h1,h2{letter-spacing:0;margin:0}h1{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.05}h2{font-size:1.05rem}label{gap:8px;font-weight:700;display:grid}input{color:#17201a;background:#fbfcfa;border:1px solid #cbd8c8;border-radius:6px;min-height:42px;padding:10px 12px}input:focus{border-color:#2e6b4f;outline:3px solid #2e6b4f2e}.authModeToggle{background:#edf3ee;border-radius:6px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.authModeToggle button{color:#465347;background:0 0;border:0;border-radius:4px;min-height:36px;font-weight:700}.authModeToggle button.active{color:#20362b;background:#fff;box-shadow:0 4px 12px #192a1c1a}.userActions{color:#465347;gap:10px}.appTabs{background:#edf3ee;border-radius:6px;gap:4px;margin-bottom:14px;padding:2px}.appTabs button{color:#465347;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:24px;padding:0 10px;font-size:.9rem;font-weight:700;display:inline-flex}.appTabs button.active{color:#20362b;background:#fff;box-shadow:0 4px 12px #192a1c1a}.summaryBand{color:#fff;background:#20362b;border-radius:8px;justify-content:space-between;min-height:54px;margin-bottom:14px;padding:8px 16px}.summaryBand div{gap:3px;display:grid}.summaryBand span{color:#cfe1d4;font-size:.78rem}.summaryBand strong{font-size:clamp(1.45rem,3vw,2rem);line-height:1}.summaryBand small{color:#cfe1d4;font-size:.72rem}.dashboardGrid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);align-items:start;gap:18px;display:grid}.dashboardSide{align-content:start;gap:18px;min-width:0;display:grid}.toolGrid{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.panel{gap:16px;min-width:0;padding:18px;display:grid}.inlineForm{gap:10px}.addHoldingPanel{align-content:start}.addHoldingForm{grid-template-columns:minmax(0,1fr) minmax(72px,.45fr) auto;display:grid}.addHoldingForm input,.addHoldingForm button{min-width:0}.panelHeader{flex-wrap:wrap;justify-content:space-between;gap:12px;min-width:0}.basisToggle{background:#edf3ee;border-radius:6px;gap:4px;padding:4px}.basisToggle button{color:#465347;background:0 0;border:0;border-radius:4px;min-height:30px;padding:0 8px;font-size:.82rem;font-weight:700}.basisToggle button.active{color:#20362b;background:#fff;box-shadow:0 4px 12px #192a1c1a}.inlineForm input:first-child{width:100%;min-width:0}.primaryButton,.secondaryButton,.iconTextButton,.iconButton{border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:700;display:inline-flex}.primaryButton,.secondaryButton,.iconTextButton{padding:0 14px}.primaryButton,.iconTextButton{color:#fff;background:#2e6b4f}.secondaryButton{color:#20362b;background:#f1f7f2}.iconButton{aspect-ratio:1;color:#20362b;background:#edf3ee;width:40px}button:disabled{cursor:not-allowed;opacity:.6}.message{color:#5f4a00;background:#fff8db;border:1px solid #eadb93;border-radius:6px;margin:0 0 18px;padding:10px 12px}.tableWrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e6ece4;padding:12px 10px}th{color:#58715d;font-size:.82rem}.rowActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:136px}.sharesEditor{gap:6px;min-width:130px;max-width:180px;display:grid}.sharesEditor input{width:100%;min-height:38px}.sharesEditor span{color:#a33a28;white-space:normal;font-size:.78rem}.successButton{color:#fff;background:#2e6b4f}.csvImportBox{align-items:center;gap:12px;display:flex}.csvImportBox>span,.tableNote{color:#617164;font-size:.86rem}.filePicker{color:#20362b;cursor:pointer;white-space:nowrap;background:#edf3ee;border-radius:6px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:700;display:inline-flex;position:relative}.filePicker:focus-within{outline:3px solid #2e6b4f2e}.filePicker input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.inlineError{color:#a33a28;margin:0;font-size:.9rem}.csvImportSummary{flex-wrap:wrap;gap:8px;display:flex}.csvImportSummary span{color:#465347;background:#f7faf6;border:1px solid #e0e8de;border-radius:6px;padding:6px 8px;font-size:.86rem;font-weight:700}.csvPreview table{min-width:560px}.invalidRow td{color:#8a2d1e}.importResult{background:#f7faf6;border:1px solid #e0e8de;border-radius:6px;gap:8px;padding:12px;display:grid}.importResult ul,.tableNote{margin:0}.importResult ul{color:#8a2d1e;padding-left:18px}.estimateList,.keyList{gap:10px;display:grid}.sectorChart{flex-direction:column;align-items:center;gap:14px}.sectorPanel{align-content:start}.sectorPie{flex:none;width:180px;max-width:100%;height:180px;overflow:visible}.sectorPieTrack{stroke:#e7eee5}.sectorPie circle{transition:stroke-dasharray .16s}.sectorPieLabel{fill:#617164;font-size:.78rem;font-weight:700}.sectorPieValue{fill:#17201a;font-size:1rem;font-weight:800}.sectorLegend{flex:1;gap:8px;width:100%;min-width:0;max-width:100%;display:grid}.sectorLegendRow{background:#f7faf6;border:1px solid #e0e8de;border-radius:6px;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;min-width:0;max-width:100%;padding:10px;display:grid}.sectorSwatch{border-radius:999px;width:12px;height:12px}.sectorName{overflow-wrap:anywhere;min-width:0}.sectorLegendRow strong{overflow-wrap:anywhere;text-align:right}.sectorLegendRow>span:last-child{color:#617164;text-align:right;grid-column:2/4;min-width:0;font-size:.86rem}.sectorEmpty{color:#617164;background:#f7faf6;border:1px dashed #cbd8c8;border-radius:6px;align-items:center;min-height:180px;padding:18px;display:flex}.estimateRow,.secretBox,.keyRow{background:#f7faf6;border:1px solid #e0e8de;border-radius:6px}.estimateRow,.keyRow{justify-content:space-between;padding:12px}.keyRow>div,.secretBox{gap:4px;display:grid}.keyRow span,.secretBox span{color:#617164;font-size:.86rem}.secretBox{padding:12px;overflow:hidden}code{color:#fff;overflow-wrap:anywhere;background:#20362b;border-radius:6px;padding:10px;display:block}@media (width<=820px){.appShell{padding:18px}.topbar,.summaryBand,.appTabs,.inlineForm,.csvImportBox,.panelHeader,.sectorChart{flex-direction:column;align-items:stretch}.sectorPie{align-self:center}.dashboardGrid,.addHoldingForm{grid-template-columns:1fr}}
