@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f6f7f9;--surface:#fff;--text:#1c2024;--muted:#5b6470;--border:#d5d9df;--accent:#0b6e4f;--accent-text:#fff;--danger:#b3261e;--danger-bg:#fdecea;--ok-bg:#e6f4ee;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#121417;--surface:#1b1f24;--text:#e8eaed;--muted:#9aa3ad;--border:#343b43;--accent:#3ec28f;--accent-text:#08130e;--danger:#f2b8b5;--danger-bg:#3a1c1a;--ok-bg:#16302a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.screen{place-items:center;min-height:100dvh;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:400px;padding:24px}.page{max-width:880px;margin:0 auto;padding:16px}.topbar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.brand{letter-spacing:.02em;color:var(--accent);margin:0;font-weight:700}h1{margin:4px 0 16px;font-size:1.4rem}form{gap:6px;display:grid}label{margin-top:8px;font-size:.9rem;font-weight:600}input{font:inherit;border:1px solid var(--border);background:var(--bg);color:inherit;border-radius:8px;padding:10px 12px}button{font:inherit;background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:8px;margin-top:16px;padding:10px 14px;font-weight:600}button:disabled{opacity:.6;cursor:progress}button.secondary{color:var(--text);border:1px solid var(--border);background:0 0;margin:0}button.link{color:var(--accent);background:0 0;margin:0;padding:0;text-decoration:underline}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.error{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin:12px 0 0;padding:10px 12px}.notice{background:var(--ok-bg);border-radius:8px;margin:0 0 12px;padding:10px 12px}.footer{color:var(--muted);margin:20px 0 0;font-size:.9rem}.muted{color:var(--muted)}.hint{color:var(--muted);margin:0;font-size:.85rem}h2{margin:32px 0 12px;font-size:1.1rem}.space-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.space-list li{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:2px;padding:12px 14px;display:grid}.space-name{font-weight:600}.space-header h1{margin:8px 0 4px}.tabs{border-bottom:1px solid var(--border);gap:4px;margin:16px 0;display:flex}.tabs a{color:var(--muted);border-bottom:3px solid #0000;padding:8px 14px;text-decoration:none}.tabs a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.category-list,.category-list ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.category-list ul{margin:6px 0 0;margin-inline-start:24px}.row{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.row input{flex:1}.row-actions{gap:8px;display:flex}.row-actions button{margin:0;padding:6px 10px}.add-form{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:24px;padding:16px}select{font:inherit;border:1px solid var(--border);background:var(--bg);color:inherit;border-radius:8px;padding:10px 12px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.expense-list{gap:8px;margin:24px 0 0;padding:0;list-style:none;display:grid}.expense{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.expense-main{gap:2px;min-width:0;display:grid}.expense-title{overflow-wrap:anywhere;font-weight:600}.expense-side{flex-shrink:0;align-items:center;gap:12px;display:flex}.expense-side button{margin:0;padding:6px 10px}.amount{font-variant-numeric:tabular-nums;font-weight:700}button.more{margin:16px auto 0;display:block}.month-nav{justify-content:center;align-items:center;gap:16px;margin:8px 0 16px;display:flex}.month-nav button{margin:0;padding:6px 14px}.month-label{text-align:center;min-width:11rem;font-weight:600}.month-label:first-letter{text-transform:uppercase}.stat{align-items:baseline;gap:16px;margin:8px 0 16px;display:flex}.stat strong{font-variant-numeric:tabular-nums;font-size:1.8rem}.breakdown,.breakdown ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.breakdown ul{margin:6px 0 0;gap:4px;margin-inline-start:20px}.line{justify-content:space-between;gap:12px;display:flex}.bar{background:var(--border);border-radius:3px;height:6px;margin-top:4px;display:block;overflow:hidden}.bar>span{background:var(--accent);height:100%;display:block}.year-chart{width:100%;height:auto;color:var(--muted);display:block}.year-chart rect{fill:var(--accent)}.year-chart text{fill:currentColor;text-anchor:middle;font-size:11px}details{margin-top:8px}details table{border-collapse:collapse;width:100%;margin-top:8px}details th,details td{text-align:start;border-bottom:1px solid var(--border);padding:4px 8px}.budget-list{gap:14px;margin:16px 0 0;padding:0;list-style:none;display:grid}.budget{border:1px solid var(--border);border-radius:8px;gap:6px;padding:12px;display:grid}.budget-title{font-weight:600}.budget .bar{height:10px;margin-top:0}.budget .row-actions{justify-content:flex-end;gap:8px;display:flex}.badge{border:1px solid;border-radius:999px;padding:2px 8px;font-size:.8rem}.badge-alert{color:var(--warn,#b7791f)}.badge-exceeded{color:var(--danger,#c53030)}.bar-alert>span{background:var(--warn,#b7791f)}.bar-exceeded>span{background:var(--danger,#c53030)}.add-form .split{border:1px solid var(--border);border-radius:8px;gap:6px;margin:0 0 8px;padding:8px 12px;display:grid}.add-form .check{align-items:center;gap:8px;display:flex}.add-form input[type=checkbox]{width:auto}section+section{margin-top:24px}.code-box{border:1px dashed var(--border);border-radius:8px;gap:8px;margin:12px 0;padding:12px;display:grid}.code-box code{word-break:break-all;-webkit-user-select:all;user-select:all;font-size:1.05rem}.invitation{gap:4px;display:grid}select{max-width:100%}.item{border-bottom:1px solid var(--border);gap:2px;padding:8px 0;display:grid}.bought{color:var(--muted);text-decoration:line-through}button[aria-pressed=true]{outline:2px solid var(--accent)}.expense{flex-wrap:wrap}.expense-attachments{border-top:1px solid var(--border);flex-basis:100%;padding-top:12px}.attachment-list{flex-wrap:wrap;gap:12px;margin:12px 0 0;padding:0;list-style:none;display:flex}.attachment{justify-items:start;gap:4px;max-width:100%;display:grid}.attachment .thumb{border:1px solid var(--border);background:0 0;border-radius:8px;margin:0;padding:0;line-height:0;overflow:hidden}.attachment .thumb img{object-fit:cover;width:96px;height:96px;display:block}.attachment.viewing{flex-basis:100%}.attachment.viewing .thumb img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:70vh}.attachment>button.secondary{margin:0;padding:4px 8px}.attachment .row-actions button{padding:4px 8px}.attachment-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;display:flex}.attachment-actions button{margin:0}.ticket-entry{justify-items:start;gap:8px;margin-top:16px;display:grid}.ticket-entry>button{margin:0}.ticket-entry .add-form{justify-self:stretch;margin-top:0}.warning{border:1px solid var(--border);border-inline-start:4px solid var(--accent);background:var(--bg);border-radius:8px;margin:0 0 12px;padding:10px 12px}.warning ul{margin:6px 0 0;padding-inline-start:20px}.ticket-items{margin:0 0 12px}.ticket-items ul{margin:8px 0 0;padding-inline-start:20px}.ticket-actions{flex-wrap:wrap;gap:8px;display:flex}.ticket-actions button{margin:0}.attachment.pdf{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.attachment.pdf .pdf-badge{border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:.8em;font-weight:700}.attachment.pdf>button{margin:0;padding:4px 8px}.tabs{scrollbar-width:thin;overflow-x:auto}.tabs a{white-space:nowrap;flex-shrink:0}.tabs a:focus-visible{outline-offset:-3px}.topbar{flex-wrap:wrap;gap:8px 16px}.topbar a,.topbar button{white-space:nowrap}.topbar>:last-child{margin-inline-start:auto}.row,.row-actions{flex-wrap:wrap}@media (width<=600px){.page{padding:12px}.card{padding:20px}.expense-side{flex-wrap:wrap;flex-shrink:1;min-width:0}.expense-side button,.row-actions button{padding:10px 14px}.tabs a{padding:10px 12px}.month-label{flex:1;min-width:0}.tabs{flex-wrap:wrap;overflow-x:visible}}.card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.language-select{width:auto;margin:0;padding:6px 8px}input[type=email],input[type=password]{direction:ltr}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.catalog-categories{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}.catalog-tile{text-align:center;width:100%;height:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:14px;align-content:start;justify-items:center;gap:6px;margin:0;padding:12px 8px;display:grid}button.catalog-tile:hover{border-color:var(--accent)}.tile-img{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-radius:50%;padding:8px;display:block}.tile-name{overflow-wrap:anywhere;font-weight:600;line-height:1.25}.tile-meta{color:var(--muted);font-size:.8rem;font-weight:400}.catalog-heading{margin:20px 0 0;font-size:1rem}@media (prefers-reduced-motion:no-preference){.catalog-tile{transition:border-color .15s,transform .15s}button.catalog-tile:active{transform:scale(.98)}}@media (width<=600px){.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.catalog-categories{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}}.tile-photo{aspect-ratio:1;object-fit:cover;background:var(--border);border-radius:10px;width:100%;height:auto;display:block}.page-wide{max-width:64rem}.space-shell{grid-template-columns:12.5rem minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.space-main{min-width:0}.menu-toggle{margin-block-end:.75rem;display:none}.sidebar{border-inline-end:1px solid var(--border,#d4d4d8);flex-direction:column;gap:.2rem;padding-inline-end:1rem;display:flex;position:sticky;top:1rem}.sidebar a{color:inherit;border-radius:8px;padding:.55rem .8rem;text-decoration:none;display:block}.sidebar a:hover{background:var(--border,#e4e4e7)}.sidebar a[aria-current=page]{background:var(--accent,#2563eb);color:#fff;font-weight:600}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.section-head h2{margin:0}.back-link{margin-block-end:.5rem;display:inline-block}a.button-link{background:var(--accent,#2563eb);color:#fff;border:1px solid #0000;border-radius:8px;padding:.55rem 1rem;font-weight:600;text-decoration:none;display:inline-block}a.button-link.secondary{color:inherit;border-color:var(--border,#d4d4d8);background:0 0;font-weight:400}@media (width<=720px){.space-shell{grid-template-columns:minmax(0,1fr)}.menu-toggle{display:inline-block}.sidebar{border-inline-end:0;margin-block-end:1rem;padding-inline-end:0;display:none;position:static}.sidebar.open{display:flex}}.space-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.sidebar{border-inline-end:0;gap:2px;padding-inline-end:0}.sidebar a[aria-current=page]{color:var(--accent-text)}.section-head{margin-block-end:8px}a.button-link{color:var(--accent-text)}a.button-link.secondary{color:var(--text);border-color:var(--border)}a.button-link:hover{filter:brightness(1.08)}.category-cards{grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.category-card{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-inline-start:5px solid var(--accent);height:100%;color:var(--text);border-radius:12px;flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}.category-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0000001f}.category-name{font-weight:600}.category-total{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700}.category-summary{margin:4px 0 8px}.expense{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 12px;display:grid}.expense .amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.expense-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.expense-actions>button,.expense-actions>a{margin:0;padding:6px 12px;font-size:.9rem}.expense-tickets{border-top:1px solid var(--border);grid-column:1/-1;padding-top:12px}@media (prefers-reduced-motion:reduce){.category-card{transition:none}.category-card:hover{transform:none}}.page.page-wide{max-width:none;margin:0;padding:0}.app-topbar{z-index:5;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:10px 24px;display:flex;position:sticky;top:0}.topbar-title{flex:1;align-items:baseline;gap:12px;min-width:0;display:flex}.topbar-title h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.15rem;overflow:hidden}.app-topbar .menu-toggle{margin:0}.app-body{grid-template-columns:15rem minmax(0,1fr);align-items:start;display:grid}.app-body .sidebar{box-sizing:border-box;background:var(--surface);border-inline-end:1px solid var(--border);height:calc(100vh - 57px);padding:16px 12px;position:sticky;top:57px;overflow-y:auto}.app-content{min-width:0;max-width:1200px;padding:24px 32px 56px}@media (width<=720px){.app-topbar{flex-wrap:wrap;gap:10px;padding:8px 12px}.topbar-title{flex-basis:100%;order:3}.app-body{grid-template-columns:minmax(0,1fr)}.app-body .sidebar{border-inline-end:0;border-bottom:1px solid var(--border);height:auto;display:none;position:static}.app-body .sidebar.open{display:flex}.app-content{padding:16px 12px 40px}}.back-link,.app-topbar>a{border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem .9rem;font-weight:500;text-decoration:none;transition:background .15s,box-shadow .15s;display:inline-flex}.back-link{margin-block-end:1rem}.back-link:hover,.app-topbar>a:hover{text-decoration:none;box-shadow:0 2px 8px #0000001f}.back-link:focus-visible,.app-topbar>a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-topbar{grid-template-columns:1fr auto 1fr;display:grid}.app-topbar .menu-toggle{grid-column:1;justify-self:start}.app-topbar .topbar-title{text-align:center;flex-direction:column;grid-column:2;align-items:center;gap:0}.app-topbar>:last-child{grid-column:3;justify-self:end}.app-content{max-width:none}.app-content form{max-width:48rem}.sidebar a.sidebar-home{border-bottom:1px solid var(--border);border-radius:8px 8px 0 0;margin-block-end:6px;padding-block-end:.7rem;font-weight:600}@media (width<=720px){.app-topbar{display:flex}.app-topbar .topbar-title{text-align:start;align-items:flex-start}}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block-start:12px;display:grid}.summary-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;padding:16px 20px 20px}.summary-panel header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.summary-panel h3{margin:0}.summary-panel .stat{margin:8px 0 12px;font-size:1.6rem}.donut-wrap{flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.donut{flex:none;width:10rem;height:10rem;transform:rotate(0)}.donut-track{stroke:var(--border)}.legend{flex:14rem;min-width:0;margin:0}.swatch{border-radius:3px;width:.7rem;height:.7rem;margin-inline-end:.5rem;display:inline-block}.history-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:24px;margin-block-start:12px;display:grid}.year-table td{font-variant-numeric:tabular-nums}.export-panel{border-top:1px solid var(--border);margin-block-start:32px;padding-block-start:16px}.export-fields{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;display:flex}.export-fields label{flex-direction:column;gap:4px;display:flex}@media (width<=900px){.summary-grid,.history-grid{grid-template-columns:minmax(0,1fr)}}.history-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:16px;margin-block:12px 20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;padding:14px 18px;display:flex}.stat-card strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.history-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;margin-block-start:0}.history-grid .summary-panel>header{margin-block-end:4px}.year-chart{width:100%;height:auto;margin-block:8px 12px;display:block}.year-chart .chart-grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:3 4}.year-chart .chart-hit{fill:#0000}.year-chart .chart-month{cursor:pointer}.year-chart .chart-bar{fill:var(--accent);opacity:.35;transition:opacity .15s}.year-chart .chart-month:hover .chart-bar{opacity:.65}.year-chart .chart-month.selected .chart-bar{opacity:1}.year-chart .chart-label{fill:var(--muted);text-anchor:middle;font-size:12px}.year-chart .chart-month.selected .chart-label{fill:var(--text);font-weight:700}.year-chart .chart-value{fill:var(--text);text-anchor:middle;font-size:13px;font-weight:700}.year-table{border-collapse:collapse;width:100%}.year-table th,.year-table td{border-bottom:1px solid var(--border);text-align:start;padding:9px 12px}.year-table thead th{color:var(--muted);font-size:.85rem;font-weight:600}.year-table .num{text-align:end;font-variant-numeric:tabular-nums}.year-table tbody tr.empty{color:var(--muted)}.year-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.year-table tbody tr.selected{background:color-mix(in srgb, var(--accent) 14%, transparent)}.year-table tbody tr.selected th{color:var(--text)}.month-pick{min-height:0;box-shadow:none;color:inherit;font:inherit;text-transform:capitalize;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.month-pick:hover{text-decoration:underline}.month-pick:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.year-table tfoot th,.year-table tfoot td{border-top:2px solid var(--border);border-bottom:0;font-weight:700}@media (width<=900px){.history-grid{grid-template-columns:minmax(0,1fr)}}.history-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-block-end:4px;display:grid}.history-head h2{margin:0}.history-head .history-controls{grid-column:2;justify-content:center}.history-grid .summary-panel h3{text-transform:none}.history-grid .summary-panel h3:first-letter{text-transform:uppercase}.month-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.month-item{text-align:start;width:100%;min-height:0;color:var(--text);background:var(--bg);border:1px solid var(--border);box-shadow:none;font:inherit;cursor:pointer;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:10px 14px;transition:border-color .15s,background .15s,transform .15s;display:grid}.month-item:hover{border-color:var(--accent);transform:translateY(-1px)}.month-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.month-item.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.month-item.empty{color:var(--muted);background:0 0}.month-name{font-weight:600}.month-name:first-letter{text-transform:uppercase}.month-amount{font-variant-numeric:tabular-nums;font-weight:700}.month-bar{background:var(--border);border-radius:999px;height:6px;overflow:hidden}.month-bar>span{background:var(--accent);border-radius:999px;height:100%;display:block}.month-item.empty .month-bar>span{width:0!important}.month-count{min-width:4.5rem;color:var(--muted);text-align:end;font-size:.8rem}.ticker{height:2.7rem;margin-block-start:6px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.ticker.moving .ticker-track{animation:12s linear infinite ticker-up}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-list{margin:0;padding:0;list-style:none}.ticker-item{justify-content:space-between;gap:8px;height:1.35rem;font-size:.9rem;line-height:1.35rem;display:flex}.ticker-amount{color:var(--muted);font-variant-numeric:tabular-nums}@keyframes ticker-up{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.ticker.moving .ticker-track{animation:none}.ticker{overflow-y:auto}}@media (width<=900px){.history-head{grid-template-columns:minmax(0,1fr)}.history-head .history-controls{grid-column:1;justify-content:flex-start}}.history-head .history-controls{display:contents}.history-head .month-nav{grid-column:2;justify-self:center}.history-head select{grid-column:3;justify-self:end}.history-main{flex-direction:column;gap:20px;min-width:0;display:flex}.history-main .export-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:0;padding:16px 20px 20px}.history-main .export-panel h3{margin-block-start:0}.stat-card.with-ticker{flex-direction:row;align-items:stretch;gap:16px}.stat-card-main{flex-direction:column;justify-content:center;gap:2px;min-width:6rem;display:flex}.ticker-wrap{border-inline-start:1px solid var(--border);flex:1;align-items:center;min-width:0;padding-inline-start:16px;display:flex}.ticker-wrap .ticker{flex:1;height:4.05rem;margin:0}@media (width<=900px){.history-head .month-nav,.history-head select{grid-column:1;justify-self:start}}.month-list{gap:6px}.month-item.empty{padding-block:9px}.month-item.empty .month-bar,.month-item.empty .month-count{display:none}.history-grid{align-items:stretch}.history-main>.summary-panel{flex-direction:column;flex:1;display:flex}.history-main>.summary-panel .donut-wrap{margin-block:auto;padding-block:12px}@media (width<=900px){.stat-card.with-ticker{grid-column:1/-1}}.budgets-grid{grid-template-columns:minmax(18rem,26rem) minmax(0,1fr);align-items:start;gap:20px;margin-block-start:12px;display:grid}.budget-form-card{position:sticky;top:76px}.budget-form{flex-direction:column;gap:6px;margin-block-start:8px;display:flex}.budget-form label,.budget-form legend{margin-block-start:8px;font-weight:600}.budget-form .hint{margin:0;font-size:.85rem}.budget-form button[type=submit]{margin-block-start:12px}.segmented{border:0;grid-template-columns:repeat(3,1fr);gap:6px;margin:0;padding:0;display:grid;position:relative}.segmented legend{grid-column:1/-1;margin-block-end:2px;padding:0}.segmented label{text-align:center;background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:9px 6px;font-weight:500;display:flex}.segmented label.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));font-weight:700}.segmented label:focus-within{outline:2px solid var(--accent);outline-offset:2px}.segmented input{opacity:0;pointer-events:none;position:absolute}.range-row{align-items:center;gap:12px;display:flex}.range-row input{min-height:0;accent-color:var(--accent);flex:1;padding:0}.range-row output{font-variant-numeric:tabular-nums;text-align:end;min-width:3rem;font-weight:700}.budget-cards{gap:14px;margin:0;padding:0;list-style:none;display:grid}.budget-card{--status:var(--accent);background:var(--surface);border:1px solid var(--border);border-inline-start:5px solid var(--status);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 20px;display:grid}.budget-card.status-alert{--status:var(--warn-line)}.budget-card.status-exceeded{--status:var(--danger)}.budget-ring{width:4.5rem;height:4.5rem;position:relative}.budget-ring svg{width:100%;height:100%;display:block}.ring-track{stroke:var(--border)}.ring-value{stroke:var(--status);transition:stroke-dasharray .4s}.ring-text{font-variant-numeric:tabular-nums;place-items:center;font-size:.95rem;font-weight:700;display:grid;position:absolute;inset:0}.budget-body{flex-direction:column;gap:2px;min-width:0;display:flex}.budget-body .line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.budget-title{font-size:1.05rem;font-weight:700}.budget-spent{font-variant-numeric:tabular-nums;font-weight:600}.budget-card .row-actions{flex-wrap:wrap;gap:8px;display:flex}.budget-empty{flex-direction:column;gap:6px;padding:28px 24px;display:flex}.budget-empty h3,.budget-empty>p{text-align:center;margin:0}.budget-empty h4{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:18px 0 6px;font-size:.8rem}.budget-empty-art{align-self:center;width:6.5rem;height:6.5rem;margin-block-end:8px}.art-track{stroke:var(--border)}.art-value{stroke:var(--accent)}.how-steps{gap:4px;margin:0;padding-inline-start:1.3rem;display:grid}.idea{width:100%;min-height:0;font:inherit;text-align:start;color:var(--text);background:var(--bg);border:1px solid var(--border);box-shadow:none;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;transition:border-color .15s,transform .15s;display:flex}.idea:hover{border-color:var(--accent);transform:translateY(-1px)}.idea-title{font-weight:700}@media (width<=900px){.budgets-grid{grid-template-columns:minmax(0,1fr)}.budget-form-card{position:static}.budget-card{grid-template-columns:auto minmax(0,1fr)}.budget-card .row-actions{grid-column:1/-1}}.budgets-grid.is-empty{align-items:stretch}.budgets-grid.is-empty .budget-form-card{flex-direction:column;display:flex;position:static}.budgets-grid.is-empty .budget-form{flex:1}.budgets-grid.is-empty .budget-form button[type=submit]{margin-block-start:auto}.budgets-grid.is-empty .budgets-side{flex-direction:column;display:flex}.budgets-grid.is-empty .budget-empty{flex:1}.shopping-body{gap:20px;margin-block-start:12px;display:grid}.shopping-search,.shopping-list{padding:18px 20px 20px}.shopping-search label{margin:0 0 8px;font-weight:700;display:block}.search-box svg{inset-inline-start:14px;width:20px;height:20px;color:var(--muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-box input{border-radius:12px;width:100%;padding:14px 16px;padding-inline-start:44px;font-size:1.05rem}.search-box input:focus{border-color:var(--accent)}.suggest-row{flex-wrap:wrap;align-items:center;gap:8px;margin-block-start:12px;display:flex}.chip{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:999px;margin:0;padding:6px 14px;font-weight:500;transition:border-color .15s}.chip:hover{border-color:var(--accent)}.pick-list{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pick-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 12px;padding:12px;display:grid}.pick-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.pick-name small{color:var(--muted);font-weight:400;display:block}.pick-actions{grid-column:1/-1;gap:8px;display:flex}.pick-actions button{border-radius:8px;flex:1;margin:0;padding:9px 12px;font-size:.9rem}.btn-low{color:var(--text);background:color-mix(in srgb, var(--warn-line) 16%, var(--surface));border:1px solid var(--warn-line)}.btn-need{color:var(--accent-text);background:var(--accent)}.photo{object-fit:cover;background:color-mix(in srgb, var(--accent) 8%, var(--surface));border-radius:10px;flex:none;width:56px;height:56px;display:block}.photo-large{border-radius:12px;width:64px;height:64px}.photo-small{border-radius:50%;width:32px;height:32px}.photo-fallback{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface));place-items:center;font-size:1.3rem;font-weight:700;display:grid}.photo-small.photo-fallback{font-size:.9rem}.basket-head{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.basket-head h3{margin-inline-end:auto}.basket-stats{color:var(--muted);gap:16px;margin:0;font-size:.9rem;display:flex}.basket-stats strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.1rem}.basket-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.basket-tools>button{padding:8px 14px}.view-toggle{border:1px solid var(--border);border-radius:10px;display:inline-flex;overflow:hidden}.view-toggle button{color:var(--text);background:0 0;border-radius:0;margin:0;padding:8px 14px;font-weight:500}.view-toggle button+button{border-inline-start:1px solid var(--border)}.view-toggle button[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 14%, var(--surface));outline:none;font-weight:700}.view-toggle button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.basket-groups{gap:24px;margin-block-start:16px;display:grid}.group-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin:0 0 12px;padding-block-end:10px;font-size:1rem;display:flex}.group-count{text-align:center;min-width:1.6rem;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-radius:999px;margin-inline-start:auto;padding:1px 9px;font-size:.8rem;font-weight:700}.shopping-list>.basket-grid{margin-block-start:16px}.basket-grid{grid-template-columns:repeat(auto-fill,minmax(24rem,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.basket-item{background:var(--surface);border:1px solid var(--border);border-inline-start:4px solid var(--border);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"photo body remove""photo foot foot";align-items:center;gap:10px 14px;padding:14px;transition:box-shadow .15s;display:grid}.basket-item:hover{box-shadow:0 2px 10px color-mix(in srgb, var(--text) 10%, transparent)}.basket-item.is-low{border-inline-start-color:var(--warn-line)}.basket-item .photo{grid-area:photo;align-self:start}.basket-body{flex-direction:column;grid-area:body;align-items:flex-start;gap:4px;min-width:0;display:flex}.basket-name{overflow-wrap:anywhere;font-size:1.05rem;font-weight:700}.urgency{color:var(--muted);border:1px solid var(--border);background:0 0;border-radius:999px;margin:0;padding:2px 10px;font-size:.78rem;font-weight:600}.urgency:hover:not(:disabled){border-color:var(--accent)}.is-low .urgency{color:color-mix(in srgb, var(--warn-line) 75%, var(--text));border-color:var(--warn-line)}.remove{width:30px;height:30px;color:var(--muted);grid-area:remove;align-self:start;place-items:center;margin:0;padding:0;font-size:1.1rem;line-height:1;display:grid}.remove:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.basket-foot{flex-wrap:wrap;grid-area:foot;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.qty{align-items:center;gap:6px;display:inline-flex}.qty button{width:32px;height:32px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:50%;place-items:center;margin:0;padding:0;font-size:1.1rem;line-height:1;display:grid}.qty button:disabled{opacity:.4}.qty output{text-align:center;font-variant-numeric:tabular-nums;min-width:3.4rem;font-weight:600}.done{justify-content:center;align-items:center;gap:6px;margin:0;padding:9px 16px;display:inline-flex}.basket-note{margin-block-start:18px}.basket-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:24px 12px 8px;display:flex}.basket-empty h4{margin:4px 0 0;font-size:1.15rem}.basket-empty p{max-width:34rem;color:var(--muted);margin:0}.basket-empty-art{width:7rem;height:7rem;margin-block-end:4px}.art-bg{fill:color-mix(in srgb, var(--accent) 12%, var(--surface))}.art-line{stroke:var(--accent)}.art-dot{fill:var(--accent)}.basket-steps{text-align:start;gap:6px;margin:14px 0 0;padding-inline-start:1.3rem;display:grid}.undo-toast{z-index:5;color:var(--bg);background:var(--text);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-block-start:16px;padding:12px 16px;display:flex;position:sticky;bottom:16px;box-shadow:0 8px 24px #00000040}.undo-actions{gap:8px;display:flex}.undo-toast button{color:inherit;background:0 0;border:1px solid;margin:0;padding:6px 14px}@media (width<=640px){.shopping-search,.shopping-list{padding:14px 14px 16px}.pick-list,.basket-grid{grid-template-columns:minmax(0,1fr)}.basket-foot .done{flex:1}}.search-note{margin-block-start:12px}.go-button{align-items:center;gap:8px;margin:0;padding:8px 16px;display:inline-flex}.go-panel{margin-block-start:12px;padding:18px 20px 20px}.go-head{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.go-head h3{margin-inline-end:auto}.go-hint{margin:12px 0 0}.go-groups{gap:22px;margin-block-start:16px;display:grid}.go-panel>.go-list{margin-block-start:16px}.go-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.go-item{background:var(--surface);border:1px solid var(--border);border-inline-start:6px solid var(--accent);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px 14px;padding:12px 14px;display:grid}.go-item.is-low{border-inline-start-color:var(--warn-line)}.photo-xl{border-radius:14px;width:72px;height:72px}.go-main{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.go-name{overflow-wrap:anywhere;font-size:1.2rem;font-weight:700}.go-tag{white-space:nowrap;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-radius:999px;padding:2px 12px;font-size:.82rem;font-weight:700}.is-low .go-tag{color:color-mix(in srgb, var(--warn-line) 80%, var(--text));background:color-mix(in srgb, var(--warn-line) 16%, var(--surface))}.go-qty{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;background:var(--bg);border:2px solid var(--border);border-radius:12px;min-width:4.4rem;padding:6px 12px;font-size:1.5rem;font-weight:800;line-height:1.2}.is-low .go-qty{border-color:var(--warn-line)}a.go-done{justify-content:center;align-items:center;gap:6px;min-height:46px;padding:0 18px;display:inline-flex}a.done{justify-content:center;align-items:center;gap:6px;display:inline-flex}.product-field{gap:6px;display:grid}.product-field>label{margin-top:0}.product-results{gap:6px;margin:0;padding:0;list-style:none;display:grid}.product-result{text-align:start;width:100%;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;margin:0;padding:8px 10px;font-weight:400;display:flex}.product-result:hover{border-color:var(--accent)}.product-picked{background:color-mix(in srgb, var(--accent) 8%, var(--surface));border:1px solid var(--accent);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.product-picked button{margin:0}@media (width<=640px){.go-panel{padding:14px 14px 16px}.go-item{grid-template-columns:auto minmax(0,1fr) auto}a.go-done{grid-column:1/-1}.go-button{flex:1;justify-content:center}}.app-content>.expense-page,.expense-page{width:100%!important;max-width:none!important}.expense-form{box-sizing:border-box;justify-self:stretch;margin-block-start:16px;width:100%!important;max-width:none!important}.expense-sheet{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.expense-cols{background:var(--border);grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1px;display:grid}.expense-col{background:var(--surface);align-content:start;gap:6px;min-width:0;margin:0;padding:22px 24px 24px;display:grid}.col-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;font-size:.78rem;font-weight:700}.col-title-gap{border-top:1px solid var(--border);margin-block-start:22px;padding-block-start:18px}.expense-col label{margin-top:10px}.expense-col input:not([type=checkbox]),.expense-col select{box-sizing:border-box;width:100%}.qty-row{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.qty-stepper{align-items:center;gap:8px;display:inline-flex}.qty-stepper input{text-align:center;width:6rem;font-size:1.1rem;font-weight:600}.qty-step{width:42px;height:42px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:50%;place-items:center;margin:0;padding:0;font-size:1.3rem;line-height:1;display:grid}.qty-step:disabled{opacity:.4}.unit-toggle{display:inline-flex}.money-input{position:relative}.money-input input{padding-inline-end:3rem;font-size:1.35rem;font-weight:700}.money-input span{inset-inline-end:16px;color:var(--muted);pointer-events:none;font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.field-note{margin:2px 0 0;font-size:.85rem}.each-price{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-radius:8px;margin:6px 0 0;padding:8px 12px;font-weight:600}.expense-col .split{border:0;gap:8px;margin:8px 0 0;padding:0;display:grid}.expense-col .split legend{padding:0;font-size:.9rem;font-weight:600}.expense-col .split .check{background:var(--bg);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;margin:0;padding:10px 12px;font-weight:500;display:flex}.expense-col .split .check input{width:auto;margin:0}.expense-bar{background:color-mix(in srgb, var(--accent) 6%, var(--surface));border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:16px 24px;display:flex}.bar-total{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.bar-total span{color:var(--muted);font-weight:600}.bar-total strong{font-variant-numeric:tabular-nums;font-size:2rem;line-height:1}.bar-total small{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:700}.bar-action{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-inline-start:auto;display:flex}.bar-action .error{margin:0}.bar-action button{min-width:14rem;margin:0;padding:14px 24px;font-size:1.05rem}@media (width<=640px){.expense-col{padding:18px 16px 20px}.expense-bar{padding:14px 16px}.bar-action{width:100%;margin-inline-start:0}.bar-action button{flex:1;min-width:0}}.catalog-page{max-width:none!important}.catalog-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.catalog-main{min-width:0}.catalog-main form.catalog-search{width:100%;margin-top:0;max-width:none!important}.catalog-main .catalog-search input{box-sizing:border-box;width:100%;max-width:none;padding:14px 16px;font-size:1.05rem}.catalog-request{min-width:0;position:sticky;top:16px}.catalog-request h3{margin:0 0 8px;font-size:1.1rem;line-height:1.3}.catalog-request>p{margin:0 0 16px}.catalog-request .catalog-request-form{gap:8px;width:100%;display:grid;max-width:none!important}.catalog-request .catalog-request-form input,.catalog-request .catalog-request-form select,.catalog-request .catalog-request-form textarea{box-sizing:border-box;width:100%;max-width:none}.catalog-request .catalog-request-form textarea{resize:vertical;font:inherit;border:1px solid var(--border);background:var(--bg);color:inherit;border-radius:8px;padding:10px 12px}.catalog-request .catalog-request-form .view-toggle{margin-bottom:4px}.catalog-request .catalog-request-form button[type=submit]{width:100%;margin-top:8px}.catalog-request-thanks p{margin:8px 0 0}@media (width<=900px){.catalog-layout{grid-template-columns:minmax(0,1fr)}.catalog-request{position:static}}.catalog-layout{align-items:stretch}.catalog-request{flex-direction:column;display:flex;position:static}.catalog-request .catalog-request-form{flex:1;align-content:start}.catalog-request .catalog-request-form .hint{margin:0}.catalog-request .catalog-request-form{flex-direction:column;display:flex}.catalog-request .catalog-request-form button[type=submit]{margin-top:auto}.catalog-request .catalog-request-form .error{margin-top:4px}.catalog-page>.hint{margin-top:12px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121417;--surface:#1b1f24;--text:#e8eaed;--muted:#9aa3ad;--border:#343b43;--accent:#3ec28f;--accent-text:#08130e;--danger:#f2b8b5;--danger-bg:#3a1c1a;--ok-bg:#16302a}.settings-stack{gap:16px;margin-top:20px;display:grid}.settings-stack>.settings-card{margin:0}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.settings-head{align-items:center;gap:14px;margin-block-end:8px;display:flex}.settings-head h2{margin:0;font-size:1.05rem}.settings-head p{margin:2px 0 0;font-size:.9rem}.settings-icon{background:color-mix(in srgb, var(--accent) 14%, var(--surface));width:40px;height:40px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.settings-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 0;display:flex}.settings-label{font-weight:600}.settings-card a.button-link,.settings-card button.secondary{margin:0}.theme-switch{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:4px;padding:4px;display:inline-flex}.theme-switch button{color:var(--muted);background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;margin:0;padding:7px 12px;font-weight:600;display:inline-flex}.theme-switch button[aria-pressed=true]{color:var(--text);background:color-mix(in srgb, var(--accent) 16%, var(--surface));outline:2px solid var(--accent);outline-offset:-2px}.profile{align-items:center;gap:14px;padding-block-start:8px;display:flex}.profile p{margin:0}.profile-name{font-size:1.05rem;font-weight:700}.avatar{background:var(--accent);width:48px;height:48px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;font-size:1.2rem;font-weight:700;display:grid}.archived-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.archived-list li{background:var(--bg);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.archived-list p{margin:2px 0 0;font-size:.9rem}.archived-list button{flex:none;margin:0}.settings-card form.add-form{max-width:none;margin-block-start:8px}.settings-card h3{margin-block:20px 6px;font-size:1rem}section.settings-page>h2{margin-block-end:4px}.settings-page{max-width:1180px}section.settings-page{max-width:none}.settings-cols{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin-top:20px;display:grid}.settings-col{align-content:start;gap:16px;min-width:0;display:grid}.settings-col>.settings-card{margin:0}@media (width<=900px){.settings-cols{grid-template-columns:minmax(0,1fr)}}.settings-card form.add-form{box-shadow:none;background:0 0;border:0;gap:12px;width:100%;max-width:none;margin:8px 0 0;padding:0;display:grid}.settings-card form.add-form p{margin:0}.settings-card form.add-form button[type=submit]{justify-self:start;width:auto;min-width:200px;margin:4px 0 0}.field-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px 24px;display:grid}.field{align-content:start;gap:6px;display:grid}.field label{margin:0}.field input,.field select{box-sizing:border-box;width:100%;margin:0}.settings-card h3{border-top:1px solid var(--border);margin:22px 0 6px;padding-top:18px}.settings-card h3+p{margin:0 0 12px}.settings-card .row-actions button,.settings-card>button{margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.panel-page{max-width:1040px;margin-inline:auto}.panel-bar,.settings-page .topbar{border-block-end:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-block-end:8px;padding-block:8px 20px;display:flex}.brand-link{color:inherit;border-radius:8px;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand-link .brand{letter-spacing:-.01em;margin:0;font-size:1.35rem;font-weight:800}.brand-link:focus-visible,.panel-button:focus-visible,.space-tile:focus-visible,.space-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.panel-actions select{min-height:40px;margin:0}.panel-button{background:var(--surface);min-height:40px;color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:8px;margin:0;padding:9px 14px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.panel-button:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.panel-button svg{color:var(--accent);flex:none}.panel-hero{padding-block:24px 8px}.panel-hero h1{letter-spacing:-.02em;margin:0 0 6px;font-size:2rem}.panel-hero p{margin:0}.space-tabs{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;gap:6px;margin-block:20px 16px;padding:5px;display:inline-flex}.space-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;margin:0;padding:10px 16px;font-weight:700;display:inline-flex}.space-tabs button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.space-tabs svg{flex:none}.tab-count{background:color-mix(in srgb, currentColor 18%, transparent);text-align:center;border-radius:999px;min-width:22px;padding:1px 7px;font-size:.8rem}.space-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.space-tile{box-sizing:border-box;background:var(--surface);height:100%;color:var(--text);border:1px solid var(--border);border-radius:16px;align-items:center;gap:14px;padding:18px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.space-tile:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.tile-icon{background:color-mix(in srgb, var(--accent) 14%, var(--surface));width:48px;height:48px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.tile-body{flex:1;gap:2px;min-width:0;display:grid}.tile-name{overflow-wrap:anywhere;font-size:1.1rem;font-weight:700}.tile-meta{color:var(--muted);font-size:.88rem}.tile-arrow{color:var(--muted);flex:none;display:grid}.space-tile:hover .tile-arrow{color:var(--accent)}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .tile-arrow svg{transform:scaleX(-1)}.panel-note{padding:18px 4px}.panel-empty{background:var(--surface);border:1px dashed var(--border);border-radius:16px;justify-items:start;gap:6px;margin-block-start:20px;padding:24px;display:grid}.panel-empty p{margin:0}.panel-empty a.button-link{margin-block-start:10px}.join-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;align-items:flex-start;gap:16px;margin-block-start:28px;padding:20px;display:flex}.join-body{flex:1;min-width:0}.join-body h2{margin:0 0 4px;font-size:1.1rem}.join-body p{margin:0 0 12px}.join-form{flex-wrap:wrap;gap:10px;display:flex}.join-form input{flex:260px;min-width:0;margin:0}.join-form button{margin:0}.panel-foot{border-block-start:1px solid var(--border);text-align:center;margin-block-start:36px;padding-block-start:16px}.panel-foot p{margin:0;font-size:.9rem}@media (width<=600px){.panel-hero h1{font-size:1.6rem}.space-tabs{display:flex}.space-tabs button{flex:1;justify-content:center}.join-card{flex-direction:column}}.panel-page{max-width:760px}.space-tabs{box-sizing:border-box;width:100%;margin-block:24px 16px;display:flex}.space-tabs button{flex:1;justify-content:center}.join-card{margin-block-start:16px}.panel-note{text-align:center}.app-topbar{text-align:start;justify-content:flex-start;align-items:center;gap:14px;padding-block:12px;display:flex}.app-topbar .brand-link .brand{font-size:1.25rem}.topbar-sep{background:var(--border);flex:none;width:1px;height:30px}.app-topbar .topbar-title{text-align:start;flex-flow:wrap;flex:1;align-items:center;gap:6px 12px;min-width:0;display:flex}.app-topbar .topbar-title h1{overflow-wrap:anywhere;margin:0;font-size:1.15rem;line-height:1.2}.topbar-pills{flex-wrap:wrap;gap:6px;display:inline-flex}.pill{background:color-mix(in srgb, var(--muted) 14%, var(--surface));color:var(--muted);letter-spacing:.01em;border-radius:999px;align-items:center;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.pill-accent{background:color-mix(in srgb, var(--accent) 16%, var(--surface));color:var(--accent)}.topbar-actions{align-items:center;gap:10px;margin-inline-start:auto;display:flex}.topbar-actions select{margin:0}@media (width<=600px){.topbar-sep{display:none}.app-topbar{flex-wrap:wrap}.app-topbar .topbar-title{flex-basis:100%;order:5}}.settings-col{flex-direction:column;display:flex}.settings-col>.settings-card:last-child{flex:1}.settings-card>:last-child{margin-bottom:0}.settings-card .settings-row:last-child{padding-bottom:0}.field-grid .field-wide{grid-column:1/-1}.app-topbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;display:grid}.app-topbar .brand-link{justify-self:start}.app-topbar .topbar-title{text-align:center;flex-flow:wrap;flex:none;justify-content:center;align-items:center;gap:4px 10px;min-width:0;display:flex}.app-topbar .topbar-title h1{letter-spacing:-.01em;margin:0;font-size:1.5rem}.app-topbar .topbar-actions{justify-self:end;margin-inline-start:0}@media (width<=600px){.app-topbar{grid-template-columns:auto 1fr auto}.app-topbar .topbar-title{order:5;grid-column:1/-1}.app-topbar .topbar-actions{grid-column:3}}.settings-cols{align-items:stretch}.settings-col-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:800}a.back-link,a.button-link.secondary{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:10px 14px;font-weight:600;text-decoration:none;transition:border-color .15s,background-color .15s;display:inline-flex}a.back-link:hover,a.button-link.secondary:hover{border-color:var(--accent);filter:none}a.back-link:focus-visible,a.button-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.brand-link{margin-inline:-10px;padding:4px 10px;transition:background .15s,box-shadow .15s}.brand-link .brand{transition:color .15s}.brand-link:hover,.brand-link:focus-visible{background:color-mix(in srgb, var(--accent) 14%, var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)}.brand-link:hover .brand,.brand-link:focus-visible .brand{color:var(--accent)}.brand-link:active{background:color-mix(in srgb, var(--accent) 24%, var(--surface))}.panel-button:active,.space-tile:active,.space-tabs button:active{transform:translateY(1px)}.space-tabs button{transition:background .15s,color .15s,transform .1s}.space-tabs button:not([aria-pressed=true]):hover{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text)}button.with-icon{align-items:center;gap:8px;display:inline-flex}button.with-icon svg{flex:none}.add-space{margin-block-start:14px}.text-button{color:var(--muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-self:center;margin:0;padding:8px 14px;font-weight:600;text-decoration:underline;transition:background .15s,color .15s}.text-button:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent)}.text-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.welcome{gap:14px;margin-block-start:8px;display:grid}.welcome-title{text-align:center;letter-spacing:-.01em;margin:0;font-size:1.3rem}.welcome-text{text-align:center;margin:0}.new-space-picker{gap:14px;display:grid}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.choice-grid>li{display:flex}.choice-card{box-sizing:border-box;background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;text-align:start;cursor:pointer;border-radius:16px;align-content:start;justify-items:start;gap:6px;margin:0;padding:18px;font-weight:400;text-decoration:none;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;display:grid}.choice-card .tile-icon{margin-block-end:6px}.choice-card:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface));color:var(--text);transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.choice-card:active{box-shadow:none;transform:translateY(0)}.choice-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.choice-card[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));box-shadow:0 0 0 1px var(--accent)}.choice-title{font-size:1.1rem;font-weight:700}.choice-text{color:var(--muted);font-size:.92rem;line-height:1.4}.choice-meta{color:var(--accent);overflow-wrap:anywhere;font-size:.85rem;font-weight:600}.new-space{background:var(--surface);border:1px solid var(--border);border-radius:16px;gap:14px;padding:20px;display:grid}.new-space h3{margin:0;font-size:1.1rem}.new-space .field input,.new-space .field select{box-sizing:border-box;width:100%;margin:0}.new-space .check,.new-space p{margin:0}.new-space-actions{flex-wrap:wrap;gap:10px;display:flex}.new-space-actions button{margin:0}.create-prompt{background:var(--surface);border:1px dashed var(--border);border-radius:16px;gap:16px;padding:22px;display:grid}.create-prompt-head{align-items:center;gap:16px;display:flex}.create-prompt-head p{margin:0}.create-prompt-title{font-size:1.1rem;font-weight:700}.create-prompt>button{justify-self:start;margin:0}.settings-page{--control-h:44px}.settings-page .settings-cols{align-items:start;gap:24px;margin-block-start:24px}.settings-page .settings-col{grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;align-items:start;gap:16px;min-width:0;display:grid}.settings-page .settings-col>.settings-card{align-self:start;height:auto;min-height:0;margin:0}.settings-page .settings-col-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 -6px;padding-inline:4px;font-size:.78rem;font-weight:700;line-height:1.2}.settings-page .settings-card{border-radius:14px;padding:20px 24px}.settings-page .settings-head{align-items:center;gap:14px;min-height:40px;margin:0 0 12px;display:flex}.settings-page .settings-head>div{min-width:0}.settings-page .settings-head h2{margin:0;font-size:1.05rem;line-height:1.3}.settings-page .settings-head p{margin:2px 0 0;font-size:.9rem;line-height:1.35}.settings-page .settings-icon{width:40px;height:40px}.settings-page .settings-card>:last-child{margin-block-end:0}.settings-page .settings-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:68px;padding-block:12px;display:flex}.settings-page .settings-row:last-child{min-height:56px;padding-block-end:0}.settings-page .settings-label{font-weight:600;line-height:1.35}.settings-page .settings-card :is(input:not([type=checkbox]):not([type=radio]),select){height:var(--control-h);margin:0;padding-block:0;padding-inline:12px;line-height:normal}.settings-page .settings-card select{min-width:9rem}.settings-page .settings-card :is(button,a.button-link){min-height:var(--control-h);text-align:center;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin:0;padding:0 18px;font-weight:600;line-height:1.2;text-decoration:none;transition:filter .15s,border-color .15s,background .15s;display:inline-flex}.settings-page .settings-card :is(button,a.button-link):not(.secondary):hover:not(:disabled){filter:brightness(1.08)}.settings-page .settings-card :is(button,a.button-link).secondary{border-color:var(--border)}.settings-page .settings-card :is(button,a.button-link).secondary:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.settings-page .settings-card form.add-form button[type=submit]{justify-self:start;min-width:200px;margin:4px 0 0}.settings-page .settings-card .row-actions{gap:8px}.settings-page .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-page .field-wide{grid-column:1/-1}.settings-page .field{gap:6px}.settings-page .field label{margin:0;font-size:.9rem;line-height:1.3}.settings-page .settings-card .check{cursor:pointer;align-items:center;gap:10px;min-height:28px;margin:0;font-weight:500;display:flex}.settings-page .settings-card .check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:0;padding:0}.settings-page .theme-switch{height:var(--control-h);border-radius:10px;align-items:center;gap:4px;max-width:100%;padding:4px;display:inline-flex}.settings-page .theme-switch button{white-space:nowrap;border:0;border-radius:7px;height:34px;min-height:34px;margin:0;padding:0 12px}.settings-page .profile{min-height:48px;padding-block-start:0}.settings-page .archived-list{overscroll-behavior:contain;grid-template-columns:minmax(0,1fr);gap:8px;max-height:24rem;margin:-2px;padding:2px;display:grid;overflow-y:auto}.settings-page .archived-list li{border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-width:0;min-height:68px;padding:12px 14px;display:flex}.settings-page .archived-info{flex:1;min-width:0}.settings-page .archived-list .space-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-decoration:none;display:block;overflow:hidden}.settings-page .archived-list .space-name:hover{text-decoration:underline}.settings-page .archived-list p{margin:2px 0 0;font-size:.85rem;line-height:1.35}.settings-page .archived-list button{flex:none}@media (width<=900px){.settings-page .settings-cols{gap:16px}}@media (width<=560px){.settings-page .settings-card{padding:16px}.settings-page .field-grid{grid-template-columns:minmax(0,1fr)}.settings-page .settings-card form.add-form button[type=submit]{justify-self:stretch;width:100%}.settings-page .archived-list li{flex-wrap:wrap}.settings-page .archived-list button{width:100%}}@media (width<=400px){.settings-page .theme-switch button svg{display:none}}:root{--bg:#f6f1e9;--surface:#fffdf9;--surface-2:#faf5ec;--text:#2b2420;--muted:#6a5d52;--border:#e2d9cb;--border-strong:#cfc3b0;--accent:#6b3a94;--accent-hover:#5a2f7f;--accent-text:#fff;--accent-soft:#efe6f6;--danger:#b3261e;--danger-bg:#fbe9e6;--ok:#2c7549;--ok-bg:#e8f3ea;--warn:#8f5206;--warn-line:#c26a05;--info:#2a5fa8;--shadow-1:0 1px 2px #2b24200f;--shadow-2:0 2px 4px #2b24200d, 0 8px 24px #2b242017;--shadow-3:0 12px 40px #2b24202e;--chart-1:#6b3a94;--chart-2:#c77d0a;--chart-3:#1f8a7d;--chart-4:#c2456b;--chart-5:#3b6fc4;--chart-6:#7a8f2a;--chart-7:#d9622b;--chart-8:#5d6b7a;--chart-9:#2c9bbf;--chart-10:#8a6240;--r-sm:8px;--r-md:12px;--r-lg:16px;--ease:cubic-bezier(.2, .8, .2, 1);--dur:.18s;accent-color:var(--accent);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a1512;--surface:#241d19;--surface-2:#2c2420;--text:#f1e9df;--muted:#b8ab9d;--border:#3a3029;--border-strong:#4d4036;--accent:#c9a8ee;--accent-hover:#d8bff5;--accent-text:#1f1229;--accent-soft:#33283d;--danger:#f4a7a1;--danger-bg:#3d1f1c;--ok:#7fd1a0;--ok-bg:#1c3025;--warn:#e5b25d;--warn-line:#f0a53a;--info:#8fb6ec;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 4px #0000004d, 0 8px 24px #00000059;--shadow-3:0 12px 40px #0009;--chart-1:#c9a8ee;--chart-2:#f0b44c;--chart-3:#4fc9b8;--chart-4:#f27fa0;--chart-5:#7fa8f0;--chart-6:#b5cc5a;--chart-7:#f59a6a;--chart-8:#a0adbb;--chart-9:#62c0e0;--chart-10:#c9a07a}}:root[data-theme=dark]{--bg:#1a1512;--surface:#241d19;--surface-2:#2c2420;--text:#f1e9df;--muted:#b8ab9d;--border:#3a3029;--border-strong:#4d4036;--accent:#c9a8ee;--accent-hover:#d8bff5;--accent-text:#1f1229;--accent-soft:#33283d;--danger:#f4a7a1;--danger-bg:#3d1f1c;--ok:#7fd1a0;--ok-bg:#1c3025;--warn:#e5b25d;--warn-line:#f0a53a;--info:#8fb6ec;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 4px #0000004d, 0 8px 24px #00000059;--shadow-3:0 12px 40px #0009;--chart-1:#c9a8ee;--chart-2:#f0b44c;--chart-3:#4fc9b8;--chart-4:#f27fa0;--chart-5:#7fa8f0;--chart-6:#b5cc5a;--chart-7:#f59a6a;--chart-8:#a0adbb;--chart-9:#62c0e0;--chart-10:#c9a07a}::selection{background:color-mix(in srgb, var(--accent) 30%, transparent)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}input,select,textarea{background:var(--surface-2)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent)}input::placeholder{color:color-mix(in srgb, var(--muted) 75%, transparent)}.card,.settings-card{border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.category-card,.expense,.budget,.space-tile,.choice-card{box-shadow:var(--shadow-1)}.category-card:hover,.space-tile:hover,.choice-card:hover{box-shadow:var(--shadow-2)}.undo-toast{box-shadow:var(--shadow-3)}body,.card,.settings-card,.app-topbar,.sidebar,input,select{transition:background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease)}.app-topbar{background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px)}.app-body .sidebar a{color:var(--muted);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:10px;font-weight:600;position:relative}.app-body .sidebar a:hover{background:var(--accent-soft);color:var(--text)}.app-body .sidebar a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:700}.app-body .sidebar a[aria-current=page]:before{content:"";background:var(--accent);border-radius:3px;width:3px;position:absolute;inset-block:9px;inset-inline-start:0}.app-body .sidebar a.sidebar-home{border-bottom-color:var(--border);border-radius:10px}.badge-ok{color:var(--ok)}.notice{background:var(--ok-bg);border:1px solid color-mix(in srgb, var(--ok) 25%, transparent)}.error{border:1px solid color-mix(in srgb, var(--danger) 25%, transparent)}button:active:not(:disabled),a.button-link:active{transform:translateY(1px)scale(.985)}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--border) 25%, var(--surface-2) 50%, var(--border) 75%);background-size:200% 100%;display:block}.donut circle{transition:stroke-width .2s var(--ease)}.donut circle:not(.donut-track):hover{stroke-width:7.5px}.year-chart .chart-bar{transition:opacity .15s,filter .15s}.year-chart .chart-month:hover .chart-bar{filter:saturate(1.15)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}@keyframes tc-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes tc-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes tc-bar{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes tc-spin-in{0%{opacity:0;transform:rotate(-110deg)scale(.8)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes tc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.app-content>*,.panel-page>*,.settings-page>*,.screen>.card{animation:tc-rise .38s var(--ease) backwards}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>*{animation:tc-rise .4s var(--ease) backwards}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(2){animation-delay:70ms}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(3){animation-delay:.105s}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(4){animation-delay:.14s}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(5){animation-delay:.175s}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(6){animation-delay:.21s}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(7){animation-delay:.245s}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(8){animation-delay:.28s}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(9){animation-delay:.315s}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(10){animation-delay:.35s}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(11){animation-delay:.385s}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(12){animation-delay:.42s}.bar>span{transform-origin:0;animation:tc-grow .8s var(--ease) .1s backwards}.bar>span:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){transform-origin:100%}.donut{animation:tc-spin-in .9s var(--ease) backwards}.year-chart .chart-bar{transform-box:fill-box;transform-origin:50% 100%;animation:tc-bar .6s var(--ease) backwards}.year-chart .chart-month:nth-of-type(2) .chart-bar{animation-delay:40ms}.year-chart .chart-month:nth-of-type(3) .chart-bar{animation-delay:80ms}.year-chart .chart-month:nth-of-type(4) .chart-bar{animation-delay:.12s}.year-chart .chart-month:nth-of-type(5) .chart-bar{animation-delay:.16s}.year-chart .chart-month:nth-of-type(6) .chart-bar{animation-delay:.2s}.year-chart .chart-month:nth-of-type(7) .chart-bar{animation-delay:.24s}.year-chart .chart-month:nth-of-type(8) .chart-bar{animation-delay:.28s}.year-chart .chart-month:nth-of-type(9) .chart-bar{animation-delay:.32s}.year-chart .chart-month:nth-of-type(10) .chart-bar{animation-delay:.36s}.year-chart .chart-month:nth-of-type(11) .chart-bar{animation-delay:.4s}.year-chart .chart-month:nth-of-type(12) .chart-bar{animation-delay:.44s}.skeleton{animation:1.6s linear infinite tc-shimmer}}.sidebar a,.sidebar-home{align-items:center;gap:10px;display:flex}.nav-icon{flex:none}.sidebar-more,.sheet-backdrop{display:none}.topbar-actions{align-items:center;gap:10px;display:flex}.cmd-trigger{min-height:40px;color:var(--muted);align-items:center;gap:8px;margin:0;padding:8px 12px;font-weight:600;display:inline-flex}.cmd-trigger:hover{color:var(--text);border-color:var(--accent)}.cmd-trigger kbd{font:inherit;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:3px 6px;font-size:.72rem;line-height:1}.palette-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#140c1c80;place-items:start center;padding:12vh 16px 16px;display:grid;position:fixed;inset:0}.palette{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(640px,100%);max-height:min(70dvh,560px);box-shadow:var(--shadow-3);grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.palette-input{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;margin:0;padding:16px 18px;font-size:1.05rem}.palette-input:focus-visible{box-shadow:inset 0 -2px 0 var(--accent);outline:none}.palette-list{margin:0;padding:8px;list-style:none;overflow-y:auto}.palette-option{color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.palette-option[aria-selected=true]{color:var(--accent);background:var(--accent-soft)}.palette-tag{color:var(--muted);margin-inline-start:auto;font-size:.75rem}.palette-empty,.palette-hint{color:var(--muted);margin:0;padding:12px 18px;font-size:.85rem}.palette-hint{background:var(--surface-2);border-top:1px solid var(--border)}@media (prefers-reduced-motion:no-preference){@keyframes tc-fade{0%{opacity:0}to{opacity:1}}@keyframes tc-pop{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}@keyframes tc-sheet{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.palette-backdrop{animation:.15s ease-out tc-fade}.palette{animation:tc-pop .2s var(--ease)}.app-body .sidebar.open{animation:tc-sheet .25s var(--ease)}}@media (width<=720px){.app-topbar .menu-toggle,.cmd-trigger .cmd-label,.cmd-trigger kbd{display:none}.cmd-trigger{padding:8px 10px}.app-content{padding-block-end:calc(96px + env(safe-area-inset-bottom))}.undo-toast{bottom:calc(80px + env(safe-area-inset-bottom))}.sheet-backdrop{z-index:25;background:#140c1c73;display:block;position:fixed;inset:0}.app-body .sidebar{z-index:30;height:auto;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);border-bottom:0;flex-direction:row;justify-content:space-around;align-items:stretch;gap:2px;display:flex;position:fixed;inset-block:auto 0;inset-inline:0;overflow:visible;box-shadow:0 -4px 20px #00000012}.app-body .sidebar a,.app-body .sidebar .sidebar-more{display:none}.app-body .sidebar a.nav-main,.app-body .sidebar .sidebar-more{text-align:center;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:54px;margin:0;padding:6px 4px;font-size:.72rem;font-weight:600;line-height:1.15;display:flex}.app-body .sidebar .sidebar-more{color:var(--muted);background:0 0;border:0}.app-body .sidebar a[aria-current=page]:before{border-radius:0 0 3px 3px;width:auto;height:3px;inset-block:0 auto;inset-inline:28%}.app-body .sidebar a.sidebar-home{border-bottom:0;margin:0;padding:6px 4px}.app-body .sidebar.open{max-height:80dvh;padding:18px 14px calc(14px + env(safe-area-inset-bottom));box-shadow:var(--shadow-3);border-radius:22px 22px 0 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;overflow-y:auto}.app-body .sidebar.open a,.app-body .sidebar.open .sidebar-more{text-align:center;background:var(--surface-2);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:76px;padding:10px 6px;font-size:.82rem;font-weight:600;display:flex}.app-body .sidebar.open a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.app-body .sidebar.open a[aria-current=page]:before{display:none}.app-body .sidebar.open a.sidebar-home{margin:0;padding:10px 6px}}.category-card{border-inline-start:1px solid var(--border)!important}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(900px 520px at 88% -8%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 62%), radial-gradient(760px 460px at -6% 104%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%);position:fixed;inset:0}@property --glow{syntax:"<number>";inherits:false;initial-value:0}@media (hover:hover) and (pointer:fine){.category-card,.expense,.space-tile,.choice-card,.settings-card,.budget,.basket-item,.month-item{background-image:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) calc(var(--glow) * 15%), transparent), transparent 72%);transition-property:--glow,transform,box-shadow,border-color,background-color;transition-duration:.3s,.2s,.2s,.2s,.2s;transition-timing-function:var(--ease)}.category-card:hover,.expense:hover,.space-tile:hover,.choice-card:hover,.settings-card:hover,.budget:hover,.basket-item:hover,.month-item:hover{--glow:1;border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.expense:hover,.budget:hover,.basket-item:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}}:is(.donut-wrap:has(.legend>li:hover) .donut circle:not(.donut-track),.donut-wrap:has(.donut circle:not(.donut-track):hover) .donut circle:not(.donut-track)){opacity:.3}.legend>li{border-radius:8px;transition:background-color .15s}.legend>li:hover{background:var(--accent-soft)}:is(.donut-wrap:has(.legend>li:first-child:hover) .donut circle:nth-of-type(2),.donut-wrap:has(.donut circle:nth-of-type(2):hover) .donut circle:nth-of-type(2)),:is(.donut-wrap:has(.legend>li:nth-child(2):hover) .donut circle:nth-of-type(3),.donut-wrap:has(.donut circle:nth-of-type(3):hover) .donut circle:nth-of-type(3)),:is(.donut-wrap:has(.legend>li:nth-child(3):hover) .donut circle:nth-of-type(4),.donut-wrap:has(.donut circle:nth-of-type(4):hover) .donut circle:nth-of-type(4)),:is(.donut-wrap:has(.legend>li:nth-child(4):hover) .donut circle:nth-of-type(5),.donut-wrap:has(.donut circle:nth-of-type(5):hover) .donut circle:nth-of-type(5)),:is(.donut-wrap:has(.legend>li:nth-child(5):hover) .donut circle:nth-of-type(6),.donut-wrap:has(.donut circle:nth-of-type(6):hover) .donut circle:nth-of-type(6)),:is(.donut-wrap:has(.legend>li:nth-child(6):hover) .donut circle:nth-of-type(7),.donut-wrap:has(.donut circle:nth-of-type(7):hover) .donut circle:nth-of-type(7)),:is(.donut-wrap:has(.legend>li:nth-child(7):hover) .donut circle:nth-of-type(8),.donut-wrap:has(.donut circle:nth-of-type(8):hover) .donut circle:nth-of-type(8)),:is(.donut-wrap:has(.legend>li:nth-child(8):hover) .donut circle:nth-of-type(9),.donut-wrap:has(.donut circle:nth-of-type(9):hover) .donut circle:nth-of-type(9)),:is(.donut-wrap:has(.legend>li:nth-child(9):hover) .donut circle:nth-of-type(10),.donut-wrap:has(.donut circle:nth-of-type(10):hover) .donut circle:nth-of-type(10)),:is(.donut-wrap:has(.legend>li:nth-child(10):hover) .donut circle:nth-of-type(11),.donut-wrap:has(.donut circle:nth-of-type(11):hover) .donut circle:nth-of-type(11)){opacity:1;stroke-width:7.5px}:is(.donut-wrap:has(.legend>li:hover) .donut circle,.donut-wrap:has(.donut circle:hover) .donut circle){transition:opacity .2s,stroke-width .2s}.donut-wrap:has(.donut circle:nth-of-type(2):hover) .legend>li:first-child{background:var(--accent-soft)}.donut-wrap:has(.donut circle:nth-of-type(3):hover) .legend>li:nth-child(2){background:var(--accent-soft)}.donut-wrap:has(.donut circle:nth-of-type(4):hover) .legend>li:nth-child(3){background:var(--accent-soft)}.donut-wrap:has(.donut circle:nth-of-type(5):hover) .legend>li:nth-child(4){background:var(--accent-soft)}.donut-wrap:has(.donut circle:nth-of-type(6):hover) .legend>li:nth-child(5){background:var(--accent-soft)}.donut-wrap:has(.donut circle:nth-of-type(7):hover) .legend>li:nth-child(6){background:var(--accent-soft)}.donut-wrap:has(.donut circle:nth-of-type(8):hover) .legend>li:nth-child(7){background:var(--accent-soft)}.donut-wrap:has(.donut circle:nth-of-type(9):hover) .legend>li:nth-child(8){background:var(--accent-soft)}.donut-wrap:has(.donut circle:nth-of-type(10):hover) .legend>li:nth-child(9){background:var(--accent-soft)}.donut-wrap:has(.donut circle:nth-of-type(11):hover) .legend>li:nth-child(10){background:var(--accent-soft)}@media (prefers-reduced-motion:no-preference){.app-body .sidebar a[aria-current=page]{view-transition-name:nav-pill}.app-content{view-transition-name:page}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-group(nav-pill){animation-duration:.35s;animation-timing-function:var(--ease)}::view-transition-old(page){animation:.14s ease-in both tc-out}::view-transition-new(page){animation:tc-in .34s var(--ease) both}@keyframes tc-out{to{opacity:0;transform:translateY(-6px)}}@keyframes tc-in{0%{opacity:0;transform:translateY(14px)}}body:before{animation:32s ease-in-out infinite alternate tc-drift}@keyframes tc-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(-2%,3%)scale(1.08)}}}.expense-stats{flex-wrap:wrap;align-items:center;gap:14px 20px;margin-block:16px 4px;display:flex}.stat-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 13%, var(--surface)), var(--surface) 70%);border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));border-radius:var(--r-lg);min-width:min(100%,16rem);box-shadow:var(--shadow-1);gap:2px;padding:16px 22px;display:grid}.stat-label{color:var(--muted);font-size:.85rem;font-weight:600}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(1.7rem,4vw,2.2rem);font-weight:800;line-height:1.15}.money-counter>span:last-child{color:var(--muted);font-size:.6em;font-weight:700}.stat-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stat-chips li{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:700}.expense-tools{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-block:16px 4px;display:flex}.search-field{flex:16rem;max-width:26rem;margin:0;display:block;position:relative}.search-field .nav-icon{color:var(--muted);pointer-events:none;margin-block:auto;position:absolute;inset-block:0;inset-inline-start:12px}.search-field input{border-radius:999px;width:100%;margin:0;padding-inline-start:40px}.expense-tools .view-toggle{margin:0}.category-card .category-share{background:var(--border);border-radius:3px;height:6px;margin-block-start:auto;display:block;overflow:hidden}.category-card .category-share>span{background:var(--accent);border-radius:3px;height:100%;display:block}.category-card{gap:4px}.category-card .category-total{margin-block:2px 10px}.category-card .category-pct{color:var(--accent);font-variant-numeric:tabular-nums;align-self:flex-end;margin-block-start:-2px;font-size:.78rem;font-weight:700}.skeleton-cards{margin-block-start:8px}.skeleton-card{border-radius:12px;height:7.2rem}.empty-state{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--r-lg);justify-items:center;gap:10px;margin-block-start:24px;padding:44px 16px;display:grid}.empty-state .nav-icon{box-sizing:content-box;width:44px;height:44px;color:var(--accent);background:var(--accent-soft);border-radius:50%;padding:10px}.empty-state p{max-width:30rem;margin:0}@media (prefers-reduced-motion:no-preference){.category-card .category-share>span{transform-origin:0;animation:tc-grow .9s var(--ease) .2s backwards}.category-card .category-share>span:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){transform-origin:100%}.stat-hero,.stat-chips li{animation:tc-rise .45s var(--ease) backwards}.stat-chips li:nth-child(2){animation-delay:70ms}.stat-chips li:nth-child(3){animation-delay:.14s}}.expense-stats{display:block}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:14px;margin:16px 0 4px;padding:0;list-style:none;display:grid}.stat-card{--tone:14%;background:linear-gradient(135deg, color-mix(in srgb, var(--accent) var(--tone), var(--surface)), var(--surface) 78%);border:1px solid color-mix(in srgb, var(--accent) calc(var(--tone) * 1.6), var(--border));border-radius:var(--r-lg);min-width:0;box-shadow:var(--shadow-1);align-content:center;gap:2px;padding:14px 20px;display:grid}.stat-card:nth-child(2){--tone:10%}.stat-card:nth-child(3){--tone:6.5%}.stat-card:nth-child(4){--tone:3%}.stat-card .stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800;line-height:1.2}.stat-hero{min-width:0;padding:16px 22px}@media (width>=900px){.stat-cards{grid-template-columns:1.5fr repeat(3,1fr)}}.sort-control{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.sort-label{color:var(--muted);font-size:.9rem;font-weight:600}@media (prefers-reduced-motion:no-preference){.stat-card{animation:tc-rise .45s var(--ease) backwards}.stat-card:nth-child(2){animation-delay:70ms}.stat-card:nth-child(3){animation-delay:.14s}.stat-card:nth-child(4){animation-delay:.21s}}.stat-frame{grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:12px;display:grid}.stat-frame>.stat-cards{grid-column:1/-1;gap:10px;margin-block-start:16px}.stat-card{padding:12px 16px}.stat-hero{padding:14px 18px}.stat-card .stat-value{font-size:1.45rem}.stat-hero .stat-value{font-size:clamp(1.6rem,3.4vw,2rem)}@media (width>=1000px){.stat-frame>.stat-cards{grid-column:span 3;grid-template-columns:1.45fr repeat(3,1fr)}}.ticket-entry.ticket-picker{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, var(--surface)), var(--surface) 70%);border:1px dashed color-mix(in srgb, var(--accent) 40%, var(--border));border-radius:var(--r-lg);transition:border-color var(--dur,.2s) var(--ease), box-shadow var(--dur,.2s) var(--ease);justify-items:stretch;gap:14px;margin-top:16px;padding:20px 22px}.ticket-picker.dragging{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.ticket-intro{text-wrap:balance;margin:0;font-size:1.05rem;font-weight:600}.ticket-options{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:12px;display:grid}.ticket-picker .ticket-option{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1);cursor:pointer;transition:transform var(--dur,.2s) var(--ease), border-color var(--dur,.2s) var(--ease), box-shadow var(--dur,.2s) var(--ease);align-content:center;justify-items:center;gap:10px;margin:0;padding:18px 12px;font-weight:700;display:grid}.ticket-picker .ticket-option:hover:not(:disabled){color:var(--text);background:var(--surface);border-color:var(--accent);box-shadow:var(--shadow-2);transform:translateY(-2px)}.ticket-picker .ticket-option:active:not(:disabled){transform:translateY(0)}.ticket-picker .ticket-option:disabled{opacity:.55;cursor:progress}.capture-icon{box-sizing:content-box;width:28px;height:28px;color:var(--accent);background:var(--accent-soft);border-radius:50%;padding:12px}.ticket-option:first-child .capture-icon{color:var(--accent-text);background:var(--accent)}.ticket-drop{color:var(--muted);text-align:center;margin:0;font-size:.85rem}@media (hover:none){.ticket-drop{display:none}}.ticket-busy{align-items:center;gap:10px;margin:0;display:flex}.ticket-spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px}@media (prefers-reduced-motion:no-preference){.ticket-spinner{animation:.8s linear infinite ticket-spin}.ticket-options>.ticket-option{animation:tc-rise .4s var(--ease) backwards}.ticket-options>.ticket-option:nth-child(2){animation-delay:70ms}.ticket-options>.ticket-option:nth-child(3){animation-delay:.14s}}@keyframes ticket-spin{to{transform:rotate(360deg)}}@media (width<=560px){.ticket-entry.ticket-picker{padding:16px}.ticket-options{grid-template-columns:1fr}.ticket-picker .ticket-option{text-align:start;grid-template-columns:auto 1fr;place-items:center start;padding:12px 14px}}.or-divider{color:var(--muted);align-items:center;gap:12px;margin-block:22px 14px;font-size:.9rem;font-weight:600;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--border);flex:1;height:1px}.expense-bar .bar-total strong{font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,3vw,1.9rem)}.ticket-entry:not(.ticket-picker){justify-items:center}.ticket-entry:not(.ticket-picker)>*{justify-self:center;width:100%;max-width:48rem;margin-inline:auto}@media (prefers-reduced-motion:no-preference){:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>*{animation-duration:.2s}:is(.expense-list,.category-cards,.budget-list,.space-list,.space-tiles)>:nth-child(n+2){animation-delay:25ms}}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.stat-cards.summary-stats{margin-block:12px 4px}@media (width>=900px){.stat-cards.summary-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.summary-stats .stat-sub{color:var(--accent);font-size:.85rem;font-weight:700}.summary-stats .stat-value-text{overflow-wrap:anywhere;font-size:1.25rem}.summary-stats .stat-card:nth-child(4){--tone:3%}.summary-panel{box-shadow:var(--shadow-1);transition:box-shadow var(--dur,.2s) var(--ease), border-color var(--dur,.2s) var(--ease)}.summary-panel:hover{box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.summary-grid>.summary-panel:first-child{background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 7%, var(--surface)), var(--surface) 55%)}.summary-panel .stat strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,3.4vw,2rem);font-weight:800}.skeleton-line{border-radius:8px;width:45%;height:2rem;margin-block:12px;display:block}.skeleton-donut{border-radius:50%;width:10rem;height:10rem;display:block}.payers .payer-name{align-items:center;gap:10px;display:inline-flex}.avatar{width:1.9rem;height:1.9rem;color:var(--accent-text);background:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:800;display:inline-grid}.payers .bar{background:var(--border);border-radius:4px;height:8px;margin-block-start:6px;display:block;overflow:hidden}.payers .bar>span{background:var(--accent);border-radius:4px;height:100%;display:block}@media (prefers-reduced-motion:no-preference){.payers .bar>span{animation:tc-grow .6s var(--ease) backwards;transform-origin:0}[dir=rtl] .payers .bar>span{transform-origin:100%}}.history-page .stat-cards{margin-block:14px 4px}.history-page .stat-card{min-width:0}.history-page .stat-card .stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:800}.history-page .stat-card .stat-value:first-letter{text-transform:uppercase}.history-page .stat-card.with-ticker{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 16px}.history-page .stat-card.with-ticker .stat-value{text-transform:none}.keys-hint{text-align:center;margin:0 0 4px;font-size:.8rem}@media (hover:none){.keys-hint{display:none}}.skeleton-stats{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:14px;display:grid}.skeleton-stat{border-radius:var(--r-lg);height:5.4rem;display:block}.month-facts{flex-wrap:wrap;gap:8px;margin-block:0 12px;display:flex}.delta{--chip:var(--muted);color:var(--text);background:color-mix(in srgb, var(--chip) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--chip) 35%, var(--border));border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:.82rem;font-weight:700;display:inline-flex}.delta>span[aria-hidden]{color:var(--chip);font-size:.7rem}.delta.up{--chip:var(--danger)}.delta.down{--chip:var(--ok)}.month-detail .donut-wrap{margin-block-start:4px}.year-chart .chart-col{fill:var(--accent-soft);opacity:0;transition:opacity .15s}.year-chart .chart-month.selected .chart-col{opacity:.8}.year-chart .chart-month:not(.selected):not(.future):hover .chart-col{opacity:.45}.year-chart .chart-month.future{cursor:default}.year-chart .chart-month.future .chart-bar{opacity:.1}.year-chart .chart-month.future .chart-label{opacity:.5}.year-chart .chart-bar{transform-box:fill-box;transform-origin:bottom}.year-chart .chart-value{opacity:0;pointer-events:none;transition:opacity .15s}.year-chart .chart-month.selected .chart-value,.year-chart .chart-month:hover .chart-value{opacity:1}.year-chart .chart-best{fill:var(--warn-line)}.year-chart .chart-avg{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:6 5;opacity:.75;pointer-events:none}.year-chart .chart-avg-label{fill:var(--accent);text-anchor:end;pointer-events:none;font-size:11px;font-weight:700}[dir=rtl] .year-chart .chart-avg-label{text-anchor:start}@media (prefers-reduced-motion:no-preference){.year-chart .chart-bar{animation:hist-bar .55s var(--ease) backwards}.month-detail{animation:tc-rise .3s var(--ease) backwards}.month-list .month-item{animation:tc-rise .35s var(--ease) backwards}.month-list>li:nth-child(n+2) .month-item{animation-delay:25ms}.month-list>li:nth-child(n+5) .month-item{animation-delay:50ms}.month-list>li:nth-child(n+9) .month-item{animation-delay:75ms}}@keyframes hist-bar{0%{transform:scaleY(0)}}.month-item:disabled{opacity:.45;cursor:default;border-color:var(--border);transform:none}.month-item.selected{box-shadow:inset 3px 0 0 var(--accent)}[dir=rtl] .month-item.selected{box-shadow:inset -3px 0 0 var(--accent)}.month-name{align-items:center;gap:8px;display:inline-flex}.month-now{background:var(--accent);border-radius:50%;width:8px;height:8px}.month-badge{color:var(--warn);background:color-mix(in srgb, var(--warn-line) 16%, var(--surface));border:1px solid color-mix(in srgb, var(--warn-line) 45%, var(--border));border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:800}.month-count{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.month-delta{font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:700}.month-delta.up{color:var(--danger)}.month-delta.down{color:var(--ok)}.month-item.peak .month-bar>span{background:var(--warn-line)}.history-main .export-panel{box-shadow:var(--shadow-1);background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 5%, var(--surface)), var(--surface) 60%)}.export-panel h3{align-items:center;gap:10px;display:flex}.export-panel h3:before{content:"";background:var(--accent-soft) center / 60% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b3a94' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7.5 10.5 12 15l4.5-4.5M5 19h14'/%3E%3C/svg%3E");border-radius:50%;flex:none;width:1.9rem;height:1.9rem}.export-fields{gap:14px 16px}.export-fields label{color:var(--muted);font-size:.82rem;font-weight:700}.export-fields select,.export-fields input{min-width:9.5rem;margin:0}.export-fields button[type=submit]{margin:0}.export-panel .notice{margin-block:12px 0}@media (width<=600px){.history-page .stat-cards>:nth-child(3){grid-column:1/-1}}.budget-stats .stat-card{transition:border-color .2s,background .2s;position:relative;overflow:hidden}.budget-stats .stat-card.tone-alert{border-color:var(--warn-line);background:color-mix(in srgb, var(--warn-line) 9%, var(--surface))}.budget-stats .stat-card.tone-exceeded{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--surface))}.budget-stats .stat-card.tone-alert strong{color:var(--warn)}.budget-stats .stat-card.tone-exceeded strong{color:var(--danger)}.amount-field{position:relative}.amount-field input{font-variant-numeric:tabular-nums;width:100%;padding-inline-end:2.4rem;font-size:1.25rem;font-weight:700}.amount-suffix{color:var(--muted);pointer-events:none;align-items:center;font-weight:700;display:flex;position:absolute;inset-block:0;inset-inline-end:14px}.budget-form .segmented label{transition:border-color .15s,background .15s,transform .15s}.budget-form .segmented label:hover{border-color:var(--border-strong)}.budget-form .segmented label.selected{color:var(--accent)}.range-row{--fill:80%;align-items:center;gap:12px;display:flex}.range-row input[type=range]{appearance:none;background:linear-gradient(to right, var(--accent) var(--fill), var(--border) var(--fill));border-radius:999px;height:8px}.range-row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--surface);border:3px solid var(--accent);width:20px;height:20px;box-shadow:var(--shadow-1);cursor:grab;border-radius:50%}.range-row input[type=range]::-moz-range-thumb{background:var(--surface);border:3px solid var(--accent);width:16px;height:16px;box-shadow:var(--shadow-1);cursor:grab;border-radius:50%}.range-row output{text-align:center;font-variant-numeric:tabular-nums;min-width:3.2rem;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 8px;font-weight:700}.budget-card{box-shadow:var(--shadow-1);transition:transform .2s var(--ease), box-shadow .2s var(--ease);position:relative}.budget-card.status-exceeded{background:color-mix(in srgb, var(--danger) 5%, var(--surface))}.budget-card.status-alert{background:color-mix(in srgb, var(--warn-line) 6%, var(--surface))}.budget-ring{place-items:center;width:5.25rem;height:5.25rem;display:grid}.budget-ring svg{grid-area:1/1}.budget-ring .ring-track{stroke:var(--border)}.budget-ring .ring-value{stroke:var(--status)}.budget-ring .ring-text{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--status);grid-area:1/1;font-size:.95rem;font-weight:800}.budget-card.status-ok .ring-text{color:var(--text)}.budget-meter{background:var(--border);border-radius:999px;height:6px;margin-block-start:8px;display:block;position:relative}.budget-meter .meter-fill{width:var(--pct);background:var(--status);border-radius:inherit;position:absolute;inset-block:0;inset-inline-start:0}.budget-meter .meter-tick{background:var(--text);opacity:.55;border-radius:2px;width:2px;margin-inline-start:-1px;position:absolute;inset-block:-3px;inset-inline-start:var(--alert)}.budget-foot{flex-wrap:wrap;justify-content:space-between;gap:2px 12px;margin-block-start:4px;font-size:.82rem;display:flex}.budget-card .badge{background:color-mix(in srgb, currentColor 10%, transparent);border-color:color-mix(in srgb, currentColor 35%, transparent);font-weight:600}.skeleton-budget{align-items:center;min-height:8rem}.skeleton-ring{border-radius:50%;width:4.5rem;height:4.5rem}.skeleton-lines{gap:10px;display:grid}.skeleton-line-s{border-radius:6px;width:55%;height:.8rem;display:block}.skeleton-line-m{border-radius:6px;width:85%;height:1rem;display:block}.budget-empty .idea{transition:transform .15s var(--ease), border-color .15s, background .15s}.budget-empty .idea:hover{border-color:var(--accent);transform:translateY(-2px)}@media (prefers-reduced-motion:no-preference){@keyframes bud-ring{0%{stroke-dasharray:0 100}}@keyframes bud-meter{0%{width:0}}.budget-ring .ring-value{animation:bud-ring .9s var(--ease) .1s backwards;transition:stroke-dasharray .5s var(--ease)}.budget-meter .meter-fill{animation:bud-meter .9s var(--ease) .1s backwards}.budget-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.budget-card.status-exceeded .ring-text{animation:2.4s ease-in-out 1s 2 bud-pulse}@keyframes bud-pulse{50%{transform:scale(1.08)}}.budget-empty-art .art-value{animation:bud-ring 1.2s var(--ease) .2s backwards}}.balances-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:20px;margin-block-start:20px;display:grid}.balances-main,.balances-side{flex-direction:column;gap:20px;min-width:0;display:flex}@media (width<=900px){.balances-grid{grid-template-columns:minmax(0,1fr)}}.balance-stats .stat-pending{background:linear-gradient(135deg, var(--accent-soft), var(--surface));border-color:var(--border-strong)}.bal-card{padding:16px 20px}.bal-card h3{margin:0 0 10px}.bal-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.bal-list>.line{align-items:center}.bal-avatar{--tone:var(--accent);color:#fff;background:var(--tone);width:2.1rem;height:2.1rem;box-shadow:var(--shadow-1);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:inline-grid}.bal-row{border-block-end:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"av name amount"".bar bar";gap:4px 12px;padding:10px 0;display:grid}.bal-row:last-child{border-block-end:0}.bal-row .bal-avatar{grid-area:av}.bal-row .bal-name{flex-wrap:wrap;grid-area:name;align-items:center;gap:6px;font-weight:700;display:flex}.bal-row .amount{font-variant-numeric:tabular-nums;grid-area:amount;font-weight:700}.bal-row.is-owed .amount{color:var(--ok)}.bal-row.is-owes .amount{color:var(--danger)}.bal-row.is-even .amount{color:var(--muted);font-weight:600}.you-badge{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700}.bal-bar{background:var(--border);border-radius:999px;grid-area:bar;height:6px;display:block;position:relative}.bal-bar:after{content:"";background:var(--border-strong);border-radius:2px;width:2px;margin-inline-start:-1px;position:absolute;inset-block:-3px;inset-inline-start:50%}.bal-fill{width:var(--w);background:var(--muted);border-radius:999px;position:absolute;inset-block:0}.is-owed .bal-fill{background:var(--ok);inset-inline-start:50%}.is-owes .bal-fill{background:var(--danger);inset-inline-end:50%}.transfer,.settlement{background:var(--bg);border:1px solid var(--border);transition:border-color .15s, transform .15s var(--ease);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 12px;padding:10px 12px;display:grid}.transfer:hover,.settlement:hover{border-color:var(--border-strong)}.transfer-people{align-items:center;gap:4px;display:inline-flex}.transfer-arrow{color:var(--muted);font-weight:700}.transfer-text,.settlement-text{min-width:0;font-weight:600}.settlement-text .muted{font-weight:400}.transfer .row-actions,.settlement .row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.transfer .amount,.settlement .amount{font-variant-numeric:tabular-nums;font-weight:700}.transfer .row-actions button:not(:disabled){color:var(--accent);border-color:var(--accent)}.transfer .row-actions button:not(:disabled):hover{background:var(--accent-soft)}[dir=rtl] .transfer-arrow{display:inline-block;transform:scaleX(-1)}@media (width<=560px){.transfer,.settlement{grid-template-columns:auto minmax(0,1fr)}.transfer .row-actions,.settlement .row-actions{grid-column:1/-1;justify-content:space-between}}.bal-check{fill:none;width:1.7rem;height:1.7rem;stroke:var(--ok);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.bal-allgood,.bal-off{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;display:flex}.bal-allgood .bal-check,.bal-off .bal-check{width:3.4rem;height:3.4rem}.bal-allgood p,.bal-off p{margin:0;font-size:1.05rem}.bal-off .bal-check{stroke:var(--muted)}.bal-skeletons{gap:12px;margin-block-start:8px;display:grid}.bal-skeleton{border-radius:12px;height:4.2rem;display:block}@media (prefers-reduced-motion:no-preference){@keyframes bal-grow{0%{width:0}}@keyframes bal-draw{0%{stroke-dashoffset:40px}}@keyframes bal-pop{0%{opacity:0;transform:scale(.6)}}.bal-fill{animation:bal-grow .8s var(--ease) .1s backwards}.bal-allgood .bal-check{animation:bal-pop .5s var(--ease) backwards}.bal-allgood .bal-check path{stroke-dasharray:40;animation:bal-draw .7s var(--ease) .25s backwards}:is(.bal-row,.transfer,.settlement){animation:tc-rise .35s var(--ease) backwards}.transfer:hover,.settlement:hover{transform:translateY(-1px)}}.quick-amounts{flex-wrap:wrap;gap:6px;margin-block-start:2px;display:flex}.quick-amounts .chip{font-variant-numeric:tabular-nums;min-height:0;color:var(--text);background:var(--bg);border:1px solid var(--border);box-shadow:none;cursor:pointer;transition:border-color .15s, background .15s, transform .15s var(--ease);border-radius:999px;padding:4px 12px;font-size:.88rem;font-weight:600}.quick-amounts .chip:hover{border-color:var(--accent);transform:translateY(-1px)}.quick-amounts .chip.selected{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.budget-preview{font-variant-numeric:tabular-nums;color:var(--accent);background:var(--accent-soft);border-radius:10px;margin:4px 0 0;padding:8px 12px;font-size:.9rem;font-weight:600}.budget-empty{gap:8px}.demo-rings{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.demo-ring{--status:var(--accent);background:var(--bg);border:1px solid var(--border);border-block-start:4px solid var(--status);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;display:flex}.demo-ring.status-alert{--status:var(--warn-line)}.demo-ring.status-exceeded{--status:var(--danger)}.demo-ring .ring-track{stroke:var(--border)}.demo-ring .ring-value{stroke:var(--status)}.demo-ring .ring-text{color:var(--status)}.demo-ring.status-ok .ring-text{color:var(--text)}.how-steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.how-steps li{counter-increment:step;background:var(--bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:14px;line-height:1.35;display:flex}.how-steps li:before{content:counter(step);color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:.9rem;font-weight:800;display:inline-grid}.idea-list{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.budget-empty .idea{text-align:start;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:100%;padding:14px;display:flex;position:relative}.idea-icon{fill:none;width:1.5rem;height:1.5rem;stroke:var(--accent);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;margin-block-end:4px}.budget-empty .idea:after{content:"→";color:var(--muted);transition:transform .15s var(--ease), color .15s;position:absolute;inset-block-start:12px;inset-inline-end:14px}.budget-empty .idea:hover:after{color:var(--accent);transform:translate(3px)}[dir=rtl] .budget-empty .idea:after{content:"←"}@media (width<=640px){.how-steps{grid-template-columns:minmax(0,1fr)}.demo-rings{gap:8px}}@media (prefers-reduced-motion:no-preference){.demo-ring .ring-value{animation:bud-ring 1s var(--ease) .2s backwards}.budget-preview{animation:tc-rise .25s var(--ease) backwards}}.search-box{position:relative}.shopping-search .search-box input{padding-block:12px;padding-inline-end:2.8rem;font-size:1.05rem;transition:border-color .15s,box-shadow .15s}.shopping-search .search-box input::-webkit-search-cancel-button{display:none}.search-clear{width:2rem;height:2rem;min-height:0;color:var(--muted);background:var(--accent-soft);box-shadow:none;cursor:pointer;transition:color .15s, transform .15s var(--ease);border:0;border-radius:50%;place-items:center;margin:auto 0;padding:0;display:grid;position:absolute;inset-block:0;inset-inline-end:8px}.search-clear:hover{color:var(--accent);transform:scale(1.08)}.search-keys{margin:10px 0 0;font-size:.82rem}.pick-card{box-shadow:var(--shadow-1);transition:border-color .15s, box-shadow .15s, transform .15s var(--ease)}.pick-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}.pick-actions .btn-low{color:var(--warn);background:color-mix(in srgb, var(--warn-line) 14%, var(--surface));border:1px solid var(--warn-line)}.pick-actions .btn-low:hover:not(:disabled){background:color-mix(in srgb, var(--warn-line) 26%, var(--surface))}.basket-stats span{background:var(--bg);border:1px solid var(--border);border-radius:999px;align-items:baseline;gap:5px;padding:3px 12px;display:inline-flex}.basket-stats span:nth-child(2){color:var(--warn);background:color-mix(in srgb, var(--warn-line) 12%, var(--surface));border-color:var(--warn-line)}.basket-stats span:nth-child(2) strong{color:inherit}.basket-meter{background:var(--accent-soft);border-radius:999px;flex:100%;order:9;height:6px;overflow:hidden}.basket-meter:before{content:"";width:var(--low);background:var(--warn-line);border-radius:inherit;height:100%;display:block}.filter-low{min-height:0;color:var(--text);background:var(--bg);border:1px solid var(--border);box-shadow:none;cursor:pointer;border-radius:999px;padding:8px 14px;font-weight:600;transition:border-color .15s,background .15s}.filter-low:hover{border-color:var(--warn-line)}.filter-low[aria-pressed=true]{color:var(--warn);border-color:var(--warn-line);background:color-mix(in srgb, var(--warn-line) 16%, var(--surface))}.share-button{align-items:center;gap:8px;display:inline-flex}.group-head .group-count{text-align:center;min-width:1.6rem;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:1px 8px;font-size:.8rem;font-weight:700}.basket-item{box-shadow:var(--shadow-1)}.basket-item.is-low{background:color-mix(in srgb, var(--warn-line) 6%, var(--surface));border-inline-start-width:5px}.basket-cat{color:var(--muted);font-size:.82rem}.basket-item .urgency{transition:border-color .15s,background .15s}.basket-item.is-low .urgency{background:color-mix(in srgb, var(--warn-line) 14%, transparent);font-weight:700}.basket-item .done:not(:disabled),.go-item .go-done{color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--ok) 55%, transparent);box-shadow:none;transition:background .15s, transform .15s var(--ease)}.basket-item .done:not(:disabled):hover,.go-item .go-done:hover{background:color-mix(in srgb, var(--ok) 24%, var(--surface))}.basket-skeletons{margin-block-start:16px}.basket-skeleton{border-radius:12px;height:7.6rem;list-style:none;display:block}.go-item{box-shadow:var(--shadow-1);gap:14px;padding:14px 16px;transition:border-color .15s,box-shadow .15s}.go-item.is-low{background:color-mix(in srgb, var(--warn-line) 7%, var(--surface))}.go-tag{color:var(--muted);border:1px solid var(--border);border-radius:999px;align-self:flex-start;padding:1px 10px;font-size:.78rem;font-weight:700}.go-item.is-low .go-tag{color:var(--warn);border-color:var(--warn-line);background:color-mix(in srgb, var(--warn-line) 14%, transparent)}.go-qty{font-variant-numeric:tabular-nums;background:var(--bg);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:4px 14px}.go-item .go-done{min-height:3rem;padding-inline:18px;font-size:1.05rem}.go-hint{background:var(--accent-soft);border-radius:12px;padding:10px 14px}@media (width<=560px){.go-item{grid-template-columns:auto minmax(0,1fr) auto}.go-item .go-done{grid-column:1/-1;justify-content:center}}.basket-steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:46rem;padding:0;list-style:none}.basket-steps li{counter-increment:step;background:var(--bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:14px;line-height:1.35;display:flex}.basket-steps li:before{content:counter(step);color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:.9rem;font-weight:800;display:inline-grid}@media (width<=640px){.basket-steps{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:no-preference){@keyframes shop-float{50%{transform:translateY(-5px)}}.pick-card{animation:tc-rise .25s var(--ease) backwards}.pick-card:nth-child(2){animation-delay:40ms}.pick-card:nth-child(3){animation-delay:80ms}.pick-card:nth-child(n+4){animation-delay:.11s}.basket-empty-art{animation:3.2s ease-in-out infinite shop-float}.basket-meter:before{animation:bud-meter .8s var(--ease) .1s backwards}.go-item:hover{transform:translateY(-1px)}}.catalog-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-block-end:16px;display:flex}.catalog-head h2{margin:0}.catalog-stats{flex-wrap:wrap;gap:8px;margin:0;display:flex}.catalog-stats span{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 12px;font-size:.85rem}.catalog-main form.catalog-search{box-shadow:none;background:0 0;border:0;margin:0 0 18px;padding:0}.catalog-search label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.catalog-search-box{position:relative}.catalog-search-icon{color:var(--muted);pointer-events:none;place-items:center;transition:color .15s;display:grid;position:absolute;inset-block:0;inset-inline-start:16px}.catalog-search-box:focus-within .catalog-search-icon{color:var(--accent)}.catalog-main .catalog-search-box input{background:var(--surface);box-shadow:var(--shadow-1);border-radius:14px;padding-block:14px;padding-inline:46px 52px;font-size:1.05rem;transition:border-color .15s,box-shadow .15s}.catalog-main .catalog-search-box input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.catalog-main .catalog-search-box input::-webkit-search-cancel-button{display:none}.catalog-search-clear{width:2rem;height:2rem;min-height:0;color:var(--muted);background:var(--accent-soft);box-shadow:none;cursor:pointer;transition:color .15s, transform .15s var(--ease);border:0;border-radius:50%;place-items:center;margin:auto 0;padding:0;display:grid;position:absolute;inset-block:0;inset-inline-end:8px}.catalog-search-clear:hover{color:var(--accent);transform:scale(1.08)}.catalog-search-clear .nav-icon{width:16px;height:16px}.catalog-count{color:var(--muted);margin:0 0 4px;font-size:.85rem}.catalog-page .catalog-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:14px;margin-block-start:8px}.catalog-page .catalog-categories{grid-template-columns:repeat(auto-fill,minmax(172px,1fr))}.catalog-page .catalog-tile{box-shadow:var(--shadow-1);transition:border-color .15s, box-shadow .2s, transform .2s var(--ease), background .15s;border-radius:18px;gap:8px;padding:16px 10px 14px;position:relative}.catalog-page button.catalog-tile{cursor:pointer;font:inherit}.catalog-page button.catalog-tile:hover{border-color:var(--accent);box-shadow:var(--shadow-2);transform:translateY(-3px)}.catalog-page button.catalog-tile:active{transform:translateY(0)scale(.98)}.catalog-page button.catalog-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.catalog-page li.catalog-tile{align-content:center}.catalog-page li.catalog-tile:hover{border-color:var(--border-strong)}.catalog-page .tile-img{background:var(--accent-soft);padding:12px}.catalog-page .tile-photo{background:var(--accent-soft);border-radius:12px}.catalog-page .tile-name{font-size:.98rem;font-weight:650}.catalog-page .tile-meta{font-size:.8rem}.catalog-page .tile-unit{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:1px 10px;font-weight:600}.catalog-page .tile-cat{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem}.catalog-page .tile-go{color:var(--muted);opacity:.55;transition:opacity .15s, color .15s, transform .2s var(--ease);display:grid;position:absolute;inset-block-start:10px;inset-inline-end:10px}.catalog-page button.catalog-tile:hover .tile-go{opacity:1;color:var(--accent);transform:translate(2px)}.catalog-page :is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .tile-go svg{transform:scaleX(-1)}.catalog-back{border-radius:999px;min-height:0;margin:0 0 12px;padding:6px 14px}.catalog-pills{flex-wrap:wrap;gap:8px;margin:0 0 4px;display:flex}.catalog-pill{min-height:0;color:var(--text);background:var(--surface);border:1px solid var(--border);box-shadow:none;cursor:pointer;transition:border-color .15s, background .15s, color .15s, transform .15s var(--ease);border-radius:999px;margin:0;padding:6px 14px;font-size:.9rem;font-weight:600}.catalog-pill:hover{border-color:var(--accent)}.catalog-pill:active{transform:scale(.96)}.catalog-pill[aria-pressed=true]{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.catalog-cat-head{align-items:center;gap:14px;margin-block:20px 4px;display:flex}.catalog-cat-head img{flex:none;width:56px;height:56px}.catalog-cat-head .tile-img{padding:10px}.catalog-cat-head .tile-photo{border-radius:14px}.catalog-cat-head .catalog-heading{margin:0;font-size:1.25rem}.catalog-cat-head p{margin:2px 0 0;font-size:.9rem}.catalog-empty{text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:18px;justify-items:center;gap:6px;padding:32px 20px;display:grid}.catalog-empty p{margin:0}.catalog-empty-art{width:56px;height:56px;color:var(--accent);background:var(--accent-soft);border-radius:50%;place-items:center;margin-block-end:6px;display:grid}.catalog-empty-art .nav-icon{width:26px;height:26px}.catalog-ask{margin:10px 0 0}.catalog-loading>p{margin:0 0 4px}.catalog-skeleton{background:linear-gradient(100deg, var(--accent-soft) 30%, var(--surface) 50%, var(--accent-soft) 70%) 0 0 / 200% 100%;border:1px solid var(--border);border-radius:18px;height:150px}.catalog-request{box-shadow:var(--shadow-1);border-radius:18px}.catalog-request-badge{width:40px;height:40px;color:var(--accent);background:var(--accent-soft);border-radius:50%;place-items:center;margin-block-end:10px;display:grid}.catalog-request-thanks{justify-items:start;gap:4px;display:grid}.catalog-request-thanks .secondary{margin-block-start:8px}.catalog-request-check{width:52px;height:52px;color:var(--ok);background:color-mix(in srgb, var(--ok) 16%, var(--surface));border-radius:50%;place-items:center;margin-block-end:6px;display:grid}@media (prefers-reduced-motion:no-preference){@keyframes cat-shimmer{to{background-position:-200% 0}}@keyframes cat-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.catalog-page .catalog-grid>li{animation:tc-rise .4s var(--ease) backwards;animation-delay:calc(var(--i,0) * 35ms)}.catalog-skeleton{animation:1.4s linear infinite cat-shimmer}.catalog-request-check{animation:cat-pop .45s var(--ease) backwards}.catalog-empty{animation:tc-rise .35s var(--ease) backwards}}@media (width<=600px){.catalog-page .catalog-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.catalog-page .catalog-categories{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.catalog-page .catalog-tile{padding:12px 8px}}.settings-page .settings-cols{grid-template-columns:minmax(0,1fr);align-items:start;gap:32px;margin-block-start:24px;display:grid;container:settings/inline-size}.settings-page .settings-cols .settings-col{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;align-content:start;align-items:stretch;gap:16px;display:grid}.settings-page .settings-cols .settings-col-title{grid-column:1/-1;margin:0 0 -4px;padding-inline:4px}.settings-page .settings-cols .settings-col>.settings-card{flex-direction:column;align-self:stretch;min-width:0;height:auto;min-height:0;padding:24px;display:flex}.settings-page .settings-cols .settings-head{min-height:44px;margin-block-end:14px}.settings-page .settings-cols .settings-card>.settings-row:last-child{margin-block-start:auto}.settings-page .settings-cols .settings-card form.add-form{flex-direction:column;flex:1;gap:14px;margin:0;display:flex}.settings-page .settings-cols .settings-card form.add-form button[type=submit]{align-self:flex-start;margin:auto 0 0}.settings-page .settings-cols .settings-card form.add-form>:nth-last-child(2):not(.field-grid){margin-block-end:4px}.settings-page .settings-cols .field-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.settings-page .settings-cols .field-grid .field-wide{grid-column:1/-1}.settings-page .profile .avatar{width:56px;height:56px;font-size:1.35rem}.settings-page .profile{gap:16px;min-height:56px;padding-block:0}.settings-page .profile-name{overflow-wrap:anywhere;font-size:1.1rem;line-height:1.3}.settings-page .profile .muted{overflow-wrap:anywhere}.settings-page .archived-empty{text-align:center;flex:1;align-content:center;justify-items:center;gap:10px;padding-block:12px;display:grid}.settings-page .archived-empty p{margin:0}.settings-page .archived-empty-art{width:52px;height:52px;color:var(--accent);background:var(--accent-soft);border-radius:50%;place-items:center;display:grid}.settings-page .archived-list{flex:1;align-content:start}.settings-page .settings-cols .settings-card.is-wide{grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.settings-page .settings-cols .settings-card.is-wide>.settings-head{grid-column:1/-1}.settings-page .settings-cols .settings-card.is-wide>form.add-form{grid-column:1}.settings-page .space-side{border-block-start:1px solid var(--border);align-content:start;gap:8px;margin-block-start:22px;padding-block-start:18px;display:grid}.settings-page .space-side h3{border:0;margin:0;padding:0;font-size:1rem}.settings-page .space-side h3:not(:first-child){border-block-start:1px solid var(--border);margin-block-start:14px;padding-block-start:16px}.settings-page .space-side p{margin:0}.settings-page .space-side button{justify-self:start;margin:4px 0 0}.settings-page .space-side .row-actions{justify-self:start;margin-block-start:4px}@container settings (width>=860px){.settings-page .settings-cols .settings-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-page .settings-cols .settings-col>.settings-card.is-wide{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.settings-page .settings-cols .settings-card.is-wide>form.add-form{padding-inline-end:32px}.settings-page .space-side{border-block-start:0;border-inline-start:1px solid var(--border);grid-area:2/2;margin-block-start:0;padding-block-start:0;padding-inline-start:32px}.settings-page .settings-cols .settings-col-spaces:has(>.is-compact)>.settings-card:last-child{grid-column:1/-1}}@media (width<=600px){.settings-page .settings-cols .settings-col>.settings-card{padding:18px 16px}.settings-page .settings-cols .settings-card form.add-form button[type=submit]{align-self:stretch}.settings-page .space-side button{justify-self:stretch}}.panel-page{max-width:1120px;padding-inline:20px}.panel-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.panel-main{min-width:0}.panel-side{align-content:start;gap:16px;min-width:0;display:grid}@media (width>=960px){.panel-layout{grid-template-columns:minmax(0,1fr) 340px;gap:32px}.panel-side{margin-block-start:28px;position:sticky;inset-block-start:16px}}.panel-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.8rem;font-weight:700;margin:0 0 6px!important}.panel-hero h1{font-size:2.2rem}.panel-stats{flex-wrap:wrap;gap:8px;display:flex;margin-block-start:14px!important}.panel-stats span{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 12px;font-size:.85rem;font-weight:600}.panel-tabs-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block:22px 16px;display:flex}.panel-tabs-row .space-tabs{width:auto;margin:0;display:inline-flex}.panel-tabs-row .space-tabs button{flex:none}.new-space-button{min-height:44px;margin:0}.panel-main .new-space-picker{margin-block-end:18px}.panel-filter{margin-block-end:14px;position:relative}.panel-filter-icon{color:var(--muted);pointer-events:none;place-items:center;display:grid;position:absolute;inset-block:0;inset-inline-start:14px}.panel-filter input{box-sizing:border-box;background:var(--surface);border-radius:12px;width:100%;margin:0;padding-inline-start:42px}.space-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px}.space-card{height:100%;position:relative}.space-card .space-tile{padding-inline-end:44px}.space-card:has(.pin-button[aria-pressed=true]) .space-tile{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.tile-chips{flex-wrap:wrap;gap:6px;margin-block-start:8px;display:flex}.chip-mini{color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:1px 9px;font-size:.75rem;font-weight:700}.chip-last{color:var(--accent);background:var(--accent-soft);border-color:#0000}.pin-button{width:32px;height:32px;min-height:0;color:var(--muted);box-shadow:none;cursor:pointer;opacity:.55;transition:opacity .15s, color .15s, background .15s, transform .15s var(--ease);background:0 0;border:0;border-radius:50%;place-items:center;margin:0;padding:0;display:grid;position:absolute;inset-block-start:10px;inset-inline-end:10px}.space-card:hover .pin-button,.pin-button:focus-visible,.pin-button[aria-pressed=true]{opacity:1}.pin-button:hover{color:var(--accent);background:var(--accent-soft);transform:scale(1.1)}.pin-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pin-button[aria-pressed=true]{color:var(--accent)}.pin-button[aria-pressed=true] svg{fill:currentColor}.panel-side .join-card{box-shadow:var(--shadow-1);flex-direction:column;gap:12px;margin:0}.panel-side .join-form input{flex:100%}.panel-side .join-form button{width:100%}.tip-card{background:var(--accent-soft);border-radius:16px;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.tip-icon{width:36px;height:36px;color:var(--accent);background:var(--surface);border-radius:50%;flex:none;place-items:center;display:grid}.tip-title{margin:0 0 2px;font-weight:700}.tip-card .muted{margin:0;font-size:.9rem;line-height:1.45}.welcome{background:radial-gradient(120% 140% at 0% 0%, var(--accent-soft), transparent 55%), var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);border-radius:20px;gap:16px;padding:28px}.welcome-feats{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.welcome-feats li{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.88rem;font-weight:600;display:inline-flex}.welcome-feats svg{color:var(--accent);flex:none}.choice-card{position:relative}.choice-card .tile-icon{width:52px;height:52px}.choice-card[aria-pressed=true]:after{content:"✓";width:24px;height:24px;color:var(--accent-text);background:var(--accent);border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:grid;position:absolute;inset-block-start:12px;inset-inline-end:12px}.welcome .new-space{background:var(--surface)}@media (prefers-reduced-motion:no-preference){.welcome-feats li{animation:tc-rise .4s var(--ease) backwards}.welcome-feats li:nth-child(2){animation-delay:70ms}.welcome-feats li:nth-child(3){animation-delay:.14s}.welcome .new-space{animation:tc-rise .35s var(--ease) backwards}.pin-button[aria-pressed=true] svg{animation:cat-pop .35s var(--ease)}}@media (width<=600px){.panel-page{padding-inline:14px}.panel-hero h1{font-size:1.7rem}.panel-tabs-row .space-tabs{width:100%;display:flex}.panel-tabs-row .space-tabs button{flex:1}.new-space-button{justify-content:center;width:100%}.welcome{padding:20px 16px}}.members-page{max-width:1040px}.members-head{flex-wrap:wrap;align-items:center;gap:12px;margin-block-end:16px;display:flex}.members-head h2{margin:0}.members-count{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 12px;font-size:.85rem;font-weight:600}.members-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.members-main,.members-side{min-width:0}@media (width>=900px){.members-layout.has-invites{grid-template-columns:minmax(0,1fr) 360px;gap:32px}.members-side{position:sticky;inset-block-start:16px}}.members-list{gap:10px}.member-row{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);transition:border-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 14px;padding:12px 14px;display:grid}.member-row:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}.member-row[data-role=owner]{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.member-avatar{width:42px;height:42px;color:var(--text);background:color-mix(in srgb, hsl(var(--h) 55% 50%) 24%, var(--surface));border:1px solid color-mix(in srgb, hsl(var(--h) 55% 50%) 40%, var(--border));border-radius:50%;place-items:center;font-size:1.05rem;font-weight:700;display:grid}.member-who{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;column-gap:4px;min-width:0;display:flex}.member-name{font-weight:600}.member-mail{font-size:.85rem}.member-row .row-actions{justify-content:flex-end;align-items:center}.member-row .row-actions select{min-height:36px;margin:0}.role-badge{border:1px solid var(--border);background:var(--bg);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}.member-row[data-role=owner] .role-badge{color:var(--accent);background:var(--accent-soft);border-color:#0000}@media (width<=520px){.member-row{grid-template-columns:auto minmax(0,1fr)}.member-row .row-actions{grid-column:1/-1;justify-content:flex-start}}.members-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);border-radius:16px;gap:12px;padding:18px;display:grid}.members-solo{grid-template-columns:auto minmax(0,1fr);align-items:center}.members-solo p{margin:0}.members-solo-icon{width:38px;height:38px;color:var(--accent);background:var(--accent-soft);border-radius:12px;place-items:center;display:grid}.invite-head{align-items:center;gap:12px;display:flex}.invite-head h3{margin:0}.invite-hint{margin:0;font-size:.9rem}.invite-card .invite-form{box-shadow:none;background:0 0;border:0;gap:8px;margin:0;padding:0;display:grid}.invite-card .invite-form label{color:var(--muted);margin-block-start:4px;font-size:.85rem;font-weight:600}.invite-card .invite-form input,.invite-card .invite-form select{box-sizing:border-box;width:100%;margin:0}.invite-card .invite-form p{margin:0}.invite-card .invite-form button[type=submit]{width:100%;min-height:44px;margin-block-start:8px}.quick-hours{flex-wrap:wrap;gap:6px;display:flex}.quick-hour{min-height:32px;color:var(--muted);background:var(--bg);border:1px solid var(--border);cursor:pointer;transition:all .15s var(--ease);border-radius:999px;margin:0;padding:4px 12px;font-size:.85rem;font-weight:600}.quick-hour:hover{color:var(--text);border-color:var(--border-strong)}.quick-hour[aria-pressed=true]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.quick-hour:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.invite-card .code-box{text-align:center;background:var(--accent-soft);border:1px dashed var(--accent);border-radius:12px;margin:0;padding:14px}.invite-card .code-box p{margin:0}.invite-card .code-box code{letter-spacing:.04em;color:var(--text);background:var(--surface);border-radius:10px;padding:10px 8px;font-size:1.25rem;font-weight:700;display:block}.invite-card .code-box .row-actions{justify-content:center}.invite-card .code-box .with-icon{align-items:center;gap:6px;display:inline-flex}.invite-list{gap:8px}.invite-list .invitation{background:var(--bg);border:1px solid var(--border);border-radius:12px;gap:6px;padding:10px 12px;display:grid}.invite-list .invitation[data-state=active] .badge{color:var(--ok,var(--accent))}.invite-list .invitation[data-state=expired] .badge,.invite-list .invitation[data-state=exhausted] .badge{color:var(--warn)}.invite-list .invitation[data-state=revoked] .badge{color:var(--danger)}.invite-list .invitation:not([data-state=active]){opacity:.8}.invite-meter{background:var(--border);border-radius:999px;height:6px;display:block;overflow:hidden}.invite-meter>span{background:var(--accent);border-radius:inherit;height:100%;display:block}.invite-list .invitation .line{align-items:center}@media (prefers-reduced-motion:no-preference){.member-row{animation:tc-rise .35s var(--ease) both}.member-row:nth-child(2){animation-delay:40ms}.member-row:nth-child(3){animation-delay:80ms}.member-row:nth-child(n+4){animation-delay:.12s}.invite-meter>span{animation:bud-meter .6s var(--ease) both}}.category-page{--tint:var(--cat,var(--accent));max-width:880px}.category-page .back-link.with-icon{align-items:center;gap:4px;margin-block-end:14px;font-weight:600;text-decoration:none;display:inline-flex}.category-page .back-link.with-icon:hover{text-decoration:underline}.category-page .back-link svg{flex:none}[dir=rtl] .category-page .back-link svg{transform:scaleX(-1)}.category-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-block-end:4px;display:grid}.category-badge{width:52px;height:52px;color:var(--text);background:color-mix(in srgb, var(--tint) 20%, var(--surface));border:1px solid color-mix(in srgb, var(--tint) 45%, var(--border));border-radius:16px;place-items:center;font-size:1.5rem;font-weight:700;line-height:1;display:grid}.category-titles{min-width:0}.category-titles h2{overflow-wrap:anywhere;margin:0}.category-titles p{margin:2px 0 0}.category-head .button-link.with-icon{align-items:center;gap:6px;min-height:44px;margin:0;display:inline-flex}@media (width<=560px){.category-head{grid-template-columns:auto minmax(0,1fr)}.category-head .button-link{grid-column:1/-1;justify-content:center}}.category-summary{background:var(--surface);border:1px solid var(--border);border-inline-start:4px solid var(--tint);box-shadow:var(--shadow-1);border-radius:14px;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:16px 0 8px;padding:14px 18px;display:flex}.category-summary .category-total{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:800}.category-summary .muted{font-size:.9rem}.category-search{margin-block:14px 4px;position:relative}.category-search-icon{color:var(--muted);pointer-events:none;place-items:center;display:grid;position:absolute;inset-block:0;inset-inline-start:14px}.category-search input{box-sizing:border-box;background:var(--surface);border-radius:12px;width:100%;margin:0;padding-inline-start:42px}.category-hint{margin:6px 2px 0;font-size:.85rem}.category-page .expense-list{gap:10px;margin-block-start:14px}.category-page .expense{box-shadow:var(--shadow-1);transition:border-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 14px;padding:12px 14px}.category-page .expense:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}.expense-avatar{width:40px;height:40px;color:var(--text);background:color-mix(in srgb, var(--cat,var(--accent)) 20%, var(--surface));border:1px solid color-mix(in srgb, var(--cat,var(--accent)) 40%, var(--border));border-radius:50%;place-items:center;font-weight:700;display:grid}.category-page .expense-main{grid-column:2}.category-page .expense .amount{grid-column:3;font-size:1.05rem}.category-page .expense-actions{grid-column:2/-1;justify-content:flex-start;gap:4px;margin-inline-start:-8px}.category-page .expense-actions>button.secondary,.category-page .expense-actions>a{color:var(--muted);box-shadow:none;background:0 0;border-color:#0000;align-items:center;gap:6px;padding:4px 10px;font-size:.85rem;text-decoration:none;display:inline-flex}.category-page .expense-actions>button.secondary:hover,.category-page .expense-actions>a:hover,.category-page .expense-actions>button.secondary[aria-expanded=true]{color:var(--text);background:var(--bg);border-color:var(--border)}.category-page .expense-actions>.danger-soft:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.category-page .expense-actions svg{flex:none}.category-page .expense-actions>button:not(.secondary){margin:0;padding:4px 14px;font-size:.85rem}.category-page .expense-tickets{grid-column:1/-1}.category-empty{text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:16px;justify-items:center;gap:8px;margin-block:16px;padding:32px 20px;display:grid}.category-empty p{margin:0}.category-empty-icon{width:52px;height:52px;color:var(--tint);background:color-mix(in srgb, var(--tint) 14%, var(--surface));border-radius:50%;place-items:center;display:grid}.skeleton-expense{align-items:center;gap:14px;display:flex}.skeleton-expense .skeleton-lines{flex:1;gap:8px;display:grid}.skeleton-avatar{border-radius:50%;width:40px;height:40px;display:block}.category-page .more{margin-block-start:16px}@media (prefers-reduced-motion:no-preference){.category-page .expense-list:not(.skeleton-list)>.expense{animation:tc-rise .35s var(--ease) both}.category-page .expense-list>.expense:nth-child(2){animation-delay:40ms}.category-page .expense-list>.expense:nth-child(3){animation-delay:80ms}.category-page .expense-list>.expense:nth-child(n+4){animation-delay:.12s}}.expense-page .back-link.with-icon,.edit-expense-page .back-link.with-icon{align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.expense-page .back-link.with-icon:hover{text-decoration:underline}.expense-page .back-link svg{flex:none}[dir=rtl] .expense-page .back-link svg{transform:scaleX(-1)}.date-field{gap:8px;display:grid}.date-field input{margin:0}.quick-dates{flex-wrap:wrap;gap:6px;display:flex}.quick-date{min-height:32px;color:var(--muted);background:var(--bg);border:1px solid var(--border);cursor:pointer;transition:all .15s var(--ease);border-radius:999px;margin:0;padding:4px 14px;font-size:.85rem;font-weight:600}.quick-date:hover{color:var(--text);border-color:var(--border-strong)}.quick-date[aria-pressed=true]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.quick-date:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.expense-col .split .check{cursor:pointer;transition:border-color .15s var(--ease), background .15s var(--ease)}.expense-col .split .check:hover{border-color:var(--border-strong)}.expense-col .split .check:has(input:checked){background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.expense-col .split .check:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.edit-form{margin-block-start:16px}.edit-bar{justify-content:flex-end}.edit-bar .bar-action{justify-content:flex-end;margin-inline-start:0}.edit-bar .bar-action .row-actions{flex-wrap:wrap;gap:10px;display:flex}.edit-bar .bar-action button{min-width:0;margin:0;padding:12px 24px;font-size:1rem}.expense-sheet{box-shadow:var(--shadow-1)}@media (width<=860px){.expense-sheet{overflow:clip}.expense-bar{z-index:5;box-shadow:0 -8px 18px color-mix(in srgb, var(--text) 8%, transparent);position:sticky;inset-block-end:calc(84px + env(safe-area-inset-bottom,0px))}.edit-bar .bar-action,.edit-bar .bar-action .row-actions{width:100%}.edit-bar .bar-action .row-actions button{flex:1}}@media (hover:hover) and (pointer:fine){.category-card,.expense,.space-tile,.choice-card,.settings-card,.budget,.basket-item,.month-item{background-image:none}}.page-wide>.app-topbar{box-sizing:border-box;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;height:57px;padding:0 20px;display:grid}.page-wide>.app-topbar>.brand-link{box-shadow:none;filter:none;background:0 0;border:0;border-radius:10px;grid-column:1;justify-self:start;align-items:center;margin:0 -10px;padding:6px 10px;display:inline-flex}.page-wide>.app-topbar>.brand-link:hover,.page-wide>.app-topbar>.brand-link:focus-visible{background:var(--accent-soft);box-shadow:none}.page-wide>.app-topbar .brand{letter-spacing:-.02em;color:var(--accent);font-size:1.2rem;font-weight:800}.page-wide>.app-topbar .topbar-title{text-align:center;flex-flow:row;flex:none;order:0;grid-column:2;justify-content:center;align-items:center;gap:10px;min-width:0;max-width:100%;display:flex}.page-wide>.app-topbar .topbar-title h1{letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;font-weight:700;line-height:1.2;overflow:hidden}.page-wide>.app-topbar .topbar-title .pill{flex:none;padding:2px 9px;font-size:.72rem}.page-wide>.app-topbar .topbar-actions{grid-column:3;justify-self:end;align-items:center;gap:8px;margin:0;display:flex}.page-wide>.app-topbar .cmd-trigger,.page-wide>.app-topbar .topbar-actions select{box-sizing:border-box;border-radius:10px;height:38px;min-height:38px;margin:0;font-size:.92rem}.page-wide>.app-topbar .topbar-actions select{padding-block:0}@media (width<=720px){.page-wide>.app-topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;height:52px;padding:0 12px}.page-wide>.app-topbar .topbar-title{text-align:start;grid-column:2;justify-content:flex-start}.page-wide>.app-topbar .topbar-title h1{font-size:1rem}.page-wide>.app-topbar .topbar-title .pill{display:none}.page-wide>.app-topbar .topbar-actions{grid-column:3;gap:6px}.page-wide>.app-topbar .cmd-trigger{justify-content:center;width:38px;padding:0}.page-wide>.app-topbar .topbar-actions select{max-width:96px}}.panel-bar{flex-wrap:nowrap;align-items:center;min-height:57px;margin-block-end:0;padding-block:8px}.panel-bar .brand-link .brand{letter-spacing:-.02em;color:var(--accent);font-size:1.2rem;font-weight:800}.panel-actions{margin-inline-start:auto}.panel-hero{padding-block-start:20px}.category-pct,.legend .amount .muted,.ticker-amount,.budget-pct{direction:ltr;unicode-bidi:isolate;display:inline-block}[dir=rtl] .budget-empty .idea:hover:after{transform:translate(-3px)}[dir=rtl] .catalog-page button.catalog-tile:hover .tile-go{transform:translate(-2px)}:where(a,button,select,input,textarea,summary,[tabindex]):focus-visible,.view-toggle button[aria-pressed=true]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-form{gap:.5rem;margin-block-start:1rem;display:grid}.profile-form select,.profile-form input{max-inline-size:100%}.profile-form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-block-start:.5rem;display:flex}.profile-form-actions p{margin:0}button.danger{background:var(--danger,#b42318);border-color:var(--danger,#b42318);color:#fff}button.danger:disabled{opacity:.55}.data-list{margin:.5rem 0 1rem;padding-inline-start:1.25rem}.panel-hero{text-align:center;padding-block:32px 12px}.panel-tabs-row{flex-direction:column;align-items:stretch;margin-block:0 16px}.panel-tabs-row .space-tabs{box-sizing:border-box;width:100%;display:flex}.panel-tabs-row .space-tabs button{flex:1;justify-content:center}.new-space-button{justify-content:center;width:100%}.space-tiles{grid-template-columns:minmax(0,1fr)}.panel-side{margin-block-start:0}.accept{align-items:flex-start;gap:10px;margin-top:16px;font-size:.9rem;line-height:1.45;display:flex}.accept input{flex:none;width:auto;margin:3px 0 0}.legal-links{flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:16px;font-size:.85rem;display:flex}.panel-foot .legal-links{margin-top:8px}.legal-page{max-width:760px;margin:0 auto;padding:16px 16px 48px}.legal-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.legal h1{margin:8px 0 12px;font-size:1.6rem}.legal h2{margin:28px 0 8px;font-size:1.1rem}.legal p,.legal li{line-height:1.6}.legal ul{padding-inline-start:22px}.legal-table{margin:12px 0;overflow-x:auto}.legal table{border-collapse:collapse;width:100%;min-width:520px;font-size:.9rem}.legal th,.legal td{border:1px solid var(--border);text-align:start;vertical-align:top;padding:8px 10px}.legal th{background:var(--surface)}
