[hidden]{display:none!important}
:root{
  --bg:#EEF1F5; --surface:#FFFFFF; --ink:#17213A; --muted:#5D6880; --line:#D9DFE8;
  --in:#0F7B6C; --out:#A8402B; --fee:#9A6B12; --accent:#2B4C9B; --warn-bg:#FFF4DC;
  --env:#E4EAF5; --env-fill:#2B4C9B;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0E1420; --surface:#18202F; --ink:#E7ECF5; --muted:#9AA6BC; --line:#2A3446;
    --in:#4CC2AE; --out:#EE8A73; --fee:#E0B456; --accent:#8FAEF5; --warn-bg:#3A2F14;
    --env:#222C3F; --env-fill:#7C9CEB; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0E1420; --surface:#18202F; --ink:#E7ECF5; --muted:#9AA6BC; --line:#2A3446;
  --in:#4CC2AE; --out:#EE8A73; --fee:#E0B456; --accent:#8FAEF5; --warn-bg:#3A2F14;
  --env:#222C3F; --env-fill:#7C9CEB; color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Rubik","Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.45}
.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;display:inline-block}
.wrap{max-width:640px;margin:0 auto;padding:16px 16px 96px}
header.top{padding:8px 4px 18px}
.top h1{font-size:1.05rem;font-weight:500;color:var(--muted);margin:0 0 4px}
.balance{font-size:2.4rem;font-weight:700;letter-spacing:-.5px}
.top .sub{color:var(--muted);font-size:.9rem;margin-top:2px}
.alert{background:var(--warn-bg);border-radius:10px;padding:10px 12px;margin:0 0 14px;font-size:.92rem}
.alert button{margin-inline-start:6px}
nav.tabs{display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:16px}
nav.tabs button{flex:1;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:500;padding:9px;border-radius:9px;cursor:pointer}
nav.tabs button[aria-selected="true"]{background:var(--accent);color:#fff}
:root[data-theme="dark"] nav.tabs button[aria-selected="true"]{color:#0E1420}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) nav.tabs button[aria-selected="true"]{color:#0E1420}}
.env{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.env summary{list-style:none;cursor:pointer;padding:14px 14px 12px;position:relative}
.env summary::-webkit-details-marker{display:none}
.env-flap{position:absolute;inset:0 0 auto 0;height:8px;background:var(--env)}
.env-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:4px}
.env-name{font-weight:700;font-size:1.05rem}
.env-left{font-weight:700;font-size:1.25rem}
.env-left.neg{color:var(--out)}
.bar{height:8px;background:var(--env);border-radius:4px;margin:10px 0 6px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--env-fill);border-radius:4px}
.bar i.over{background:var(--out)}
.env-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem;gap:8px;flex-wrap:wrap}
.env-body{border-top:1px solid var(--line);padding:6px 14px 12px}
.env-actions{display:flex;justify-content:flex-start;gap:8px;margin-top:8px}
.row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}
.row:last-child{border-bottom:0}
.row .l{min-width:0}
.row .t{font-weight:500;overflow-wrap:anywhere}
.row .s{color:var(--muted);font-size:.83rem}
.row .r{text-align:left;white-space:nowrap}
.amt-in{color:var(--in);font-weight:500}
.amt-out{font-weight:500}
.fee{color:var(--fee);font-size:.83rem}
.tag{display:inline-block;font-size:.75rem;padding:1px 8px;border-radius:20px;background:var(--env);color:var(--ink);margin-top:3px}
.tag.none{background:var(--warn-bg)}
.day{color:var(--muted);font-size:.85rem;font-weight:500;margin:14px 0 2px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px 14px}
.empty{color:var(--muted);text-align:center;padding:24px 8px}
.btn{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:8px 14px;border-radius:10px;cursor:pointer}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.danger{color:var(--out);border-color:var(--out)}
.btn.small{padding:4px 10px;font-size:.85rem}
.fab{position:fixed;inset-inline:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,var(--bg) 35%);display:flex;justify-content:center;gap:10px}
.fab .btn{flex:1;max-width:220px;padding:12px;font-weight:500}
.fab .in{background:var(--in);border-color:var(--in);color:#fff}
.fab .out{background:var(--out);border-color:var(--out);color:#fff}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
dialog{border:0;border-radius:16px;padding:0;width:min(560px,94vw);background:var(--surface);color:var(--ink)}
dialog::backdrop{background:rgba(10,15,25,.5)}
dialog form{padding:18px}
dialog h2{margin:0 0 12px;font-size:1.15rem}
label.f{display:block;margin-bottom:12px;font-size:.88rem;color:var(--muted)}
label.f input,label.f select{display:block;width:100%;margin-top:4px;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:9px 10px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seg{display:flex;gap:6px;margin:4px 0 12px}
.seg label{flex:1;text-align:center;border:1px solid var(--line);border-radius:9px;padding:8px;cursor:pointer;font-size:.9rem}
.seg input{position:absolute;opacity:0}
.seg label:has(input:checked){background:var(--accent);color:#fff;border-color:var(--accent)}
.alloc{display:grid;grid-template-columns:1fr 120px 34px;gap:6px;align-items:center;margin-bottom:6px}
.alloc select,.alloc input{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:8px;width:100%}
.alloc .newname{grid-column:1 / -1}
.x{border:0;background:transparent;color:var(--muted);font-size:1.2rem;cursor:pointer}
.hint{font-size:.83rem;color:var(--muted);margin:4px 0 12px}
.dlg-actions{display:flex;gap:8px;justify-content:space-between;margin-top:16px}
.dlg-actions .g{display:flex;gap:8px}
.saving{position:fixed;top:calc(8px + env(safe-area-inset-top,0px));inset-inline-start:8px;background:var(--ink);color:var(--bg);font-size:.8rem;padding:4px 10px;border-radius:20px;display:none}
.saving.on{display:block}
.ro{font-size:.85rem;color:var(--muted);text-align:center;margin-bottom:10px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
