:root{--color-page:#fdf8f3;--color-card:#fefcfa;--color-raised:#f7ede2;--color-line:#efdfcd;--color-control-line:#9c8878;--color-ink-strong:#2e211a;--color-ink:#3b2a21;--color-ink-soft:#6b5145;--color-accent:#8f3a4e;--color-accent-solid:#b04a63;--color-accent-strong:#8f3a4e;--color-accent-soft:#f9e9ed;--color-danger:#a13a2e;--color-danger-solid:#a13a2e;--color-danger-soft:#f8e3e0;--color-success:#2f6b4f;--color-success-solid:#2f6b4f;--color-success-soft:#dff0e6;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-sm:.9375rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-amount:1.5rem;--text-hero:3rem;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.1;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:3rem;--radius-sm:.5rem;--radius:.75rem;--radius-lg:1rem;--shadow-sm:0 1px 2px #0000000a;--shadow-lg:0 8px 24px #00000026;--shadow-xl:0 12px 40px #0000004d;--z-sticky:100;--z-toast:9999;--d-page:#17110e;--d-card:#211a15;--d-raised:#2e241d;--d-line:#3f322a;--d-ink-strong:#fdf8f3;--d-ink:#ece0d5;--d-ink-soft:#c3ab9a;--d-accent:#f0a9bb;--d-accent-solid:#b8465f;--d-accent-strong:#c44e69;--d-accent-soft:#3a2028;--d-danger:#f39a8c;--d-danger-solid:#b23f30;--d-danger-soft:#3a1f1a;--d-success:#7fd3a6;--d-success-solid:#37805e;--d-success-soft:#163023}:root[data-theme=dark]{--color-page:var(--d-page);--color-card:var(--d-card);--color-raised:var(--d-raised);--color-line:var(--d-line);--color-ink-strong:var(--d-ink-strong);--color-ink:var(--d-ink);--color-ink-soft:var(--d-ink-soft);--color-accent:var(--d-accent);--color-accent-solid:var(--d-accent-solid);--color-accent-strong:var(--d-accent-strong);--color-accent-soft:var(--d-accent-soft);--color-danger:var(--d-danger);--color-danger-solid:var(--d-danger-solid);--color-danger-soft:var(--d-danger-soft);--color-success:var(--d-success);--color-success-solid:var(--d-success-solid);--color-success-soft:var(--d-success-soft)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-page:var(--d-page);--color-card:var(--d-card);--color-raised:var(--d-raised);--color-line:var(--d-line);--color-ink-strong:var(--d-ink-strong);--color-ink:var(--d-ink);--color-ink-soft:var(--d-ink-soft);--color-accent:var(--d-accent);--color-accent-solid:var(--d-accent-solid);--color-accent-strong:var(--d-accent-strong);--color-accent-soft:var(--d-accent-soft);--color-danger:var(--d-danger);--color-danger-solid:var(--d-danger-solid);--color-danger-soft:var(--d-danger-soft);--color-success:var(--d-success);--color-success-solid:var(--d-success-solid);--color-success-soft:var(--d-success-soft)}}html{background:var(--color-page);color:var(--color-ink);font-family:var(--font-sans);-webkit-text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:16px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}body{min-height:100dvh;margin:0}:focus-visible{outline:3px solid var(--color-accent-solid);outline-offset:2px;border-radius:.25rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.16s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.16s;animation-timing-function:ease}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius);min-width:44px;min-height:44px;padding:var(--space-3) var(--space-5);font-size:var(--text-base);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;font-family:inherit;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent-solid);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-strong)}.btn-secondary{background:var(--color-card);color:var(--color-ink);border:2px solid var(--color-control-line)}.btn-secondary:hover:not(:disabled){background:var(--color-raised)}.btn-danger{background:var(--color-danger-solid);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.btn-ghost{color:var(--color-ink);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-raised)}.btn-sm{min-width:36px;min-height:36px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.card{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.muted{color:var(--color-ink-soft);font-size:var(--text-sm)}.chip{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border:2px solid var(--color-control-line);background:var(--color-card);color:var(--color-ink);font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;border-radius:999px;text-decoration:none;display:inline-flex;position:relative}.chip:hover{border-color:var(--color-ink-soft)}.chip input{opacity:0;pointer-events:none;position:absolute}.chip input:focus-visible{outline:none}.chip:has(input:focus-visible){outline:3px solid var(--color-accent-solid);outline-offset:2px}.chip:has(:checked),.chip[aria-pressed=true],.chip[aria-current=true]{background:var(--color-accent-solid);border-color:var(--color-accent-solid);color:#fff}.switch{align-items:center;gap:var(--space-2);cursor:pointer;min-height:44px;display:inline-flex;position:relative}.switch input{opacity:0;pointer-events:none;position:absolute}.switch input:focus-visible{outline:none}.switch:has(input:focus-visible) .switch-track{outline:3px solid var(--color-accent-solid);outline-offset:2px}.switch-track{box-sizing:border-box;border:2px solid var(--color-control-line);background:var(--color-raised);border-radius:999px;flex-shrink:0;width:2.75rem;height:1.5rem;transition:background-color .12s,border-color .12s;position:relative}.switch-track:after{content:"";background:var(--color-ink-soft);border-radius:999px;width:1rem;height:1rem;transition:translate .12s,background-color .12s;position:absolute;top:50%;left:.125rem;translate:0 -50%}.switch input:checked+.switch-track{background:var(--color-accent-soft);border-color:var(--color-accent-solid)}.switch input:checked+.switch-track:after{background:var(--color-accent-solid);translate:1.25rem -50%}.field-label{margin-bottom:var(--space-1);font-weight:var(--font-weight-semibold);color:var(--color-ink);display:block}.field-input{border-radius:var(--radius);border:2px solid var(--color-control-line);background:var(--color-page);width:100%;min-height:44px;color:var(--color-ink);padding:var(--space-3) var(--space-4);font-size:var(--text-base);box-sizing:border-box;font-family:inherit}.field-input::placeholder{color:var(--color-ink-soft)}textarea.field-input{resize:vertical;min-height:96px}select.field-input{appearance:auto}.field-row{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.field-check{align-items:center;gap:var(--space-2);min-height:44px;display:flex}.alert-error{border:2px solid var(--color-danger);background:var(--color-danger-soft);color:var(--color-ink-strong);border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:var(--text-base)}.alert-info{border:1px solid var(--color-line);background:var(--color-raised);color:var(--color-ink);border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:var(--text-base)}.alert-success{border:2px solid var(--color-success);background:var(--color-success-soft);color:var(--color-ink-strong);border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:var(--text-base)}.amount{font-size:var(--text-amount);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.amount-hero{font-size:var(--text-hero);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;line-height:var(--leading-tight)}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);border:1px solid var(--color-line);background:var(--color-raised);color:var(--color-ink);border-radius:999px;display:inline-flex}.badge-success{border-color:var(--color-success);background:var(--color-success-soft)}.badge-danger{border-color:var(--color-danger);background:var(--color-danger-soft)}.badge-accent{border-color:var(--color-accent);background:var(--color-accent-soft)}.toast-layer{top:var(--toast-top,var(--space-4));z-index:var(--z-toast);align-items:center;gap:var(--space-2);padding:0 var(--space-4);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:0;right:0}body:has(.app-shell){--toast-top:5.5rem}[data-toast]{display:none}.toast-layer [data-toast]{pointer-events:auto;display:flex}.toast{pointer-events:auto;align-items:flex-start;gap:var(--space-3);border-radius:var(--radius);width:100%;max-width:28rem;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--color-ink-strong);box-shadow:var(--shadow-lg);border:2px solid;animation:.16s toast-in;display:flex}.toast-error{border-color:var(--color-danger);background:var(--color-danger-soft)}.toast-success{border-color:var(--color-success);background:var(--color-success-soft)}.toast-info{border-color:var(--color-control-line);background:var(--color-card)}.toast-close{margin:calc(-1 * var(--space-1)) 0;border-radius:var(--radius-sm);padding:var(--space-1);color:var(--color-ink-soft);cursor:pointer;background:0 0;border:none;flex-shrink:0}.toast-close:hover{background:#0000000d}@keyframes toast-in{0%{opacity:0;transform:translateY(-.5rem)}}
