:root{--bg:#f7f5f0;--card:#fffefa;--text:#2e332f;--muted:#7a7e75;--line:#e5e5dc;--accent:#d96540;--accent-soft:#f6e5dc;--green:#486653;--green-soft:#eaf0e7;--red:#b2443d;--shadow:0 16px 65px #333d2810;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:38px;line-height:1.16;letter-spacing:-1.5px;font-weight:550}h2{font-size:22px;letter-spacing:-.6px;font-weight:550}h3{font-size:16px;font-weight:600}em{font-family:Georgia,serif;font-weight:400}small,.fine{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:var(--muted);margin-bottom:9px}.brand{display:flex;align-items:center;font-size:23px;font-weight:650;letter-spacing:-1px;gap:8px}.brand-dot{color:var(--accent);margin-left:-8px}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;border-right:1px solid var(--line);padding:36px 26px;display:flex;flex-direction:column;background:var(--card)}.sidebar-caption{font-size:9px;letter-spacing:2px;margin:16px 0 50px;color:var(--muted)}.nav-desktop{display:grid;gap:10px}.nav-desktop a{padding:14px 16px;display:flex;align-items:center;gap:14px;border-radius:12px;color:var(--muted);font-size:14px}.nav-desktop a.active{color:var(--text);background:var(--green-soft);font-weight:600}.nav-icon{font-size:21px;width:24px;text-align:center;line-height:1}.sidebar-note{margin-top:auto;border-top:1px solid var(--line);padding-top:28px}.sidebar-note p{font-family:Georgia,serif;font-size:24px;line-height:1.3;margin:14px 0 8px}.spark{color:var(--accent);font-size:32px}main{max-width:1370px;margin-left:248px;padding:0 48px}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:35px}.desktop-greeting{font-size:12px;color:var(--muted)}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;background:transparent;color:var(--text);border-radius:50%;font-size:23px}.icon-button:hover{background:var(--green-soft)}.mobile-brand,.nav-mobile{display:none}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}.page-head p.muted{margin-top:10px;font-size:14px}.month-control{display:flex;align-items:center;border:1px solid var(--line);border-radius:25px;background:var(--card);padding:2px 4px;white-space:nowrap;font-size:13px}.month-control button{font-size:19px;width:34px;height:38px;background:transparent;color:var(--text)}.month-control input{border:0;background:none;color:var(--text);width:137px;font-size:12px;padding:7px}.overview-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.balance-card{background:var(--green);color:#fffdf5;padding:30px 32px;border-radius:20px;position:relative;overflow:hidden;min-height:246px;display:flex;flex-direction:column;justify-content:space-between}.balance-card:after{content:none}.balance-decoration{position:absolute;width:180px;height:180px;right:-30px;top:8px;color:#fff;opacity:.07;pointer-events:none}.balance-card>div{position:relative;z-index:1}.balance-card .eyebrow{color:#d6e3d1}.balance-value{font-size:52px;letter-spacing:-2.5px;line-height:1.2;font-weight:450;font-variant-numeric:tabular-nums}.balance-foot{display:flex;gap:15px;justify-content:space-between;align-items:center;border-top:1px solid #ffffff26;padding-top:18px;margin-top:22px;font-size:12px;position:relative;z-index:1}.balance-foot span{color:#d6e3d1}.pill{padding:5px 10px;border-radius:30px;background:#ffffff17;font-size:11px}.quick-panel{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mini-card{border:1px solid var(--line);background:var(--card);padding:22px;border-radius:17px}.mini-card .number{font-size:25px;letter-spacing:-.8px;margin-top:8px;font-variant-numeric:tabular-nums}.mini-card .eyebrow{letter-spacing:1px;font-size:9px}.mini-icon{float:right;font-size:16px;color:var(--green)}.quick-panel .actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:12px;padding:13px 20px;min-height:48px;font-size:13px;font-weight:600}.primary{background:var(--accent);color:white}.primary:hover{filter:brightness(.95)}.secondary{border:1px solid var(--line);background:var(--card);color:var(--text)}.danger{background:var(--red);color:white}.wide{width:100%;justify-content:space-between}.section{margin-top:30px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.section-head .text-button{font-size:12px}.text-button{background:transparent;color:var(--muted);padding:8px 0}.two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.panel{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.list-row{display:flex;align-items:center;gap:12px;min-height:74px;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.category-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-size:19px;flex-shrink:0}.category-icon.income,.category-icon.bonus,.category-icon.transfer{background:var(--green-soft);color:var(--green)}.row-body{flex:1;min-width:0}.row-body b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:550}.row-body small{font-size:11px;display:block}.row-amount{font-size:14px;font-weight:550;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.row-amount small{display:block;font-weight:400}.transaction{width:100%;text-align:left;background:transparent;padding:0;color:var(--text)}.transaction:hover .row-body b{color:var(--accent)}.positive{color:var(--green)}.negative{color:var(--red)}.category-row{margin:18px 0}.category-row .label-line{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.category-row progress{width:100%;height:5px}.category-row progress::-webkit-progress-value{background:var(--accent)}progress{appearance:none;border:0;overflow:hidden;border-radius:10px;background:var(--line)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--green);border-radius:10px}progress::-moz-progress-bar{background:var(--green)}.empty{padding:30px 12px;text-align:center}.empty .empty-mark{font-size:36px;font-family:Georgia,serif;color:var(--accent);margin-bottom:10px}.empty h3{margin-bottom:7px}.empty p{font-size:12px;color:var(--muted);max-width:240px;margin:auto}.setup-banner,.notice{padding:18px 22px;background:var(--accent-soft);border-radius:14px;margin-bottom:22px;display:flex;align-items:center;gap:16px;font-size:13px}.setup-banner div{flex:1}.setup-banner small{display:block;margin-top:3px}.setup-banner a{white-space:nowrap;font-weight:600}.notice{background:#fff0d1;color:#745421}.receipt-status{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.receipt-status p{font-size:13px}.receipt-status small{display:block}.receipt-status .actions{display:flex;gap:10px}.receipt-status button{font-size:12px}.main-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin:44px 0 24px;border-top:1px solid var(--line);padding-top:20px}.chart{width:100%;height:220px;display:block}.chart text{fill:var(--muted);font:10px -apple-system,sans-serif}.chart .gridline{stroke:var(--line);stroke-dasharray:3 4}.bar-income{fill:var(--green)}.bar-expense{fill:#d99070}.bar-saved{fill:#b8c9a5}.legend{display:flex;justify-content:center;gap:18px;font-size:11px;color:var(--muted);margin-top:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.dot.income{background:var(--green)}.dot.expense{background:#d99070}.dot.saved{background:#b8c9a5}.history-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.history-stats .mini-card .number{font-size:23px}.search{max-width:200px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--card);color:var(--text);font-size:12px}.savings-hero{padding:36px;background:var(--green-soft);border-radius:20px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px}.savings-hero .balance-value{font-size:60px;margin:13px 0 18px}.savings-art{width:100%;height:195px}.savings-art .hill1{fill:#d2ddc8}.savings-art .hill2{fill:#9eb497}.savings-art .hill3{fill:#607e61}.savings-art .sun{fill:#d99070}.savings-art .trail{stroke:#fffefa;fill:none;stroke-width:3;stroke-dasharray:4 8}.savings-art text{font:11px -apple-system,sans-serif;fill:var(--green)}.milestone progress{width:100%;height:11px;margin:15px 0}.milestone .label-line{display:flex;justify-content:space-between;gap:20px;font-size:12px}.level-badge{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-size:11px;gap:8px}.savings-note{font-size:12px;max-width:460px;margin-top:18px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-grid h2{font-size:18px;margin-bottom:8px}.settings-grid .muted{font-size:12px;margin-bottom:20px}.settings-grid .panel{height:fit-content}.settings-grid .full{grid-column:1/-1}.settings-info{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.settings-info b{display:block;font-size:13px}.settings-info small{display:block}.login-shell{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 85% 25%,#dfe7d9 0,transparent 50%),var(--bg)}.login-card{width:min(390px,100%)}.login-card>img{margin-bottom:30px;border-radius:16px}.login-card h1{font-size:60px;margin:15px 0 22px}.login-card .muted{font-size:14px;line-height:1.8}.login-card form{margin:30px 0 24px}.login-card .fine{text-align:center}label{display:block;font-size:12px;font-weight:550;margin:15px 0}label input:not([type=checkbox]),label select,label textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:12px;color:var(--text);font-size:16px;min-height:46px;display:block;margin-top:7px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green)!important;box-shadow:0 0 0 3px #48665315}textarea{resize:vertical}.optional{font-weight:400;color:var(--muted)}label .fine{display:block;font-weight:400;margin-top:6px}.field-row{display:grid;grid-template-columns:1.5fr 1fr;gap:15px}.field-row label{min-width:0}.toggle-label{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:20px}.toggle-label small{display:block;font-weight:400}.toggle-label input{appearance:none;width:43px;height:26px;border-radius:20px;background:#cbcfc5;position:relative;flex-shrink:0;cursor:pointer}.toggle-label input:before{content:'';width:20px;height:20px;background:white;border-radius:50%;position:absolute;left:3px;top:3px;transition:transform .15s}.toggle-label input:checked{background:var(--green)}.toggle-label input:checked:before{transform:translateX(17px)}dialog{border:1px solid var(--line);border-radius:23px;background:var(--bg);color:var(--text);padding:28px;width:min(480px,calc(100% - 24px));max-height:90svh;overflow:auto;box-shadow:var(--shadow)}dialog::backdrop{background:#1d28266b;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:20px}.dialog-head .eyebrow{font-size:8px}.dialog-head .icon-button{margin:-10px -10px 0 0;flex-shrink:0}.dialog-head h2{font-size:25px}.error{color:var(--red);font-size:12px;margin:12px 0;min-height:0}.actions{display:flex;gap:10px}.scan-illustration{height:170px;display:grid;place-items:center;background:var(--green-soft);border-radius:15px;margin-bottom:20px}.paper{background:var(--card);padding:15px 22px;transform:rotate(-7deg);box-shadow:0 8px 22px #3d4a2820;text-align:center;font:11px/1.8 monospace;color:var(--muted)}.paper b{color:var(--green)}#scan-dialog .muted{font-size:13px;margin-bottom:20px}.file-button{position:relative;overflow:hidden;margin-bottom:12px}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);max-width:90vw;border-radius:14px;background:var(--text);color:var(--bg);padding:14px 22px;box-shadow:var(--shadow);z-index:10;font-size:13px}#confirm-dialog h2{margin-bottom:16px}#confirm-dialog .actions{justify-content:end;margin-top:24px}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(min-width:1600px){main{margin-right:auto}}
@media(max-width:1120px){.sidebar{width:210px;padding:30px 20px}.brand{font-size:21px}main{margin-left:210px;padding:0 30px}.overview-grid,.two-col{grid-template-columns:1.2fr 1fr}.mini-card{padding:18px}.balance-card{padding:25px}.balance-value{font-size:44px}.quick-panel .actions{grid-template-columns:1fr}.primary,.secondary{padding:12px 14px}}
@media(max-width:850px){.sidebar{display:none}main{margin:0;padding:0 24px}.mobile-brand{display:flex}.desktop-greeting{display:none}.topbar{height:82px;margin-bottom:28px}.nav-mobile{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border-top:1px solid var(--line);padding:10px 10px max(12px,env(safe-area-inset-bottom));z-index:4}.nav-mobile a{display:grid;justify-items:center;gap:5px;font-size:9px;color:var(--muted);min-height:44px}.nav-mobile a.active{color:var(--green);font-weight:650}.nav-mobile .nav-icon{font-size:22px;width:45px;border-radius:9px;padding:3px}.nav-mobile a.active .nav-icon{background:var(--green-soft)}.main-footer{margin-bottom:110px}.quick-panel .actions{grid-template-columns:1fr 1fr}#toast{bottom:100px}.settings-grid{grid-template-columns:1fr}.settings-grid .full{grid-column:auto}}
@media(max-width:600px){main{padding:0 20px}.topbar{height:74px;margin-bottom:25px}.brand{font-size:21px}h1{font-size:32px}.page-head{display:block;margin-bottom:22px}.page-head .month-control{display:inline-flex;margin-top:17px}.page-head p.muted{font-size:12px}.overview-grid,.two-col{grid-template-columns:1fr;gap:16px}.balance-card{min-height:218px;padding:25px;border-radius:18px}.balance-value{font-size:48px}.quick-panel{gap:12px}.quick-panel .mini-card{padding:19px 20px}.quick-panel .actions{margin-top:1px}.mini-card .number{font-size:26px}.section{margin-top:26px}.panel{padding:20px}.two-col>.section{margin-top:10px}.two-col>.section:first-child{margin-top:26px}.main-footer{display:block;font-size:10px;margin-top:35px}.main-footer span{display:block;margin-top:4px}.history-stats{gap:8px}.history-stats .mini-card{padding:14px 10px}.history-stats .mini-card .number{font-size:18px}.history-stats .eyebrow{font-size:8px;letter-spacing:.4px}.search{max-width:140px}.savings-hero{grid-template-columns:1fr;padding:26px}.savings-hero .balance-value{font-size:48px}.savings-art{height:145px}.savings-hero{gap:8px}.savings-hero .eyebrow{font-size:9px}.setup-banner{padding:16px;align-items:start}.setup-banner a{font-size:12px}.chart{height:200px}dialog{padding:23px 20px;max-height:92svh}.login-card h1{font-size:56px}.row-amount{font-size:13px}.receipt-status{flex-wrap:wrap}.field-row{grid-template-columns:1.3fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(prefers-color-scheme:dark){:root{--bg:#1e2420;--card:#272e28;--text:#eeeede;--muted:#adb3a5;--line:#3b443b;--accent:#dc825c;--accent-soft:#44362d;--green:#aec3a1;--green-soft:#303d30;--red:#ed9e94;color-scheme:dark}.balance-card{background:#3e5e48}.balance-card .balance-value{color:#fffdf5}.login-shell{background:radial-gradient(ellipse at 85% 25%,#35402e 0,transparent 50%),var(--bg)}.primary{color:#211e18}.savings-art .hill1{fill:#3f543c}.savings-art .hill2{fill:#607458}.savings-art .hill3{fill:#869f74}.notice{background:#493f24;color:#f2d59c}}

/* Profile palettes cover every view, chart, illustration and dialog. */
.savings-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--green-soft);border-radius:20px;padding:28px}.savings-summary .balance-value{margin:8px 0 14px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card .section-head{margin-bottom:12px}.project-icon{display:grid;place-items:center;width:38px;height:38px;background:var(--accent-soft);color:var(--accent);border-radius:12px;font-size:22px}.project-card h3{font-size:21px;overflow-wrap:anywhere}.project-amount{font-size:24px;letter-spacing:-.5px;margin:14px 0}.project-amount span{font-size:12px;letter-spacing:0;color:var(--muted)}.project-card progress{display:block;width:100%;height:8px}.project-card .label-line{display:flex;justify-content:space-between;gap:12px;margin:10px 0 20px;font-size:12px}.category-icon.saving,.category-icon.deposit{background:var(--green-soft);color:var(--green)}.project-card .label-line b{color:var(--green)}
@media(max-width:600px){.savings-summary{padding:22px;display:block}.savings-summary .balance-value{font-size:40px}.savings-summary>.primary{width:100%;margin-top:20px}.projects-grid{grid-template-columns:1fr}.project-card{padding:20px}.history-stats .number{overflow-wrap:anywhere}}
:root{--bg:#f3f6fc;--card:#ffffff;--text:#1b2d48;--muted:#687b97;--line:#dfe7f3;--accent:#3769d2;--accent-soft:#e7efff;--green:#2e5eac;--green-soft:#e8effc;--brand:#315bb5;--hero:#315bb5;--hero-muted:#dbe7ff;--chart-expense:#7ea4e8;--chart-saved:#b7cff5;--hill1:#d0dff8;--hill2:#96b7e9;--hill3:#507bc0;--sun:#81afea;--focus:#3769d226}
:root[data-profile="patricia"]{--bg:#fff5f9;--card:#ffffff;--text:#4b293c;--muted:#89647a;--line:#f0dfe8;--accent:#bd437c;--accent-soft:#fce5f0;--green:#ad3e72;--green-soft:#f9e6ef;--brand:#b34178;--hero:#b34178;--hero-muted:#ffe0ef;--chart-expense:#e58eb8;--chart-saved:#f0bed6;--hill1:#f6d6e5;--hill2:#e7a5c4;--hill3:#c66595;--sun:#e597ba;--focus:#bd437c26}
.brand-mark{width:34px;height:34px;flex-shrink:0;display:block}.brand-base{fill:var(--brand)}.brand-spark{fill:var(--sun)}.login-card>.brand-mark{width:64px;height:64px;margin-bottom:30px}.mobile-brand .brand-mark{width:28px;height:28px}
.topbar-actions{display:flex;align-items:center;gap:10px}.profile-picker{display:flex;align-items:center;gap:7px;margin:0;padding:4px 7px 4px 5px;background:var(--card);border:1px solid var(--line);border-radius:24px}.profile-avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700}.profile-picker select{margin:0;padding:4px 17px 4px 2px;border:0;border-radius:10px;background:transparent;font-size:12px;min-height:30px;width:88px;color:var(--text)}.profile-picker select:disabled{opacity:.6}
.balance-card{background:var(--hero)}.balance-card .eyebrow,.balance-foot span{color:var(--hero-muted)}.primary{color:white}.login-shell{background:radial-gradient(ellipse at 85% 25%,var(--accent-soft) 0,transparent 50%),var(--bg)}
.bar-expense{fill:var(--chart-expense)}.bar-saved{fill:var(--chart-saved)}.dot.expense{background:var(--chart-expense)}.dot.saved{background:var(--chart-saved)}.savings-art .hill1{fill:var(--hill1)}.savings-art .hill2{fill:var(--hill2)}.savings-art .hill3{fill:var(--hill3)}.savings-art .sun{fill:var(--sun)}.savings-art .flag{stroke:var(--green);fill:var(--sun)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--focus)}
@media(max-width:600px){.topbar-actions{gap:3px}.topbar-actions>.icon-button{width:30px;height:38px;font-size:20px}.mobile-brand{font-size:18px;gap:6px}.profile-picker select{width:77px;font-size:12px;padding-right:6px}.profile-avatar{width:26px;height:26px}.profile-picker{gap:3px;padding:4px}.profile-picker select{min-height:30px}.desktop-greeting{max-width:160px}}
@media(prefers-color-scheme:dark){:root{--bg:#141d30;--card:#1c2940;--text:#eef3ff;--muted:#a2b4d0;--line:#304362;--accent:#4179e4;--accent-soft:#253f68;--green:#95bbff;--green-soft:#243854;--brand:#315bb5;--hero:#2c5198;--hero-muted:#dbe7ff;--chart-expense:#6b97df;--chart-saved:#456697;--hill1:#294267;--hill2:#476d9f;--hill3:#759bd0;--sun:#9abbe9}:root[data-profile="patricia"]{--bg:#281923;--card:#382432;--text:#fff0f7;--muted:#d1aac1;--line:#593c4f;--accent:#bf4b82;--accent-soft:#5a2f47;--green:#efa7c9;--green-soft:#4e2d42;--brand:#b34178;--hero:#933260;--hero-muted:#ffe0ef;--chart-expense:#d979a5;--chart-saved:#9c5377;--hill1:#5b354b;--hill2:#965574;--hill3:#c67ba0;--sun:#e8a1c1}}

.ui-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.125em}.nav-icon .ui-icon{width:22px;height:22px}.level-badge{align-items:center}.category-icon .ui-icon{width:20px;height:20px}.icon-button .ui-icon{width:21px;height:21px}

.profile-default[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent)}.profile-default[aria-pressed="true"] .ui-icon{fill:currentColor}.scan-results{list-style:none;padding:0;margin:12px 0;max-height:220px;overflow:auto}.scan-result{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.scan-result b,.scan-result small{display:block;overflow-wrap:anywhere}.scan-failed small{color:var(--red)}#scan-progress{display:block;width:100%;height:8px;margin:12px 0}#scan-status{font-size:13px;margin-top:12px}#scan-done,#scan-retry{margin-top:10px}.file-button:has(input:disabled){opacity:.55;pointer-events:none}@media(max-width:360px){.profile-avatar{display:none}.mobile-brand{font-size:17px}.mobile-brand .brand-mark{width:24px;height:24px}}
#scan-dialog.has-batch .scan-illustration,#scan-dialog.has-batch>p.muted{display:none}#scan-dialog.has-batch .scan-results{max-height:180px}

/* A monthly reserve remains part of the budget until it is spent or saved. */
.vault-row{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;text-align:left;color:inherit;background:#ffffff12;border:1px solid #ffffff30;border-radius:14px;padding:12px;margin:14px 0 20px}
.vault-row:hover{background:#ffffff20}.vault-row>.ui-icon{width:20px;height:20px}.vault-copy{flex:1;min-width:0}.vault-label{display:block;font-size:13px;font-weight:600}.vault-row small{display:block;font-size:11px;color:var(--hero-muted);font-weight:400;line-height:1.4;margin-top:3px}.vault-amount{text-align:right;font-size:16px;font-weight:600;overflow-wrap:anywhere;max-width:45%}
/* Famille is a shared spending view with a neutral surface and a status card. */
:root[data-profile="family"]{--bg:#f3f3f3;--card:#fff;--text:#292c2f;--muted:#686d72;--line:#dedfe1;--accent:#535b64;--accent-soft:#e7e9ec;--green:#535b64;--green-soft:#e7e9ec;--brand:#646b73;--hero:#23734e;--hero-muted:#e0f4e9;--chart-expense:#535b64;--chart-saved:#a9aeb4;--focus:#535b6426}
:root[data-profile="family"] .nav-mobile{grid-template-columns:repeat(3,1fr)}
.family-card{gap:18px;--hero-muted:#e0f4e9;background:#23734e;color:#fff}
.family-card[data-status="near"]{background:#a74e0b;--hero-muted:#fff0de}
.family-card[data-status="over"]{background:#a92f3b;--hero-muted:#ffe3e6}
.family-card[data-status="pending"]{background:#555d66;--hero-muted:#f0f2f5}
.family-card .balance-value{overflow-wrap:anywhere;line-height:1.1;margin-bottom:8px}
.family-limit{font-size:16px;color:var(--hero-muted)}.family-status b,.family-status span{display:block}.family-status b{font-size:15px}.family-status span{font-size:13px;color:var(--hero-muted);margin-top:4px}.family-target-link{font-size:12px;text-decoration:underline;text-underline-offset:3px;align-self:start;padding:6px 0}.family-card progress{width:100%;height:8px;background:#ffffff30}.family-card progress::-webkit-progress-bar{background:#ffffff30}.family-card progress::-webkit-progress-value{background:#fff}.family-card progress::-moz-progress-bar{background:#fff}
.family-months{margin-top:22px;max-height:320px;overflow:auto}.family-month-row{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;text-align:left;background:transparent;color:var(--text);border-top:1px solid var(--line);padding:15px 0;font-size:13px}.family-month-row>span:last-child{text-align:right}.family-month-row small{display:block;color:var(--muted);font-size:11px}.family-target-bar{fill:#b3b8be;background:#b3b8be}.family-spent-bar{fill:var(--accent);background:var(--accent)}
@media(prefers-color-scheme:dark){:root[data-profile="family"]{--bg:#1c1e21;--card:#282b2f;--text:#f1f2f4;--muted:#b0b5bc;--line:#41464d;--accent:#697583;--accent-soft:#39414b;--green:#bac6d4;--green-soft:#343c46;--brand:#646b73;--hero-muted:#e0f4e9;--chart-expense:#bac6d4;--chart-saved:#747c87}}
@media(max-width:360px){.family-card .balance-value{font-size:38px}.family-month-row{font-size:12px}}

:root[data-profile="family"] .mini-card{min-width:0}:root[data-profile="family"] .mini-card .number{overflow-wrap:anywhere}:root[data-profile="family"] .transaction .row-amount{max-width:50%;white-space:normal;overflow-wrap:anywhere}

.pending-payments>.fine{margin-bottom:10px}.payment-row{display:flex;align-items:center;gap:10px;min-height:72px;border-bottom:1px solid var(--line)}.payment-row:last-child{border:0}.payment-toggle{display:grid;place-items:center;flex:0 0 44px;min-height:44px;margin:0;cursor:pointer}.payment-check{width:22px;height:22px;margin:0;accent-color:var(--accent)}.payment-row .row-amount{max-width:42%;white-space:normal;overflow-wrap:anywhere}.payment-row small{font-size:11px}.payment-paid{opacity:.75}.payment-view{display:block;margin-left:auto;font-size:11px;padding:3px 0}

.subscription-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.subscription-summary .number{font-size:27px;overflow-wrap:anywhere}.subscription-summary small,#subscriptions-panel .number small{font-size:12px;font-weight:400;color:var(--muted)}.subscription-summary .full{flex-basis:100%}.subscription-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 15px;padding:17px 0;border-bottom:1px solid var(--line)}.subscription-row .row-body small{line-height:1.6}.subscription-row .row-amount{font-size:14px;max-width:160px;white-space:normal;overflow-wrap:anywhere}.subscription-row .actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:22px}.subscription-row .secondary{min-height:40px;padding:8px 18px}#subscriptions-panel .number{font-size:25px;overflow-wrap:anywhere}

.recurring-tabs{display:flex;gap:4px;background:var(--bg);padding:4px;border-radius:12px;margin:20px 0 16px}.recurring-tabs button{flex:1;min-width:0;min-height:44px;border-radius:9px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.recurring-tabs button[aria-selected="true"]{background:var(--accent-soft);color:var(--text)}.recurring-tabs button span{font-size:11px;padding:1px 7px;border-radius:20px;background:var(--card)}.recurring-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recurring-section .pending-payments{margin:0;padding:0;border:0;border-radius:0}.recurring-section [role="tabpanel"][hidden]{display:none}.recurring-section .subscription-row:first-child{padding-top:0}
