: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:28px}.topbar,.summaryBand,.userActions,.inlineForm,.rowActions,.keyRow,.panelHeader,.basisToggle,.sectorChart,.sectorLegendRow{align-items:center;display:flex}.topbar{justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{color:#58715d;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:700}h1,h2{letter-spacing:0;margin:0}h1{font-size:clamp(2rem,4vw,3.4rem)}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}.summaryBand{color:#fff;background:#20362b;border-radius:8px;justify-content:space-between;margin-bottom:18px;padding:24px}.summaryBand div{gap:6px;display:grid}.summaryBand span{color:#cfe1d4;font-size:.9rem}.summaryBand strong{font-size:clamp(2rem,5vw,4rem);line-height:1}.grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:18px;display:grid}.panel{gap:16px;padding:18px;display:grid}.panel:first-child{grid-row:span 3}.inlineForm{gap:10px}.panelHeader{justify-content:space-between;gap:12px}.basisToggle{background:#edf3ee;border-radius:6px;gap:4px;padding:4px}.basisToggle button{color:#465347;background:0 0;border:0;border-radius:4px;min-height:32px;padding:0 10px;font-size:.86rem;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}.filePicker input{display:none}.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{align-items:flex-start;gap:18px}.sectorPie{flex:0 0 220px;width:220px;max-width:100%;height:220px;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;display:grid}.sectorLegendRow{background:#f7faf6;border:1px solid #e0e8de;border-radius:6px;grid-template-columns:12px minmax(0,1fr) auto auto;gap:8px;padding:10px;display:grid}.sectorSwatch{border-radius:999px;width:12px;height:12px}.sectorName{overflow-wrap:anywhere;min-width:0}.sectorLegendRow>span:last-child{color:#617164;text-align:right;min-width:52px;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,.inlineForm,.csvImportBox,.panelHeader,.sectorChart{flex-direction:column;align-items:stretch}.sectorPie{align-self:center}.grid{grid-template-columns:1fr}.panel:first-child{grid-row:auto}}
