@charset "UTF-8";@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url("./media/figtree-latin-ext-wght-normal-O22BDGD7.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url("./media/figtree-latin-wght-normal-SOXVSX3R.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-vietnamese-wght-normal-S2S5QD6B.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-latin-ext-wght-normal-EMW626ZA.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-latin-wght-normal-HY2A4V5R.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--app-font: "Figtree Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--app-display-font: "Bricolage Grotesque Variable", "Figtree Variable", system-ui, sans-serif;--app-radius: 8px;--app-radius-lg: 12px;--app-bg: #f5f4f8;--app-surface: #ffffff;--app-surface-hover: #f3f0f8;--app-surface-selected: #efe9f8;--app-border: #dcd8e6;--app-border-subtle: #ece9f2;--app-text: #1e1b2b;--app-text-muted: #6b6680;--app-primary: #6a45a8;--app-primary-text: #ffffff;--app-ink: #2b2240;--app-ink-text: #f1edf8;--app-ink-muted: #b6abcd;--app-danger: #d92d20;--app-danger-soft: #fef3f2;--app-success: #067647;--app-success-soft: #ecfdf3;--app-warning: #b54708;--app-warning-soft: #fffaeb;--app-focus: rgba(106, 69, 168, .28);--chart-1: #2a78d6;--chart-2: #eb6834;--chart-3: #1baf7a;--chart-5: #e87ba4}:root{color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--app-bg: #14111b;--app-surface: #1d1928;--app-surface-hover: #262133;--app-surface-selected: #2e2445;--app-border: #3a3350;--app-border-subtle: #2a2538;--app-text: #ece9f4;--app-text-muted: #a49eb7;--app-primary: #b195e6;--app-primary-text: #1a1426;--app-ink: #100d17;--app-ink-text: #ece9f4;--app-ink-muted: #9a90b3;--app-danger: #f97066;--app-danger-soft: #3a1d1b;--app-success: #47cd89;--app-success-soft: #14301f;--app-warning: #fdb022;--app-warning-soft: #33260f;--app-focus: rgba(177, 149, 230, .32);--chart-1: #3987e5;--chart-2: #d95926;--chart-3: #199e70;--chart-5: #d55181}}:root[data-theme=dark]{color-scheme:dark;--app-bg: #14111b;--app-surface: #1d1928;--app-surface-hover: #262133;--app-surface-selected: #2e2445;--app-border: #3a3350;--app-border-subtle: #2a2538;--app-text: #ece9f4;--app-text-muted: #a49eb7;--app-primary: #b195e6;--app-primary-text: #1a1426;--app-ink: #100d17;--app-ink-text: #ece9f4;--app-ink-muted: #9a90b3;--app-danger: #f97066;--app-danger-soft: #3a1d1b;--app-success: #47cd89;--app-success-soft: #14301f;--app-warning: #fdb022;--app-warning-soft: #33260f;--app-focus: rgba(177, 149, 230, .32);--chart-1: #3987e5;--chart-2: #d95926;--chart-3: #199e70;--chart-5: #d55181}*,*:before,*:after{box-sizing:border-box}html:has(app-dashboard-layout){scrollbar-gutter:stable}body{margin:0;font-family:var(--app-font);font-size:14px;line-height:1.45;color:var(--app-text);background:var(--app-bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--app-display-font);letter-spacing:-.01em}td,th,.num{font-variant-numeric:tabular-nums}a{color:var(--app-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;font:inherit;font-size:13px;font-weight:600;color:var(--app-text);background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius);text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s}.btn:hover:not(:disabled){background:var(--app-surface-hover)}.btn:focus-visible{outline:0;box-shadow:0 0 0 3px var(--app-focus)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{color:var(--app-primary-text);background:var(--app-primary);border-color:var(--app-primary)}.btn--primary:hover:not(:disabled){background:var(--app-primary);filter:brightness(1.1)}.btn--danger{color:var(--app-danger)}.btn--small{height:28px;padding:0 10px;font-size:12px}.btn--large{height:48px;padding:0 24px;font-size:15px;border-radius:var(--app-radius-lg)}.app-logo{display:block;height:auto;aspect-ratio:452/476}tr.expense--no-r1{background:var(--app-warning-soft)}tr.expense--no-r1>td:first-child{box-shadow:inset 3px 0 0 var(--app-warning)}tr.row--archived{color:var(--app-text-muted);background:repeating-linear-gradient(-45deg,transparent 0 6px,color-mix(in srgb,var(--app-border) 55%,transparent) 6px 7px)}tr.row--archived>td:first-child{box-shadow:inset 3px 0 0 var(--app-text-muted)}.badge-row{display:inline-flex;flex-wrap:wrap;gap:4px}.why-disabled{position:relative;display:inline-flex}.why-disabled[data-reason]{cursor:not-allowed}.why-disabled[data-reason]>button:disabled{pointer-events:none}.why-disabled[data-reason]:hover:after{content:attr(data-reason);position:absolute;right:0;bottom:calc(100% + 8px);z-index:20;width:max-content;max-width:min(320px,100vw - 32px);padding:8px 10px;border-radius:var(--app-radius);background:var(--app-text);color:var(--app-surface);font-size:12px;font-weight:400;line-height:1.5;text-align:left;white-space:pre-line;box-shadow:0 4px 16px #0000002e;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page-title{margin:0 0 18px;font-size:28px;font-weight:700;line-height:1.15;letter-spacing:-.02em}.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:12px}.page-head .page-title{margin:0}.page-head app-select{min-width:220px}.period-note{margin:-8px 0 16px;color:var(--app-text-muted)}.period-note strong{color:var(--app-text)}.period-note a{color:var(--app-primary)}.alert{margin:0 0 12px;padding:10px 12px;border-radius:var(--app-radius);color:var(--app-danger);background:var(--app-surface);border:1px solid var(--app-danger)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;color:var(--app-text-muted);background:var(--app-surface-hover)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge--success{color:var(--app-success);background:var(--app-success-soft)}.badge--danger{color:var(--app-danger);background:var(--app-danger-soft)}.badge--warning{color:var(--app-warning);background:var(--app-warning-soft)}.badge--info{color:var(--app-primary);background:var(--app-surface-selected)}.form-card{max-width:720px;padding:22px;background:var(--app-surface);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.user-payments{margin-top:16px}.user-payments__title{margin-top:0}.form-section{margin:20px 0 10px;font-size:14px;font-weight:600}.form-grid+.form-grid{margin-top:16px}.form-note{margin:16px 0 0;padding:10px 12px;border-radius:var(--app-radius);color:var(--app-text-muted);background:var(--app-surface-hover)}.form-note strong{color:var(--app-text)}.form-card>.form-note:first-child{margin:0 0 16px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}@media (max-width: 520px){:is(app-pay-page,app-register-page,app-member-expenses-page) .form-actions{flex-direction:column-reverse;align-items:stretch;gap:10px}:is(app-pay-page,app-register-page,app-member-expenses-page) .form-actions>.btn,:is(app-pay-page,app-register-page,app-member-expenses-page) .form-actions>.why-disabled,:is(app-pay-page,app-register-page,app-member-expenses-page) .form-actions>.why-disabled>.btn{width:100%}:is(app-pay-page,app-register-page,app-member-expenses-page) .form-actions .btn{height:48px;font-size:15px}}.mark-paid__who{margin:0 0 12px;font-weight:500}.mark-paid__hint{margin:12px 0 0;font-size:13px;color:var(--app-text-muted)}.list-filter{flex:1 1 140px;min-width:130px}.user-payments__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.user-payments__head .form-section{margin:0}.mark-paid__fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:12px}.user-payments__add{margin-left:auto}app-dashboard-layout :is(.tiles,.wallets,.figures,.totals)>*{animation:pop-in .32s cubic-bezier(.2,.9,.3,1.2) backwards}app-dashboard-layout :is(.tiles,.wallets,.figures,.totals)>*:nth-child(2){animation-delay:.05s}app-dashboard-layout :is(.tiles,.wallets,.figures,.totals)>*:nth-child(3){animation-delay:.1s}app-dashboard-layout :is(.tiles,.wallets,.figures,.totals)>*:nth-child(n+4){animation-delay:.15s}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.96)}}html:has(dialog[open]){overflow:hidden}dialog[open]{animation:dialog-in .18s ease-out}dialog[open]::backdrop{animation:backdrop-in .18s ease-out}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes backdrop-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
