:root{--navy:#320606;--blue:#a30f18;--sky:#fde5e7;--ink:#211111;--muted:#756060;--paper:#faf6f6;--card:#fff;--line:#eadada;--green:#16755d;--red:#b42318;--shadow:0 12px 30px rgba(82,7,12,.10)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}body{margin:0;min-height:100vh}.topbar{background:linear-gradient(125deg,var(--navy),var(--blue));color:#fff;padding:1.35rem max(1.2rem,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center}.topbar h1{margin:.15rem 0 0;font-size:clamp(1.6rem,4vw,2.25rem)}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0;color:#7f4044}.topbar .eyebrow{color:#ffdadd}.icon-button{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;border-radius:50%;width:44px;height:44px;font-size:1.25rem;cursor:pointer}main{width:min(1180px,calc(100% - 2rem));margin:1.5rem auto 3rem}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.welcome{padding:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#fff 55%,var(--sky))}.welcome h2{margin:.35rem 0;font-size:clamp(1.35rem,3vw,2rem)}.welcome p:last-child{margin:.25rem 0;color:var(--muted)}.score{min-width:110px;text-align:center;padding:1rem;border-radius:14px;background:var(--navy);color:#fff}.score strong{font-size:2rem;display:block}.score span{font-size:.78rem}.tabs{display:flex;gap:.45rem;margin:1.25rem 0;overflow:auto;padding-bottom:.15rem}.tab{white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--muted);padding:.75rem 1rem;border-radius:999px;font-weight:750;cursor:pointer}.tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.panel{display:none}.panel.active{display:block}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.summary-card{display:flex;align-items:center;gap:.85rem;padding:1.15rem}.summary-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--sky);color:var(--navy);font-weight:900}.summary-card strong,.summary-card span{display:block}.summary-card strong{font-size:1.35rem}.summary-card div span{font-size:.82rem;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.dashboard-grid>.card,.manager{padding:1.25rem}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.section-heading h2,.section-heading h3{margin:.25rem 0}.text-button{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer;padding:.5rem}.danger{color:var(--red)}.entry-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.8rem;align-items:end;padding:1rem 0 1.25rem;border-bottom:1px solid var(--line)}label{display:grid;gap:.35rem;color:var(--muted);font-size:.85rem;font-weight:700}input,select{width:100%;border:1px solid #d8bfc1;background:var(--card);color:var(--ink);border-radius:10px;padding:.75rem;font:inherit;font-size:1rem}input:focus,select:focus{outline:3px solid rgba(163,15,24,.18);border-color:var(--blue)}form button[type=submit]{border:0;border-radius:10px;background:var(--blue);color:#fff;font-weight:800;padding:.82rem 1.1rem;cursor:pointer}.item-list,.compact-list{display:grid;gap:.65rem;margin-top:1rem}.list-item{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:.8rem;border:1px solid var(--line);border-radius:12px}.list-item.done{opacity:.58}.list-item.done .item-title{text-decoration:line-through}.check{width:22px;height:22px;accent-color:var(--blue)}.item-title{font-weight:800}.item-meta{color:var(--muted);font-size:.8rem;margin-top:.18rem}.item-actions{display:flex;justify-content:flex-end;align-items:center;gap:.45rem;flex-wrap:wrap}.calendar-button{background:var(--blue);color:#fff;text-decoration:none;border-radius:8px;padding:.48rem .65rem;font-size:.8rem;font-weight:800}.calendar-mini{display:inline-block;color:var(--blue);font-weight:800;text-decoration:none;margin-top:.25rem}.delete{border:0;background:#fff0ef;color:var(--red);border-radius:8px;padding:.45rem .6rem;cursor:pointer}.empty{text-align:center;color:var(--muted);padding:1.5rem .5rem}.compact-row{display:flex;justify-content:space-between;gap:.8rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.compact-row:last-child{border-bottom:0}.compact-row span{color:var(--muted);font-size:.82rem;text-align:right}footer{padding:1.5rem max(1.2rem,calc((100vw - 1180px)/2));background:var(--navy);color:#f8e8e8;display:flex;justify-content:space-between;align-items:center;gap:1rem}footer p{margin:0}footer div{display:flex;gap:1rem}footer a{color:#fff;font-weight:750;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html.dark{--ink:#fff2f2;--muted:#c9a9aa;--paper:#100707;--card:#211010;--line:#4c292b;--sky:#3b171a;--shadow:none}html.dark .welcome{background:linear-gradient(135deg,#211010 55%,#3a1115)}html.dark .delete{background:#421d1d}html.dark input,html.dark select{border-color:#63383b}
.header-actions{display:flex;align-items:center;gap:.65rem}.install-button{border:1px solid rgba(255,255,255,.45);background:#fff;color:var(--navy);border-radius:999px;padding:.7rem 1rem;font-weight:850;cursor:pointer}.install-button[hidden]{display:none}.install-dialog{width:min(92vw,480px);border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.35);padding:0}.install-dialog::backdrop{background:rgba(12,4,4,.72)}.install-dialog form{padding:1.4rem;position:relative}.install-dialog h2{margin:.2rem 2rem 1rem 0}.install-dialog p,.install-dialog li{line-height:1.55}.install-dialog ol{padding-left:1.25rem}.dialog-close{position:absolute;right:.8rem;top:.7rem;border:0;background:transparent;color:var(--muted);font-size:1.8rem;cursor:pointer}.dialog-done{border:0;border-radius:10px;background:var(--blue);color:#fff;font-weight:800;padding:.75rem 1rem;cursor:pointer;width:100%;margin-top:.5rem}@media(max-width:780px){main{width:min(100% - 1rem,1180px);margin-top:.75rem}.welcome{align-items:flex-start}.score{min-width:86px}.overview-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.entry-form{grid-template-columns:1fr 1fr}.entry-form label:first-child{grid-column:1/-1}.entry-form button{grid-column:1/-1}footer{flex-direction:column;text-align:center}}
@media(max-width:430px){.topbar{align-items:flex-start}.header-actions{flex-direction:column-reverse;align-items:flex-end}.install-button{padding:.6rem .8rem}.welcome{display:block}.score{margin-top:1rem;width:100%}.overview-grid{grid-template-columns:1fr}.entry-form{grid-template-columns:1fr}.entry-form label{grid-column:1!important}.list-item{grid-template-columns:auto 1fr}.item-actions{grid-column:2;justify-content:flex-start}footer div{flex-direction:column}}

/* Finance workspace */
[hidden]{display:none!important}
.overview-grid{grid-template-columns:repeat(5,1fr)}
.finance-toolbar{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.finance-toolbar h2{margin:.2rem 0}.finance-controls{display:flex;align-items:end;gap:.65rem}.secondary-button{border:1px solid var(--blue);background:var(--card);color:var(--blue);border-radius:10px;padding:.75rem 1rem;font-weight:800;cursor:pointer}.finance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.finance-summary{padding:1.15rem;border-top:5px solid var(--blue)}.finance-summary span,.finance-summary small,.finance-summary strong{display:block}.finance-summary span{font-weight:800;color:var(--muted)}.finance-summary strong{font-size:clamp(1.35rem,3vw,1.85rem);margin:.35rem 0}.finance-summary small{color:var(--muted)}.finance-summary.income{border-color:#16755d}.finance-summary.expense{border-color:#b42318}.finance-summary.tax{border-color:#c66b0a}.finance-summary.investment{border-color:#6f3aa8}.finance-summary.available{grid-column:1/-1;background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff;border:0}.finance-summary.available span,.finance-summary.available small{color:#ffdadd}.negative{color:#ffb6b1}.finance-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:1rem;margin-top:1rem}.finance-form{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;align-items:end;margin-top:1rem}.finance-form label:nth-child(2){grid-column:span 2}.finance-form button{border:0;border-radius:10px;background:var(--blue);color:#fff;font-weight:800;padding:.82rem 1.1rem;cursor:pointer}.check-label{display:flex;align-items:center;gap:.5rem;min-height:45px}.check-label input{width:20px;height:20px;accent-color:var(--blue)}.tax-settings{padding:1.25rem}.tax-settings h3{margin:.25rem 0 1rem}.tax-settings p{color:var(--muted);line-height:1.45;font-size:.85rem}.percent-input{display:flex;align-items:center;gap:.5rem}.tax-breakdown{display:grid;grid-template-columns:1fr auto;gap:.7rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.finance-history{margin-top:1rem}.filter-buttons{display:flex;gap:.35rem;flex-wrap:wrap}.filter{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:.45rem .7rem;font-weight:750;cursor:pointer}.filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}.finance-chart{display:grid;gap:.55rem;margin:1.2rem 0;padding:1rem;background:var(--paper);border-radius:12px}.chart-row{display:grid;grid-template-columns:90px 1fr 90px;gap:.7rem;align-items:center;font-size:.82rem}.chart-row>div{height:11px;border-radius:999px;background:var(--line);overflow:hidden}.chart-row i{display:block;height:100%;border-radius:999px;background:var(--blue)}.chart-row i.income{background:#16755d}.chart-row i.expense{background:#b42318}.chart-row i.tax{background:#c66b0a}.chart-row i.investment{background:#6f3aa8}.chart-row strong{text-align:right}.finance-list{display:grid;gap:.6rem}.finance-row{display:grid;grid-template-columns:36px 1fr auto auto;gap:.75rem;align-items:center;padding:.75rem;border:1px solid var(--line);border-radius:12px}.finance-row>div:nth-child(2) span{display:block;color:var(--muted);font-size:.8rem;margin-top:.15rem}.finance-kind{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:900}.finance-kind.income{background:#16755d}.finance-kind.expense{background:#b42318}.finance-kind.investment{background:#6f3aa8}.finance-amount.income{color:#16755d}.finance-amount.expense{color:#b42318}.finance-amount.investment{color:#6f3aa8}
@media(max-width:900px){.overview-grid{grid-template-columns:repeat(3,1fr)}.finance-grid{grid-template-columns:1fr 1fr}.finance-layout{grid-template-columns:1fr}.finance-form{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.overview-grid{grid-template-columns:1fr 1fr}.finance-toolbar{align-items:stretch;flex-direction:column}.finance-controls{align-items:end}.finance-form label:nth-child(2){grid-column:auto}.finance-form button{grid-column:1/-1}}
@media(max-width:430px){.overview-grid,.finance-grid{grid-template-columns:1fr}.finance-form{grid-template-columns:1fr}.finance-form label{grid-column:1!important}.finance-controls{display:grid;grid-template-columns:1fr auto}.finance-row{grid-template-columns:36px 1fr auto}.finance-row .delete{grid-column:2/-1;justify-self:start}.chart-row{grid-template-columns:74px 1fr}.chart-row strong{grid-column:2}}
.section-note{margin:.35rem 0 0;color:var(--muted);font-size:.88rem}.bill-form{grid-template-columns:2fr 1fr 1fr 1fr auto}.accounts-card{margin-top:1rem}.account-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.8rem;align-items:end;padding:1rem 0;border-bottom:1px solid var(--line)}.account-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1rem}.account-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:12px;padding:.9rem}.account-row span{display:block;color:var(--muted);font-size:.8rem;margin-top:.2rem}.account-row>strong{font-size:1.1rem}.negative-balance{color:var(--red)}.linked-label{font-size:.75rem;color:var(--muted);font-weight:750;text-align:right}.finance-row>.linked-label{display:block}
@media(max-width:900px){.bill-form{grid-template-columns:1fr 1fr}.bill-form label:first-child{grid-column:1/-1}.bill-form button{grid-column:1/-1}.account-form{grid-template-columns:1fr 1fr}.account-form button{grid-column:1/-1}}
@media(max-width:560px){.account-list,.account-form{grid-template-columns:1fr}.account-form label,.account-form button{grid-column:1!important}.finance-row>.linked-label{grid-column:2/-1;text-align:left}}
.edit-button{border:1px solid var(--blue);background:var(--card);color:var(--blue);border-radius:8px;padding:.45rem .65rem;font-weight:800;cursor:pointer}.bill-editor{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.7rem;align-items:end;border-top:1px solid var(--line);padding-top:.85rem;margin-top:.15rem}.edit-actions{display:flex;gap:.45rem}.edit-actions button{white-space:nowrap}.list-item:has(.bill-editor){opacity:1}.list-item:has(.bill-editor) .item-title{text-decoration:none}
@media(max-width:900px){.bill-editor{grid-template-columns:1fr 1fr}.bill-editor label:first-child{grid-column:1/-1}.edit-actions{grid-column:1/-1}}
@media(max-width:430px){.bill-editor{grid-template-columns:1fr}.bill-editor label,.edit-actions{grid-column:1!important}.edit-actions{display:grid;grid-template-columns:1fr 1fr}}
.main-menu-button{min-width:150px;text-align:left;padding:1rem 1.15rem;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:var(--navy);color:#fff;cursor:pointer;box-shadow:var(--shadow)}.main-menu-button strong,.main-menu-button span{display:block}.main-menu-button strong{font-size:1.35rem}.main-menu-button span{font-size:.78rem;margin-top:.15rem;color:#ffdadd}.main-menu-button b{font-size:inherit}.main-menu-dialog{width:min(92vw,520px);max-height:86vh;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--ink);padding:0;box-shadow:0 24px 70px rgba(0,0,0,.4)}.main-menu-dialog::backdrop{background:rgba(12,4,4,.72)}.menu-shell{padding:1.35rem;position:relative;display:grid;gap:1.1rem}.menu-header,.menu-section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.menu-header h2,.menu-section-title h3{margin:.2rem 0}.menu-account-list{display:grid;gap:.55rem}.menu-account{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:.85rem;cursor:pointer}.menu-account:hover,.menu-account:focus{border-color:var(--blue);outline:3px solid rgba(163,15,24,.12)}.menu-account span strong,.menu-account span small{display:block}.menu-account small{color:var(--muted);margin-top:.15rem}.future-menu-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;border:1px dashed var(--line);border-radius:12px;background:var(--paper);color:var(--muted);padding:.9rem}.future-menu-item span strong,.future-menu-item span small{display:block}.future-menu-item small{margin-top:.2rem}.future-menu-item em{font-style:normal;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);white-space:nowrap}.account-ledger{margin-top:1rem}.ledger-head,.ledger-row{display:grid;grid-template-columns:110px minmax(160px,1fr) 110px 110px;gap:.75rem;align-items:center}.ledger-head{padding:.75rem;border-bottom:2px solid var(--line);color:var(--muted);font-size:.75rem;font-weight:850;text-transform:uppercase}.ledger-row{padding:.85rem .75rem;border-bottom:1px solid var(--line)}.ledger-row:last-child{border-bottom:0}.ledger-row span:nth-child(2) small{display:block;color:var(--muted);margin-top:.2rem}.ledger-plus{color:#16755d}.ledger-minus{color:var(--red)}
@media(max-width:620px){.main-menu-button{min-width:105px;padding:.8rem}.main-menu-button strong{font-size:1.1rem}.ledger-head{display:none}.ledger-row{grid-template-columns:90px 1fr auto}.ledger-row>strong:last-child{grid-column:2/-1;text-align:right;font-size:.85rem}.account-ledger .section-heading{align-items:flex-start;flex-direction:column}.account-ledger .secondary-button{width:100%}}
.quick-transaction-button{display:flex;align-items:center;gap:.85rem;width:100%;border:0;border-radius:14px;background:linear-gradient(125deg,var(--navy),var(--blue));color:#fff;padding:1rem;text-align:left;cursor:pointer}.quick-transaction-button>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);font-size:1.5rem}.quick-transaction-button strong,.quick-transaction-button small{display:block}.quick-transaction-button small{color:#ffdadd;margin-top:.2rem}.quick-transaction-dialog{width:min(92vw,520px);border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--ink);padding:0;box-shadow:0 24px 70px rgba(0,0,0,.4)}.quick-transaction-dialog::backdrop{background:rgba(12,4,4,.72)}.quick-transaction-dialog form{padding:1.4rem;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.quick-transaction-dialog h2,.quick-transaction-dialog .eyebrow{grid-column:1/-1;margin:.1rem 2rem .15rem 0}.quick-transaction-dialog label:nth-of-type(2){grid-column:1/-1}.quick-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.quick-actions button[type=submit]{border:0;border-radius:10px;background:var(--blue);color:#fff;font-weight:800;padding:.82rem 1.1rem;cursor:pointer}
@media(max-width:430px){.quick-transaction-dialog form{grid-template-columns:1fr}.quick-transaction-dialog label,.quick-actions{grid-column:1!important}.quick-actions{grid-template-columns:1fr}}
.account-row{flex-wrap:wrap}.account-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;margin-left:auto}.account-editor{flex:0 0 100%;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.7rem;align-items:end;border-top:1px solid var(--line);padding-top:.85rem}.account-editor .edit-actions{grid-column:auto}
@media(max-width:760px){.account-editor{grid-template-columns:1fr 1fr}.account-editor label:first-child,.account-editor .edit-actions{grid-column:1/-1}}
@media(max-width:430px){.account-row-actions{width:100%;justify-content:space-between;margin-left:0}.account-editor{grid-template-columns:1fr}.account-editor label,.account-editor .edit-actions{grid-column:1!important}}

/* Clear active and inactive states */
:root{--active-soft:#dff5e8;--active-ink:#0d5f43;--active-line:#73bd96;--inactive-soft:#fde5e7;--inactive-ink:#7d1118;--inactive-line:#e7aeb2}
.tab,.filter{background:var(--inactive-soft);color:var(--inactive-ink);border-color:var(--inactive-line)}
.tab.active,.filter.active{background:var(--active-soft);color:var(--active-ink);border-color:var(--active-line);box-shadow:inset 0 0 0 1px var(--active-line)}
.tab:focus-visible,.filter:focus-visible{outline:3px solid rgba(22,117,93,.25);outline-offset:2px}
.list-item.done{opacity:1;background:var(--active-soft);border-color:var(--active-line)}
.list-item.done .item-title{color:var(--active-ink)}
.check{accent-color:var(--active-ink)}
input:focus,select:focus{outline-color:rgba(22,117,93,.25);border-color:var(--active-line)}
.account-ledger{border-color:var(--active-line);box-shadow:0 0 0 2px rgba(22,117,93,.1),var(--shadow)}
.menu-account:hover,.menu-account:focus{background:var(--active-soft);color:var(--active-ink);border-color:var(--active-line);outline-color:rgba(22,117,93,.18)}
.future-menu-item{background:var(--inactive-soft);border-color:var(--inactive-line);color:var(--inactive-ink)}
html.dark{--active-soft:#123d30;--active-ink:#b8f0d5;--active-line:#2f8c69;--inactive-soft:#3b171a;--inactive-ink:#ffd5d8;--inactive-line:#704044}
