:root{--ink:#16221e;--muted:#66736e;--paper:#f4f2eb;--card:#fff;--green:#183d31;--green-2:#2d6c56;--mint:#dcebe3;--gold:#d7a83d;--red:#b8493f;--line:#dedfd9;--shadow:0 14px 36px rgba(24,61,49,.1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#e9eee9 0,#f4f2eb 38%);min-height:100vh}.app-shell{max-width:680px;margin:0 auto;min-height:100vh;padding:0 18px 104px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:28px 2px 16px}.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.14em;color:var(--green-2);margin:0 0 4px}.topbar h1,.section-heading h2,.page-heading h2{margin:0;font-size:1.65rem;letter-spacing:-.04em}.icon-button,.back-button{border:0;background:rgba(255,255,255,.7);width:42px;height:42px;border-radius:50%;font-size:1.1rem;color:var(--ink)}.view{display:none}.view.active{display:block;animation:rise .2s ease-out}@keyframes rise{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}
.balance-card{background:var(--green);color:#fff;border-radius:25px;padding:22px;box-shadow:var(--shadow)}.balance-row,.working-row{display:flex;justify-content:space-between;align-items:flex-start}.label{margin:0 0 5px;color:rgba(255,255,255,.7);font-size:.8rem}.balance{font-size:2.15rem;font-weight:760;letter-spacing:-.05em;margin:0}.sync-badge{font-size:.7rem;background:rgba(255,255,255,.12);padding:7px 9px;border-radius:99px}.sync-badge span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8fdbad;margin-right:5px}.working-row{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);align-items:end}.working-row strong{font-size:1.12rem}.working-row p:last-child{margin:0;color:rgba(255,255,255,.6);font-size:.72rem}
.manual-mode-note{margin-top:16px;padding:10px 14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.72);font-size:.75rem;text-align:center}
.attention-card{width:100%;margin:15px 0;border:1px solid #edcf92;background:#fff9ea;border-radius:18px;padding:15px;display:flex;align-items:center;text-align:left;color:var(--ink)}.attention-card strong,.attention-card small{display:block}.attention-card small{color:#7a6a45;margin-top:3px}.attention-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#fff;font-weight:900;margin-right:12px}.chevron{margin-left:auto;font-size:1.8rem;color:#9b8452}.system-pots{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-card{border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:16px;padding:14px;text-align:left;color:var(--ink)}.mini-card span,.mini-card strong{display:block}.mini-card span{font-size:.75rem;color:var(--muted)}.mini-card strong{margin-top:4px;font-size:1.05rem}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:28px 2px 12px}.text-button{border:0;background:none;color:var(--green-2);font-weight:800;padding:8px}.envelope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.envelope-card{border:1px solid var(--line);background:var(--card);border-radius:19px;padding:16px;text-align:left;color:var(--ink);box-shadow:0 4px 16px rgba(24,61,49,.04)}.envelope-card header{display:flex;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}.envelope-card h3{font-size:.9rem;margin:0}.envelope-card .remaining{font-size:1.38rem;font-weight:760;letter-spacing:-.04em;margin:16px 0 3px}.envelope-card .budget{font-size:.72rem;color:var(--muted)}.progress{height:5px;background:#ecece8;border-radius:9px;margin-top:12px;overflow:hidden}.progress span{display:block;height:100%;width:var(--progress);background:var(--accent);border-radius:9px}.negative{color:var(--red)!important}.payday-button{width:100%;border:0;background:var(--mint);color:var(--green);border-radius:18px;padding:15px;margin-top:18px;display:flex;align-items:center;text-align:left}.payday-button strong,.payday-button small{display:block}.payday-button small{margin-top:3px;color:var(--green-2)}.payday-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff;margin-right:12px;font-size:1.2rem}.reconcile{font-size:.72rem;color:var(--muted);text-align:center;padding:15px 4px}.reconcile.ok:before{content:"✓ ";color:var(--green-2);font-weight:900}
.page-heading{display:flex;gap:12px;align-items:center;margin:6px 0 12px}.page-intro{color:var(--muted);font-size:.86rem;margin:0 0 16px}.transaction-list{display:flex;flex-direction:column;gap:10px}.transaction-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.transaction-main{display:flex;justify-content:space-between;gap:10px}.transaction-main strong{font-size:.92rem}.transaction-main small{display:block;color:var(--muted);margin-top:4px}.amount{font-weight:800;white-space:nowrap}.suggestion{display:flex;justify-content:space-between;align-items:center;background:#eef5f1;border-radius:12px;padding:10px;margin-top:12px;font-size:.8rem}.actions{display:flex;gap:7px;margin-top:10px}.button{border:0;border-radius:10px;padding:9px 12px;font-weight:750}.button.primary{background:var(--green);color:#fff}.button.secondary{background:#ecefea;color:var(--ink)}.status{display:inline-block;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;padding:5px 7px;border-radius:8px;background:#eef1ee;color:var(--muted);margin-top:8px}.status.pending{background:#fff3d9;color:#8b6316}.filter-row{display:flex;gap:7px;margin-bottom:15px}.chip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:7px 12px;color:var(--muted)}.chip.active{background:var(--green);color:#fff;border-color:var(--green)}.envelope-summary{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:#fff;border-radius:20px;padding:18px;margin-bottom:16px}.envelope-summary div+div{border-left:1px solid rgba(255,255,255,.17);padding-left:18px}.envelope-summary span,.envelope-summary strong{display:block}.envelope-summary span{font-size:.72rem;color:rgba(255,255,255,.65)}.envelope-summary strong{font-size:1.35rem;margin-top:4px}
.bottom-nav{position:fixed;z-index:10;bottom:12px;left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),640px);height:72px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid rgba(22,34,30,.1);border-radius:24px;box-shadow:0 16px 44px rgba(24,61,49,.16);display:grid;grid-template-columns:1fr 1fr 1fr;padding:8px}.nav-button{border:0;background:none;color:var(--muted);font-size:.68rem;font-weight:750;border-radius:16px}.nav-button span{display:block;font-size:1.25rem;line-height:1.2}.nav-button.active{color:var(--green);background:#edf3ef}.nav-button.add-transaction{background:var(--green);color:#fff;margin-left:6px}dialog{border:0;border-radius:24px;padding:0;width:min(92%,470px);box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(12,25,20,.55);backdrop-filter:blur(3px)}#dialogContent{padding:22px}.dialog-title{margin:0 0 5px;font-size:1.35rem}.dialog-copy{color:var(--muted);margin:0 0 18px;font-size:.88rem;line-height:1.5}.field{display:block;margin:12px 0}.field span{display:block;font-size:.72rem;font-weight:800;margin-bottom:5px;color:var(--muted)}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;background:#fff}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.toast{position:fixed;z-index:20;left:50%;bottom:94px;transform:translate(-50%,20px);background:var(--ink);color:#fff;border-radius:12px;padding:10px 14px;font-size:.8rem;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:580px){.envelope-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:370px){.app-shell{padding-left:12px;padding-right:12px}.envelope-grid{grid-template-columns:1fr}.balance{font-size:1.9rem}}
.legal-shell,.callback-shell{width:min(92%,760px);margin:0 auto;padding:52px 0 80px}.legal-shell h1,.callback-shell h1{font-size:2.2rem;letter-spacing:-.05em;margin:8px 0}.legal-updated{color:var(--muted);margin:0 0 32px}.legal-shell section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin:12px 0}.legal-shell h2{font-size:1.02rem;margin:0 0 8px}.legal-shell p{line-height:1.65;margin:0;color:#42504b}.legal-back{display:inline-block;color:var(--green-2);font-weight:800;text-decoration:none;margin-bottom:34px}.callback-shell{text-align:center;padding-top:18vh}.callback-shell p{color:var(--muted);line-height:1.6}.callback-mark{display:grid;place-items:center;width:66px;height:66px;border-radius:22px;background:var(--mint);color:var(--green);font-weight:900;font-size:1.8rem;margin:0 auto 24px}.callback-button{display:inline-block;text-decoration:none;margin-top:14px}.settings-links{display:flex;gap:14px;margin-top:14px}.settings-links a{font-size:.78rem;color:var(--green-2);font-weight:750}
.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,430px);background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}.auth-logo{width:58px;height:58px;margin-bottom:18px}.auth-card h1{font-size:2rem;letter-spacing:-.05em;margin:4px 0 8px}.auth-copy{color:var(--muted);line-height:1.55;margin:0 0 22px}.auth-submit{width:100%;padding:13px;margin-top:8px}.auth-switch{display:block;border:0;background:none;color:var(--green-2);font-weight:800;margin:16px auto 0;padding:5px}.auth-message{min-height:1.3em;text-align:center;color:var(--green-2);font-size:.8rem;margin:12px 0 0}.auth-message.error{color:var(--red)}.auth-legal{display:flex;justify-content:center;gap:18px;border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.auth-legal a{color:var(--muted);font-size:.75rem}.or-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.75rem;margin:20px 0}.or-divider:before,.or-divider:after{content:"";height:1px;background:var(--line);flex:1}.loading-layer{position:fixed;z-index:100;inset:0;background:rgba(244,242,235,.72);backdrop-filter:blur(3px);display:grid;place-content:center;place-items:center;color:var(--green);font-weight:800}.loading-layer span{width:32px;height:32px;border:4px solid #cbd9d1;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}.loading-layer p{margin:10px 0}@keyframes spin{to{transform:rotate(360deg)}}
.actions{flex-wrap:wrap}.button.danger{background:#f7e5e2;color:var(--red)}.empty-card{grid-column:1/-1;background:#fff;border:1px dashed var(--line);border-radius:18px;padding:20px;color:var(--muted);text-align:center}.split-row{display:grid;grid-template-columns:1fr 120px;gap:10px}.copy-field{display:flex;gap:8px;align-items:center;background:#f1f3ef;border-radius:12px;padding:8px}.copy-field code{overflow:hidden;text-overflow:ellipsis;flex:1;font-size:.75rem}.toast.error{background:var(--red)}
@media(max-width:370px){.auth-card{padding:22px}.split-row{grid-template-columns:1fr}}
.transaction-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.transaction-footer .status{margin-top:0}.button.compact{padding:7px 9px;font-size:.72rem}.dialog-actions{flex-wrap:wrap}
.save-description{display:flex;align-items:center;gap:9px;margin:-2px 0 14px;color:var(--muted);font-size:.78rem}.save-description input{width:18px;height:18px;margin:0;accent-color:var(--green)}.save-description:has(input:disabled){opacity:.55}dialog{max-height:90vh;overflow:auto}
