:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173f52;background:#e5f0f5;font-synthesis:none;--bg:#f3f8fa;--primary:#8bcfe8;--ink:#173f52;--muted:#536b77;--line:#d6e5ec;--white:#ffffff}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;touch-action:manipulation}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #17668a;outline-offset:3px}input,select,textarea{outline-color:var(--ink)}.app{max-width:480px;min-height:100dvh;background:var(--bg);margin:auto;padding-bottom:112px;position:relative}header{padding:24px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.5px;font-weight:650}.brand img{width:38px;height:38px}.brand span{color:#3b84a0;font-weight:400}.avatar{border-radius:22px;background:#d8ebf3;font-size:11px;padding:12px;min-height:42px}main{padding:0 24px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:10px;font-weight:650;color:var(--muted);line-height:1.8}h1{font: 34px/1.2 Georgia,serif;letter-spacing:-1px;margin:10px 0}h2{font-size:16px;font-weight:650;letter-spacing:-.4px;margin:0 0 14px}h3{font-size:13px;margin:0;line-height:1.6;overflow-wrap:anywhere}p{line-height:1.7}.muted{font-size:11px;color:var(--muted);line-height:1.8}.welcome{padding-top:25px}.welcome>p:not(.eyebrow){font-size:14px;line-height:1.9}.welcome h1{font-size:42px;margin:15px 0 24px}.card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:20px;margin-bottom:18px}.welcome .card{margin:28px 0}.balance{background:var(--primary);border-radius:24px;padding:24px;color:var(--ink);margin:24px 0 0}.balance>p{font-size:12px;color:#254f63;margin-top:0}.balance>strong{font-size:39px;font-weight:500;letter-spacing:-1.8px;font-variant-numeric:tabular-nums}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #173f5226;padding-top:20px;margin-top:24px;font-size:10px;color:#254f63}.metrics b{display:block;font-size:19px;color:var(--ink);font-weight:500;margin-top:7px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 13px}.section-head h2,.section-head h3{margin:0}.section-head>button{font-size:11px;color:#17668a;min-height:40px;padding:4px 0}.section-title{margin:28px 0 16px}.big{display:block;font-size:29px;font-weight:500;letter-spacing:-1px;margin:12px 0}.overview{display:grid;grid-template-columns:1fr 1fr;gap:18px 13px}.overview span{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-bottom:6px}.overview strong{font-size:19px;font-weight:550;letter-spacing:-.6px}.overview .full{grid-column:1/-1;margin:0}.primary,.secondary{min-height:49px;border-radius:13px;padding:13px 16px;width:100%;font-size:12px;font-weight:600;display:block;text-align:center;margin-top:14px}.primary{background:var(--primary);color:var(--ink)}.secondary{border:1px solid #c7e0eb;background:#e8f4f9}.field{display:block;font-size:11px;font-weight:600;margin:0 0 17px}.field input,.field select,textarea{display:block;width:100%;min-height:48px;margin-top:8px;padding:12px;border:1px solid #c7dde7;border-radius:12px;background:var(--white);color:var(--ink);font-size:16px;font-weight:400}.field input:disabled{background:#edf3f6;color:#536b77}fieldset{border:0;padding:0;margin:0;min-width:0}.month-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;margin:15px 0 24px}.month-picker input{min-width:0;max-width:190px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--ink);font-size:13px;min-height:44px}.sync-row{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;color:#32677d}.sync-row button{font-size:10px;min-height:34px}.sync-row .offline{color:#a45439}.error{background:#f9e8e1;color:#8f422e;border-radius:12px;padding:13px 15px;font-size:12px;line-height:1.7;margin:12px 0;overflow-wrap:anywhere}.error button{display:block;text-decoration:underline;margin-top:6px;padding:8px 0}.message{background:#e4f2f8;color:#23566c;border-radius:12px;padding:12px;font-size:12px}.transaction{display:flex;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);align-items:flex-start}.tx-icon{width:36px;height:36px;border-radius:12px;background:#e2f0f7;display:grid;place-items:center;flex-shrink:0;color:#286b88;font-size:21px}.tx-copy{min-width:0;flex:1}.tx-copy>strong{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.tx-copy p{font-size:10px;line-height:1.6;color:var(--muted);margin:4px 0 0}.transaction>strong{font-size:12px;padding-top:3px;white-space:nowrap;font-weight:600}.income{color:#17668a}.loan{border-bottom:1px solid var(--line);padding:4px 0 20px;margin-bottom:20px}.loan:last-of-type{margin-bottom:0}.loan details{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0}.loan summary{cursor:pointer;min-height:38px;padding:9px 0}.fixed{border-top:1px solid var(--line);padding:18px 0}.fixed:first-of-type{border-top:0}.fixed .section-head{margin:0}.fixed .section-head strong{font-size:15px;white-space:nowrap}.fixed .actions{display:flex;align-items:center;gap:16px}.fixed .actions .secondary{flex:1;width:auto}.fixed .actions>button:not(.secondary){font-size:11px;min-height:44px}.pill{font-size:10px;background:#e2f0f7;color:#23566c;padding:6px 10px;border-radius:20px;display:inline-block}.partner-card{margin-top:20px}.search{width:100%;min-height:46px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--white);font-size:16px;margin:20px 0 15px}.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.filters button{border:1px solid var(--line);border-radius:20px;min-height:38px;padding:8px 12px;font-size:11px}.filters .active{background:var(--primary);color:var(--ink)}nav{position:fixed;bottom:0;width:min(100%,480px);background:#fffffff5;border-top:1px solid var(--line);padding:10px 10px max(13px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-around;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}nav button{min-height:50px;min-width:49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:24px;color:#536b77}nav button span{font-size:9px}nav .active{color:var(--ink)}nav .add{width:49px;height:49px;background:var(--primary);color:var(--ink);border-radius:17px;font-size:29px;box-shadow:0 5px 10px #8bcfe819}.overlay{position:fixed;inset:0;z-index:30;background:#123a5080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;max-height:94dvh;overflow-y:auto;background:var(--bg);border-radius:24px 24px 0 0;padding:20px 24px max(28px,env(safe-area-inset-bottom))}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.sheet-head h2{font:26px Georgia,serif;margin:0}.sheet-head>button{width:42px;height:42px;border-radius:50%;background:#e2eef4;font-size:25px;flex-shrink:0}.sheet p:not(.muted):not(.error){font-size:14px;line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}textarea{resize:vertical;min-height:100px}@media(min-width:520px){.app{margin:24px auto;min-height:calc(100dvh - 48px);border-radius:30px;overflow:hidden;box-shadow:0 18px 70px #245b7415}nav{bottom:24px;border-radius:0 0 30px 30px}.overlay{align-items:center}.sheet{max-height:92dvh;border-radius:24px}}@media(max-width:359px){main{padding:0 17px}header{padding:20px 17px}.month-picker input{max-width:160px}.overview strong{font-size:17px}.balance>strong{font-size:34px}.sheet{padding-left:18px;padding-right:18px}nav{padding-left:6px;padding-right:6px}nav button{min-width:47px}}.void-action{display:block;min-height:44px;padding:8px 4px;color:#8f422e;text-decoration:underline;font-size:11px}.transaction.voided .tx-icon{background:#ece8e0;color:#7b7469}.transaction.voided>strong{text-decoration:line-through;color:#7b7469}.transaction .pill{margin-top:8px}.confirm-check{display:flex;align-items:flex-start;gap:10px;line-height:1.7;font-size:12px;margin:16px 0}.confirm-check input{flex-shrink:0;width:20px;height:20px;margin:0;accent-color:#8f422e}.primary.danger{background:#8f422e;color:#fff}.stopped-fixed>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:12px;font-weight:600}.backup-summary{margin:16px 0}.backup-summary>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.6}.backup-summary dt{color:var(--muted);flex:1}.backup-summary dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.backup-preview{margin-top:18px}.backup-preview details>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:12px;font-weight:600}.backup-preview p,.backup-preview h3{overflow-wrap:anywhere}.field input[type=file]{font-size:12px;padding:10px;white-space:normal}
