:root{--ink:#1c2927;--muted:#69736e;--paper:#f6f4ed;--card:#fffef9;--line:#dfe3dc;--green:#173d3b;--mint:#70b7ae;--red:#b94c43;--shadow:0 10px 28px #14342b12}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.4}button,input,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.shell{max-width:1180px;margin:auto;padding:24px 18px 56px}.hero{display:flex;align-items:start;justify-content:space-between;gap:16px;margin:8px 0 22px}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}.hero h1{font-family:Georgia,serif;font-size:clamp(1.8rem,5vw,3rem);font-weight:500;margin:.18rem 0}.tagline{margin:0;color:var(--muted)}.privacy{font-size:.8rem;color:var(--green);background:#dceeea;padding:8px 10px;border-radius:9px;max-width:330px}.banner{padding:12px 15px;border-radius:12px;background:#fff2cf;color:#6a4a00;margin-bottom:18px;font-size:.9rem}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.card{padding:16px}.card small,.panel-head p{color:var(--muted);font-size:.8rem}.money{font:500 clamp(1.45rem,4vw,2rem)/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;margin:7px 0 0}.layout{grid-template-columns:1fr 1.4fr;align-items:start}.panel{padding:18px}.panel-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:14px}.panel-head h2{font:500 1.25rem Georgia,serif;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.wide{grid-column:1/-1}label{display:grid;gap:5px;font-size:.82rem;font-weight:650}input,select{border:1px solid #cfd6cf;border-radius:9px;padding:10px;background:white;color:var(--ink);min-height:42px}input:focus,select:focus,button:focus{outline:3px solid #80c9be;outline-offset:2px}.help{margin:2px 0 0;font-size:.77rem;color:var(--muted)}.buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}button{border:0;border-radius:9px;padding:10px 13px;font-weight:700;background:var(--green);color:white}button.secondary{background:#e9eeea;color:var(--ink)}button.danger{background:var(--red)}button:disabled{opacity:.5;cursor:not-allowed}.chart{height:210px;display:flex;align-items:end;gap:7px;padding-top:18px;border-bottom:1px solid var(--line)}.bar{flex:1;min-width:12px;background:linear-gradient(#8ecac2,var(--green));border-radius:5px 5px 0 0;position:relative}.bar span{position:absolute;bottom:-23px;left:50%;transform:translateX(-50%);font-size:.65rem;color:var(--muted);white-space:nowrap}.legend{font-size:.8rem;color:var(--muted);margin:27px 0 2px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:10px 7px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.empty{color:var(--muted);padding:18px 0;text-align:center}.insight{padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}.status{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#192927;color:white;padding:10px 14px;border-radius:10px;box-shadow:var(--shadow);max-width:90vw;z-index:5}.dialog{position:fixed;inset:0;background:#10231c77;display:grid;place-items:center;padding:18px;z-index:10}.dialog article{background:var(--card);max-width:520px;width:100%;padding:22px;border-radius:17px;box-shadow:0 18px 60px #0004}.dialog h2{font:500 1.4rem Georgia,serif;margin:0 0 8px}.dialog p{color:var(--muted)}.dialog[hidden]{display:none}.checkbox{display:flex;align-items:start;gap:9px;font-size:.84rem;font-weight:400;margin:12px 0}.checkbox input{min-height:0;margin-top:3px}.fineprint{font-size:.77rem;color:var(--muted)}@media(max-width:760px){.shell{padding:16px 12px 42px}.hero{display:block}.privacy{margin-top:12px}.stats,.layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.panel{padding:15px}.card{padding:14px}.chart{height:180px}}
