:root{--bg:#f7f7f5;--surface:#fff;--text:#1a1a18;--muted:#6b6b66;--border:#e3e3de;--accent:#2f6f4f;--danger:#b23b3b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#161614;--surface:#1f1e1c;--text:#ecebe7;--muted:#9a9891;--border:#302e2b;--accent:#6fbf8f;--danger:#e07070}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.auth{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.85rem;width:min(24rem,100%);padding:1.75rem;display:flex}h1,h2{margin:0;font-size:1.25rem}.muted{color:var(--muted);margin:0;font-size:.9rem}label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:.6rem .7rem;font-size:1rem}input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:8px;padding:.65rem .9rem;font-size:.95rem;font-weight:600}button:disabled{opacity:.6;cursor:progress}button.link{color:var(--muted);background:0 0;padding:0;font-weight:400;text-decoration:underline}.error{color:var(--danger);margin:0;font-size:.85rem}.shell{min-height:100dvh}.shell header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:.75rem;padding:.9rem 1.25rem;display:flex}.shell header .muted{margin-left:auto}.content{place-items:start center;padding:1.5rem;display:grid}.input-with-action{display:block;position:relative}.input-with-action input{width:100%;padding-right:2.75rem}.reveal{cursor:pointer;opacity:.7;background:0 0;border:none;padding:.35rem .5rem;font-size:1rem;line-height:1;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.reveal:hover{opacity:1}input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:.78rem}.hint{margin-top:-.4rem;font-size:.78rem}.dashboard{flex-direction:column;place-items:stretch stretch;gap:1.25rem;width:min(70rem,100%);margin:0 auto;display:flex}.summary{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.3rem;padding:1rem 1.1rem;display:flex}.tile.primary{grid-column:1/-1}.tile-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem}.tile-value{font-variant-numeric:tabular-nums;font-size:1.6rem}.tile.primary .tile-value{font-size:2.2rem}.tile-detail{color:var(--muted);font-size:.8rem}.positive{color:var(--accent)}.negative{color:var(--danger)}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.toolbar button{margin-left:auto}.banner{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:.7rem .9rem}.grid{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));align-items:start;gap:.75rem;display:grid}.grid .card,.dashboard>.card{gap:.5rem;width:auto;padding:1.1rem}.card-head{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding-bottom:.4rem;display:flex}.badge{background:var(--danger);color:var(--bg);border-radius:999px;padding:.15rem .45rem;font-size:.7rem}.row{align-items:baseline;gap:.75rem;padding:.25rem 0;display:flex}.row-label{flex:1;min-width:0}.row-label.small{font-size:.85rem}.row-label em{color:var(--muted);font-size:.8rem;font-style:normal}.row-label small{color:var(--muted);font-size:.72rem;display:block}.row-value{font-variant-numeric:tabular-nums;white-space:nowrap}.subsection{margin-top:.5rem}.subsection-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem}.statement{margin:0;padding:0;list-style:none}.statement li{border-bottom:1px solid var(--border);align-items:baseline;gap:.75rem;padding:.5rem 0;display:flex}.statement li:last-child{border-bottom:none}.tx-date{color:var(--muted);flex-shrink:0;width:3rem;font-size:.8rem}.tx-description{flex:1;min-width:0}.tx-description em{color:var(--muted);font-size:.8rem;font-style:normal}.tx-description small{color:var(--muted);font-size:.72rem;display:block}.tx-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.tabs{gap:.25rem;display:flex}.tab{color:var(--muted);background:0 0;border-radius:8px;padding:.4rem .75rem;font-weight:500}.tab.active{background:var(--bg);color:var(--text)}.triage{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.triage li{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.6rem;padding:.75rem .9rem;display:flex}.triage li.busy{opacity:.5;pointer-events:none}.triage-main{align-items:baseline;gap:.75rem;display:flex}.triage-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.triage-actions select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;max-width:14rem;padding:.45rem .5rem;font-size:.9rem}.triage-actions button{padding:.45rem .75rem;font-size:.85rem}.source{font-size:.75rem}.row-value .icon{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:.85rem}.row-value .icon:hover{color:var(--text)}.subsection .link{align-self:flex-start;margin-top:.35rem;font-size:.78rem}.hidden-row{opacity:.5}.card-head .icon{margin-left:auto}.card-head .icon+.icon{margin-left:0}.dialog-backdrop{z-index:10;background:#00000080;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.dialog{width:min(26rem,100%)}.dialog h2{font-size:1.1rem}.choice{color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:.5rem;font-size:.92rem}.choice input{width:auto}.dialog select,.dialog input[type=text],.dialog input:not([type]){border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:.5rem;font-size:.9rem}.dialog-actions{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.dialog-actions .link{margin-right:auto}.month-nav{align-items:center;gap:.75rem;display:flex}.month-nav strong{text-transform:capitalize}.danger-tile{border-color:var(--danger)}.danger-tile .tile-value{color:var(--danger)}.badge.ok{background:var(--accent)}.badge.warn{background:var(--muted)}.budget-row,.budget-head{grid-template-columns:minmax(0,1fr) 5.5rem 5.5rem 6rem;align-items:baseline;gap:.4rem;display:grid}.budget-head{text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}.budget-cell{text-align:right;font-variant-numeric:tabular-nums;font-size:.9rem}.budget-cell input{text-align:right;width:100%;padding:.2rem .3rem;font-size:.9rem}.link.amount,.budget-cell .link{color:var(--text);font-variant-numeric:tabular-nums;text-decoration:none}.link.amount:hover,.budget-cell .link:hover{text-decoration:underline}.available .link{color:inherit}.link.name{color:var(--text);text-align:left;font-weight:500;text-decoration:none}.link.name:hover{text-decoration:underline}.row-label small .badge{padding:.1rem .35rem;font-size:.65rem}.bar-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.bar-list-head{align-items:baseline;gap:.75rem;margin-bottom:.2rem;display:flex}.bar-list-label{flex:1;min-width:0;font-size:.9rem}.bar-list-label small{color:var(--muted);font-size:.72rem;display:block}.bar-list-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9rem}.bar-list-value small{color:var(--muted);margin-left:.4rem;font-size:.75rem}.bar-track{background:var(--bg);border-radius:999px;height:8px;overflow:hidden}.bar-fill{background:#2a78d6;border-radius:999px;height:100%}@media (prefers-color-scheme:dark){.bar-fill{background:#3987e5}}.chart svg{width:100%;height:auto;display:block}.axis-label{fill:var(--muted);font-size:10px}.axis-zero,.crosshair{stroke:var(--border);stroke-width:1px}.point{stroke:var(--surface);stroke-width:2px}.estimated-band{fill:var(--border);opacity:.25}.chart-legend{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.4rem;font-size:.8rem;display:flex}.chart-legend i{vertical-align:baseline;border-radius:3px;width:10px;height:10px;margin-right:.3rem;display:inline-block}.chart-legend strong{font-variant-numeric:tabular-nums}.chart-note{margin-top:.6rem;font-size:.78rem}.alert-bar{flex-direction:column;gap:.4rem;padding:.6rem 1.25rem 0;display:flex}.alert{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:flex-start;gap:.6rem;padding:.6rem .8rem;font-size:.88rem;display:flex}.alert-critical,.alert-serious{border-left:3px solid var(--danger)}.alert-warning{border-left:3px solid var(--muted)}.alert-info{border-left:3px solid var(--border)}.alert-good{border-left:3px solid var(--accent)}.alert-text{flex-direction:column;display:flex}.alert-text small{color:var(--muted);font-size:.78rem}.alert-bar .link{align-self:flex-start;font-size:.78rem}.agenda-day{border-bottom:1px solid var(--border);gap:1rem;padding:.5rem 0;display:flex}.agenda-day:last-child{border-bottom:none}.agenda-date{width:5.5rem;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.82rem}.agenda-events{flex:1;min-width:0}.split-row{grid-template-columns:1fr 6.5rem auto;align-items:center;gap:.4rem;display:grid}.split-row input{text-align:right}.choice.policy{align-items:flex-start;padding:.5rem 0}.choice.policy span{flex-direction:column;display:flex}.choice.policy small{color:var(--muted);margin-top:.15rem;font-size:.78rem}.row-value .link{margin-left:.5rem;font-size:.78rem}.shell header{flex-wrap:wrap}.tabs{scrollbar-width:none;max-width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap}@media (width<=640px){.shell header{gap:.5rem;padding:.7rem .9rem}.tabs{order:3;width:100%}.content{padding:1rem .75rem}.budget-row,.budget-head{grid-template-columns:minmax(0,1fr) 4.5rem 4.5rem 5rem}.budget-cell{font-size:.8rem}}.preview{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin-top:.5rem;padding:.8rem}.preview p{margin:0 0 .5rem;font-size:.88rem}
