@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff;base64,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) format('woff')}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff;base64,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) format('woff')}[hidden]{display:none!important}
/* Layout: single phone-width column on a quiet neutral background, hairline borders, minimal rounded icons.
   Colour logic: each expense type has its own hue (teal bills, violet subscriptions, pink installments,
   slate other) shown on its icon; the state of a payment has its own reserved colours
   (red overdue, amber due soon, blue scheduled, green paid); blue is also the action colour. */
:root{
  --bg:#F6F7F9; --surface:#FFFFFF; --surface-2:#EEF0F3; --ink:#14171C; --muted:#6A7282; --line:#E4E7EC;
  --accent:#3F63D6; --accent-ink:#FFFFFF; --accent-soft:#EDF1FC;
  --danger:#B94545; --danger-soft:#FBEFEF;
  --warn:#8F6420; --warn-dot:#D9A24A; --warn-soft:#FAF3E6;
  --ok:#2F8A60; --ok-soft:#E9F3ED;
  --info:#3F63D6; --info-soft:#EDF1FC;
  --mark-paid:#4FAF7B; --mark-overdue:#CF6B66; --mark-due:#6F8BE0;
  --c-bill:#2C97A1; --c-bill-soft:#E4F2F3;
  --c-subscription:#7F69D4; --c-subscription-soft:#F0EDFA;
  --c-installment:#D2648F; --c-installment-soft:#FAEBF1;
  --c-other:#6F7C90; --c-other-soft:#EEF0F4;
  --scrim:rgb(20 23 28 / .40);
  --float:0 6px 24px rgb(20 23 28 / .14);
  --font:"Poppins", "Century Gothic", "Avenir Next", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
  --ink-soft:#3A414D; --check:#B8BFCA;
  --card-shadow:0 0 0 1px rgb(20 23 28 / .035), 0 1px 3px rgb(20 23 28 / .06);
  color-scheme:light;
}
/* Dark palette: follows the system unless the app setting forces light (.theme-light). */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]):not(.theme-light){
    --bg:#121419; --surface:#1A1D24; --surface-2:#232730; --ink:#E6E8ED; --muted:#98A0AE; --line:#2C313B;
    --accent:#8CA3EE; --accent-ink:#0F1424; --accent-soft:#222B44;
    --danger:#E58882; --danger-soft:#332224;
    --warn:#DDB06A; --warn-dot:#D6A55A; --warn-soft:#332B1D;
    --ok:#6FBE92; --ok-soft:#1B2D24;
    --info:#8CA3EE; --info-soft:#222B44;
    --mark-paid:#5BA67D; --mark-overdue:#C97470; --mark-due:#7C93DB;
    --c-bill:#4DA3AB; --c-bill-soft:#1C2B2E;
    --c-subscription:#9988DD; --c-subscription-soft:#2A2640;
    --c-installment:#D77FA3; --c-installment-soft:#34242D;
    --c-other:#8F9BAE; --c-other-soft:#262B35;
    --scrim:rgb(0 0 0 / .55);
    --float:0 6px 24px rgb(0 0 0 / .5);
    --ink-soft:#C3C8D2; --check:#4E5562; --card-shadow:0 0 0 1px #262A33;
    color-scheme:dark;
  }
}
/* Same dark palette when the viewer or the app setting asks for it explicitly. */
:root[data-theme="dark"]:not(.theme-light), :root.theme-dark{
  --bg:#121419; --surface:#1A1D24; --surface-2:#232730; --ink:#E6E8ED; --muted:#98A0AE; --line:#2C313B;
  --accent:#8CA3EE; --accent-ink:#0F1424; --accent-soft:#222B44;
  --danger:#E58882; --danger-soft:#332224;
  --warn:#DDB06A; --warn-dot:#D6A55A; --warn-soft:#332B1D;
  --ok:#6FBE92; --ok-soft:#1B2D24;
  --info:#8CA3EE; --info-soft:#222B44;
  --mark-paid:#5BA67D; --mark-overdue:#C97470; --mark-due:#7C93DB;
  --c-bill:#4DA3AB; --c-bill-soft:#1C2B2E;
  --c-subscription:#9988DD; --c-subscription-soft:#2A2640;
  --c-installment:#D77FA3; --c-installment-soft:#34242D;
  --c-other:#8F9BAE; --c-other-soft:#262B35;
  --scrim:rgb(0 0 0 / .55);
  --float:0 6px 24px rgb(0 0 0 / .5);
  --ink-soft:#C3C8D2; --check:#4E5562; --card-shadow:0 0 0 1px #262A33;
  color-scheme:dark;
}

*{box-sizing:border-box}
body{background:var(--bg); color:var(--ink); font-family:var(--font); font-size:14.5px; line-height:1.5; -webkit-font-smoothing:antialiased; font-variant-numeric:tabular-nums}
button, input, select, textarea{font:inherit; color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.vh{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
svg.i{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; flex:none}

.wrap{max-width:620px; margin:0 auto; padding-inline:16px; padding-block:12px calc(104px + env(safe-area-inset-bottom, 0px)); display:grid; grid-template-columns:minmax(0,1fr); gap:14px}

/* Header */
.topbar{display:flex; justify-content:space-between; align-items:center; gap:12px}
.brandwrap{display:flex; align-items:center; gap:10px; min-width:0}
.logo{width:36px; height:36px; border-radius:10px; flex:none; display:block}
.brand{margin:0; font-size:18px; font-weight:600; letter-spacing:-.01em; line-height:1.15}
.tagline{display:block; font-size:12.5px; color:var(--muted); font-weight:500}
.iconbtn{width:40px; height:40px; border-radius:12px; border:1px solid var(--line); background:var(--surface); color:var(--ink); display:grid; place-items:center; flex:none}

/* Month summary: one number, one line, the bar with its three amounts, fixed costs */
.summary-card{background:var(--surface); border-radius:22px; padding:16px 18px 4px; box-shadow:var(--card-shadow); display:grid}
.hero-label{font-size:13px; font-weight:500; color:var(--muted)}
.hero-amount{font-size:clamp(28px, 8.6vw, 34px); font-weight:500; letter-spacing:-.03em; line-height:1.2; margin-top:2px}
.hero-sub{font-size:13px; color:var(--muted); font-weight:500; margin-top:2px}
.progress{height:8px; border-radius:99px; background:var(--surface-2); overflow:hidden; display:flex; gap:3px; margin-top:14px}
.progress span{display:block; height:100%; border-radius:99px; width:0; transition:width .4s ease}
.progress .p-paid{background:var(--mark-paid)}
.progress .p-overdue{background:var(--mark-overdue)}
.progress .p-due{background:var(--mark-due)}
.hero-legend{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; margin-top:12px}
.hero-legend > div{display:grid; gap:1px; min-width:0}
.lg-label{display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--muted); font-weight:500; white-space:nowrap}
.lg-label i{width:8px; height:8px; border-radius:50%; flex:none}
.hero-legend b{font-size:14.5px; font-weight:500; white-space:nowrap}
.hero-legend b.danger{color:var(--danger)}
.budget-line{font-size:12.5px; font-weight:500; color:var(--muted); margin-top:10px}
.budget-line.over{color:var(--danger)}
.fixed-row{display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; margin-top:12px; padding:10px 0; border:0; border-top:1px solid var(--line); background:none; text-align:left; color:var(--ink)}
.fixed-row b{display:block; font-size:13.5px; font-weight:500}
.fixed-row small{display:block; font-size:12.5px; color:var(--muted); font-weight:500}
.fixed-val{display:flex; align-items:center; gap:4px; font-size:14.5px; font-weight:500; white-space:nowrap}
.fixed-val svg{width:18px; height:18px; color:var(--muted)}

/* Tabs and segmented controls */
.seg{display:grid; grid-template-columns:1fr 1fr; background:var(--surface-2); border-radius:12px; padding:3px; gap:3px}
.seg.three{grid-template-columns:repeat(3, minmax(0,1fr))}
.seg button{border:0; background:transparent; border-radius:9px; padding:8px 4px; font-weight:500; font-size:14px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.seg button .pro{margin-left:2px}
.seg button[aria-selected="true"], .seg button[aria-pressed="true"]{background:var(--surface); color:var(--ink); box-shadow:0 0 0 1px var(--line)}

.view{display:grid; grid-template-columns:minmax(0,1fr); gap:18px}
.notice{display:flex; gap:10px 12px; align-items:center; justify-content:space-between; flex-wrap:wrap; background:var(--surface); box-shadow:var(--card-shadow); border-radius:14px; padding:12px 14px; font-size:13.5px; font-weight:500}
.notice p{margin:0; flex:1 1 210px; min-width:0}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:6px; text-decoration:none; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:12px; padding:8px 14px; font-size:14px; font-weight:500; min-height:40px}
.btn.primary{background:var(--accent); color:var(--accent-ink); border-color:var(--accent)}
.btn.soft{background:var(--accent-soft); color:var(--accent); border-color:transparent}
.btn.danger{color:var(--danger); border-color:transparent; background:transparent; padding-inline:6px}
.btn.ghost{background:transparent; border-color:transparent}
.btn.block{width:100%; justify-content:flex-start}
.btn.big{min-height:50px; border-radius:14px; font-size:15px}
.btn:disabled{opacity:.55; cursor:default}

.group{display:grid; gap:6px}
.group-h{display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding-inline:6px 4px}
.group-h h2{margin:0; font-size:13.5px; font-weight:600; color:var(--ink-soft)}
.group-h h2::before{content:""; display:none; width:8px; height:8px; border-radius:50%; background:var(--line); margin-right:8px; vertical-align:1px}
.group-h.is-danger h2{color:var(--danger)}
.group-h.is-warn h2{color:var(--warn)}
.group-h.is-cat h2::before{display:inline-block; background:var(--cc)}
.group-h span{font-size:13px; color:var(--muted); font-weight:500}
.list{display:grid; background:var(--surface); box-shadow:var(--card-shadow); border-radius:18px; overflow:hidden}

/* Expense row: icon, name, state and date on one line, amount, then the tick (or "Auto") */
.row{display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; padding:0 6px 0 0; position:relative}
.list > .row + .row::before, .list > .item + .item::before, .swipe + .swipe > .swipe-front::before{content:""; position:absolute; top:0; left:66px; right:0; border-top:1px solid var(--line); z-index:1}
.list > .item + .item{position:relative}
.row-hit{all:unset; box-sizing:border-box; display:flex; gap:12px; align-items:center; min-width:0; cursor:pointer; padding:12px 8px 12px 14px}
.row-hit:focus-visible{outline:2px solid var(--accent); outline-offset:-2px; border-radius:14px}
.row-hit .amount{margin-left:auto; padding-left:6px}
.ico{width:40px; height:40px; border-radius:12px; display:grid; place-items:center; flex:none; color:var(--cc, var(--ink)); background:var(--cs, var(--surface-2))}
.c-bill{--cc:var(--c-bill); --cs:var(--c-bill-soft)}
.c-subscription{--cc:var(--c-subscription); --cs:var(--c-subscription-soft)}
.c-installment{--cc:var(--c-installment); --cs:var(--c-installment-soft)}
.c-other{--cc:var(--c-other); --cs:var(--c-other-soft)}
.row-main{display:grid; gap:1px; min-width:0}
.row-title{display:flex; align-items:center; min-width:0; font-weight:500; font-size:15px; line-height:1.35}
.row-title .rt{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.row-title .chip, .row-title .clip-ic{flex:none}
.row-meta{font-size:12.5px; color:var(--muted); font-weight:500; overflow-wrap:anywhere; line-height:1.4}
.st{font-weight:500}
.st.danger{color:var(--danger)} .st.warn{color:var(--warn)} .st.trial{color:var(--c-subscription)} .st.ok{color:var(--ok)} .st.info{color:var(--muted)}
.pill{justify-self:start; display:inline-flex; align-items:center; gap:5px; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:12px; font-weight:500; padding:2px 8px; border-radius:99px; background:var(--surface-2); color:var(--muted)}
.pill svg{width:13px; height:13px}
.pill.danger{background:var(--danger-soft); color:var(--danger)}
.pill.warn{background:var(--warn-soft); color:var(--warn)}
.pill.ok{background:var(--ok-soft); color:var(--ok)}
.pill.info{background:var(--info-soft); color:var(--info)}
.amount{font-size:15px; font-weight:500; white-space:nowrap}
.row-act{width:44px; min-height:44px; display:grid; place-items:center}
.checkbtn{width:44px; height:44px; border:0; background:none; padding:0; display:grid; place-items:center; color:var(--muted)}
.checkbtn > span{width:30px; height:30px; border-radius:50%; border:1.5px solid var(--check); display:grid; place-items:center; transition:background .15s, border-color .15s, color .15s}
.checkbtn svg{width:16px; height:16px; stroke-width:2.2}
.checkbtn.danger > span{border-color:var(--mark-overdue); color:var(--danger)}
.checkbtn:hover > span{border-color:var(--accent); color:var(--accent)}
.checkbtn[aria-expanded="true"] > span{background:var(--accent); border-color:var(--accent); color:var(--accent-ink)}
.auto-tag{font-size:11px; font-weight:600; line-height:1.3; padding:3px 7px; border-radius:99px; background:var(--surface-2); color:var(--ink-soft)}
.row .expand{grid-column:1 / -1; margin:0 0 14px 14px}
.chip{display:inline-block; font-size:10.5px; font-weight:500; text-transform:uppercase; letter-spacing:.04em; padding:1px 6px; border-radius:6px; background:var(--surface-2); color:var(--muted); vertical-align:2px; margin-left:6px}

.expand{grid-column:1 / -1; border-top:1px dashed var(--line); padding-top:12px; display:grid; gap:12px}
.kv{display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 14px; font-size:13.5px; margin:0}
.kv dt{color:var(--muted); font-weight:500}
.kv dd{margin:0; font-weight:500; overflow-wrap:anywhere; white-space:pre-line}
.actions{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.hint{font-size:12.5px; color:var(--muted); margin:0; font-weight:500}
.paygrid{display:grid; grid-template-columns:repeat(auto-fit, minmax(140px,1fr)); gap:10px}
.inline-err{color:var(--danger); font-size:13px; margin:0; font-weight:500}

/* "All expenses" view */
.overview{background:var(--surface); box-shadow:var(--card-shadow); border-radius:18px; padding:16px; display:grid; gap:14px}
.overview-top{display:flex; justify-content:space-between; align-items:flex-end; gap:12px; flex-wrap:wrap}
.overview-label{font-size:13px; color:var(--muted); font-weight:500}
.overview-big{font-size:21px; font-weight:500; letter-spacing:-.02em; line-height:1.2}
.overview-big small{font-size:14px; font-weight:500; color:var(--muted); letter-spacing:0}
.overview-side{font-size:13px; color:var(--muted); font-weight:500; text-align:right}
.breakdown{display:grid; gap:8px}
.breakdown > div{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:4px 8px; align-items:center; font-size:13.5px; font-weight:500}
.breakdown .dot{width:9px; height:9px; border-radius:50%; background:var(--cc)}
.breakdown .track{grid-column:1 / -1; height:6px; border-radius:99px; background:var(--surface-2); overflow:hidden}
.breakdown .track span{display:block; height:100%; background:var(--cc); border-radius:99px}
.explain{font-size:12.5px; color:var(--muted); font-weight:500; margin:0}
.item{all:unset; box-sizing:border-box; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 14px; cursor:pointer; width:100%; position:relative}
.item:focus-visible{outline:2px solid var(--accent); outline-offset:-2px}
.item .sub{font-size:12.5px; color:var(--muted); font-weight:500}
.item .right{text-align:right; display:grid; gap:1px}
.item .per{font-size:12px; color:var(--muted); font-weight:500; white-space:nowrap}
.item.static{cursor:default}
.ico.ok{color:var(--ok); background:var(--ok-soft)}
.linkbtn{border:0; background:none; padding:2px 0; color:var(--accent); font-size:12.5px; font-weight:500; cursor:pointer}
details.done summary{cursor:pointer; font-size:13px; font-weight:500; color:var(--muted); padding:4px 2px; text-transform:uppercase; letter-spacing:.06em}
details.done .list{margin-top:8px}

/* Empty states and import */
.empty{background:var(--surface); box-shadow:var(--card-shadow); border-radius:18px; padding:20px 16px; display:grid; gap:14px}
.empty h2{font-size:17px; font-weight:500; margin:0; letter-spacing:-.02em; text-wrap:balance}
.empty p{margin:0; color:var(--muted); font-weight:500}
.import-row{display:flex; align-items:center; gap:12px; width:100%; text-align:left; padding:12px 14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink)}
.import-row .dz-ico{width:38px; height:38px; border-radius:11px; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; flex:none}
.import-row b{display:block; font-size:14.5px; font-weight:500}
.import-row small{display:block; color:var(--muted); font-size:12.5px; font-weight:500}
.import-row .chev{margin-left:auto; color:var(--muted)}
.or{display:flex; align-items:center; gap:10px; color:var(--muted); font-size:12.5px; font-weight:500}
.or::before, .or::after{content:""; flex:1; height:1px; background:var(--line)}
.presets{display:flex; flex-wrap:wrap; gap:6px}
.presets.scroll{flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:none}
.preset{display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:var(--surface); border-radius:99px; padding:6px 12px 6px 10px; font-size:13.5px; font-weight:500; white-space:nowrap}
.preset .dot{width:8px; height:8px; border-radius:50%; background:var(--cc)}
.preset[aria-pressed="true"]{border-color:var(--cc); background:var(--cs)}
.paste{display:grid; gap:8px}
.loading{color:var(--muted); padding:24px 4px; font-weight:500}

/* Bottom navigation: the four views and, in the middle, + (add or import) */
.bottom-nav{position:fixed; left:0; right:0; bottom:0; z-index:20; display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); align-items:center; padding:4px max(6px, calc((100vw - 620px) / 2)) calc(6px + env(safe-area-inset-bottom, 0px)); background:var(--surface); border-top:1px solid var(--line)}
.bottom-nav button{border:0; background:none; min-width:0; min-height:54px; padding:4px 2px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; color:var(--muted); font-size:11.5px; font-weight:500}
.bottom-nav button svg{width:24px; height:24px; stroke-width:1.8}
.bottom-nav button > span{max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:inline-flex; align-items:center; gap:3px}
.bottom-nav button.on{color:var(--accent); font-weight:600}
.bottom-nav .pro{font-size:8px; padding:0 3px; letter-spacing:.04em}
.bottom-nav .nav-add{justify-self:center; width:56px; height:56px; min-height:56px; border-radius:18px; padding:0; background:var(--accent); color:var(--accent-ink); box-shadow:0 6px 18px rgb(63 99 214 / .35); margin-top:-20px}
.bottom-nav .nav-add svg{width:26px; height:26px; stroke-width:2.1}
body.typing .bottom-nav{display:none}
body.read-only .nav-add{visibility:hidden}

/* Bottom sheets */
.scrim{position:fixed; inset:0; background:var(--scrim); z-index:30}
.sheet{position:fixed; left:0; right:0; bottom:0; z-index:31; max-width:620px; margin:0 auto; max-height:92dvh; overflow-y:auto; background:var(--surface); border-radius:22px 22px 0 0; box-shadow:var(--float); padding:10px 16px calc(20px + env(safe-area-inset-bottom, 0px))}
.grab{width:36px; height:4px; border-radius:4px; background:var(--line); margin:2px auto 12px}
.sheet-head{display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:14px}
.sheet-head h2{font-size:17px; font-weight:500; margin:0; letter-spacing:-.02em}
.x{border:0; background:var(--surface-2); width:34px; height:34px; border-radius:50%; display:grid; place-items:center}
form{display:grid; gap:14px}
.field{display:grid; gap:6px; min-width:0}
.field > span, fieldset legend{font-size:13px; font-weight:500; color:var(--muted)}
.two{display:grid; grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:12px}
input[type=text], input[type=email], input[type=password], input[type=date], input[type=time], select, textarea{width:100%; font-size:16px; font-weight:500; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); min-height:46px}
input[type=date], input[type=time]{min-width:0; display:block}
input:focus, select:focus, textarea:focus{border-color:var(--accent); outline:none; box-shadow:0 0 0 3px var(--accent-soft)}
input.filled, select.filled{border-color:var(--accent); background:var(--accent-soft)}
input.check, select.check{border-color:var(--warn-dot); background:var(--warn-soft)}
textarea{min-height:64px; resize:vertical}
fieldset{border:0; padding:0; margin:0; display:grid; gap:6px; min-width:0}
.types{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:6px}
.types label{position:relative; cursor:pointer}
.types input{position:absolute; opacity:0; inset:0}
.types span{display:grid; justify-items:center; gap:4px; padding:9px 4px; border:1px solid var(--line); border-radius:12px; font-size:12.5px; font-weight:500; text-align:center; color:var(--muted)}
.types span svg{width:20px; height:20px}
.types span svg{color:var(--cc)}
.types input:checked + span{border-color:var(--cc); background:var(--cs); color:var(--ink)}
.types input:focus-visible + span{outline:2px solid var(--accent); outline-offset:2px}
.switch-row{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 14px; border-radius:14px; border:1px solid var(--line); cursor:pointer}
.switch-row b{display:block; font-size:14.5px; font-weight:500}
.switch-row small{display:block; font-size:12.5px; color:var(--muted); font-weight:500}
.switch{appearance:none; -webkit-appearance:none; width:46px; height:28px; border-radius:99px; background:var(--line); position:relative; flex:none; margin:0; transition:background .15s; cursor:pointer}
.switch::before{content:""; position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgb(0 0 0 / .25); transition:transform .15s}
.switch:checked{background:var(--accent)}
.switch:checked::before{transform:translateX(18px)}
.calc{font-size:13px; color:var(--muted); font-weight:500; margin:-4px 0 0}
details.more summary{cursor:pointer; font-size:14px; font-weight:500; color:var(--accent); padding:2px 0; list-style:none}
details.more summary::-webkit-details-marker{display:none}
details.more summary::before{content:"+ "}
details.more[open] summary::before{content:"– "}
details.more .more-body{display:grid; gap:14px; margin-top:12px}
.form-actions{display:flex; gap:8px; justify-content:space-between; flex-wrap:wrap; align-items:center; padding-top:4px}
.form-actions .right{display:flex; gap:8px; margin-left:auto}
.err{color:var(--danger); font-size:14px; margin:0; font-weight:500}

/* Swipe, search, groups, dialog */
.swipe{position:relative; overflow:hidden; background:var(--surface)}
.swipe-front{position:relative; background:var(--surface); transition:transform .18s ease; touch-action:pan-y}
.swipe-front.drag{transition:none}
.swipe-actions{position:absolute; inset:0; display:flex; justify-content:space-between; visibility:hidden}
.swipe.dragging .swipe-actions, .swipe.open-l .swipe-actions, .swipe.open-r .swipe-actions{visibility:visible}
.swipe-actions button{border:0; width:92px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; font-size:12px; font-weight:500}
.swipe-actions .del{background:var(--danger-soft); color:var(--danger)}
.swipe-actions .arc{background:var(--info-soft); color:var(--info)}
.swipe.peek-r:not(.peek-l) .arc, .swipe.open-r .arc{visibility:hidden}
.swipe.peek-l:not(.peek-r) .del, .swipe.open-l .del{visibility:hidden}
.swipe-actions svg{width:20px; height:20px}
.toolbar{display:grid; grid-template-columns:minmax(0,1fr); gap:10px}
.search{display:flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:0 12px; color:var(--muted)}
.search input{border:0; background:transparent; min-height:42px; padding:0; box-shadow:none !important; font-size:15px; flex:1; min-width:0; width:0}
.search input:focus{outline:none; border:0}
.search:focus-within{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft)}
.chips{display:flex; gap:8px}
.chips.scroll{overflow-x:auto; scrollbar-width:none; margin-inline:-16px; padding:0 16px 2px}
.chips.scroll::-webkit-scrollbar{display:none}
.chip-btn{display:inline-flex; align-items:center; gap:7px; flex:none; min-height:40px; border:1px solid var(--line); background:var(--surface); border-radius:99px; padding:0 14px; font-size:13.5px; font-weight:500; white-space:nowrap; color:var(--ink-soft)}
.chip-btn.lens{width:40px; padding:0; justify-content:center; color:var(--ink-soft)}
.chip-btn.lens svg{width:19px; height:19px}
.chip-btn .dot{width:8px; height:8px; border-radius:50%; background:var(--cc)}
.chip-btn[aria-pressed="true"]{color:var(--ink); border-color:var(--cc, var(--accent)); background:var(--cs, var(--accent-soft))}
.search .search-x{border:0; background:none; width:38px; height:38px; margin-right:-8px; display:grid; place-items:center; color:var(--muted); flex:none}
button.group-h{width:100%; background:none; border:0; padding:6px 4px 2px 6px; text-align:left; color:inherit; align-items:center; cursor:pointer}
.group-h .title{font-size:13.5px; font-weight:600; color:var(--ink-soft); display:inline-flex; align-items:center}
.group-h .title::before{content:""; display:none; width:8px; height:8px; border-radius:50%; background:var(--line); margin-right:8px}
.group-h.is-danger .title{color:var(--danger)}
.group-h.is-warn .title{color:var(--warn)}
.group-h.is-cat .title::before{display:inline-block; background:var(--cc)}
.group-h .count{font-size:13px; color:var(--muted); margin-left:6px; font-weight:500}
.group-h .sum{margin-left:auto; font-size:13px; color:var(--muted); font-weight:500}
.group-h .chev{width:16px; height:16px; color:var(--muted); margin-left:4px; transition:transform .15s; transform:rotate(90deg)}
.group.closed .group-h .chev{transform:none}
.more-btn{width:100%; border:1px dashed var(--line); background:none; border-radius:12px; padding:10px; margin-top:8px; color:var(--accent); font-size:13.5px; font-weight:500}
.dialog-wrap{position:fixed; inset:0; z-index:60; background:var(--scrim); display:grid; place-items:center; padding:20px}
.dialog{background:var(--surface); border-radius:18px; padding:20px; max-width:360px; width:100%; display:grid; gap:10px; box-shadow:var(--float)}
.dialog h3{margin:0; font-size:16px; font-weight:500}
.dialog p{margin:0; color:var(--muted); font-size:14px; overflow-wrap:anywhere}
.dlg-actions{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:6px}
.dlg-actions .btn{min-height:46px; font-size:15px}
.btn.danger-solid{background:var(--danger); color:var(--surface); border-color:var(--danger)}
.toast{display:flex; align-items:center; gap:12px}
.toast-action{border:0; background:none; color:inherit; font-weight:500; text-decoration:underline; padding:0; font-size:14px}
.form-actions .left{display:flex; gap:4px}
input[type=search]::-webkit-search-cancel-button{display:none}

/* Statistics */
.panel{background:var(--surface); box-shadow:var(--card-shadow); border-radius:18px; padding:16px; display:grid; gap:12px}
.panel h3{margin:0; font-size:15px; font-weight:500; display:flex; align-items:center; gap:8px}
.panel .sub{font-size:12.5px; color:var(--muted); font-weight:500; margin:0}
.chart{width:100%; height:auto; display:block; overflow:visible}
.chart .grid{stroke:var(--line); stroke-width:1}
.chart .axis{fill:var(--muted); font:500 10.5px var(--font)}
.chart .budget{stroke:var(--ink); stroke-width:1.5; stroke-dasharray:4 4; opacity:.6}
.chart .b-paid{fill:var(--mark-paid)} .chart .b-due{fill:var(--mark-due)} .chart .b-plan{fill:var(--mark-due); opacity:.45}
.chart .hit{fill:transparent; cursor:default}
.chart .col-bg{fill:transparent}
.chart .col.sel .col-bg{fill:var(--surface-2)}
.chart-legend{display:flex; flex-wrap:wrap; gap:6px 14px; font-size:12px; color:var(--muted); font-weight:500}
.chart-legend span{display:inline-flex; align-items:center; gap:6px}
.chart-legend i{width:10px; height:10px; border-radius:3px; flex:none}
.chart-tip{font-size:12.5px; font-weight:500; min-height:18px; color:var(--ink)}
.mini-list{display:grid; gap:0}
.mini-list > div{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; padding:9px 0; border-top:1px solid var(--line); font-size:13.5px}
.mini-list > div:first-child{border-top:0}
.mini-list .ico{width:32px; height:32px; border-radius:10px}
.mini-list .ico svg{width:16px; height:16px}
.mini-list b{font-weight:500}
.mini-list small{display:block; color:var(--muted); font-size:12px; font-weight:500}
.delta{font-weight:500; white-space:nowrap}
.delta.up{color:var(--danger)} .delta.down{color:var(--ok)}
.pro{display:inline-block; font-size:9.5px; font-weight:500; letter-spacing:.06em; padding:1px 5px; border-radius:5px; background:var(--c-subscription-soft); color:var(--c-subscription); vertical-align:1px}
.premium-card{border:1px solid var(--line); border-radius:14px; padding:14px; display:grid; gap:10px; background:var(--surface)}
.premium-card ul{margin:0; padding:0; list-style:none; display:grid; gap:7px; font-size:13.5px; font-weight:500}
.premium-card li{display:flex; gap:8px; align-items:flex-start}
.premium-card li svg{width:16px; height:16px; margin-top:2px; color:var(--c-subscription)}
.premium-card li.soon{color:var(--muted)}
.premium-card li.soon svg{color:var(--muted)}

/* Settings */
.settings{display:grid; gap:20px}
.set-group{display:grid; gap:10px}
.set-group h3{margin:0; font-size:12px; font-weight:500; color:var(--muted); text-transform:uppercase; letter-spacing:.07em}
.about{font-size:12.5px; color:var(--muted); text-align:center; margin:0; font-weight:500}

.doc-note{border-radius:14px; border:1px solid var(--line); padding:12px 14px; display:grid; gap:8px; font-size:13.5px}
.doc-note-head{display:flex; align-items:center; gap:8px; font-weight:500; overflow-wrap:anywhere}
.doc-note ul{margin:0; padding:0; list-style:none; display:grid; gap:4px}
.doc-note li{display:flex; gap:8px; align-items:flex-start; font-weight:500}
.doc-note li svg{width:16px; height:16px; margin-top:2px}
.doc-note li.ok svg{color:var(--ok)}
.doc-note li.miss{color:var(--warn)}
.doc-note li.detail{font-weight:500; font-size:12px}
.doc-note p{margin:0; color:var(--muted); font-weight:500}

.importing{display:grid; gap:14px; justify-items:center; text-align:center; padding:26px 8px 14px}
.importing .file{font-weight:500; overflow-wrap:anywhere}
.importing .step{color:var(--muted); font-weight:500; font-size:14px}
.spinner{width:40px; height:40px; border-radius:50%; border:3px solid var(--surface-2); border-top-color:var(--accent); animation:spin 0.9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.toast{position:fixed; left:50%; bottom:calc(88px + env(safe-area-inset-bottom, 0px)); transform:translateX(-50%); z-index:70; background:var(--ink); color:var(--bg); padding:10px 16px; border-radius:12px; font-size:14px; font-weight:500; max-width:calc(100vw - 32px); text-align:center; box-shadow:var(--float)}

body.read-only .checkbtn, body.read-only [data-act="edit"], body.read-only [data-act="delete-samples"], body.read-only .import-row{display:none}

@media (prefers-reduced-motion: no-preference){
  .sheet{animation:up .2s ease-out}
  .expand{animation:fade .16s ease-out}
  @keyframes up{from{transform:translateY(24px); opacity:.6}to{transform:none; opacity:1}}
  @keyframes fade{from{opacity:.4}to{opacity:1}}
}
@media (prefers-reduced-motion: reduce){ .spinner{animation-duration:2.4s} }
@media (max-width:460px){ .types{grid-template-columns:repeat(2, minmax(0,1fr))} .types span{display:flex; justify-content:center; align-items:center; gap:8px; font-size:13px; padding:10px 6px} }
@media (max-width:360px){
  .hero-legend b{font-size:13.5px}
  .lg-label{font-size:11.5px}
  .bottom-nav button{font-size:10.5px}
}

/* ===== Welcome (first launch) ===== */
html.welcome-on, html.welcome-on body{overflow:hidden}
.welcome{position:fixed; inset:0; z-index:50; background:var(--bg); overflow-y:auto; -webkit-overflow-scrolling:touch}
.w-inner{max-width:460px; margin:0 auto; padding:calc(28px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom)); display:grid; gap:14px}
.w-brand{display:flex; justify-content:center; margin-top:8px}
.w-logo{width:60px; height:60px; border-radius:17px; display:block}
.w-title{margin:4px 0 0; font-size:24px; font-weight:500; letter-spacing:-.02em; line-height:1.2; text-align:center}
.w-sub{margin:0 0 6px; font-size:15px; color:var(--muted); text-align:center; line-height:1.45}
.w-card{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:16px; display:grid; gap:10px}
.w-card p{margin:0; font-size:14px; color:var(--muted); line-height:1.5}
.w-card-h{display:flex; align-items:center; gap:10px}
.w-card-h h3{margin:0; font-size:16.5px; font-weight:500}
.w-ico{width:36px; height:36px; border-radius:11px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent); flex:none}
.w-ico.muted{background:var(--surface-2); color:var(--muted)}
.w-tag{margin-left:auto; font-size:11.5px; font-weight:500; color:var(--accent); background:var(--accent-soft); border-radius:99px; padding:3px 9px; white-space:nowrap}
.w-wide{width:100%; min-height:48px; font-size:15px}
.w-google svg{flex:none}
.w-form{display:grid; gap:12px; margin-top:4px}
.w-back{justify-self:start; border:0; background:none; color:var(--accent); font-size:15px; font-weight:500; padding:6px 0}
.w-link{border:0; background:none; color:var(--accent); font-size:14px; font-weight:500; padding:8px; justify-self:center}
.w-error{margin:0; font-size:13.5px; font-weight:500; color:var(--mark-overdue)}
.w-foot{margin:4px 0 0; font-size:12.5px; color:var(--muted); text-align:center; line-height:1.5}

/* ===== Duely Pro ===== */
.paywall{display:grid; gap:12px}
.paywall .sub{margin:0}
.pro-list{list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:14px}
.pro-list li{display:flex; gap:8px; align-items:flex-start}
.pro-list li svg{flex:none; width:16px; height:16px; margin-top:3px; color:var(--accent)}
.premium-card .actions{margin-top:12px}
.w-foot a, .set-group .hint a{color:var(--accent); font-weight:500}
input:disabled{opacity:.55}

/* ===== Reminders editor ===== */
.rem-editor{display:grid; gap:12px}
.rem-days{display:flex; flex-wrap:wrap; gap:6px}
.rem-chip{position:relative}
.rem-chip input{position:absolute; opacity:0; pointer-events:none}
.rem-chip span{display:inline-block; padding:7px 12px; border-radius:99px; border:1px solid var(--line); background:var(--surface); font-size:13.5px; font-weight:500; color:var(--muted); cursor:pointer}
.rem-chip input:checked + span{background:var(--accent-soft); border-color:var(--accent); color:var(--accent)}
.rem-chip input:focus-visible + span{box-shadow:0 0 0 3px var(--accent-soft)}
.remind-box{gap:8px}
.remind-box #remindCustom{padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2)}
.pay-links{margin-top:4px}
.pay-links .hint{width:100%}
input[type=url]{width:100%; font-size:16px; font-weight:500; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); min-height:46px; color:inherit; font-family:inherit}

/* ===== Groups ===== */
.g-intro .actions .pro{margin-left:4px}
.g-empty{margin:0; padding-inline:2px}
.g-head{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center}
.g-title{display:grid; gap:2px; min-width:0}
.g-title h2{margin:0; font-size:19px; font-weight:500; letter-spacing:-.02em; overflow-wrap:anywhere}
.g-title .sub{font-size:12.5px; color:var(--muted); font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.g-tools{display:flex; gap:8px}
.g-actions{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:-8px}
.g-actions .btn svg, .g-intro .btn svg, .g-invite .btn svg, .g-bill-act .btn svg{width:17px; height:17px}
.g-me{margin:0; font-size:22px; font-weight:500; letter-spacing:-.02em}
.g-me.ok, .g-bal.ok, .g-pos{color:var(--ok)}
.g-me.danger, .g-bal.danger, .g-neg{color:var(--danger)}
.g-bal{font-size:13px; white-space:nowrap}
.g-people, .g-plan{display:grid; gap:0; border-top:1px solid var(--line)}
.g-people > div, .g-plan > div{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:9px 2px; border-bottom:1px solid var(--line); font-size:14px; font-weight:500}
.g-people > div:last-child, .g-plan > div:last-child{border-bottom:0}
.g-people b{font-weight:500; white-space:nowrap}
.g-plan .linkbtn{flex:none}
.g-bill + .g-bill{border-top:1px solid var(--line)}
.g-bill-act{display:flex; justify-content:flex-end; padding:0 14px 11px}
.g-bill-act .btn{min-height:34px; padding:5px 12px; font-size:13px}
.g-form{display:grid; gap:14px}
.g-code{font-size:30px; font-weight:500; letter-spacing:.14em; text-align:center; padding:16px; border-radius:14px; background:var(--accent-soft); color:var(--ink); font-variant-numeric:tabular-nums; min-height:72px; display:grid; place-items:center}
.g-code-in{text-transform:uppercase; letter-spacing:.12em}
.g-split{display:grid; gap:10px}
.g-split .seg{grid-template-columns:1fr 1fr}
.g-split-list{display:grid; border:1px solid var(--line); border-radius:12px; overflow:hidden}
.g-split-row{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:8px 12px; min-height:46px; font-size:14.5px; font-weight:500}
.g-split-row + .g-split-row{border-top:1px solid var(--line)}
.g-split-row .g-eq{color:var(--muted); font-size:13.5px; white-space:nowrap}
.g-split-row .g-amt{width:110px; min-height:38px; padding:6px 10px; text-align:right}
.g-split-list[data-mode="equal"] .g-amt{display:none}
.g-split-list[data-mode="custom"] .g-eq{display:none}
#g-split-note:empty{display:none}
#g-split-note{margin:0}
#groupSheetBody .set-group{margin-top:22px}
.g-sum{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap}
.g-big{font-size:26px; font-weight:500; letter-spacing:-.02em}
.g-sum .sub{font-size:13.5px}
.item .g-bal{font-size:12.5px; font-weight:500}
.actions .btn svg{width:17px; height:17px}
.g-proof-file{display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--line); border-radius:12px; min-width:0}
.g-proof-file img{width:46px; height:46px; object-fit:cover; border-radius:8px; flex:none}
.g-proof-file .ico{width:40px; height:40px}
.g-proof-name{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:500}
#g-proof-box > .btn{justify-self:start}
#g-proof-box .spinner{margin:8px}
.clip-ic svg{width:14px; height:14px; vertical-align:-2px}
.g-viewer{position:fixed; inset:0; z-index:80; background:rgb(0 0 0 / .9); display:grid; place-items:center; padding:16px}
.g-viewer img{max-width:100%; max-height:calc(100dvh - 32px); object-fit:contain; border-radius:8px}
.g-viewer .x{position:absolute; top:calc(12px + env(safe-area-inset-top, 0px)); right:12px; color:#14171C; background:#fff}

/* ===== Notifications and help ===== */
.top-tools{display:flex; gap:0; flex:none; margin-right:-8px}
.top-tools .iconbtn{width:44px; height:44px; border:0; background:transparent; color:var(--ink-soft)}
.top-tools .iconbtn svg{width:22px; height:22px}
.bell{position:relative}
.bell .badge{position:absolute; top:5px; right:4px; min-width:18px; height:18px; padding:0 4px; border-radius:99px; background:var(--danger); color:#fff; font-size:10.5px; font-weight:600; display:grid; place-items:center; box-shadow:0 0 0 2px var(--bg)}
.ntf-row.unread .row-title{font-weight:600}
.ntf-row .right{display:grid; justify-items:end; gap:6px}
.ntf-dot{width:9px; height:9px; border-radius:50%; background:var(--accent)}
.ico.danger-ico{color:var(--danger); background:var(--danger-soft)}
.ntf-soon h3{margin:6px 2px 10px; font-size:12px; font-weight:500; color:var(--muted); text-transform:uppercase; letter-spacing:.07em}
.help-search{display:flex}
.faq-list{display:grid; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface)}
.faq + .faq{border-top:1px solid var(--line)}
.faq summary{list-style:none; cursor:pointer; padding:13px 40px 13px 14px; font-weight:500; font-size:14.5px; position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:""; position:absolute; right:16px; top:50%; width:8px; height:8px; border-right:2px solid var(--muted); border-bottom:2px solid var(--muted); transform:translateY(-70%) rotate(45deg); transition:transform .15s}
.faq[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq p{margin:0; padding:0 14px 14px; color:var(--muted); font-size:14px; line-height:1.55; white-space:pre-line}
#helpContact a{color:var(--accent); font-weight:500}
.flash{animation:flash 2.2s ease-out}
@keyframes flash{0%, 55%{background:var(--accent-soft); box-shadow:inset 0 0 0 2px var(--accent)} 100%{background:transparent; box-shadow:none}}
@media (prefers-reduced-motion: reduce){ .flash{animation:none; outline:2px solid var(--accent)} }

/* ===== The + sheet ===== */
.add-list{display:grid; gap:2px; margin:-4px -6px 0}
.add-row{display:flex; align-items:center; gap:14px; width:100%; padding:10px 6px; border:0; border-radius:14px; background:none; text-align:left; color:var(--ink)}
.add-row:hover{background:var(--surface-2)}
.add-ico{width:46px; height:46px; border-radius:14px; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; flex:none}
.add-ico.solid{background:var(--accent); color:var(--accent-ink)}
.add-row b{display:flex; align-items:center; gap:6px; font-size:15px; font-weight:500}
.add-row small{display:block; font-size:12.5px; color:var(--muted); font-weight:500; line-height:1.4}
.add-h{margin:18px 0 10px; font-size:13.5px; font-weight:600; color:var(--ink-soft)}
#addPresets{gap:8px; margin-inline:-16px; padding:0 16px 4px}
#addPresets .preset{padding:8px 14px 8px 12px}
#startBlock[data-only="paste"] > :not(#pasteBox){display:none !important}

/* ===== A payment's card ===== */
#itemSheet .sheet-head{margin-bottom:8px}
#itemSheet .sheet-head h2{font-size:18px; font-weight:600; overflow-wrap:anywhere}
.it-head{display:flex; align-items:center; gap:12px}
.it-head .ico{width:44px; height:44px; border-radius:13px}
.it-sub{flex:1; min-width:0; font-size:13px; color:var(--muted); font-weight:500}
.it-amount{font-size:22px; font-weight:500; letter-spacing:-.02em; white-space:nowrap}
.it-status{display:flex; align-items:center; gap:8px; margin-top:14px; padding:10px 12px; border-radius:12px; font-size:13.5px; font-weight:500; background:var(--surface-2); color:var(--ink)}
.it-status svg{width:18px; height:18px}
.it-status.danger{background:var(--danger-soft); color:var(--danger)}
.it-status.warn{background:var(--warn-soft); color:var(--warn)}
.it-status.ok{background:var(--ok-soft); color:var(--ok)}
.it-status.trial{background:var(--c-subscription-soft)}
.it-note{margin-top:8px}
.it-main{display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:8px; margin-top:14px}
.it-tiles{display:grid; gap:8px; margin-top:10px}
.tile{min-height:62px; border:0; border-radius:14px; background:var(--surface-2); color:var(--ink-soft); font-size:12px; font-weight:500; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:6px 2px; min-width:0}
.tile span{max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.it-h{margin:20px 0 2px; font-size:13.5px; font-weight:600; color:var(--ink-soft)}
.it-kv{margin:0; font-size:13.5px}
.it-kv > div{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:10px 0; border-bottom:1px solid var(--line)}
.it-kv > div:last-child{border-bottom:0}
.it-kv dt{color:var(--muted); font-weight:500; flex:none}
.it-kv dd{margin:0; font-weight:500; text-align:right; overflow-wrap:anywhere; white-space:pre-line; display:flex; align-items:center; justify-content:flex-end; gap:2px; min-width:0}
.copybtn{width:36px; height:36px; margin:-9px -8px -9px 0; border:0; background:none; color:var(--accent); display:grid; place-items:center; flex:none}
.copybtn svg{width:17px; height:17px}
.it-recent{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; margin-top:8px}
.it-recent > div{padding:10px 12px; border-radius:12px; background:var(--surface-2); display:grid; min-width:0}
.it-recent small{font-size:12px; color:var(--muted); font-weight:500}
.it-recent b{font-size:14.5px; font-weight:500; white-space:nowrap}
.it-cal{margin-top:14px}
.it-body .expand{border-top:0; padding-top:14px}
.it-body .doc-pick{margin-top:8px}

/* ===== Attached document ===== */
.doc-field{gap:8px}
.doc-file{display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--line); border-radius:14px; min-width:0}
.doc-file .ico{width:40px; height:40px}
.doc-name{flex:1; min-width:0; display:grid}
.doc-name b{font-size:14px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.doc-name small{font-size:12.5px; color:var(--muted); font-weight:500}
.doc-open{all:unset; box-sizing:border-box; display:flex; align-items:center; gap:10px; flex:1; min-width:0; cursor:pointer}
.doc-open:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:8px}
.btn.doc-pick{justify-self:start}
.it-doc{margin-top:8px}
.clip-ic{display:inline-flex; color:var(--muted); margin-left:6px}
.doc-viewer{position:fixed; inset:0; z-index:80; background:#0E1014; display:flex; flex-direction:column}
.dv-bar{display:flex; align-items:center; gap:8px; padding:calc(10px + env(safe-area-inset-top, 0px)) 12px 10px 16px; color:#fff}
.dv-name{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500; font-size:14.5px}
.dv-btn{display:inline-flex; align-items:center; gap:6px; border:0; border-radius:99px; background:rgb(255 255 255 / .14); color:#fff; padding:8px 14px; min-height:40px; font-size:14px; font-weight:500}
.dv-btn svg{width:18px; height:18px}
.doc-viewer .x{background:#fff; color:#14171C; width:40px; height:40px}
.dv-body{flex:1; overflow:auto; padding:6px 12px 28px; display:grid; gap:12px; align-content:start; justify-items:center}
.dv-body img, .dv-body canvas{max-width:100%; height:auto; border-radius:6px; background:#fff}
.dv-note{color:#C9CED8; text-align:center; margin:40px 16px}

/* ===== Spending (money already spent) and categories ===== */
.mode-switch{margin-bottom:2px}
.cat-ico{width:40px; height:40px; border-radius:12px; display:grid; place-items:center; flex:none; color:var(--c); background:var(--surface-2); background:color-mix(in srgb, var(--c) 14%, transparent)}
.spent-overview{gap:10px}
.month-nav{display:flex; align-items:center; gap:8px}
.month-nav .month-label{flex:1; text-align:center; font-weight:500; font-size:15px; text-transform:capitalize}
.month-nav .iconbtn{width:36px; height:36px}
.month-nav .iconbtn[disabled]{opacity:.35}
.spent-overview .overview-big{font-size:30px; text-align:center}
.spent-overview .explain{margin:0; text-align:center; color:var(--muted); font-size:13px; font-weight:500}
.cat-bars{display:grid; gap:4px}
.cat-bar{all:unset; box-sizing:border-box; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:4px 10px; align-items:center; padding:6px 8px; border-radius:12px; cursor:pointer; font-size:13.5px; font-weight:500}
.cat-bars.static .cat-bar{cursor:default; padding:6px 0}
.cat-bar .cat-ico{width:30px; height:30px; border-radius:9px; grid-row:span 2}
.cat-bar .cat-ico .i{width:17px; height:17px}
.cat-bar .cb-label{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.cat-bar b{font-weight:500; white-space:nowrap}
.cat-bar b small{color:var(--muted); font-size:12px; margin-left:4px}
.cat-bar .track{grid-column:2 / -1; height:6px; border-radius:99px; background:var(--surface-2); overflow:hidden}
.cat-bar .track span{display:block; height:100%; border-radius:99px}
.cat-bar.on, .cat-bar:hover:not(.static .cat-bar){background:var(--surface-2)}
.cat-bar:focus-visible{outline:2px solid var(--accent); outline-offset:1px}
.spent-actions{display:grid; grid-template-columns:1fr 1fr}
.spent-actions .btn, .empty .actions .btn{justify-content:center}
.empty .actions.center{justify-content:center}
.spent-empty{text-align:center; justify-items:center}
.spent-empty .empty-ico{width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent)}
.day-group{display:grid; gap:6px}
.day-head{display:flex; justify-content:space-between; font-size:12.5px; font-weight:500; color:var(--muted); padding:4px 4px 0; text-transform:capitalize}
.filter-note{margin:0}
.spent-scanbar{display:grid; gap:6px; justify-items:center; margin-bottom:12px}
.spent-scanbar:empty{display:none}
.spent-scanbar .import-row{width:100%}
.amount-field input{font-size:24px !important; font-weight:500; min-height:54px}
.cat-grid{display:flex; flex-wrap:wrap; gap:6px}
.cat-chip{display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:99px; padding:6px 12px 6px 8px; font:inherit; font-size:13.5px; font-weight:500; cursor:pointer}
.cat-chip .i{width:17px; height:17px; color:var(--c, var(--muted))}
.cat-chip[aria-pressed="true"]{border-color:var(--c); background:var(--surface-2); background:color-mix(in srgb, var(--c) 14%, var(--surface)); box-shadow:inset 0 0 0 1px var(--c)}
.cat-chip.add{color:var(--accent); border-style:dashed}
.cat-chip.add .i{color:var(--accent)}
.cat-new{display:flex; gap:8px; margin-top:8px}
.cat-new input{flex:1; min-width:0}
.cat-new input.check{border-color:var(--danger)}
fieldset.field{border:0; padding:0; margin:0; min-width:0}
fieldset.field legend{padding:0; margin-bottom:6px; font-size:13px; font-weight:500; color:var(--muted)}

/* ===== Camera: consent, live view ===== */
.consent{position:fixed; inset:0; z-index:90; background:var(--scrim); display:grid; place-items:center; padding:16px}
.consent-card{background:var(--surface); color:var(--ink); border-radius:22px; box-shadow:var(--float); padding:22px 20px 18px; max-width:420px; width:100%; display:grid; gap:12px}
.consent-card h2{margin:0; font-size:19px; font-weight:500; letter-spacing:-.02em}
.consent-card p{margin:0; color:var(--ink-soft)}
.consent-card ul{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.consent-card li{display:grid; grid-template-columns:auto 1fr; gap:8px; font-size:14px; color:var(--ink-soft)}
.consent-card li .i{color:var(--ok); width:18px; height:18px; margin-top:2px}
.consent-card .actions{justify-content:flex-end; margin-top:4px}
.consent-ico{width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent)}
.camera{position:fixed; inset:0; z-index:95; background:#000; color:#fff; display:grid}
.camera video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.cam-frame{position:absolute; inset:calc(70px + env(safe-area-inset-top, 0px)) 22px calc(130px + env(safe-area-inset-bottom, 0px)); pointer-events:none}
.cam-frame span{position:absolute; inset:0; border-radius:18px; box-shadow:0 0 0 2px rgb(255 255 255 / .85), 0 0 0 9999px rgb(0 0 0 / .28)}
.cam-top, .cam-bottom{position:absolute; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px}
.cam-top{top:0; padding-top:calc(12px + env(safe-area-inset-top, 0px)); background:linear-gradient(rgb(0 0 0 / .5), transparent)}
.cam-bottom{bottom:0; padding-bottom:calc(22px + env(safe-area-inset-bottom, 0px)); background:linear-gradient(transparent, rgb(0 0 0 / .55))}
.cam-hint{flex:1; text-align:center; font-size:14.5px; font-weight:500; text-shadow:0 1px 3px rgb(0 0 0 / .6)}
.cam-btn{width:46px; height:46px; border-radius:50%; border:0; background:rgb(255 255 255 / .16); color:#fff; display:grid; place-items:center; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px)}
.cam-btn[aria-pressed="true"]{background:#fff; color:#000}
.cam-btn[hidden]{display:block !important; visibility:hidden}
.cam-shutter{width:76px; height:76px; border-radius:50%; border:4px solid #fff; background:transparent; padding:5px; display:grid}
.cam-shutter span{border-radius:50%; background:#fff; transition:transform .1s}
.cam-shutter:active span{transform:scale(.88)}
.cam-flash{position:absolute; inset:0; background:#fff; opacity:0; pointer-events:none; transition:opacity .2s}
.camera.flash .cam-flash{opacity:.7; transition:none}
body.cam-open{overflow:hidden}

/* ===== Web app: "Open in the app" (Android), administration ===== */
.open-app{position:sticky; top:0; z-index:25; display:flex; align-items:center; gap:10px; padding:8px 12px; background:var(--accent-soft); color:var(--ink); font-size:13.5px; font-weight:500; border-bottom:1px solid var(--line)}
.open-app .oa-ico{color:var(--accent); display:grid}
.open-app .oa-text{flex:1; min-width:0}
.open-app .btn.small{min-height:34px; padding:6px 12px; font-size:13.5px; text-decoration:none}
.open-app .x{width:32px; height:32px}
.admin-add{display:grid; gap:8px}
.admin-list .item.static{cursor:default}
.linkbtn.danger{color:var(--danger)}

/* ===== Larger screens: tablets and computers =====
   Up to a phone's width nothing changes. On wider screens the column grows; from 900px the views
   move to a side rail, sheets open as centred windows and the lists get more room. */
@media (min-width: 700px){
  .wrap{max-width:720px; padding-inline:24px}
  .sheet{max-width:640px}
  .spent-actions{grid-template-columns:auto auto; justify-content:start}
}
@media (min-width: 900px){
  body{--rail:232px}
  .wrap{max-width:860px; margin:0 auto 0 calc(var(--rail) + max(0px, (100vw - var(--rail) - 860px) / 2)); padding:20px 32px 48px}
  .bottom-nav{top:0; bottom:0; right:auto; width:var(--rail); grid-template-columns:1fr; grid-auto-rows:min-content; align-content:start; gap:4px;
    padding:84px 14px 20px; border-top:0; border-right:1px solid var(--line)}
  .bottom-nav button{flex-direction:row; justify-content:flex-start; gap:12px; min-height:46px; padding:0 14px; border-radius:12px; font-size:14.5px; order:2}
  .bottom-nav button > span{gap:6px}
  .bottom-nav button.on{background:var(--accent-soft)}
  .bottom-nav button:hover:not(.on):not(.nav-add){background:var(--surface-2); color:var(--ink)}
  .bottom-nav .pro{font-size:9px; padding:1px 4px}
  .bottom-nav .nav-add{order:1; justify-self:stretch; width:auto; height:48px; min-height:48px; margin:0 0 14px; border-radius:14px; justify-content:center; gap:8px; font-size:15px; font-weight:600}
  .bottom-nav .nav-add::after{content:attr(aria-label)}
  .bottom-nav .nav-add svg{width:22px; height:22px}
  .topbar{position:fixed; top:0; left:0; width:var(--rail); height:72px; padding:0 18px; z-index:21; box-sizing:border-box}
  .topbar .top-tools{position:fixed; left:14px; bottom:18px; width:calc(var(--rail) - 28px); justify-content:space-around; gap:8px; padding-top:14px; border-top:1px solid var(--line)}
  .open-app{margin-left:var(--rail)}
  .sheet{top:50%; bottom:auto; left:calc(50% + var(--rail) / 2); right:auto; transform:translate(-50%, -50%); width:min(640px, calc(100vw - var(--rail) - 48px)); max-height:min(86vh, 900px); border-radius:22px; padding:14px 22px 22px}
  .sheet .grab{display:none}
  .toast{bottom:28px; left:calc(50% + var(--rail) / 2)}
  .consent{padding-left:calc(16px + var(--rail))}
  .doc-viewer{left:var(--rail)}
  #viewStats, #viewGroups{display:grid; gap:14px}
}
@media (min-width: 1280px){
  body{--rail:248px}
  .wrap{max-width:1040px}
  #viewStats:not([hidden]){grid-template-columns:repeat(2, minmax(0,1fr)); align-items:start}
  #viewStats > .panel:first-child, #viewStats > .paywall, #viewStats > .empty{grid-column:1 / -1}
}
@media (hover: hover){
  .item:hover, .spent-row:hover{background:var(--surface-2)}
}
