@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Inter+Tight:wght@500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Inter Tight", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:2.5rem;--s-8:3.5rem;--r-sm:.5rem;--r-md:.75rem;--r-lg:1rem;--r-pill:999px;--layout-max-width:96rem;--layout-gutter:2rem;--layout-gutter-sm:1.25rem;--sidebar-width:4.5rem;--sidebar-width-expanded:16.25rem;--tabbar-height:5.125rem;--hairline:1px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.15s;--dur-base:.22s;--bg:#fbfaf9;--bg-subtle:#f4f2ef;--surface:#fff;--surface-hover:#f4f2ef;--border:#e5e2de;--border-strong:#cfcbc5;--overlay:#15171c8c;--text:#15171c;--text-muted:#575c64;--text-subtle:#6b7280;--primary:#15171c;--primary-hover:#2b2f37;--on-primary:#fff;--accent:#1d4ed8;--accent-soft:#ebf0fe;--on-accent:#fff;--focus:#1d4ed8;--success:#12734f;--success-soft:#e7f4ee;--warning:#8a5300;--warning-soft:#fbf0dc;--danger:#b42318;--danger-soft:#fdecea;--danger-hover:#961b12;--shadow-raised:0 1px 3px #15171c1f;--shadow-toast:0 12px 32px -6px #15171c33;--shadow-modal:0 18px 44px -8px #15171c33;--shadow-sheet:0 -8px 36px -4px #15171c33;--hue-blue:#2563eb;--hue-indigo:#4f46e5;--hue-sky:#0ea5e9;--hue-cyan:#06b6d4;--hue-teal:#0d9488;--hue-emerald:#10b981;--hue-green:#16a34a;--hue-forest:#15803d;--hue-moss:#4d7c0f;--hue-lime:#84cc16;--hue-amber:#f59e0b;--hue-orange:#f97316;--hue-crimson:#e11d48;--hue-rose:#be185d;--hue-pink:#ec4899;--hue-fuchsia:#c026d3;--hue-violet:#7c3aed;--hue-slate:#64748b;--hue-stone:#78716c;--on-hue-blue:#fff;--on-hue-indigo:#fff;--on-hue-sky:#15171c;--on-hue-cyan:#15171c;--on-hue-teal:#15171c;--on-hue-emerald:#15171c;--on-hue-green:#15171c;--on-hue-forest:#fff;--on-hue-moss:#fff;--on-hue-lime:#15171c;--on-hue-amber:#15171c;--on-hue-orange:#15171c;--on-hue-crimson:#fff;--on-hue-rose:#fff;--on-hue-pink:#15171c;--on-hue-fuchsia:#fff;--on-hue-violet:#fff;--on-hue-slate:#fff;--on-hue-stone:#fff;--cat-logement:#2563eb;--cat-alimentation:#f97316;--cat-transport:#f59e0b;--cat-abonnements:#7c3aed;--cat-loisirs:#ec4899;--cat-sante:#06b6d4}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#0e1013;--bg-subtle:#14171c;--surface:#171a1f;--surface-hover:#1f232a;--border:#272c34;--border-strong:#3a404a;--overlay:#000000a6;--text:#f3f4f6;--text-muted:#a8aeb8;--text-subtle:#8d949e;--primary:#f3f4f6;--primary-hover:#dcdee3;--on-primary:#15171c;--accent:#89a6ff;--accent-soft:#1b2540;--on-accent:#0e1013;--focus:#89a6ff;--success:#5fcb99;--success-soft:#12291f;--warning:#e8b057;--warning-soft:#2a2113;--danger:#f58a80;--danger-soft:#2c1614;--danger-hover:#ffa9a1;--hue-blue:#60a5fa;--hue-indigo:#818cf8;--hue-sky:#38bdf8;--hue-cyan:#22d3ee;--hue-teal:#2dd4bf;--hue-emerald:#34d399;--hue-green:#4ade80;--hue-forest:#22c55e;--hue-moss:#a3c13b;--hue-lime:#a3e635;--hue-amber:#fbbf24;--hue-orange:#fb923c;--hue-crimson:#fb7185;--hue-rose:#f58ab0;--hue-pink:#f472b6;--hue-fuchsia:#e879f9;--hue-violet:#a78bfa;--hue-slate:#94a3b8;--hue-stone:#a8a29e;--on-hue-blue:#0e1013;--on-hue-indigo:#0e1013;--on-hue-sky:#0e1013;--on-hue-cyan:#0e1013;--on-hue-teal:#0e1013;--on-hue-emerald:#0e1013;--on-hue-green:#0e1013;--on-hue-forest:#0e1013;--on-hue-moss:#0e1013;--on-hue-lime:#0e1013;--on-hue-amber:#0e1013;--on-hue-orange:#0e1013;--on-hue-crimson:#0e1013;--on-hue-rose:#0e1013;--on-hue-pink:#0e1013;--on-hue-fuchsia:#0e1013;--on-hue-violet:#0e1013;--on-hue-slate:#0e1013;--on-hue-stone:#0e1013;--cat-logement:#60a5fa;--cat-alimentation:#fb923c;--cat-transport:#fbbf24;--cat-abonnements:#a78bfa;--cat-loisirs:#f472b6;--cat-sante:#22d3ee}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1013;--bg-subtle:#14171c;--surface:#171a1f;--surface-hover:#1f232a;--border:#272c34;--border-strong:#3a404a;--overlay:#000000a6;--text:#f3f4f6;--text-muted:#a8aeb8;--text-subtle:#8d949e;--primary:#f3f4f6;--primary-hover:#dcdee3;--on-primary:#15171c;--accent:#89a6ff;--accent-soft:#1b2540;--on-accent:#0e1013;--focus:#89a6ff;--success:#5fcb99;--success-soft:#12291f;--warning:#e8b057;--warning-soft:#2a2113;--danger:#f58a80;--danger-soft:#2c1614;--danger-hover:#ffa9a1;--hue-blue:#60a5fa;--hue-indigo:#818cf8;--hue-sky:#38bdf8;--hue-cyan:#22d3ee;--hue-teal:#2dd4bf;--hue-emerald:#34d399;--hue-green:#4ade80;--hue-forest:#22c55e;--hue-moss:#a3c13b;--hue-lime:#a3e635;--hue-amber:#fbbf24;--hue-orange:#fb923c;--hue-crimson:#fb7185;--hue-rose:#f58ab0;--hue-pink:#f472b6;--hue-fuchsia:#e879f9;--hue-violet:#a78bfa;--hue-slate:#94a3b8;--hue-stone:#a8a29e;--on-hue-blue:#0e1013;--on-hue-indigo:#0e1013;--on-hue-sky:#0e1013;--on-hue-cyan:#0e1013;--on-hue-teal:#0e1013;--on-hue-emerald:#0e1013;--on-hue-green:#0e1013;--on-hue-forest:#0e1013;--on-hue-moss:#0e1013;--on-hue-lime:#0e1013;--on-hue-amber:#0e1013;--on-hue-orange:#0e1013;--on-hue-crimson:#0e1013;--on-hue-rose:#0e1013;--on-hue-pink:#0e1013;--on-hue-fuchsia:#0e1013;--on-hue-violet:#0e1013;--on-hue-slate:#0e1013;--on-hue-stone:#0e1013;--cat-logement:#60a5fa;--cat-alimentation:#fb923c;--cat-transport:#fbbf24;--cat-abonnements:#a78bfa;--cat-loisirs:#f472b6;--cat-sante:#22d3ee}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}*{font:inherit;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100svh;position:relative}ul,li{list-style:none}input,textarea,select,button{box-sizing:border-box;color:inherit;font:inherit;background:0 0;border:none;border-radius:0;outline:none;display:block}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-subtle);opacity:1}:-webkit-any(input:-webkit-autofill,input:-webkit-autofill-selected){background:0 0}:is(input:autofill,input:-webkit-autofill-selected){background:0 0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input[type=submit]:hover,button:hover{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none;display:block}img,picture,svg,video{max-width:100%;display:block}svg{flex-shrink:0}hr{border:none;border-top:var(--hairline) solid var(--border)}::selection{background-color:var(--accent-soft);color:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{scroll-behavior:smooth;scroll-padding:5rem;overflow-x:hidden}body{font-family:var(--font-ui);background-color:var(--bg);color:var(--text);font-size:.875rem;font-weight:400;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text);font-weight:600}strong,b{font-weight:600}code,kbd,samp,pre{font-family:var(--font-mono)}body:has(.sidebar){grid-template:"appbar""header""main"minmax(0,1fr)"sidebar"/minmax(0,1fr);min-height:100svh;display:grid}@media (width>=64rem){body:has(.sidebar){grid-template-columns:var(--sidebar-width-expanded) minmax(0, 1fr);transition:grid-template-columns var(--dur-base) var(--ease-out);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"sidebar header""sidebar main"}body:has(.sidebar):has(.sidebar[data-collapsed=true]){grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}}main{min-width:0;padding-block:var(--s-5);grid-area:main;container:content/inline-size}@media (width>=64rem){main{padding-block:var(--layout-gutter)}}.wrapper{width:100%;max-width:var(--layout-max-width);padding-inline:var(--layout-gutter-sm);margin-inline:auto}@media (width>=48rem){.wrapper{padding-inline:var(--layout-gutter)}}.main{gap:var(--s-5);flex-direction:column;display:flex}.stack{gap:var(--s-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s-3);display:flex}.spacer{flex:auto}.divider{height:var(--hairline);background-color:var(--border)}.overlink{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loader{width:1.125rem;height:1.125rem}.animate-spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}.text-display{font-family:var(--font-display);letter-spacing:-.03125rem;font-size:2rem;font-weight:600;line-height:1.15}.text-page-title{font-family:var(--font-display);letter-spacing:-.025rem;font-size:1.625rem;font-weight:600;line-height:1.2}.text-title{font-family:var(--font-display);letter-spacing:-.01875rem;font-size:1.5rem;font-weight:600;line-height:1.25}.text-card-title{font-family:var(--font-ui);font-size:1.125rem;font-weight:600;line-height:1.35}.text-subtitle{font-family:var(--font-ui);font-size:1rem;font-weight:600;line-height:1.4}.text-body{font-family:var(--font-ui);font-size:.9375rem;font-weight:400;line-height:1.55}.text-body-sm{font-family:var(--font-ui);font-size:.875rem;font-weight:400;line-height:1.55}.text-label{font-family:var(--font-ui);font-size:.8125rem;font-weight:500;line-height:1.3}.text-meta{font-family:var(--font-ui);color:var(--text-subtle);font-size:.75rem;font-weight:500;line-height:1.4}.text-overline{font-family:var(--font-ui);letter-spacing:.05rem;text-transform:uppercase;color:var(--text-subtle);font-size:.6875rem;font-weight:600;line-height:1.3}.amount-xl{font-family:var(--font-mono);letter-spacing:-.03125rem;font-size:1.75rem;font-weight:500;line-height:1.2}.amount-lg{font-family:var(--font-mono);letter-spacing:-.0375rem;font-size:1.625rem;font-weight:500;line-height:1.25}.amount{font-family:var(--font-mono);font-size:.875rem;font-weight:500;line-height:1.3}.amount-sm{font-family:var(--font-mono);font-size:.8125rem;font-weight:400;line-height:1.3}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.preset-1{font-family:var(--font-display);letter-spacing:-.03125rem;font-size:2rem;font-weight:600;line-height:1.15}.preset-2{font-family:var(--font-display);letter-spacing:-.01875rem;font-size:1.5rem;font-weight:600;line-height:1.25}.preset-3{font-family:var(--font-ui);font-size:1.125rem;font-weight:600;line-height:1.35}.preset-4{font-family:var(--font-ui);font-size:.875rem;font-weight:400;line-height:1.55}.preset-4-bold{font-family:var(--font-ui);font-size:.875rem;font-weight:600;line-height:1.55}.preset-5{font-family:var(--font-ui);font-size:.75rem;font-weight:500;line-height:1.4}.preset-5-bold{font-family:var(--font-ui);font-size:.75rem;font-weight:600;line-height:1.4}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{justify-content:center;align-items:center;gap:var(--s-2);padding:.625rem var(--s-4);border:var(--hairline) solid transparent;border-radius:var(--r-md);font-family:var(--font-ui);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) ease-out, border-color var(--dur-fast) ease-out, color var(--dur-fast) ease-out;font-size:.875rem;font-weight:500;line-height:1.2;display:inline-flex}.btn svg{width:1rem;height:1rem}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover{background-color:var(--surface-hover)}.btn-ghost{color:var(--text);background-color:#0000}.btn-ghost:hover{background-color:var(--surface-hover)}.btn-accent{background-color:var(--accent);color:var(--on-accent)}.btn-accent:hover{filter:brightness(1.08)}.btn-danger{background-color:var(--danger);color:var(--on-accent)}.btn-danger:hover{background-color:var(--danger-hover)}.btn-danger-soft{background-color:var(--danger-soft);color:var(--danger)}.btn-danger-soft:hover{background-color:var(--danger-soft);filter:brightness(.97)}.btn-link{color:var(--accent);background:0 0;border:none;padding:0;font-size:.8125rem}.btn-link svg{width:.875rem;height:.875rem}.btn-link:hover{text-decoration:underline}.btn-icon{background-color:var(--surface);border-color:var(--border-strong);width:2.5rem;height:2.5rem;color:var(--text);padding:0}.btn-icon svg{width:1.125rem;height:1.125rem}.btn-icon:hover{background-color:var(--surface-hover)}.btn-icon-sm{width:var(--s-6);height:var(--s-6);background-color:var(--surface);border-color:var(--border-strong);border-radius:var(--r-sm);color:var(--text-muted);padding:0}.btn-icon-sm svg{width:.9375rem;height:.9375rem}.btn-icon-sm:hover{background-color:var(--surface-hover);color:var(--text)}.btn-icon-sm.is-danger:hover{border-color:var(--danger);color:var(--danger)}.btn-block{width:100%}.btn-sm{padding:.4375rem var(--s-3);font-size:.8125rem}.btn-fab{right:1.25rem;bottom:calc(var(--tabbar-height) + var(--s-4));border-radius:var(--r-pill);background-color:var(--accent);width:3.5rem;height:3.5rem;color:var(--on-accent);box-shadow:var(--shadow-toast);z-index:40;padding:0;position:fixed}.btn-fab svg{width:var(--s-5);height:var(--s-5)}.btn-fab:hover{filter:brightness(1.08)}@media (width>=64rem){.btn-fab{display:none}}.badge{border-radius:var(--r-pill);font-family:var(--font-ui);white-space:nowrap;align-items:center;gap:.375rem;padding:.3125rem .625rem;font-size:.75rem;font-weight:600;line-height:1.2;display:inline-flex}.badge:before{content:"";border-radius:var(--r-pill);background-color:currentColor;flex-shrink:0;width:.4375rem;height:.4375rem}.badge.no-dot:before{display:none}.badge-paid{background-color:var(--success-soft);color:var(--success)}.badge-upcoming{background-color:var(--warning-soft);color:var(--warning)}.badge-neutral{background-color:var(--bg-subtle);color:var(--text-muted)}.badge-accent{background-color:var(--accent-soft);color:var(--accent)}.badge.has-accent-dot:before{background-color:var(--accent)}.badge-category{background-color:color-mix(in srgb, var(--hue,var(--accent)) 12%, transparent);color:var(--hue,var(--accent))}.count{border-radius:var(--r-pill);background-color:var(--bg-subtle);min-width:1.25rem;color:var(--text-muted);justify-content:center;align-items:center;padding:.125rem .4375rem;font-size:.6875rem;font-weight:600;line-height:1.3;display:inline-flex}.trend{align-items:center;gap:var(--s-1);border-radius:var(--r-pill);padding:.1875rem .4375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.trend svg{width:.75rem;height:.75rem}.trend.is-down{background-color:var(--success-soft);color:var(--success)}.trend.is-up{background-color:var(--danger-soft);color:var(--danger)}.trend.is-flat{background-color:var(--bg-subtle);color:var(--text-muted)}.tooltip{border-radius:var(--r-sm);background-color:var(--text);color:var(--bg);white-space:nowrap;pointer-events:none;align-items:center;padding:.4375rem .625rem;font-size:.75rem;font-weight:500;line-height:1.2;display:inline-flex}.avatar{width:var(--s-6);height:var(--s-6);border-radius:var(--r-pill);background-color:var(--accent-soft);color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.avatar.is-lg{width:3rem;height:3rem;font-size:1rem}.icon-tile{border-radius:var(--r-sm);background-color:var(--hue,var(--bg-subtle));width:2.125rem;height:2.125rem;color:var(--on-hue,var(--text-muted));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-tile svg{width:1.0625rem;height:1.0625rem}.icon-tile.is-neutral{background-color:var(--bg-subtle);color:var(--text-muted);border-radius:.625rem;width:2.25rem;height:2.25rem}.icon-tile.is-lg{width:2.375rem;height:2.375rem}.icon-tile.is-lg svg{width:1.1875rem;height:1.1875rem}.card{background-color:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--r-md);flex-direction:column;min-width:0;display:flex;overflow:hidden}.card-header{align-items:center;gap:var(--s-3);border-bottom:var(--hairline) solid var(--border);padding:.9375rem 1.25rem;display:flex}.card-heading{flex-direction:column;flex:auto;gap:.125rem;min-width:0;display:flex}.card-title{font-family:var(--font-ui);color:var(--text);font-size:.9375rem;font-weight:600;line-height:1.4}.card-subtitle{font-family:var(--font-ui);color:var(--text-subtle);font-size:.75rem;font-weight:400;line-height:1.4}.card-action:focus-visible{outline:2px solid var(--focus);outline-offset:0}.card-action{border-radius:var(--r-sm);min-width:2rem;height:2rem;color:var(--accent);white-space:nowrap;transition:background-color var(--dur-fast) ease-out;flex-shrink:0;justify-content:center;align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.8125rem;font-weight:500;display:inline-flex}.card-action .chevron{flex-shrink:0;width:.9375rem;height:.9375rem}.card-action:hover{background-color:var(--accent-soft)}@media (width<=37.499rem){.card-action{padding-inline:0}.card-action .label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.card-body{gap:var(--s-3);flex-direction:column;min-width:0;padding:1.25rem;display:flex}.card-flush>.card-body{gap:0;padding:0}.metric-card{background-color:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:.625rem;min-width:0;padding:1.25rem;display:flex}.metric-label{align-items:center;gap:var(--s-2);color:var(--text-subtle);letter-spacing:.025rem;font-size:.75rem;font-weight:600;display:flex}.metric-label svg{width:1rem;height:1rem;margin-left:auto}.metric-value{font-family:var(--font-mono);letter-spacing:-.0375rem;color:var(--text);font-size:1.625rem;font-weight:500;line-height:1.25}.metric-trend{align-items:center;gap:var(--s-2);color:var(--text-subtle);font-size:.6875rem;display:flex}.summary{background-color:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--r-md);padding:var(--s-4) 1.25rem;flex-wrap:wrap;display:flex}@media (width<=47.999rem){.summary{flex-direction:column}}.summary-stat{gap:var(--s-1);flex-direction:column;flex:10rem;min-width:0;display:flex}.summary-stat+.summary-stat{padding-left:var(--s-5);border-left:var(--hairline) solid var(--border);margin-left:var(--s-5)}@media (width<=47.999rem){.summary-stat+.summary-stat{padding:var(--s-3) 0 0;margin:var(--s-3) 0 0;border-left:none;border-top:var(--hairline) solid var(--border)}}.summary-stat .label{font-family:var(--font-ui);letter-spacing:.05rem;text-transform:uppercase;color:var(--text-subtle);font-size:.6875rem;font-weight:600;line-height:1.3}.summary-stat .value{font-family:var(--font-mono);color:var(--text);font-size:1.125rem;font-weight:500;line-height:1.3}.due-card{background-color:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--r-md);padding:var(--s-3) .875rem;align-items:center;gap:.875rem;display:flex;position:relative}.due-card:has(>.row-trigger){transition:background-color var(--dur-fast) ease-out}.due-card:has(>.row-trigger):hover{background-color:var(--surface-hover)}.due-card:has(>.row-trigger):focus-within{border-color:var(--border-strong)}.due-card>.row-trigger{border-radius:inherit;cursor:pointer;position:absolute;inset:0}.due-card>.row-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.due-card>.due-actions{z-index:1;position:relative}.due-date{border-radius:var(--r-sm);background-color:var(--bg-subtle);flex-direction:column;flex-shrink:0;align-items:center;gap:1px;width:2.875rem;padding-block:.4375rem;display:flex}.due-date .day{font-family:var(--font-mono);color:var(--text);font-size:1rem;font-weight:500}.due-date .month{letter-spacing:.0375rem;text-transform:uppercase;color:var(--text-subtle);font-size:.5625rem;font-weight:600}.due-body{gap:var(--s-1);flex-direction:column;flex:auto;min-width:0;display:flex}.due-body .name{color:var(--text);font-size:.875rem;font-weight:600}.due-body .meta{align-items:center;gap:var(--s-2);min-width:0;color:var(--text-subtle);font-size:.75rem;display:flex;overflow:hidden}.due-body .meta>.badge{flex-shrink:0}.due-body .meta>span:not(.badge){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.due-values{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.3125rem;display:flex}.due-values .amount{font-family:var(--font-mono);color:var(--text);font-size:.875rem;font-weight:500;line-height:1.3}.budget-row{flex-direction:column;gap:.5625rem;min-width:0;display:flex}.budget-head{align-items:center;gap:var(--s-3);display:flex}.budget-head .identity{align-items:center;gap:var(--s-2);flex:auto;min-width:0;display:flex}.budget-head .dot{border-radius:var(--r-pill);background-color:var(--hue,var(--accent));flex-shrink:0;width:.5625rem;height:.5625rem}.budget-head .name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.budget-head .figures{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;font-size:.8125rem;font-weight:400;line-height:1.3}.progress{height:var(--s-2);border-radius:var(--r-pill);background-color:var(--bg-subtle);overflow:hidden}.progress.is-thin{height:var(--s-1)}.progress>.bar{height:100%;width:var(--value,0%);border-radius:var(--r-pill);background-color:var(--hue,var(--accent));max-width:100%;transition:width var(--dur-base) var(--ease-out)}.budget-foot{justify-content:space-between;align-items:center;gap:var(--s-3);font-size:.75rem;display:flex}.budget-foot .remaining{color:var(--text-subtle)}.budget-foot .percent{color:var(--text-muted);font-weight:600}.detail-amount{font-family:var(--font-mono);letter-spacing:-.0375rem;color:var(--text);font-size:1.625rem;font-weight:500;line-height:1.25}.detail-amount .is-income{color:var(--success)}.detail-list{flex-direction:column;display:flex}.detail-row{justify-content:space-between;align-items:baseline;gap:var(--s-4);min-width:0;padding-block:.625rem;display:flex}.detail-row+.detail-row{border-top:var(--hairline) solid var(--border)}.detail-row dt{font-family:var(--font-ui);color:var(--text-subtle);flex-shrink:0;font-size:.8125rem;font-weight:500;line-height:1.3}.detail-row dd{font-family:var(--font-ui);color:var(--text);text-align:right;word-break:break-word;min-width:0;font-size:.875rem;font-weight:400;line-height:1.55}@media (width<=37.499rem){.detail-row{flex-direction:column;align-items:stretch;gap:.125rem}.detail-row dd{text-align:left}}.table{table-layout:fixed;border-collapse:collapse;--col-pad:1.75rem;--col-date:6.25rem;--col-category:9.375rem;--col-method:8.75rem;--col-amount:6.875rem;--col-count:6.25rem;--col-total:6.875rem;--col-share:5.625rem;--col-operations:6.875rem;--col-recurrence:6.25rem;--col-actions:4.375rem;width:100%;min-width:0}.table-caption{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table-header{background-color:var(--bg-subtle)}.table-header th{border-bottom:var(--hairline) solid var(--border);letter-spacing:.01875rem;color:var(--text-subtle);text-align:left;vertical-align:middle;overflow-wrap:break-word;padding:.6875rem 1.25rem;font-size:.75rem;font-weight:600}.table-header th+th{padding-left:var(--s-2)}.column-sort:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.column-sort{color:inherit;font:inherit;letter-spacing:inherit;border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:.375rem;display:inline-flex}.column-sort .sort-icon{opacity:.45;width:.8125rem;height:.8125rem;transition:opacity var(--dur-fast) ease-out}.column-sort:hover{color:var(--text)}.column-sort:hover .sort-icon{opacity:1}th[aria-sort=ascending],th[aria-sort=descending]{color:var(--text)}th[aria-sort=ascending] .sort-icon,th[aria-sort=descending] .sort-icon{opacity:1}.table-row{background-color:var(--surface);transition:background-color var(--dur-fast) ease-out}.table-row td{padding:var(--s-3) 1.25rem;border-bottom:var(--hairline) solid var(--border);vertical-align:middle;min-width:0}.table-row td+td{padding-left:var(--s-2)}.table-row:last-child td{border-bottom:none}.table-row:hover{background-color:var(--surface-hover)}.table-row.is-clickable{cursor:pointer}.cell-main{width:auto;min-width:0}.cell-identity{align-items:center;gap:var(--s-3);min-width:0;display:flex}.cell-text{flex-direction:column;gap:.125rem;min-width:0;display:flex}.cell-text .primary{align-items:center;gap:var(--s-2);color:var(--text);min-width:0;font-size:.875rem;font-weight:500;display:flex}.cell-text .primary>.name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cell-text .primary>.badge{flex-shrink:0}.cell-text .secondary{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.cell-date{width:calc(var(--col-date) + var(--col-pad));color:var(--text-muted);font-size:.8125rem}.cell-category{width:calc(var(--col-category) + var(--col-pad))}.cell-method{width:calc(var(--col-method) + var(--col-pad));color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.cell-recurrence{width:calc(var(--col-recurrence) + var(--col-pad))}.cell-recurrence .empty-cell{color:var(--text-subtle)}.cell-amount{width:calc(var(--col-amount) + var(--col-pad));font-family:var(--font-mono);color:var(--text);font-size:.875rem;font-weight:500;line-height:1.3}.cell-amount.is-income{color:var(--success)}.cell-count{width:calc(var(--col-count) + var(--col-pad))}.cell-count .value{font-family:var(--font-mono);color:var(--text);font-size:.8125rem;font-weight:400;line-height:1.3}.cell-count .unit{color:var(--text-subtle);font-size:.75rem}.cell-total{width:calc(var(--col-total) + var(--col-pad));font-family:var(--font-mono);color:var(--text);font-size:.8125rem;font-weight:400;line-height:1.3}.cell-share{width:calc(var(--col-share) + var(--col-pad))}.cell-share .percent{font-family:var(--font-mono);color:var(--text-muted);font-size:.71875rem}.cell-operations{width:calc(var(--col-operations) + var(--col-pad));color:var(--text-muted);font-size:.8125rem}.cell-actions{width:calc(var(--col-actions) + var(--col-pad));white-space:nowrap}.cell-actions>*{vertical-align:middle}.cell-actions .btn+.btn{margin-left:.375rem}td.cell-actions,th.cell-actions,td.cell-amount,th.cell-amount,td.cell-total,th.cell-total{text-align:right}.table-empty-row>td{background-color:var(--surface);padding:0}.table-empty{align-items:center;gap:var(--s-2);padding:var(--s-8) var(--s-5);text-align:center;flex-direction:column;display:flex}.table-empty .title{font-family:var(--font-ui);color:var(--text);font-size:1rem;font-weight:600;line-height:1.4}.table-empty .description{font-family:var(--font-ui);color:var(--text-muted);max-width:26.25rem;font-size:.875rem;font-weight:400;line-height:1.55}@media (width<=47.999rem){.table-header,.cell-date,.cell-method,.cell-category,.cell-count,.cell-share,.cell-operations,.cell-recurrence,.cell-actions{display:none}.table-row td{padding-inline:var(--s-4)}.table-row td+td{padding-left:var(--s-2)}.cell-amount{width:auto}.cell-text .primary{font-size:.90625rem;font-weight:600}.cell-text .secondary{color:var(--text-muted)}}.operations-table .cell-direction{display:none}.recent-table{--col-date:4.375rem;--col-category:7.5rem;--col-amount:6.25rem}.recurring-table{--col-method:6.875rem;--col-date:7.5rem;--col-actions:6.75rem}@media (width<=87.499rem){.operations-table .cell-category,.recurring-table .cell-category,.recent-table .cell-category,.operations-table .cell-method,.recurring-table .cell-method{display:none}}.tabs{align-items:center;gap:var(--s-5);border-bottom:var(--hairline) solid var(--border);display:flex}.tab:focus-visible{outline:2px solid var(--focus);outline-offset:0}.tab{padding:.625rem .125rem var(--s-3);color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) ease-out, border-color var(--dur-fast) ease-out;border-bottom:2px solid #0000;align-items:center;gap:.4375rem;font-size:.875rem;font-weight:500;display:inline-flex}.tab svg{width:var(--s-4);height:var(--s-4);color:var(--text-subtle)}.tab:hover{color:var(--text)}.tab.active{border-bottom-color:var(--primary);color:var(--text);font-weight:600}.tab.active svg{color:var(--text)}.filters{align-items:center;gap:var(--s-3);flex-wrap:wrap;min-width:0;display:flex}.chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.chip{border:var(--hairline) solid var(--border-strong);border-radius:var(--r-pill);background-color:var(--surface);color:var(--text);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) ease-out, border-color var(--dur-fast) ease-out;align-items:center;gap:.4375rem;padding:.4375rem .6875rem;font-size:.8125rem;font-weight:500;display:inline-flex}.chip svg{width:.875rem;height:.875rem;color:var(--text-subtle)}.chip:hover{background-color:var(--surface-hover)}.chip.active{border-color:var(--accent);background-color:var(--accent-soft);color:var(--accent)}.chip.active svg{color:var(--accent)}.form{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.form-row{gap:var(--s-4);min-width:0;display:flex}.form-row>*{flex:1 1 0;min-width:0}@media (width<=37.499rem){.form-row{flex-direction:column}}.required{color:var(--danger);cursor:help;margin-left:.1875rem}.form-element{flex-direction:column;gap:.375rem;min-width:0;display:flex}.form-element:has(.form-element-select){position:relative}.form-element .label{font-family:var(--font-ui);color:var(--text);font-size:.8125rem;font-weight:500;line-height:1.3}.form-element .input{width:100%;padding:.625rem var(--s-3);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-sm);background-color:var(--surface);color:var(--text);font-family:var(--font-ui);transition:border-color var(--dur-fast) ease-out, box-shadow var(--dur-fast) ease-out;font-size:.875rem;line-height:1.4}.form-element .input:hover:not(:disabled,:focus){border-color:var(--text-subtle)}.form-element .input:focus-visible{border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--focus) 28%, transparent);outline:none}.form-element .input:disabled{background-color:var(--bg-subtle);color:var(--text-subtle)}.form-element textarea.input{min-height:5.5rem;line-height:1.55}.form-element .input-amount{font-family:var(--font-mono);text-align:right}.form-element .info,.form-element .hint{color:var(--text-muted);align-items:center;gap:.3125rem;font-size:.75rem;line-height:1.4;display:flex}.form-element .info svg,.form-element .hint svg{width:.875rem;height:.875rem}.form-element .info{justify-content:flex-end}:is(.form-element:has(.message-error) .input,.form-element:has(.message-error) .form-element-btn,.form-element:has(.message-error) .form-element-select){border-color:var(--danger)}.form-element-btn{align-items:center;gap:var(--s-2);padding:.625rem var(--s-3);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-sm);background-color:var(--surface);transition:border-color var(--dur-fast) ease-out, box-shadow var(--dur-fast) ease-out;display:flex}.form-element-btn:focus-within{border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--focus) 28%, transparent)}.form-element-btn .input{background:0 0;border:none;border-radius:0;flex:auto;padding:0}.form-element-btn .input:focus-visible{box-shadow:none}.form-element-btn button{color:var(--text-subtle);align-items:center;display:flex}.form-element-btn button:hover{color:var(--text)}.form-element-btn .icon{width:1.125rem;height:1.125rem}.form-element-select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.form-element-select{justify-content:space-between;align-items:center;gap:var(--s-2);width:100%;padding:.625rem var(--s-3);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-sm);background-color:var(--surface);color:var(--text);font-family:var(--font-ui);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) ease-out, box-shadow var(--dur-fast) ease-out;font-size:.875rem;line-height:1.4;display:flex}.form-element-select:hover:not([data-open]){border-color:var(--text-subtle)}.form-element-select[data-open]{border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--focus) 28%, transparent)}.form-element-select[data-placeholder] .value{color:var(--text-subtle)}.form-element-select .value{align-items:center;gap:var(--s-2);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;display:flex;overflow:hidden}.form-element-select .value svg{width:var(--s-4);height:var(--s-4);color:var(--text-subtle);flex-shrink:0}.form-element-select .arrow{width:.875rem;height:.875rem;color:var(--text-subtle);transition:rotate var(--dur-base) ease-out;flex-shrink:0}.form-element-select[data-open] .arrow{rotate:180deg}.form-element-options{z-index:2;width:100%;max-height:16.125rem;padding:var(--s-2);border:var(--hairline) solid var(--border);border-radius:var(--r-md);background-color:var(--surface);box-shadow:var(--shadow-modal);scrollbar-width:none;-ms-overflow-style:none;position:absolute;overflow:hidden auto}.form-element-options::-webkit-scrollbar{display:none}.form-element-options .option{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2);border-radius:var(--r-sm);cursor:pointer;font-size:.875rem;display:flex}.form-element-options .option:hover{background-color:var(--surface-hover)}.form-element-options .option.is-selected{background-color:var(--accent-soft);color:var(--accent)}.form-element-options .option.is-disabled{cursor:not-allowed}.form-element-options .option.is-disabled .option-theme{opacity:.35;pointer-events:none}.form-element-options .option-theme{align-items:center;gap:var(--s-3);min-width:0;display:flex}.form-element-options .option-meta{color:var(--text-subtle);flex-shrink:0;font-size:.75rem}.form-element-options .theme{align-items:center;gap:var(--s-3);flex:auto;min-width:0;display:flex}.color{width:var(--s-4);height:var(--s-4);border-radius:var(--r-pill);flex-shrink:0;display:block}.checkbox{cursor:pointer;align-items:center;gap:.625rem;padding-block:.125rem;display:flex}.checkbox input[type=checkbox]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.checkbox .box{border:var(--hairline) solid var(--border-strong);background-color:var(--surface);color:#0000;width:1.25rem;height:1.25rem;transition:background-color var(--dur-fast) ease-out, border-color var(--dur-fast) ease-out;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.checkbox .box svg{width:.8125rem;height:.8125rem}.checkbox .text{font-family:var(--font-ui);color:var(--text);font-size:.875rem;font-weight:400;line-height:1.55}.checkbox input:checked+.box{background-color:var(--accent);border-color:var(--accent);color:var(--on-accent)}.checkbox input:focus-visible+.box{outline:2px solid var(--focus);outline-offset:2px}.checkbox input:disabled+.box{background-color:var(--bg-subtle);border-color:var(--border)}.switch{align-items:center;gap:var(--s-3);cursor:pointer;padding-block:.125rem;display:flex}.switch input[type=checkbox]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.switch .track{border-radius:var(--r-pill);background-color:var(--border-strong);width:2.5rem;height:1.375rem;transition:background-color var(--dur-base) var(--ease-out);flex-shrink:0;align-items:center;padding-inline:.1875rem;display:inline-flex}.switch .knob{width:var(--s-4);height:var(--s-4);border-radius:var(--r-pill);background-color:var(--surface);transition:translate var(--dur-base) var(--ease-out)}.switch .text{font-family:var(--font-ui);color:var(--text);font-size:.875rem;font-weight:400;line-height:1.55}.switch input:checked+.track{background-color:var(--accent)}.switch input:checked+.track .knob{background-color:var(--on-accent);translate:1.125rem}.switch input:focus-visible+.track{outline:2px solid var(--focus);outline-offset:2px}.segmented{border-radius:var(--r-sm);background-color:var(--bg-subtle);gap:.1875rem;padding:.1875rem;display:flex}.segment:focus-visible{outline:2px solid var(--focus);outline-offset:0}.segment{min-width:0;padding:var(--s-2) var(--s-3);white-space:nowrap;text-overflow:ellipsis;border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;transition:background-color var(--dur-fast) ease-out, color var(--dur-fast) ease-out;background-color:#0000;flex:1 1 0;justify-content:center;align-items:center;gap:.4375rem;font-size:.84375rem;font-weight:500;display:inline-flex;overflow:hidden}.segment svg{width:var(--s-4);height:var(--s-4);color:var(--text-subtle)}.segment.active{background-color:var(--surface);color:var(--text);box-shadow:var(--shadow-raised);font-weight:600}.segment.active.is-expense svg{color:var(--danger)}.segment.active.is-income svg{color:var(--success)}.segment.active.is-all svg{color:var(--text)}.color-picker{gap:var(--s-2);flex-wrap:wrap;display:flex}.color-swatch:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.color-swatch{border:var(--hairline) solid var(--border);border-radius:var(--r-sm);background-color:var(--hue,var(--bg-subtle));width:2.25rem;height:2.25rem;color:var(--on-hue,var(--on-accent));cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.color-swatch svg{width:var(--s-4);height:var(--s-4);opacity:0}.color-swatch.active{border-color:var(--text)}.color-swatch.active svg{opacity:1}.color-swatch.is-disabled{cursor:not-allowed;opacity:.4;color:var(--text-muted)}.color-swatch.is-disabled svg{opacity:1}.form-actions{justify-content:flex-end;align-items:center;gap:var(--s-3);padding-top:var(--s-1);display:flex}@media (width<=37.499rem){.form-actions .btn{flex:1 1 0}}.icon-picker{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.icon-grid{gap:var(--s-2);max-height:15rem;padding:var(--s-2);border:var(--hairline) solid var(--border);border-radius:var(--r-sm);background-color:var(--bg-subtle);grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));display:grid;overflow-y:auto}.icon-option:focus-visible{outline:2px solid var(--focus);outline-offset:0}.icon-option{align-items:center;gap:var(--s-1);padding:var(--s-2);border:var(--hairline) solid transparent;border-radius:var(--r-sm);background-color:var(--surface);color:var(--text-muted);cursor:pointer;transition:border-color var(--dur-fast) ease-out, color var(--dur-fast) ease-out;flex-direction:column;display:flex}.icon-option span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.625rem;overflow:hidden}.icon-option:hover{border-color:var(--border-strong);color:var(--text)}.icon-option.active{border-color:var(--accent);background-color:var(--accent-soft);color:var(--accent)}.message-error{color:var(--danger);align-items:center;gap:.3125rem;font-size:.75rem;line-height:1.4;display:flex}.error-message{padding:.625rem var(--s-3);border-radius:var(--r-sm);background-color:var(--danger-soft);color:var(--danger)}.search{padding:.5625rem var(--s-3);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-sm);background-color:var(--surface);align-items:center;gap:.5625rem;min-width:0;display:flex}.search:focus-within{border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--focus) 28%, transparent)}.search svg{width:var(--s-4);height:var(--s-4);color:var(--text-subtle)}.search input{min-width:0;color:var(--text);flex:auto;font-size:.875rem}.category-preview{align-items:center;gap:var(--s-3);padding:.625rem var(--s-3);border:var(--hairline) solid var(--border);border-radius:var(--r-sm);background-color:var(--bg-subtle);min-width:0;display:flex}.category-preview .infos{flex-direction:column;gap:.125rem;min-width:0;display:flex}.category-preview .name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.category-preview .mention{color:var(--text-subtle);font-size:.75rem}.amount-block{padding:var(--s-3) .875rem;border:var(--hairline) solid var(--border);border-radius:var(--r-sm);background-color:var(--bg-subtle);flex-direction:column;gap:.375rem;display:flex}.amount-block .overline{font-family:var(--font-ui);letter-spacing:.05rem;text-transform:uppercase;color:var(--text-subtle);font-size:.6875rem;font-weight:600;line-height:1.3}.amount-input{align-items:baseline;gap:var(--s-2);min-width:0;display:flex}.amount-input .sign{font-family:var(--font-mono);letter-spacing:-.03125rem;color:var(--text-muted);font-size:1.75rem;font-weight:500;line-height:1.2}.amount-input .sign.is-income{color:var(--success)}.amount-input .sign.is-expense{color:var(--text)}.amount-input .input{font-family:var(--font-mono);letter-spacing:-.03125rem;min-width:0;color:var(--text);background:0 0;border:none;border-radius:0;flex:auto;padding:0;font-size:1.75rem;font-weight:500;line-height:1.2}.amount-input .input:focus-visible{box-shadow:none;outline:none}.amount-input .currency{font-family:var(--font-mono);letter-spacing:-.03125rem;color:var(--text-subtle);font-size:1.75rem;font-weight:500;line-height:1.2}.category-choice{gap:var(--s-2);flex-wrap:wrap;display:flex}.category-choice .chip{border-color:var(--border)}.category-choice .chip svg{color:var(--hue,var(--text-subtle))}.category-choice .chip.active{border-color:var(--hue,var(--accent));background-color:color-mix(in srgb, var(--hue,var(--accent)) 12%, transparent);color:var(--hue,var(--accent))}.category-choice .chip.active svg{color:var(--hue,var(--accent))}.dialog{--dialog-overlay-duration:.26s;--dialog-panel-duration:.3s;--dialog-overlay-ease:var(--ease-out);--dialog-panel-ease:cubic-bezier(.2, .9, .2, 1);--dialog-panel-transform-open:translateY(0) scale(1);--dialog-panel-transform-closed:translateY(var(--s-4)) scale(.92);--dialog-panel-transform-closing:translateY(var(--s-3)) scale(.96);--dialog-panel-opacity-open:1;--dialog-panel-opacity-closed:0;--dialog-panel-opacity-closing:0;pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;overscroll-behavior:contain;z-index:999;padding:var(--s-4);opacity:0;transition:opacity var(--dialog-overlay-duration) var(--dialog-overlay-ease), background-color var(--dialog-overlay-duration) var(--dialog-overlay-ease), visibility 0s linear var(--dialog-overlay-duration);background-color:#0000;border-width:0;place-items:center;margin:0;display:grid;position:fixed;inset:0;overflow:hidden}.dialog::backdrop{background:0 0}.dialog[open]{opacity:1;pointer-events:auto;visibility:visible;background-color:var(--overlay);transition-delay:0s}.dialog[open] .dialog-wrapper{opacity:var(--dialog-panel-opacity-open);transform:var(--dialog-panel-transform-open)}.dialog.is-closing{opacity:0;pointer-events:none;background-color:#0000}.dialog.is-closing .dialog-wrapper{opacity:var(--dialog-panel-opacity-closing);transform:var(--dialog-panel-transform-closing)}@starting-style{.dialog[open]{visibility:hidden;opacity:0;background-color:#0000}.dialog[open] .dialog-wrapper{opacity:var(--dialog-panel-opacity-closed);transform:var(--dialog-panel-transform-closed)}}.dialog .dialog-backdrop{z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.dialog .dialog-backdrop button{cursor:pointer}.dialog-wrapper{width:100%;max-width:32.5rem;max-height:calc(100svh - var(--s-6));border:var(--hairline) solid var(--border);border-radius:var(--r-lg);background-color:var(--surface);box-shadow:var(--shadow-modal);opacity:var(--dialog-panel-opacity-closed);transform:var(--dialog-panel-transform-closed);will-change:transform, opacity;transition:transform var(--dialog-panel-duration) var(--dialog-panel-ease), opacity .22s ease-out;flex-direction:column;display:flex;overflow:hidden}.dialog-header{gap:var(--s-1);padding:1.25rem var(--s-5);border-bottom:var(--hairline) solid var(--border);flex-direction:column;display:flex}.dialog-header .title{font-family:var(--font-display);letter-spacing:-.0125rem;color:var(--text);font-size:1.1875rem;font-weight:600;line-height:1.3}.dialog-header p{color:var(--text-muted);font-size:.8125rem;line-height:1.45}.dialog-header-top{justify-content:space-between;align-items:flex-start;gap:var(--s-4);display:flex}.close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.close{width:var(--s-6);height:var(--s-6);border-radius:var(--r-sm);background-color:var(--bg-subtle);color:var(--text-muted);cursor:pointer;transition:background-color var(--dur-fast) ease-out, color var(--dur-fast) ease-out;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.close svg{width:var(--s-4);height:var(--s-4)}.close:hover{background-color:var(--surface-hover);color:var(--text)}.dialog-content{gap:var(--s-4);padding:var(--s-5);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.dialog-actions{justify-content:flex-end;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-top:var(--hairline) solid var(--border);background-color:var(--bg-subtle);display:flex}@media (width<=37.499rem){.dialog-actions .btn{flex:1 1 0}}.dialog.sheet{--dialog-panel-transform-closed:translateY(100%);--dialog-panel-transform-closing:translateY(100%);--dialog-panel-opacity-closed:1;--dialog-panel-opacity-closing:.4;place-items:end stretch;padding:0}.dialog.sheet .dialog-wrapper{max-width:none;max-height:calc(100svh - var(--s-8));border-width:var(--hairline) 0 0;border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-sheet)}.dialog.sheet .dialog-header{padding-top:var(--s-2)}.dialog.sheet .dialog-header:before{content:"";width:2.375rem;height:var(--s-1);margin:.375rem auto var(--s-2);border-radius:var(--r-pill);background-color:var(--border-strong)}.dialog.sheet .dialog-actions{padding-bottom:var(--s-5);background-color:var(--surface);border-top:none}.dialog.sheet .dialog-actions .btn{flex:1 1 0}@media (width<=37.499rem){.dialog:not(.is-centered){place-items:end stretch;padding:0}.dialog:not(.is-centered) .dialog-wrapper{border-width:var(--hairline) 0 0;border-radius:var(--r-lg) var(--r-lg) 0 0;max-width:none}}.sheet-actions{flex-direction:column;margin:-.375rem -.75rem -.25rem;display:flex}.sheet-action:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.sheet-action{align-items:center;gap:var(--s-3);width:100%;padding:.875rem var(--s-2);color:var(--text);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) ease-out;font-size:.9375rem;font-weight:500;display:flex}.sheet-action+.sheet-action{border-top:var(--hairline) solid var(--border)}.sheet-action>svg{width:1.1875rem;height:1.1875rem;color:var(--text-muted);flex-shrink:0}.sheet-action .label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sheet-action .swatch{border:var(--hairline) solid var(--border);border-radius:var(--r-sm);background-color:var(--hue,var(--bg-subtle));flex-shrink:0;width:1.25rem;height:1.25rem}.sheet-action .chevron{width:var(--s-4);height:var(--s-4);color:var(--text-subtle);flex-shrink:0}.sheet-action:hover{background-color:var(--surface-hover)}.sheet-action.is-danger{color:var(--danger);border-top:var(--hairline) solid var(--border)}.sheet-action.is-danger>svg{color:var(--danger)}.sheet-action.is-danger:hover{background-color:var(--danger-soft)}.sheet-note{padding:.875rem var(--s-2) .375rem;border-top:var(--hairline) solid var(--border);color:var(--text-subtle);font-size:.78125rem;line-height:1.45}.callout{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) .875rem;border-radius:var(--r-sm);font-size:.8125rem;line-height:1.45;display:flex}.callout svg{width:var(--s-4);height:var(--s-4);flex-shrink:0;margin-top:.0625rem}.callout.is-danger{background-color:var(--danger-soft);color:var(--danger)}.danger-zone{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) .875rem;border:var(--hairline) solid var(--border);border-radius:var(--r-sm);background-color:var(--bg-subtle);display:flex}.danger-zone .infos{flex-direction:column;gap:.125rem;min-width:0;display:flex}.danger-zone .label{font-family:var(--font-ui);color:var(--text);font-size:.8125rem;font-weight:500;line-height:1.3}.danger-zone .description{color:var(--text-muted);font-size:.75rem;line-height:1.4}@media (width<=37.499rem){.danger-zone{flex-direction:column;align-items:stretch}.danger-zone .btn{width:100%}}.toast{align-items:flex-start;gap:var(--s-3);width:100%;max-width:24.625rem;padding:.875rem var(--s-4);font-family:var(--font-ui);display:flex;border:var(--hairline) solid var(--border)!important;border-radius:var(--r-md)!important;background-color:var(--surface)!important;color:var(--text)!important;box-shadow:var(--shadow-toast)!important}.toast-title{color:var(--text);font-size:.84375rem;font-weight:600}.toast-description{color:var(--text-muted);font-size:.78125rem;line-height:1.45}.toast-icon{border-radius:var(--r-sm);background-color:var(--bg-subtle);width:1.75rem;height:1.75rem;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.toast-icon svg{width:var(--s-4);height:var(--s-4)}.toast-action{color:var(--accent);cursor:pointer;padding-top:.3125rem;font-size:.78125rem;font-weight:600}.toast-close{width:var(--s-5);height:var(--s-5);border-radius:var(--r-sm);color:var(--text-subtle);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.toast-close svg{width:.875rem;height:.875rem}.toast-close:hover{background-color:var(--surface-hover);color:var(--text)}@media (width<=47.999rem){[data-sonner-toaster][data-y-position=top]{--offset:4rem}}.toast[data-type=success] .toast-icon{background-color:var(--success-soft);color:var(--success)}.toast[data-type=warning] .toast-icon{background-color:var(--warning-soft);color:var(--warning)}.toast[data-type=error] .toast-icon{background-color:var(--danger-soft);color:var(--danger)}.toast[data-type=info] .toast-icon{background-color:var(--accent-soft);color:var(--accent)}.dropdown-menu{z-index:60;min-width:13.75rem;max-width:min(26.25rem, 100vw - var(--s-6));max-height:17.5rem;padding:var(--s-2);border:var(--hairline) solid var(--border);border-radius:var(--r-md);background-color:var(--surface);box-shadow:var(--shadow-modal);flex-direction:column;gap:.125rem;display:flex;overflow-y:auto}.dropdown-menu-header{padding:.375rem var(--s-2) .625rem;margin-bottom:var(--s-1);border-bottom:var(--hairline) solid var(--border);flex-direction:column;gap:1px;min-width:0;display:flex}.dropdown-menu-header .name{font-family:var(--font-ui);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;line-height:1.3;overflow:hidden}.dropdown-menu-header .detail{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.dropdown-menu-item:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.dropdown-menu-item{width:100%;padding:var(--s-2);border-radius:var(--r-sm);color:var(--text);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) ease-out, color var(--dur-fast) ease-out;align-items:center;gap:.625rem;font-size:.875rem;font-weight:500;display:flex}.dropdown-menu-item svg{width:var(--s-4);height:var(--s-4);color:var(--text-subtle);flex-shrink:0}.dropdown-menu-item:hover,.dropdown-menu-item[data-active]{background-color:var(--surface-hover)}.dropdown-menu-item .label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.dropdown-menu-item .check{width:var(--s-4);height:var(--s-4);color:var(--accent);flex-shrink:0}.dropdown-menu-item.is-selected,.dropdown-menu-item.is-selected svg{color:var(--accent)}.dropdown-menu-item.is-danger,.dropdown-menu-item.is-danger svg{color:var(--danger)}.dropdown-menu-item.is-danger:hover,.dropdown-menu-item.is-danger[data-active]{background-color:var(--danger-soft)}.skeleton{width:var(--skeleton-width,100%);height:var(--skeleton-height,.75rem);background-color:var(--bg-subtle);background-image:linear-gradient(90deg, transparent 0%, var(--border) 50%, transparent 100%);animation:skeleton-sheen 1.4s var(--ease-out) infinite;background-repeat:no-repeat;background-size:200% 100%;border-radius:.375rem;display:block}.skeleton.is-circle{width:var(--skeleton-width,2.25rem);height:var(--skeleton-height,2.25rem);border-radius:50%;flex-shrink:0}@keyframes skeleton-sheen{0%{background-position:150% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.skeleton{background-image:none;animation:none}}.skeleton-row{border-block-end:var(--hairline) solid var(--border);align-items:center;gap:.75rem;padding:.875rem 1.25rem;display:flex}.skeleton-row:last-child{border-block-end:none}.skeleton-row .skeleton-text{flex-direction:column;flex:1;gap:.4375rem;min-width:0;display:flex}.app-bar{justify-content:space-between;align-items:center;gap:var(--s-3);background-color:var(--surface);border-bottom:var(--hairline) solid var(--border);z-index:31;grid-area:appbar;padding:.625rem 1.25rem;display:flex;position:sticky;top:0}@media (width>=64rem){.app-bar{display:none}}.app-bar-brand{align-items:center;gap:.625rem;min-width:0;display:flex}.app-bar-brand .logo{border-radius:var(--r-sm);background-color:var(--primary);width:1.875rem;height:1.875rem;color:var(--on-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-bar-brand .logo svg{width:1.0625rem;height:1.0625rem}.app-bar-brand .name{font-family:var(--font-display);letter-spacing:-.0125rem;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.app-bar-actions{align-items:center;gap:var(--s-2);flex-shrink:0;display:flex}.app-bar-profile:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-bar-profile{border-radius:var(--r-pill);cursor:pointer;align-items:center;display:inline-flex}.header{padding-block:var(--s-5);grid-area:header}.header>.wrapper{align-items:flex-start;gap:var(--s-5);display:flex}@media (width<=47.999rem){.header>.wrapper{gap:var(--s-3);flex-direction:column}}.page-heading{flex-direction:column;flex:auto;gap:.3125rem;min-width:0;display:flex}.page-title,.header .preset-1{font-family:var(--font-display);letter-spacing:-.025rem;color:var(--text);font-size:1.625rem;font-weight:600;line-height:1.2}.page-subtitle{font-family:var(--font-ui);color:var(--text-muted);font-size:.875rem;font-weight:400;line-height:1.55}.page-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.625rem;display:flex}.page-actions:empty{display:none}@media (width<=47.999rem){.page-actions{width:100%}.page-actions .btn{flex:auto}}.session-action{display:none}@media (width>=64rem){.session-action{display:inline-flex}}.page-action-primary{display:none}@media (width>=64rem){.page-action-primary{display:inline-flex}}.toolbar{align-items:center;gap:var(--s-3);flex-wrap:wrap;min-width:0;display:flex}.toolbar .search{flex:12.5rem}.toolbar .count{color:var(--text-subtle);background:0 0;margin-left:auto;font-size:.78125rem;font-weight:400}@media (width<=47.999rem){.toolbar .segmented,.toolbar .search{flex:100%}.toolbar .count{margin-left:0}}.sidebar{justify-content:center;align-items:center;gap:var(--s-2);padding:.625rem var(--s-2) max(1.375rem, env(safe-area-inset-bottom));background-color:var(--surface);border-top:var(--hairline) solid var(--border);height:var(--tabbar-height);z-index:30;grid-area:sidebar;display:flex;position:fixed;inset:auto 0 0}@media (width>=64rem){.sidebar{padding:1.25rem var(--s-4);border-top:none;border-right:var(--hairline) solid var(--border);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:1.25rem;height:auto;position:static;overflow:hidden}}@media (width<=63.999rem){body:has(.sidebar){grid-template-rows:auto auto minmax(0, 1fr) var(--tabbar-height)}}.sidebar-brand{display:none}@media (width>=64rem){.sidebar-brand{padding:var(--s-1) var(--s-1) 0;align-items:center;gap:.625rem;display:flex}.sidebar-brand .logo{border-radius:var(--r-sm);background-color:var(--primary);width:1.875rem;height:1.875rem;color:var(--on-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-brand .logo svg{width:1.0625rem;height:1.0625rem}.sidebar-brand .name{font-family:var(--font-display);letter-spacing:-.0125rem;color:var(--text);white-space:nowrap;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.9375rem;font-weight:600;overflow:hidden}}.sidebar-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:0}.sidebar-toggle{display:none}@media (width>=64rem){.sidebar-toggle{width:var(--s-5);height:var(--s-5);border-radius:var(--r-sm);color:var(--text-subtle);cursor:pointer;transition:background-color var(--dur-fast) ease-out, color var(--dur-fast) ease-out;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-toggle svg{width:1.0625rem;height:1.0625rem}.sidebar-toggle:hover{background-color:var(--surface-hover);color:var(--text)}}.sidebar-action{display:none}@media (width>=64rem){.sidebar-action{width:100%;display:flex}}.sidebar-nav{flex:auto;min-width:0}.sidebar-nav-list{justify-content:space-between;align-items:center;gap:var(--s-1);display:flex}@media (width>=64rem){.sidebar-nav-list{flex-direction:column;align-items:stretch;gap:.125rem}}.sidebar-nav-list>li{flex:1 1 0;min-width:0}.sidebar-nav-list>li[data-on-mobile=false]{display:none}@media (width>=64rem){.sidebar-nav-list>li{flex:none}.sidebar-nav-list>li[data-on-mobile=false]{display:block}}.sidebar-section{font-family:var(--font-ui);letter-spacing:.05rem;text-transform:uppercase;color:var(--text-subtle);font-size:.6875rem;font-weight:600;line-height:1.3;display:none}@media (width>=64rem){.sidebar-section{padding:var(--s-3) .625rem .375rem;white-space:nowrap;display:block}}.nav-link:focus-visible{outline:2px solid var(--focus);outline-offset:0}.nav-link{justify-content:center;align-items:center;gap:var(--s-1);border-radius:var(--r-sm);color:var(--text-subtle);text-align:center;transition:background-color var(--dur-fast) ease-out, color var(--dur-fast) ease-out;flex-direction:column;padding:.375rem 0;font-size:.65625rem;font-weight:500;display:flex}.nav-link svg{width:1.3125rem;height:1.3125rem}.nav-link.active{color:var(--accent)}@media (width>=64rem){.nav-link{text-align:left;color:var(--text-muted);flex-direction:row;justify-content:flex-start;gap:.625rem;padding:.5625rem .625rem;font-size:.875rem}.nav-link svg{width:1.125rem;height:1.125rem;color:var(--text-subtle)}.nav-link:hover{background-color:var(--surface-hover);color:var(--text)}.nav-link.active{background-color:var(--accent-soft);color:var(--accent);font-weight:600}.nav-link.active svg{color:var(--accent)}}.nav-label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}@media (width>=64rem){.nav-label{flex:auto;min-width:0}}.nav-count{display:none}@media (width>=64rem){.nav-count{border-radius:var(--r-pill);background-color:var(--bg-subtle);min-width:1.25rem;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;padding:.125rem .4375rem;font-size:.6875rem;font-weight:600;display:inline-flex}}.nav-link.active .nav-count{background-color:var(--accent);color:var(--on-accent)}.sidebar-footer{display:none}@media (width>=64rem){.sidebar-footer{align-items:stretch;gap:var(--s-3);flex-direction:column;flex-shrink:0;display:flex}}.sidebar-profile{align-items:center;gap:var(--s-1);min-width:0;display:flex}.sidebar-profile .identity:focus-visible{outline:2px solid var(--focus);outline-offset:0}.sidebar-profile .identity{min-width:0;padding:.375rem var(--s-1);border-radius:var(--r-sm);transition:background-color var(--dur-fast) ease-out;flex:auto;align-items:center;gap:.625rem;display:flex}.sidebar-profile .identity:hover{background-color:var(--surface-hover)}.sidebar-profile .identity.active{background-color:var(--accent-soft)}.sidebar-profile .identity.active .name{color:var(--accent)}.sidebar-profile .avatar{flex-shrink:0}.sidebar-profile .infos{text-align:left;flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.sidebar-profile .name{font-family:var(--font-ui);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;line-height:1.3;overflow:hidden}.sidebar-profile .plan{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.sidebar-profile .settings-btn:focus-visible{outline:2px solid var(--focus);outline-offset:0}.sidebar-profile .settings-btn{width:var(--s-6);height:var(--s-6);border-radius:var(--r-sm);color:var(--text-subtle);cursor:pointer;transition:background-color var(--dur-fast) ease-out, color var(--dur-fast) ease-out;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-profile .settings-btn svg{width:1.0625rem;height:1.0625rem}.sidebar-profile .settings-btn:hover{background-color:var(--surface-hover);color:var(--text)}@media (width>=64rem){.sidebar[data-collapsed=true]{padding-inline:var(--s-2)}.sidebar[data-collapsed=true] .sidebar-brand,.sidebar[data-collapsed=true] .nav-link,.sidebar[data-collapsed=true] .sidebar-action,.sidebar[data-collapsed=true] .sidebar-toggle{justify-content:center}.sidebar[data-collapsed=true] .nav-link,.sidebar[data-collapsed=true] .sidebar-action{padding-inline:0}.sidebar[data-collapsed=true] .sidebar-brand{gap:var(--s-2);flex-direction:column;padding-inline:0}.sidebar[data-collapsed=true] .sidebar-profile{gap:var(--s-2);flex-direction:column}.sidebar[data-collapsed=true] .sidebar-profile .identity{justify-content:center;padding-inline:0}.sidebar[data-collapsed=true] .sidebar-brand .name,.sidebar[data-collapsed=true] .sidebar-section,.sidebar[data-collapsed=true] .nav-label,.sidebar[data-collapsed=true] .nav-count,.sidebar[data-collapsed=true] .sidebar-action .btn-label,.sidebar[data-collapsed=true] .sidebar-profile .infos{display:none}}.dialog.settings .dialog-wrapper{max-width:35rem}.settings-group{gap:var(--s-3);flex-direction:column;display:flex}.settings-group+.settings-group{padding-top:var(--s-4);border-top:var(--hairline) solid var(--border)}.settings-group .group-title{font-family:var(--font-ui);letter-spacing:.05rem;text-transform:uppercase;color:var(--text-subtle);font-size:.6875rem;font-weight:600;line-height:1.3}.settings-row{justify-content:space-between;align-items:center;gap:var(--s-4);min-width:0;display:flex}.settings-row.is-stacked{align-items:stretch;gap:var(--s-3);flex-direction:column}.settings-row .segmented{flex-shrink:0}.settings-row .infos{flex-direction:column;gap:.125rem;min-width:0;display:flex}.settings-row .label{font-family:var(--font-ui);color:var(--text);font-size:.8125rem;font-weight:500;line-height:1.3}.settings-row .description{color:var(--text-muted);font-size:.75rem;line-height:1.4}.public-shell{flex-direction:column;min-height:100svh;display:flex}.public-wrapper{width:100%;max-width:90rem;margin-inline:auto;padding-inline:4rem}@media (width<=63.999rem){.public-wrapper{padding-inline:var(--layout-gutter)}}@media (width<=47.999rem){.public-wrapper{padding-inline:var(--layout-gutter-sm)}}.public-header{z-index:20;border-bottom:var(--hairline) solid var(--border);background-color:var(--bg);position:sticky;top:0}.public-header>.inner{justify-content:space-between;align-items:center;gap:var(--s-4);padding-block:1.125rem;display:flex}.public-header .brand{align-items:center;gap:.625rem;min-width:0;display:flex}.public-header .brand .logo{border-radius:var(--r-sm);background-color:var(--primary);width:1.875rem;height:1.875rem;color:var(--on-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.public-header .brand .logo svg{width:1.0625rem;height:1.0625rem}.public-header .brand .name{font-family:var(--font-display);letter-spacing:-.0125rem;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.public-header .actions{align-items:center;gap:.625rem;display:flex}@media (width<=37.499rem){.public-header .actions .segmented,.public-header .actions .btn-ghost{display:none}}.segmented.is-sm{padding:.125rem}.segmented.is-sm .segment{padding:.3125rem var(--s-2);font-size:.75rem}.public-footer{border-top:var(--hairline) solid var(--border);margin-top:auto}.public-footer>.inner{justify-content:space-between;align-items:center;gap:var(--s-3) var(--s-5);padding-block:var(--s-5);color:var(--text-subtle);flex-wrap:wrap;font-size:.78125rem;display:flex}.public-footer .links{align-items:center;gap:.5rem;display:flex}.public-footer .links a{color:var(--text-subtle)}.public-footer .links a:hover{color:var(--text);text-decoration:underline}.landing{padding-bottom:var(--s-8);flex-direction:column;flex:auto;display:flex}.landing-hero{text-align:center;flex-direction:column;align-items:center;gap:1.375rem;padding-top:5.25rem;display:flex}.landing-hero .title{font-family:var(--font-display);letter-spacing:-.0625rem;color:var(--text);text-wrap:balance;max-width:52.5rem;font-size:clamp(1.875rem,4.4vw,3rem);font-weight:600;line-height:1.14}.landing-hero .subtitle{font-family:var(--font-ui);color:var(--text-muted);text-wrap:pretty;max-width:38.75rem;font-size:1.0625rem;line-height:1.6}.landing-hero .actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding-top:.625rem;display:flex}.landing-hero .note{font-family:var(--font-ui);color:var(--text-subtle);text-wrap:pretty;font-size:.78125rem}@media (width<=47.999rem){.landing-hero{padding-top:var(--s-7)}}@media (width<=37.499rem){.landing-hero .actions{flex-direction:column;align-self:stretch}.landing-hero .actions .btn{width:100%}}.landing-preview{padding-top:var(--s-8);justify-content:center;display:flex}.landing-preview .preview-card{width:100%;max-width:45rem}.landing-preview .due-card{cursor:default}@media (width<=47.999rem){.landing-preview{padding-top:var(--s-6)}}.landing-facts{align-items:flex-start;padding-top:4.5rem;display:flex}.landing-facts .fact{flex-direction:column;flex:1 1 0;gap:.625rem;min-width:0;padding-inline:1.75rem;display:flex}.landing-facts .fact+.fact{border-left:var(--hairline) solid var(--border)}.landing-facts .icon{width:1.25rem;height:1.25rem;color:var(--text-muted)}.landing-facts .label{font-family:var(--font-ui);color:var(--text);font-size:.9375rem;font-weight:600}.landing-facts .description{font-family:var(--font-ui);color:var(--text-muted);text-wrap:pretty;font-size:.84375rem;line-height:1.55}@media (width<=47.999rem){.landing-facts{gap:var(--s-5);padding-top:var(--s-7);flex-direction:column}.landing-facts .fact{padding-inline:0}.landing-facts .fact+.fact{border-left:none;border-top:var(--hairline) solid var(--border);padding-top:var(--s-5)}}.legal{gap:var(--s-5);max-width:47.5rem;padding-block:var(--s-7) var(--s-8);flex-direction:column;display:flex}@media (width<=47.999rem){.legal{padding-block:var(--s-6)}}.legal-header{padding-bottom:var(--s-5);border-bottom:var(--hairline) solid var(--border);flex-direction:column;gap:.625rem;display:flex}.legal-header .title{font-family:var(--font-display);letter-spacing:-.025rem;color:var(--text);font-size:1.625rem;font-weight:600;line-height:1.2}.legal-header .lead{font-family:var(--font-ui);color:var(--text-muted);text-wrap:pretty;font-size:.9375rem;font-weight:400;line-height:1.55}.legal-header .updated{font-family:var(--font-ui);color:var(--text-subtle);font-size:.75rem;font-weight:400;line-height:1.4}.legal-body{gap:var(--s-6);flex-direction:column;display:flex}.legal-section{gap:var(--s-3);flex-direction:column;display:flex}.legal-section .title{font-family:var(--font-ui);color:var(--text);font-size:1rem;font-weight:600;line-height:1.4}.legal-section p{font-family:var(--font-ui);color:var(--text-muted);text-wrap:pretty;font-size:.9375rem;font-weight:400;line-height:1.55}.legal-list{padding-left:var(--s-4);flex-direction:column;gap:.625rem;display:flex}.legal-list li{font-family:var(--font-ui);color:var(--text-muted);text-wrap:pretty;font-size:.9375rem;font-weight:400;line-height:1.55;position:relative}.legal-list li:before{content:"";left:calc(-1 * var(--s-4));background-color:var(--border-strong);border-radius:50%;width:.3125rem;height:.3125rem;position:absolute;top:.5625rem}.auth-page{gap:var(--s-5);min-height:100svh;padding-block:var(--s-5);flex-direction:column;justify-content:center;align-items:center;display:flex}@media (width>=64rem){.auth-page{align-items:stretch;gap:var(--s-6);padding-block:var(--s-6);flex-direction:row}}.auth-page-bg{border-radius:var(--r-lg);background-color:var(--primary);display:none;position:relative;overflow:hidden}@media (width>=64rem){.auth-page-bg{flex:1 1 0;align-items:flex-end;display:flex}}.auth-page-bg .bg-img{object-fit:cover;opacity:.35;width:100%;height:100%;position:absolute;inset:0}.auth-page-bg .content{justify-content:space-between;gap:var(--s-6);padding:var(--s-6);flex-direction:column;height:100%;display:flex;position:relative}.auth-page-bg .brand{align-items:center;gap:.625rem;display:flex}.auth-page-bg .brand .logo{width:var(--s-6);height:var(--s-6);border-radius:var(--r-sm);background-color:color-mix(in srgb, var(--on-primary) 14%, transparent);color:var(--on-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.auth-page-bg .brand .logo svg{width:1.125rem;height:1.125rem}.auth-page-bg .brand .name{font-family:var(--font-display);letter-spacing:-.0125rem;color:var(--on-primary);font-size:.9375rem;font-weight:600}.auth-page-bg .content-element{gap:var(--s-3);flex-direction:column;max-width:26.25rem;display:flex}.auth-page-bg .content-element .preset-1{color:var(--on-primary)}.auth-page-bg .content-element .preset-4{color:color-mix(in srgb, var(--on-primary) 72%, transparent)}.auth-section{background-color:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--r-lg);gap:var(--s-5);width:100%;max-width:27.5rem;padding:var(--s-6);flex-direction:column;display:flex}.auth-section .auth-heading{flex-direction:column;gap:.3125rem;display:flex}.auth-section .preset-1{font-family:var(--font-display);letter-spacing:-.01875rem;font-size:1.5rem;font-weight:600;line-height:1.25}@media (width>=64rem){.auth-section{flex:0 0 27.5rem;justify-content:center}}.auth-link{justify-content:center;align-items:center;gap:var(--s-1);color:var(--text-muted);font-size:.8125rem;display:flex}.auth-link strong{color:var(--accent);font-weight:600}.auth-link:hover strong{text-decoration:underline}.auth-alternative{gap:var(--s-4);flex-direction:column;display:flex}.auth-alternative .separator{align-items:center;gap:var(--s-3);color:var(--text-subtle);font-size:.75rem;display:flex}.auth-alternative .separator:before,.auth-alternative .separator:after{content:"";height:var(--hairline);background-color:var(--border);flex:1 1 0}.auth-hint{text-align:center;color:var(--text-muted);font-size:.78125rem;line-height:1.45}.dashboard{gap:var(--s-5);flex-direction:column;display:flex}.metrics{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(13.75rem,1fr));display:grid}.dashboard-columns{gap:var(--s-5);flex-direction:column;align-items:stretch;min-width:0;display:flex}.dashboard-columns>.column-main,.dashboard-columns>.column-side{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}@container content (width>=60rem){.dashboard-columns{flex-direction:row;align-items:flex-start}.dashboard-columns>.column-main{flex:auto}.dashboard-columns>.column-side{flex:0 0 25rem}}.card-list{gap:var(--s-3);flex-direction:column;display:flex}.expenses{flex-direction:column;gap:1.25rem;display:flex}.breakdown-total{align-items:baseline;gap:var(--s-2);padding-bottom:var(--s-1);display:flex}.breakdown-total>.value{font-family:var(--font-mono);color:var(--text);font-size:1.375rem;font-weight:500;line-height:1.3}.breakdown-total>.label{color:var(--text-subtle);font-size:.75rem}.dashboard .card-flush .table-row:last-child{border-bottom:none}.budgets{gap:var(--s-5);flex-direction:column;display:flex}.period{align-items:center;gap:var(--s-2);min-width:0;display:flex}.period .current{font-family:var(--font-ui);min-width:8.75rem;color:var(--text);text-align:center;font-size:1rem;font-weight:600;line-height:1.4}.period .reset-note{color:var(--text-subtle);margin-left:auto;font-size:.75rem}@media (width<=47.999rem){.period{flex-wrap:wrap}.period .current{flex:auto;min-width:0}.period .reset-note{flex-basis:100%;margin-left:0}}.budgets .metric-trend .pill{border-radius:var(--r-pill);background-color:var(--bg-subtle);color:var(--text-muted);align-items:center;gap:.25rem;padding:.1875rem .4375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.budgets .metric-trend .pill svg{width:.75rem;height:.75rem}.budgets .metric-trend .comparison{color:var(--text-subtle)}.budgets-columns{gap:var(--s-5);flex-direction:column;align-items:stretch;min-width:0;display:flex}.budgets-columns>.column-main,.budgets-columns>.column-side{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}@container content (width>=60rem){.budgets-columns{flex-direction:row;align-items:flex-start}.budgets-columns>.column-main{flex:auto}.budgets-columns>.column-side{flex:0 0 25rem}}.budget-list{flex-direction:column;min-width:0;display:flex}.budget-list>.budget-row{border-bottom:var(--hairline) solid var(--border);transition:background-color var(--dur-fast) ease-out;padding:1rem 1.25rem;position:relative}.budget-list>.budget-row:hover{background-color:var(--accent-soft)}@media (width<=47.999rem){.budget-list>.budget-row{padding-inline:var(--s-4)}}.budget-list>.budget-row>.row-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.budget-list>.budget-row>.row-trigger{z-index:1;cursor:pointer;position:absolute;inset:0}.budget-list .budget-head .name{font-weight:600}.budget-list .budget-head .period-pill{border-radius:var(--r-pill);background-color:var(--bg-subtle);color:var(--text-muted);white-space:nowrap;flex-shrink:0;padding:.125rem .4375rem;font-size:.6875rem;font-weight:600}.budget-list .budget-head .detail{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;overflow:hidden}@media (width<=37.499rem){.budget-list .budget-head .detail{display:none}}.budget-list .budget-head .detail.is-category{color:var(--text-muted)}@media (width<=37.499rem){.budget-list .budget-head .detail.is-category{display:inline}}.budget-info{justify-content:space-between;align-items:center;gap:var(--s-3);min-width:0;display:flex}.budget-info .remaining{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.budget-info .remaining .share{color:var(--text-subtle)}@media (width<=37.499rem){.budget-info .remaining .share{display:none}}.budget-info .percent{color:var(--text-muted);flex-shrink:0;font-size:.75rem;font-weight:600}.budget-row.is-over>.progress>.bar{background-color:var(--danger)}.budget-row.is-over .budget-info .percent{color:var(--danger)}.budget-row.is-tight .budget-info .percent{color:var(--warning)}.budget-add:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.budget-add{justify-content:center;align-items:center;gap:var(--s-2);width:100%;color:var(--accent);cursor:pointer;transition:background-color var(--dur-fast) ease-out;padding:.875rem 1.25rem;font-size:.84375rem;font-weight:500;display:flex}.budget-add svg{width:var(--s-4);height:var(--s-4)}.budget-add:hover{background-color:var(--accent-soft)}.alert-list{flex-direction:column;min-width:0;display:flex}.alert{align-items:flex-start;gap:var(--s-3);border-bottom:var(--hairline) solid var(--border);min-width:0;padding:.875rem 1.25rem;display:flex}.alert>.icon{width:var(--s-4);height:var(--s-4);color:var(--warning);flex-shrink:0;margin-top:.125rem}.alert.is-over>.icon{color:var(--danger)}.alert.is-unassigned>.icon{color:var(--accent)}.alert .texts{flex-direction:column;gap:.1875rem;min-width:0;display:flex}.alert .title{color:var(--text);font-size:.84375rem;font-weight:500}.alert .detail{color:var(--text-muted);font-size:.75rem}@media (width<=47.999rem){.alert{padding-inline:var(--s-4)}}.categories{flex-direction:column;gap:1.25rem;display:flex}@media (width<=47.999rem){.categories{gap:.875rem}}.categories-table{--col-category:7.5rem}.categories-summary{color:var(--text-muted);font-size:.8125rem;display:block}@media (width>=48rem){.categories-summary{display:none}}@media (width<=47.999rem){.categories .summary{display:none}}.category-item-mobile{align-items:center;gap:var(--s-3);border-bottom:var(--hairline) solid var(--border);padding-block:.8125rem;display:flex}.category-item-mobile .infos{flex-direction:column;flex:auto;gap:.125rem;min-width:0;display:flex}.category-item-mobile .name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.90625rem;font-weight:600;overflow:hidden}.category-item-mobile .meta{color:var(--text-muted);font-size:.75rem}.category-item-mobile .values{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.125rem;display:flex}.category-item-mobile .total{font-family:var(--font-mono);color:var(--text);font-size:.875rem;font-weight:400;line-height:1.3}.category-item-mobile .mention{color:var(--text-subtle);font-size:.6875rem}.category-item-mobile>svg{width:1.0625rem;height:1.0625rem;color:var(--text-subtle)}.recurring{flex-direction:column;gap:1.25rem;display:flex}@media (width<=47.999rem){.recurring{gap:.875rem}}.recurring>.tabs{scrollbar-width:none;overflow-x:auto}.recurring>.tabs::-webkit-scrollbar{display:none}.card-nav{align-items:center;gap:var(--s-1);flex-shrink:0;display:flex}.calendar{flex-direction:column;gap:.375rem;min-width:0;display:flex}.calendar-weekdays,.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.375rem;display:grid}.calendar-weekdays>span{font-family:var(--font-ui);letter-spacing:.05rem;text-transform:uppercase;color:var(--text-subtle);text-align:center;padding-bottom:var(--s-1);font-size:.6875rem;font-weight:600;line-height:1.3}.calendar-day{border:var(--hairline) solid var(--border);border-radius:var(--r-sm);background-color:var(--surface);flex-direction:column;gap:.3125rem;min-width:0;min-height:4.75rem;padding:.375rem;display:flex}.calendar-day>.number{font-family:var(--font-mono);color:var(--text);font-size:.75rem}.calendar-day.is-outside{background-color:var(--bg-subtle)}.calendar-day.is-outside>.number{color:var(--text-subtle)}.calendar-day.is-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}@media (width<=47.999rem){.calendar-day{min-height:3.5rem}}.calendar-chip:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.calendar-chip{background-color:var(--bg-subtle);width:100%;color:var(--text);text-align:left;cursor:pointer;min-width:0;transition:filter var(--dur-fast) ease-out;text-overflow:ellipsis;white-space:nowrap;border-radius:.3125rem;align-items:center;gap:.25rem;padding:.125rem .3125rem;font-size:.625rem;font-weight:600;line-height:1.3;display:flex;overflow:hidden}.calendar-chip:hover{filter:brightness(.94)}.calendar-chip>.dot{border-radius:var(--r-pill);background-color:var(--hue,var(--text-subtle));flex-shrink:0;width:.3125rem;height:.3125rem}.calendar-chip.is-paid{background-color:var(--success-soft);color:var(--success)}.calendar-chip.is-paid>.dot{background-color:var(--success)}.calendar-chip.is-skipped{color:var(--text-subtle);text-decoration:line-through}.calendar-chip.is-skipped>.dot{background-color:var(--text-subtle)}.due-card>.due-values .amount.is-income{color:var(--success)}.due-actions{flex-shrink:0;align-items:center;gap:.125rem;display:flex}.frequency-list{flex-direction:column;display:flex}.frequency-row{align-items:baseline;gap:var(--s-2);min-width:0;padding-block:.625rem;display:flex}.frequency-row+.frequency-row{border-top:var(--hairline) solid var(--border)}.frequency-row>.name{color:var(--text);font-size:.875rem;font-weight:500}.frequency-row>.count-text{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.75rem;overflow:hidden}.frequency-row>.amount{font-family:var(--font-mono);color:var(--text);flex-shrink:0;font-size:.8125rem;font-weight:400;line-height:1.3}.recurring .table-row>.cell-actions{gap:.125rem}.recurring .card-body[data-stale]{opacity:.55;transition:opacity var(--dur-base) var(--ease-out);pointer-events:none}.profile{flex-direction:column;gap:1.25rem;display:flex}@media (width<=47.999rem){.profile{gap:.875rem}}.profile-identity .identity{padding:var(--s-5);align-items:center;gap:1.25rem;min-width:0;display:flex}.profile-identity .identity-text{flex-direction:column;flex:auto;gap:.375rem;min-width:0;display:flex}.profile-identity .name{font-family:var(--font-display);letter-spacing:-.01875rem;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:1.375rem;font-weight:600;line-height:1.25;overflow:hidden}.profile-identity .email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.profile-identity .mentions{flex-wrap:wrap;align-items:center;gap:.625rem;padding-top:.125rem;display:flex}.profile-identity .since{color:var(--text-subtle);font-size:.75rem}@media (width<=37.499rem){.profile-identity .identity{gap:var(--s-4);padding:var(--s-4);flex-wrap:wrap}.profile-identity .btn{width:100%}}.avatar.is-xl{width:4rem;height:4rem;font-size:1.375rem}.preferences{padding-block:var(--s-4);border-top:var(--hairline) solid var(--border);align-items:center;min-width:0;display:flex}.preferences .preference{padding-inline:var(--s-5);flex-direction:column;flex:1 1 0;gap:.1875rem;min-width:0;display:flex}.preferences .preference+.preference{border-left:var(--hairline) solid var(--border)}.preferences dt{font-family:var(--font-ui);letter-spacing:.05rem;text-transform:uppercase;letter-spacing:.025rem;color:var(--text-subtle);font-size:.6875rem;font-weight:600;line-height:1.3}.preferences dd{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}@media (width<=47.999rem){.preferences{flex-direction:column;align-items:stretch;padding-block:.375rem}.preferences .preference{justify-content:space-between;align-items:baseline;gap:var(--s-4);padding:.625rem var(--s-4);flex-direction:row}.preferences .preference+.preference{border-left:none;border-top:var(--hairline) solid var(--border)}.preferences dd{text-align:right}}.accounts-table{--col-operations:6.5625rem}.accounts-table .icon-tile{border-radius:var(--r-sm);width:2.375rem;height:2.375rem}.accounts-table .icon-tile svg{width:1.1875rem;height:1.1875rem}.field-toggles{flex-direction:column;min-width:0;display:flex}.field-toggle{align-items:center;gap:var(--s-4);border-bottom:var(--hairline) solid var(--border);min-width:0;padding:.875rem 1.25rem;display:flex}.field-toggle .infos{flex-direction:column;flex:auto;gap:.1875rem;min-width:0;display:flex}.field-toggle .label{color:var(--text);font-size:.875rem;font-weight:500}.field-toggle .description{color:var(--text-muted);font-size:.78125rem}.field-toggle .switch{flex-shrink:0}@media (width<=47.999rem){.field-toggle{padding-inline:var(--s-4)}}.field-note{color:var(--text-muted);padding:.875rem 1.25rem;font-size:.78125rem;line-height:1.45}@media (width<=47.999rem){.field-note{padding-inline:var(--s-4)}}.passkey-list{flex-direction:column;min-width:0;display:flex}.passkey-item{align-items:center;gap:var(--s-4);border-bottom:var(--hairline) solid var(--border);min-width:0;padding:.875rem 1.25rem;display:flex}.passkey-item .infos{flex-direction:column;flex:auto;gap:.1875rem;min-width:0;display:flex}.passkey-item .label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.passkey-item .description{color:var(--text-muted);font-size:.78125rem}.passkey-item .btn-icon-sm{flex-shrink:0}@media (width<=47.999rem){.passkey-item{padding-inline:var(--s-4)}}.passkey-note{color:var(--text-muted);padding:.875rem 1.25rem;font-size:.78125rem;line-height:1.45}@media (width<=47.999rem){.passkey-note{padding-inline:var(--s-4)}}
