:root{color-scheme:dark;--bg:#100202;--panel:#200404;--red:#ef3e35;--hot:#ff7765;--text:#fff5f2;--muted:#c8aaa5;--line:#5b201a;--green:#67dab0;--warning:#e9c479;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top left,#41080888,transparent 55%);min-height:100vh}button,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#ffffff05;border-radius:10px;padding:9px 14px;min-height:44px}button:hover{background:#ef3e3518;border-color:var(--red)}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible{outline:2px solid var(--hot);outline-offset:3px}button svg{width:21px;height:21px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7}input{min-width:0;color:var(--text);background:#100202;border:1px solid var(--line);border-radius:9px;padding:10px 12px}h1,h2,p{margin:0}h1{font-size:1.5rem;letter-spacing:-.04em}h2{font-size:1rem;font-weight:600}small{color:var(--muted);font-size:.8125rem}.shell{max-width:1120px;margin:auto;padding:0 28px}header{display:flex;align-items:center;justify-content:space-between;padding:23px 0;border-bottom:1px solid var(--line)}.brand,.header-actions{display:flex;gap:12px;align-items:center}.brand img{object-fit:contain}.brand strong{display:block;font-size:1rem;letter-spacing:.14em}.brand span{display:block;font-size:.8125rem;color:var(--muted)}.icon{display:inline-grid;place-items:center;width:44px;height:44px;flex:none;padding:0;font-size:1.5rem}.quiet{border-color:transparent;color:var(--muted);font-size:.875rem}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0 18px}.sync-line{display:flex;align-items:center;gap:7px;font-size:.8125rem;color:var(--muted);margin-top:5px}.dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--green)}.dot.error{background:var(--red)}.month-picker{display:flex;align-items:center;gap:5px}.month-picker input{width:180px;font-size:.875rem;height:44px}.month-picker .icon{border-color:transparent}.panel{background:linear-gradient(135deg,#300606db,#200404e6);border:1px solid var(--line);border-radius:18px}.overview{display:grid;grid-template-columns: .85fr 1.15fr;gap:20px;align-items:stretch}.balance{padding:16px 20px;border-color:#983125;background:linear-gradient(135deg,#440909d9,#200404e6)}.balance-heading{display:flex;align-items:center;justify-content:space-between;height:32px;font-size:.875rem;color:var(--muted)}.balance-value{display:block;font-size:2rem;line-height:1.3;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:4px 0 19px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px}.metrics span{display:block;font-size:.8125rem;color:var(--muted)}.metrics strong{display:block;font-weight:600;margin-top:3px;font-variant-numeric:tabular-nums}.family h2{margin:0 0 8px}.family #cards{display:grid;gap:8px}.card{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;background:#30060699;border-radius:13px}.card .holder{font-size:.9375rem;font-weight:600}.card small{display:block}.card .amount{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.card .amount small{font-weight:400}.paid,.positive{color:var(--green)}.pending{color:var(--warning)}.negative{color:var(--hot)}nav{display:flex;gap:4px;margin:24px 0 12px;border-bottom:1px solid var(--line);padding-bottom:9px;overflow-x:auto}nav button{border-color:transparent;white-space:nowrap;font-size:.875rem}nav button[aria-pressed=true]{background:#ef3e3517;color:var(--hot);border-color:#7d2820}.records{padding:0 20px 8px}.section-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 0 8px;gap:12px}.section-heading span{font-size:.8125rem;color:var(--muted)}.row{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #5b201a70}.row:last-child{border-bottom:0}.row-main{min-width:0;flex:1}.row-title{font-size:.9375rem;font-weight:500;overflow-wrap:anywhere}.row-detail{font-size:.8125rem;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.row-amount{font-size:.9375rem;font-weight:600;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.row-amount small{display:block;white-space:normal;font-weight:400}.empty{color:var(--muted);padding:22px 0;font-size:.875rem}footer{display:flex;justify-content:space-between;gap:16px;padding:22px 0;color:var(--muted);font-size:.75rem}.login{max-width:440px;margin:70px auto;padding:28px}.eyebrow{font-size:.75rem;letter-spacing:.15em;color:var(--hot)}.login h1{margin:12px 0}.login p{font-size:.9375rem;color:var(--muted)}.login form{display:grid;gap:10px;margin:24px 0 16px}.login label{font-size:.875rem}.primary{background:#ce2920;border-color:#ef3e35;font-weight:600}.login #login-error{color:var(--hot);margin-bottom:12px}.notice{padding:12px 16px;border:1px solid #ac682b;background:#382307;border-radius:12px;margin-bottom:16px;font-size:.875rem}#loading{padding:40px 0;color:var(--muted)}dialog{width:min(560px,calc(100% - 24px));max-height:85vh;overflow:auto;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px}dialog::backdrop{background:#000a}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}#statement-summary{font-size:.875rem;color:var(--muted);margin:10px 0}#statement-total{font-weight:600;margin:18px 0 10px}.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}[hidden]{display:none!important}.busy{color:var(--warning);animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.4}}@media(prefers-reduced-motion:reduce){.busy{animation:none}}@media(max-width:680px){.shell{padding:0 16px}header{padding:16px 0}.brand span{font-size:.75rem}.toolbar{align-items:stretch;flex-direction:column;gap:14px}.month-picker{justify-content:space-between}.month-picker input{flex:1;width:auto}.overview{grid-template-columns:1fr;gap:16px}.balance{padding:14px 17px}.balance-value{margin-bottom:12px;font-size:1.875rem}.records{padding:0 14px 8px}footer{flex-wrap:wrap}.login{margin:35px auto;padding:22px}.row{gap:10px}.row-amount{white-space:normal;max-width:43%}}
