[data-theme=warm]{color-scheme:light;--color-bg: #f3efe6;--color-bg-pattern: #ebe4d6;--body-glow-1: rgba(201, 162, 39, .07);--body-glow-2: rgba(26, 92, 84, .06);--color-surface: #fffdf8;--color-surface-2: #faf6ef;--color-input-bg: #fffdfa;--color-surface-hover: #f0ebe4;--color-border: rgba(28, 25, 23, .1);--color-border-strong: rgba(28, 25, 23, .18);--color-text: #1c1917;--color-text-muted: #57534e;--color-text-soft: #78716c;--color-sidebar: #0f2420;--color-sidebar-2: #15302b;--color-sidebar-edge: rgba(255, 255, 255, .06);--color-sidebar-text: #e7e5e4;--color-sidebar-muted: #a8a29e;--color-sidebar-hover: rgba(255, 255, 255, .08);--color-sidebar-active: rgba(201, 162, 39, .18);--color-sidebar-accent: #d4a84b;--color-sidebar-title: #fafaf9;--color-sidebar-logo-fg: #1c1917;--color-sidebar-ghost-border: rgba(255, 255, 255, .2);--color-sidebar-input-bg: rgba(255, 255, 255, .07);--color-sidebar-input-border: rgba(255, 255, 255, .14);--color-ledger-dropdown-end: #122823;--color-primary: #1a5c54;--color-primary-hover: #144a44;--color-on-primary: #fafaf9;--color-accent: #c9a227;--color-accent-hover: #b08d1a;--color-on-accent: #1c1917;--color-accent-logo-end: #8b6914;--color-danger: #b91c1c;--color-danger-bg: rgba(185, 28, 28, .08);--color-success: #15803d;--color-success-bg: rgba(21, 128, 61, .1);--color-income: #166534;--color-expense: #9a3412;--shadow-sm: 0 1px 2px rgba(28, 25, 23, .06);--shadow-md: 0 4px 12px rgba(28, 25, 23, .08), 0 1px 3px rgba(28, 25, 23, .06);--shadow-lg: 0 12px 40px rgba(28, 25, 23, .12);--shadow-sidebar: 4px 0 24px rgba(0, 0, 0, .12);--auth-shell-bg: radial-gradient(ellipse 100% 80% at 50% -30%, rgba(201, 162, 39, .12), transparent 55%), radial-gradient(ellipse 70% 50% at 100% 80%, rgba(26, 92, 84, .1), transparent 50%), linear-gradient(165deg, #f0ebe3 0%, #e8e0d4 100%);--auth-brand-shadow-1: rgba(255, 253, 248, .9);--auth-brand-shadow-2: rgba(176, 141, 26, .22);--mobile-topbar-hover: #f0ebe4;--nav-hover-fg: #fff;--nav-active-fg: #fffef0;--landing-bg: radial-gradient(ellipse 90% 70% at 10% -20%, rgba(201, 162, 39, .14), transparent 55%), radial-gradient(ellipse 60% 50% at 95% 30%, rgba(26, 92, 84, .09), transparent 50%), linear-gradient(168deg, #f4efe6 0%, #e8e2d6 45%, #efe8dc 100%);--landing-header-bg: rgba(253, 253, 248, .82);--landing-header-edge: var(--color-border);--landing-header-shadow: rgba(255, 255, 255, .6);--landing-purpose-bg: linear-gradient(180deg, rgba(255, 253, 248, .65) 0%, var(--color-surface-2) 100%);--landing-cta-bg: linear-gradient(145deg, #143d38 0%, var(--color-sidebar) 55%, #0a1816 100%);--landing-cta-text: #e7e5e4;--landing-cta-heading: #fafaf9;--landing-cta-muted: var(--color-sidebar-muted);--landing-cta-border: rgba(255, 255, 255, .08);--landing-cta-ghost-bg: rgba(255, 255, 255, .08);--landing-cta-ghost-fg: #fafaf9;--landing-cta-ghost-border: rgba(255, 255, 255, .22);--landing-cta-ghost-hover: rgba(255, 255, 255, .14);--landing-footer-bg: rgba(255, 253, 248, .5);--landing-custom-bg: linear-gradient(180deg, var(--color-surface-2) 0%, rgba(255, 253, 248, .55) 100%);--landing-custom-card-bg: var(--color-surface);--landing-custom-card-border: var(--color-border);--landing-plans-bg: linear-gradient(180deg, rgba(255, 253, 248, .35) 0%, var(--color-surface-2) 100%);--landing-plan-feature-bg: rgba(255, 253, 248, .65);--landing-plan-feature-border: rgba(26, 92, 84, .35);--landing-plan-badge-bg: rgba(201, 162, 39, .18);--auth-brand-grad-1: #e8c967;--auth-brand-grad-2: #8f6f0f;--skeleton-base: #e7e5e4;--skeleton-shine: #f5f5f4;--theme-switcher-bg: rgba(255, 255, 255, .06);--theme-switcher-border: rgba(255, 255, 255, .12);--theme-switcher-active: rgba(201, 162, 39, .22);--theme-switcher-fg: var(--color-sidebar-text)}[data-theme=light]{color-scheme:light;--color-bg: #f1f5f9;--color-bg-pattern: #e2e8f0;--body-glow-1: rgba(26, 92, 84, .06);--body-glow-2: rgba(15, 23, 42, .04);--color-surface: #ffffff;--color-surface-2: #f8fafc;--color-input-bg: #ffffff;--color-surface-hover: #e2e8f0;--color-border: rgba(15, 23, 42, .1);--color-border-strong: rgba(15, 23, 42, .16);--color-text: #0f172a;--color-text-muted: #475569;--color-text-soft: #64748b;--color-sidebar: #f8fafc;--color-sidebar-2: #f1f5f9;--color-sidebar-edge: rgba(15, 23, 42, .08);--color-sidebar-text: #1e293b;--color-sidebar-muted: #64748b;--color-sidebar-hover: rgba(15, 23, 42, .06);--color-sidebar-active: rgba(26, 92, 84, .12);--color-sidebar-accent: #1a5c54;--color-sidebar-title: #0f172a;--color-sidebar-logo-fg: #0f172a;--color-sidebar-ghost-border: rgba(15, 23, 42, .18);--color-sidebar-input-bg: #ffffff;--color-sidebar-input-border: rgba(15, 23, 42, .14);--color-ledger-dropdown-end: #e2e8f0;--color-primary: #0f766e;--color-primary-hover: #0d9488;--color-on-primary: #f8fafc;--color-accent: #b45309;--color-accent-hover: #92400e;--color-on-accent: #fffbeb;--color-accent-logo-end: #78350f;--color-danger: #b91c1c;--color-danger-bg: rgba(185, 28, 28, .08);--color-success: #15803d;--color-success-bg: rgba(21, 128, 61, .1);--color-income: #166534;--color-expense: #9a3412;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 12px rgba(15, 23, 42, .07), 0 1px 3px rgba(15, 23, 42, .05);--shadow-lg: 0 12px 40px rgba(15, 23, 42, .1);--shadow-sidebar: 4px 0 20px rgba(15, 23, 42, .06);--auth-shell-bg: radial-gradient(ellipse 100% 80% at 50% -20%, rgba(14, 116, 144, .08), transparent 55%), radial-gradient(ellipse 70% 50% at 100% 90%, rgba(15, 118, 110, .06), transparent 50%), linear-gradient(165deg, #f8fafc 0%, #e2e8f0 100%);--auth-brand-shadow-1: rgba(255, 255, 255, .95);--auth-brand-shadow-2: rgba(15, 118, 110, .15);--mobile-topbar-hover: #e2e8f0;--nav-hover-fg: #0f172a;--nav-active-fg: #0f172a;--landing-bg: radial-gradient(ellipse 90% 70% at 10% -20%, rgba(14, 116, 144, .1), transparent 55%), radial-gradient(ellipse 60% 50% at 95% 30%, rgba(15, 118, 110, .07), transparent 50%), linear-gradient(168deg, #f8fafc 0%, #e2e8f0 45%, #f1f5f9 100%);--landing-header-bg: rgba(255, 255, 255, .92);--landing-header-edge: var(--color-border);--landing-header-shadow: rgba(255, 255, 255, .9);--landing-purpose-bg: linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, var(--color-surface-2) 100%);--landing-cta-bg: linear-gradient(145deg, #0f766e 0%, #115e59 50%, #134e4a 100%);--landing-cta-text: #e2e8f0;--landing-cta-heading: #f8fafc;--landing-cta-muted: #94a3b8;--landing-cta-border: rgba(255, 255, 255, .14);--landing-cta-ghost-bg: rgba(255, 255, 255, .12);--landing-cta-ghost-fg: #f8fafc;--landing-cta-ghost-border: rgba(255, 255, 255, .28);--landing-cta-ghost-hover: rgba(255, 255, 255, .2);--landing-footer-bg: rgba(255, 255, 255, .75);--landing-custom-bg: linear-gradient(180deg, var(--color-surface-2) 0%, rgba(248, 250, 252, .85) 100%);--landing-custom-card-bg: var(--color-surface);--landing-custom-card-border: var(--color-border);--landing-plans-bg: linear-gradient(180deg, rgba(248, 250, 252, .9) 0%, var(--color-surface-2) 100%);--landing-plan-feature-bg: rgba(240, 253, 250, .85);--landing-plan-feature-border: rgba(15, 118, 110, .35);--landing-plan-badge-bg: rgba(15, 118, 110, .12);--auth-brand-grad-1: #0d9488;--auth-brand-grad-2: #0f766e;--skeleton-base: #e2e8f0;--skeleton-shine: #f8fafc;--theme-switcher-bg: rgba(15, 23, 42, .05);--theme-switcher-border: rgba(15, 23, 42, .12);--theme-switcher-active: rgba(15, 118, 110, .18);--theme-switcher-fg: var(--color-sidebar-text)}[data-theme=dark]{color-scheme:dark;--color-bg: #0c1210;--color-bg-pattern: #0a0f0d;--body-glow-1: rgba(45, 212, 191, .04);--body-glow-2: rgba(201, 162, 39, .05);--color-surface: #141c1a;--color-surface-2: #1a2421;--color-input-bg: #1a2220;--color-surface-hover: #24302c;--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .14);--color-text: #e7e5e4;--color-text-muted: #a8a29e;--color-text-soft: #78716c;--color-sidebar: #0a1010;--color-sidebar-2: #0f1816;--color-sidebar-edge: rgba(255, 255, 255, .06);--color-sidebar-text: #d6d3d1;--color-sidebar-muted: #78716c;--color-sidebar-hover: rgba(255, 255, 255, .06);--color-sidebar-active: rgba(201, 162, 39, .14);--color-sidebar-accent: #d4a84b;--color-sidebar-title: #fafaf9;--color-sidebar-logo-fg: #0c1210;--color-sidebar-ghost-border: rgba(255, 255, 255, .14);--color-sidebar-input-bg: rgba(255, 255, 255, .05);--color-sidebar-input-border: rgba(255, 255, 255, .1);--color-ledger-dropdown-end: #0f1816;--color-primary: #2dd4bf;--color-primary-hover: #5eead4;--color-on-primary: #0c1210;--color-accent: #e8c35a;--color-accent-hover: #fbbf24;--color-on-accent: #1c1917;--color-accent-logo-end: #92400e;--color-danger: #f87171;--color-danger-bg: rgba(248, 113, 113, .12);--color-success: #4ade80;--color-success-bg: rgba(74, 222, 128, .12);--color-income: #4ade80;--color-expense: #fb923c;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);--shadow-sidebar: 4px 0 28px rgba(0, 0, 0, .45);--auth-shell-bg: radial-gradient(ellipse 100% 80% at 50% -30%, rgba(45, 212, 191, .08), transparent 55%), radial-gradient(ellipse 70% 50% at 100% 80%, rgba(201, 162, 39, .06), transparent 50%), linear-gradient(165deg, #0f1714 0%, #0a0f0d 100%);--auth-brand-shadow-1: rgba(12, 18, 16, .9);--auth-brand-shadow-2: rgba(232, 195, 90, .25);--mobile-topbar-hover: #24302c;--nav-hover-fg: #fafaf9;--nav-active-fg: #fffef0;--landing-bg: radial-gradient(ellipse 90% 70% at 10% -20%, rgba(45, 212, 191, .08), transparent 55%), radial-gradient(ellipse 60% 50% at 95% 30%, rgba(201, 162, 39, .06), transparent 50%), linear-gradient(168deg, #0f1714 0%, #0c1210 45%, #0a0f0d 100%);--landing-header-bg: rgba(20, 28, 26, .88);--landing-header-edge: var(--color-border);--landing-header-shadow: rgba(0, 0, 0, .2);--landing-purpose-bg: linear-gradient(180deg, rgba(20, 28, 26, .5) 0%, var(--color-surface-2) 100%);--landing-cta-bg: linear-gradient(145deg, #134e4a 0%, #0f2420 55%, #050807 100%);--landing-cta-text: #d6d3d1;--landing-cta-heading: #fafaf9;--landing-cta-muted: #a8a29e;--landing-cta-border: rgba(255, 255, 255, .1);--landing-cta-ghost-bg: rgba(255, 255, 255, .08);--landing-cta-ghost-fg: #fafaf9;--landing-cta-ghost-border: rgba(255, 255, 255, .2);--landing-cta-ghost-hover: rgba(255, 255, 255, .14);--landing-footer-bg: rgba(12, 18, 16, .6);--landing-custom-bg: linear-gradient(180deg, var(--color-surface-2) 0%, rgba(12, 18, 16, .75) 100%);--landing-custom-card-bg: var(--color-surface);--landing-custom-card-border: var(--color-border);--landing-plans-bg: linear-gradient(180deg, rgba(20, 28, 26, .4) 0%, var(--color-surface-2) 100%);--landing-plan-feature-bg: rgba(26, 92, 84, .12);--landing-plan-feature-border: rgba(201, 162, 39, .35);--landing-plan-badge-bg: rgba(201, 162, 39, .15);--auth-brand-grad-1: #fde68a;--auth-brand-grad-2: #d97706;--skeleton-base: #1f2a27;--skeleton-shine: #2a3834;--theme-switcher-bg: rgba(255, 255, 255, .05);--theme-switcher-border: rgba(255, 255, 255, .1);--theme-switcher-active: rgba(201, 162, 39, .2);--theme-switcher-fg: var(--color-sidebar-text)}.theme-switcher--segmented{display:flex;flex-wrap:wrap;gap:.25rem;padding:.2rem;border-radius:var(--radius-sm);background:var(--theme-switcher-bg);border:1px solid var(--theme-switcher-border)}.theme-switcher__btn{flex:1 1 auto;min-width:0;margin:0;padding:.35rem .5rem;font-size:.75rem;font-weight:600;border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--theme-switcher-fg);cursor:pointer;transition:background var(--transition),color var(--transition)}.theme-switcher__btn:hover{background:var(--color-sidebar-hover);color:var(--nav-hover-fg)}.theme-switcher__btn--active{background:var(--theme-switcher-active);color:var(--nav-active-fg)}[data-theme=light] .theme-switcher__btn--active{color:var(--color-primary);font-weight:700}.theme-switcher--select .theme-switcher__select{min-width:7.5rem;padding:.4rem .55rem;font-size:.8125rem}.app-sidebar .theme-switcher--segmented{width:100%}.app-topbar .theme-switcher--segmented{flex:0 0 auto;max-width:11rem}.app-topbar .theme-switcher__btn{padding:.3rem .4rem;font-size:.6875rem}.landing-header .theme-switcher--segmented{border-color:var(--color-border-strong)}.landing-header .theme-switcher__btn{color:var(--color-text-muted)}.landing-header .theme-switcher__btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.landing-header .theme-switcher__btn--active{background:#1a5c541f;color:var(--color-primary)}[data-theme=dark] .landing-header .theme-switcher__btn--active{background:#2dd4bf26;color:var(--color-primary)}.landing-header .theme-switcher--select{flex-shrink:0}.landing-header .theme-switcher--select .theme-switcher__select{min-width:6.5rem;max-width:9rem;font-size:.75rem;padding:.38rem .5rem;background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text)}.landing-header .theme-switcher--select .theme-switcher__select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #1a5c541f}[data-theme=dark] .landing-header .theme-switcher--select .theme-switcher__select{background:var(--color-surface-2);color:var(--color-text)}.auth-shell .theme-switcher--corner{position:absolute;top:max(1rem,env(safe-area-inset-top,0px));right:max(1rem,env(safe-area-inset-right,0px));z-index:5;max-width:12rem}.auth-shell .theme-switcher__btn{font-size:.7rem}:root{--font-sans: "Outfit", system-ui, sans-serif;--font-display: "Fraunces", Georgia, serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--transition: .18s ease}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.55;color:var(--color-text);background-color:var(--color-bg);background-image:radial-gradient(ellipse 120% 80% at 100% -20%,var(--body-glow-1),transparent 50%),radial-gradient(ellipse 80% 60% at 0% 100%,var(--body-glow-2),transparent 45%),linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-pattern) 100%);min-height:100vh}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.25}a{color:var(--color-primary);text-decoration:none;font-weight:500;transition:color var(--transition)}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:inherit}input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:252px;flex-shrink:0;background:linear-gradient(180deg,var(--color-sidebar) 0%,var(--color-sidebar-2) 100%);color:var(--color-sidebar-text);padding:1.35rem 1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;border-right:1px solid var(--color-sidebar-edge);box-shadow:var(--shadow-sidebar)}.app-sidebar__brand{display:flex;align-items:center;gap:.65rem;padding:.25rem .35rem .85rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.35rem}.app-sidebar__logo{width:40px;height:40px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-logo-end) 100%);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--color-sidebar-logo-fg);box-shadow:0 2px 8px #00000040}.app-sidebar__title{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--color-sidebar-title);letter-spacing:-.03em}.app-sidebar__user{font-size:.8125rem;color:var(--color-sidebar-muted);padding:0 .35rem;line-height:1.35}.app-sidebar__user strong{color:var(--color-sidebar-text);font-weight:500;display:block}.app-sidebar__ledger{padding:.65rem .5rem .85rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.35rem;position:relative;z-index:1;overflow:visible}.app-sidebar__ledger-label{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-sidebar-muted);margin-bottom:.35rem}.app-sidebar__theme{margin-top:.35rem;padding-top:.75rem;border-top:1px solid var(--color-sidebar-edge)}.app-sidebar__ledger .input--compact{width:100%;font-size:.8125rem;padding:.45rem .55rem;background:var(--color-sidebar-input-bg);border:1px solid var(--color-sidebar-input-border);color:var(--color-sidebar-text)}.app-sidebar__ledger .input--compact:focus{outline:none;border-color:var(--color-sidebar-accent);box-shadow:0 0 0 2px #c9a22733}.ledger-select{position:relative;width:100%}.ledger-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:.4rem;width:100%;font:inherit;font-size:.8125rem;padding:.45rem .55rem;background:var(--color-sidebar-input-bg);border:1px solid var(--color-sidebar-input-border);border-radius:var(--radius-sm);color:var(--color-sidebar-text);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.ledger-select__trigger:hover{background:#ffffff1a;border-color:#fff3}.ledger-select__trigger:focus{outline:none;border-color:var(--color-sidebar-accent);box-shadow:0 0 0 2px #c9a22733}.ledger-select__trigger[aria-expanded=true]{border-color:var(--color-sidebar-accent);box-shadow:0 0 0 2px #c9a22733}.ledger-select__value{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-select__chevron{flex-shrink:0;font-size:.55rem;line-height:1;opacity:.85;color:var(--color-sidebar-text)}.ledger-select__list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:300;margin:0;padding:.3rem;list-style:none;background:linear-gradient(180deg,var(--color-sidebar) 0%,var(--color-ledger-dropdown-end) 100%);border:1px solid var(--color-sidebar-input-border);border-radius:var(--radius-sm);box-shadow:0 10px 36px #00000073,0 0 0 1px #0003;max-height:min(260px,55vh);overflow-y:auto}.ledger-select__item{margin:0}.ledger-select__option{display:block;width:100%;margin:0;padding:.45rem .5rem;font:inherit;font-size:.8125rem;text-align:left;color:var(--color-sidebar-text);background:transparent;border:1px solid transparent;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.ledger-select__option:hover{background:var(--color-sidebar-hover);color:var(--nav-hover-fg)}.ledger-select__option:focus{outline:none;background:var(--color-sidebar-hover)}.ledger-select__option--active{background:var(--color-sidebar-active);color:var(--nav-active-fg);border-color:#d4a84b66}.app-nav{display:flex;flex-direction:column;gap:.2rem;margin-top:.5rem;flex:1}.nav-link{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:var(--radius-sm);color:var(--color-sidebar-text);font-size:.9375rem;font-weight:500;transition:background var(--transition),color var(--transition);border:1px solid transparent}.nav-link:hover{background:var(--color-sidebar-hover);color:var(--nav-hover-fg)}.nav-link--active{background:var(--color-sidebar-active);color:var(--nav-active-fg);border-color:#d4a84b59;box-shadow:inset 0 1px #ffffff0f}.nav-link__icon{font-size:1rem;opacity:.9;width:1.25rem;text-align:center}.app-main{flex:1;padding:1.75rem 2rem 2.5rem;max-width:1200px;width:100%}.app-content{flex:1;display:flex;flex-direction:column;min-width:0;min-height:100vh}.app-topbar,.app-sidebar-backdrop{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 899px){body.app-nav-open{overflow:hidden;touch-action:none}.app-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;margin:0;padding:0;border:none;background:#0f242073;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);cursor:pointer;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.app-sidebar-backdrop--open{opacity:1;pointer-events:auto;visibility:visible}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:min(288px,88vw);max-width:100%;z-index:190;margin:0;transform:translate(-100%);transition:transform .22s ease;box-shadow:none;padding-top:max(1.25rem,env(safe-area-inset-top,0px));padding-bottom:max(1.25rem,env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch}.app-sidebar--open{transform:translate(0);box-shadow:8px 0 36px #00000061}.nav-link{padding:.65rem .75rem;min-height:2.75rem}.app-topbar{display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));padding-top:max(.55rem,env(safe-area-inset-top,0px));background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;flex-shrink:0;box-shadow:var(--shadow-sm)}.app-topbar__menu{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin:0;padding:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text);cursor:pointer;flex-shrink:0;transition:background var(--transition),border-color var(--transition)}.app-topbar__menu:hover{background:var(--mobile-topbar-hover)}.app-topbar__menu:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-topbar__menu-bars{display:block;width:1.2rem;height:2px;background:currentColor;border-radius:1px;position:relative}.app-topbar__menu-bars:before,.app-topbar__menu-bars:after{content:"";position:absolute;left:0;width:100%;height:2px;background:currentColor;border-radius:1px}.app-topbar__menu-bars:before{top:-6px}.app-topbar__menu-bars:after{top:6px}.app-topbar__title{flex:1;min-width:0;font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.02em;color:var(--color-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar__theme{flex-shrink:0;margin-left:auto}.app-main{padding:1rem 1rem 1.75rem;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));padding-bottom:max(1.75rem,env(safe-area-inset-bottom,0px))}.page-title{font-size:1.45rem}.page-desc{font-size:.9rem;max-width:none}.card{padding:1.1rem 1rem}.stat-card__value{font-size:1.4rem}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.table th,.table td{padding:.6rem .65rem;font-size:.875rem}.filter-bar{flex-direction:column;align-items:stretch}.modal-panel,.modal-panel--wide{left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100vw - 1.5rem);max-width:520px;max-height:min(90dvh,640px);overflow-y:auto;margin:0;padding:1.25rem 1.2rem}.form-grid,.form-grid--tight{grid-template-columns:1fr}.auth-shell{padding:1.25rem 1rem;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}.auth-card{padding:1.5rem 1.25rem 1.35rem}}@media (max-width: 899px) and (prefers-reduced-motion: reduce){.app-sidebar,.app-sidebar-backdrop{transition:none}}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.auth-shell{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--auth-shell-bg)}.auth-shell--with-brand{flex-direction:column;gap:1.75rem}.auth-brand{display:flex;align-items:center;justify-content:center;text-align:center}.auth-brand__title{margin:0;max-width:min(100%,18ch);font-family:var(--font-display);font-size:clamp(2.85rem,10vw,4.75rem);font-weight:700;letter-spacing:-.04em;line-height:1.02;background:linear-gradient(165deg,var(--auth-brand-grad-1) 0%,var(--color-accent) 38%,var(--color-accent-hover) 72%,var(--auth-brand-grad-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 var(--auth-brand-shadow-1)) drop-shadow(0 2px 10px var(--auth-brand-shadow-2))}@media (max-width: 520px){.auth-brand__title{max-width:100%}}.auth-card{width:100%;max-width:420px;background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem 2rem 1.75rem;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.auth-card__eyebrow{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent-hover);margin-bottom:.35rem}.auth-card h1,.auth-card h2{margin:0 0 1.25rem;font-size:1.65rem;color:var(--color-text)}.auth-footer{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border);font-size:.9375rem;color:var(--color-text-muted)}.auth-footer a{font-weight:600}.page-header{margin-bottom:1.5rem}.page-title{margin:0 0 .35rem;font-size:1.75rem;color:var(--color-text)}.page-desc{margin:0;font-size:.95rem;color:var(--color-text-muted);max-width:52ch}.card{background:var(--color-surface);border-radius:var(--radius-md);padding:1.35rem 1.4rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border);margin-bottom:1rem}.card--flat{background:var(--color-surface-2);box-shadow:var(--shadow-sm)}.card__title{margin:0 0 1rem;font-size:1.1rem;font-family:var(--font-display);font-weight:600;color:var(--color-text)}.card__section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-soft);margin:.75rem 0 .5rem}.select-options-editor__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.select-options-editor__row{display:flex;align-items:center;gap:.5rem;margin:0}.select-options-editor__row .input{flex:1;min-width:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{position:relative;overflow:hidden;border-radius:var(--radius-md);padding:1.25rem 1.35rem;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card:after{content:"";position:absolute;top:0;right:0;width:48%;height:100%;background:linear-gradient(105deg,transparent 40%,rgba(201,162,39,.06) 100%);pointer-events:none}.stat-card--income{border-left:4px solid var(--color-income)}.stat-card--expense{border-left:4px solid var(--color-expense)}.stat-card--net{border-left:4px solid var(--color-primary)}.stat-card__label{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-soft);margin-bottom:.35rem}.stat-card__value{font-family:var(--font-display);font-size:1.65rem;font-weight:600;color:var(--color-text);letter-spacing:-.02em}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem}.form-grid--tight{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}label{display:flex;flex-direction:column;gap:.35rem;font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.input,input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:.55rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-input-bg);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}.input:focus,input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1a5c5426}.field-block{display:block;margin-top:.65rem}.form-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.15rem;font-size:.9375rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid transparent;transition:background var(--transition),color var(--transition),border-color var(--transition),transform .12s ease,box-shadow var(--transition)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn:not(:disabled):active{transform:translateY(1px)}.btn:focus-visible,.nav-link:focus-visible,.input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--primary{background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:var(--color-on-primary);box-shadow:0 2px 6px #1a5c5459}.btn--primary:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 4px 14px #1a5c5459}.btn--accent{background:linear-gradient(180deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:var(--color-on-accent);box-shadow:0 2px 8px #c9a22766}.btn--accent:hover:not(:disabled){filter:brightness(1.06)}.btn--secondary{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-hover)}.btn--ghost{background:transparent;color:var(--color-sidebar-text);border-color:var(--color-sidebar-ghost-border)}.btn--ghost:hover:not(:disabled){background:var(--color-sidebar-hover)}.btn--danger{background:var(--color-input-bg);color:var(--color-danger);border-color:#b91c1c59}.btn--danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn--sm{padding:.4rem .75rem;font-size:.8125rem}.btn--block{width:100%}.app-sidebar .btn--ghost{margin-top:.25rem}.checkbox-row{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-size:.9375rem}.checkbox-row input{margin-top:.2rem;flex-shrink:0}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;font-size:.9375rem}.table th{text-align:left;padding:.75rem .85rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-soft);background:var(--color-surface-2);border-bottom:1px solid var(--color-border)}.table td{padding:.65rem .85rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.table tbody tr{transition:background var(--transition)}.table tbody tr:hover{background:#1a5c540a}.table tbody tr:last-child td{border-bottom:none}.table__cell-muted{max-width:240px;font-size:.85rem;color:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge--ok{background:var(--color-success-bg);color:var(--color-success)}.badge--off{background:#78716c1f;color:var(--color-text-muted)}.alert{padding:.65rem .85rem;border-radius:var(--radius-sm);font-size:.9rem}.alert--error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(185,28,28,.25)}.alert--success{background:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(21,128,61,.25)}.muted{color:var(--color-text-muted);font-size:.9rem}.error{color:var(--color-danger);font-size:.9rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f242073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;animation:fadeIn .2s ease}.modal-panel--wide{max-width:520px}.modal-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:101;width:100%;max-width:420px;background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem 1.6rem;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);animation:slideUp .25s ease}.modal-panel h3{margin:0 0 .35rem;font-size:1.2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}.filter-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.skeleton-text{height:1em;background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.landing-loading{min-height:45vh;display:flex;align-items:center;justify-content:center;padding:2rem}.skip-to-main{position:absolute;left:-9999px;top:0;z-index:200;padding:.5rem 1rem;font-weight:600;font-size:.875rem;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);text-decoration:none;box-shadow:var(--shadow-md)}.skip-to-main:focus{left:max(.75rem,env(safe-area-inset-left,0px));top:max(.5rem,env(safe-area-inset-top,0px));outline:2px solid var(--color-accent);outline-offset:2px}.landing{min-height:100vh;display:flex;flex-direction:column;color:var(--color-text);background:var(--landing-bg)}.landing>main>section{scroll-margin-top:4.5rem}.landing-header{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.75rem 1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px));padding-top:max(.75rem,env(safe-area-inset-top,0px));background:var(--landing-header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--landing-header-edge);box-shadow:0 1px 0 var(--landing-header-shadow)}.landing-header__row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.25rem;min-width:0;flex:1 1 200px}.landing-header__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem .65rem;flex:0 1 auto}.landing-header__toc{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem .35rem;overflow-x:auto;max-width:min(100%,52vw);padding-bottom:.15rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.landing-header__toc-link{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-decoration:none;padding:.35rem .5rem;border-radius:var(--radius-sm);white-space:nowrap;transition:color var(--transition),background var(--transition)}.landing-header__toc-link:hover{color:var(--color-primary);background:#1a5c540f}.landing-header__brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:inherit;font-weight:600}.landing-header__brand:hover .landing-header__name{color:var(--color-primary)}.landing-header__logo{width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--color-sidebar-logo-fg);box-shadow:0 2px 10px #c9a22759}.landing-header__name{font-family:var(--font-display);font-size:1.2rem;letter-spacing:-.03em;color:var(--color-text);transition:color var(--transition)}.landing-header__nav{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.landing-header__link{padding:.5rem .75rem;font-weight:600;font-size:.9375rem;color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition)}.landing-header__link:hover{color:var(--color-primary);background:#1a5c540f}.landing-header__cta{font-size:.875rem;padding:.5rem 1rem}.landing-hero{position:relative;padding:clamp(2.5rem,6vw,4.5rem) 1.5rem clamp(3rem,8vw,5rem);padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px));overflow:hidden}.landing-hero__glow{pointer-events:none;position:absolute;inset:-20% -30% auto;height:85%;background:radial-gradient(closest-side,rgba(212,168,75,.18),transparent 72%),radial-gradient(closest-side at 80% 40%,rgba(26,92,84,.12),transparent 65%);opacity:.9}.landing-hero__inner{position:relative;max-width:52rem;margin:0 auto;text-align:center}.landing-hero__eyebrow{margin:0 0 .9rem;font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent-hover)}.landing-hero__title{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(2.25rem,4.5vw,3rem);font-weight:700;letter-spacing:-.035em;line-height:1.18;color:var(--color-text);text-wrap:balance}.landing-hero__lead{margin:0 auto 1.75rem;font-size:clamp(1rem,2.2vw,1.125rem);line-height:1.65;color:var(--color-text-muted);max-width:42rem;text-wrap:pretty}.landing-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.75rem}.landing-hero__btn-primary{padding:.65rem 1.35rem;font-size:1rem}.landing-hero__btn-secondary{padding:.65rem 1.25rem;font-size:1rem}.landing-hero__trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem;font-size:.875rem;color:var(--color-text-soft)}.landing-hero__trust li{display:inline-flex;align-items:center;gap:.4rem}.landing-hero__trust li:before{content:"";width:.35rem;height:.35rem;border-radius:50%;background:var(--color-accent);opacity:.85;flex-shrink:0}.landing-hero__note{margin:0;max-width:40rem;font-size:.8125rem;line-height:1.5;color:var(--color-text-soft)}.landing-hero__note strong{color:var(--color-text-muted);font-weight:600}.landing-purpose{padding:clamp(2.5rem,5vw,3.75rem) 1.5rem;background:var(--landing-purpose-bg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.landing-purpose__inner{max-width:42rem;margin:0 auto;text-align:center}.landing-purpose__title{margin:0 0 .85rem;font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2rem);font-weight:600;color:var(--color-primary);letter-spacing:-.02em}.landing-purpose__text{margin:0;font-size:1.02rem;line-height:1.7;color:var(--color-text-muted)}.landing-features{padding:clamp(2.75rem,6vw,4.25rem) 1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px))}.landing-features__head{max-width:36rem;margin:0 auto 2rem;text-align:center}.landing-features__title{margin:0 0 .5rem;font-family:var(--font-display);font-size:clamp(1.45rem,3.2vw,1.85rem);font-weight:600;letter-spacing:-.02em;color:var(--color-primary)}.landing-features__intro{margin:0;font-size:1rem;color:var(--color-text-muted);line-height:1.55}.landing-features__grid{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;max-width:960px}.landing-feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.35rem 1.3rem;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.landing-feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.landing-feature-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin-bottom:.75rem;border-radius:var(--radius-sm);background:linear-gradient(145deg,#1a5c541f,#c9a22726);font-size:1.1rem;color:var(--color-primary)}.landing-feature-card__title{margin:0 0 .45rem;font-size:1.05rem;font-weight:600;font-family:var(--font-display)}.landing-feature-card__text{margin:0;font-size:.9rem;line-height:1.55;color:var(--color-text-muted)}.landing-how{padding:clamp(2.75rem,6vw,4.25rem) 1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px));border-top:1px solid var(--color-border);background:var(--landing-how-bg, var(--color-surface-2))}.landing-how__head{max-width:38rem;margin:0 auto 1.75rem;text-align:center}.landing-how__title{margin:0 0 .5rem;font-family:var(--font-display);font-size:clamp(1.45rem,3.2vw,1.85rem);font-weight:600;letter-spacing:-.02em;color:var(--color-primary)}.landing-how__intro{margin:0;font-size:1rem;color:var(--color-text-muted);line-height:1.55}.landing-how__grid{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;max-width:1020px}.landing-how__card{position:relative;margin:0;padding:1.25rem 1.2rem 1.25rem 1.35rem;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.landing-how__n{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;margin-bottom:.65rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:800;color:var(--color-on-primary);background:linear-gradient(145deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);box-shadow:0 2px 6px #1a5c5440}.landing-how__card-title{margin:0 0 .45rem;font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--color-text)}.landing-how__card-text{margin:0;font-size:.9rem;line-height:1.6;color:var(--color-text-muted)}.landing-faq{padding:clamp(2.5rem,5vw,3.5rem) 1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px));border-top:1px solid var(--color-border);background:var(--landing-faq-bg, transparent)}.landing-faq__title{margin:0 0 1.25rem;font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.75rem);font-weight:600;text-align:center;color:var(--color-text);letter-spacing:-.02em}.landing-faq__list{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:.5rem}.landing-faq__item{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.landing-faq__q{list-style:none;padding:.9rem 1.1rem;font-size:.95rem;font-weight:600;color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.landing-faq__q::-webkit-details-marker{display:none}.landing-faq__q:after{content:"＋";font-size:.9rem;color:var(--color-primary);flex-shrink:0;transition:transform var(--transition)}.landing-faq__item[open] .landing-faq__q:after{content:"−";transform:rotate(180deg)}.landing-faq__q:hover{background:var(--color-surface-hover)}.landing-faq__a{margin:0;padding:.75rem 1.1rem 1rem;font-size:.9rem;line-height:1.6;color:var(--color-text-muted);border-top:1px solid var(--color-border)}.landing-plans{padding:clamp(2.75rem,6vw,4.25rem) 1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px));border-top:1px solid var(--color-border);background:var(--landing-plans-bg)}.landing-plans__head{max-width:40rem;margin:0 auto 2rem;text-align:center}.landing-plans__title{margin:0 0 .5rem;font-family:var(--font-display);font-size:clamp(1.45rem,3.2vw,1.9rem);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-primary)}.landing-plans__intro{margin:0;font-size:.98rem;line-height:1.6;color:var(--color-text-muted)}.landing-plans__grid{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.15rem;max-width:1040px;align-items:stretch}.landing-plan-card{position:relative;display:flex;flex-direction:column;padding:1.5rem 1.35rem 1.35rem;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.landing-plan-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.landing-plan-card--featured{border-color:var(--landing-plan-feature-border);box-shadow:var(--shadow-md),0 0 0 1px #c9a22733;background:var(--landing-plan-feature-bg)}.landing-plan-card__badge{position:absolute;top:.85rem;right:.85rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);background:var(--landing-plan-badge-bg);padding:.25rem .5rem;border-radius:var(--radius-sm)}.landing-plan-card__name{margin:0 0 .25rem;font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--color-text)}.landing-plan-card__hint{margin:0 0 1rem;font-size:.85rem;color:var(--color-text-soft);line-height:1.4}.landing-plan-card__price{margin:0 0 1rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .25rem}.landing-plan-card__amount{font-family:var(--font-display);font-size:clamp(1.85rem,4vw,2.25rem);font-weight:700;letter-spacing:-.03em;color:var(--color-primary)}.landing-plan-card__currency{font-size:1rem;font-weight:600;color:var(--color-text-muted)}.landing-plan-card__period{width:100%;font-size:.85rem;color:var(--color-text-soft)}.landing-plan-card__list{margin:0 0 1.15rem;padding:0 0 0 1.1rem;flex:1;font-size:.9rem;line-height:1.55;color:var(--color-text-muted)}.landing-plan-card__list li{margin-bottom:.4rem}.landing-plan-card__list li:last-child{margin-bottom:0}.landing-plan-card__cta{width:100%;justify-content:center;margin-top:auto}.landing-custom{padding:clamp(2.75rem,6vw,4.25rem) 1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px));border-top:1px solid var(--color-border);background:var(--landing-custom-bg)}.landing-custom__inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}@media (min-width: 840px){.landing-custom__inner{grid-template-columns:1.12fr .88fr;gap:2.75rem;align-items:stretch}}.landing-custom__eyebrow{margin:0 0 .6rem;font-size:1.05rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary)}.landing-custom__title{margin:0 0 .85rem;font-family:var(--font-display);font-size:clamp(1.45rem,3.2vw,1.95rem);font-weight:600;letter-spacing:-.02em;color:var(--color-text);line-height:1.2}.landing-custom__lead{margin:0 0 1.25rem;font-size:1.02rem;line-height:1.65;color:var(--color-text-muted)}.landing-custom__list{margin:0;padding:0 0 0 1.15rem;font-size:.95rem;line-height:1.65;color:var(--color-text-muted)}.landing-custom__list li{margin-bottom:.55rem}.landing-custom__list li:last-child{margin-bottom:0}.landing-custom__aside{min-width:0}.landing-custom__card{height:100%;display:flex;flex-direction:column;padding:1.5rem 1.4rem;border-radius:var(--radius-lg);background:var(--landing-custom-card-bg);border:1px solid var(--landing-custom-card-border);box-shadow:var(--shadow-md)}.landing-custom__card-kicker{margin:0 0 .55rem;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary)}.landing-custom__card-invite{margin:0 0 .85rem;font-size:1.02rem;line-height:1.55;color:var(--color-text);font-weight:500}.landing-custom__card-text{margin:0 0 1.25rem;font-size:.9rem;line-height:1.55;color:var(--color-text-muted);flex:1}.landing-custom__card-btn{width:100%;justify-content:center;margin-bottom:.75rem}.landing-custom__card-secondary{font-size:.875rem;font-weight:600;text-align:center;color:var(--color-primary);text-decoration:none;transition:opacity var(--transition)}.landing-custom__card-secondary:hover{opacity:.85;text-decoration:underline}.landing-cta{padding:0 1.5rem clamp(2.75rem,6vw,4rem)}.landing-cta__panel{max-width:720px;margin:0 auto;padding:clamp(1.75rem,4vw,2.5rem) clamp(1.5rem,4vw,2.5rem);border-radius:var(--radius-lg);background:var(--landing-cta-bg);color:var(--landing-cta-text);text-align:center;box-shadow:0 20px 50px #0f242059,inset 0 1px #ffffff0f;border:1px solid var(--landing-cta-border)}.landing-cta__title{margin:0 0 .65rem;font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.75rem);font-weight:600;color:var(--landing-cta-heading);letter-spacing:-.02em}.landing-cta__text{margin:0 0 1.35rem;font-size:.98rem;line-height:1.6;color:var(--landing-cta-muted);max-width:40ch;margin-left:auto;margin-right:auto}.landing-cta__actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}.landing-cta__ghost.btn--secondary{background:var(--landing-cta-ghost-bg);color:var(--landing-cta-ghost-fg);border-color:var(--landing-cta-ghost-border)}.landing-cta__ghost.btn--secondary:hover:not(:disabled){background:var(--landing-cta-ghost-hover)}.landing-footer{margin-top:auto;padding:1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center;border-top:1px solid var(--color-border);background:var(--landing-footer-bg)}.landing-footer__copy{margin:0;font-size:.875rem;color:var(--color-text-muted)}.landing-footer__copy strong{color:var(--color-text);font-weight:600}.landing-footer__links{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.landing-footer__links a{font-weight:600}.landing-footer__meta{margin:0;max-width:52ch;font-size:.75rem;line-height:1.45;color:var(--color-text-soft)}.landing-footer__dot{color:var(--color-text-soft);-webkit-user-select:none;user-select:none}@media (max-width: 520px){.landing-header{padding-left:1rem;padding-right:1rem}.landing-header__nav{width:100%;justify-content:flex-end}.landing-hero__actions{flex-direction:column;align-items:stretch}.landing-hero__btn-primary,.landing-hero__btn-secondary{justify-content:center;text-align:center}}@media (prefers-reduced-motion: reduce){.landing-feature-card,.landing-plan-card{transition:none}.landing-feature-card:hover,.landing-plan-card:hover{transform:none}}.role-perms{display:flex;flex-direction:column;gap:1rem;padding-bottom:6rem}.role-perms__role-card{display:flex;flex-direction:column;gap:.85rem}.role-perms__role-select{display:flex;flex-direction:column;gap:.4rem;font-weight:600;color:var(--color-text)}.role-perms__role-select select.input{max-width:28rem}.role-perms__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.role-perms__count{font-size:1rem;color:var(--color-text)}.role-perms__count strong{color:var(--color-primary);font-size:1.15rem}.role-perms__badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;background:var(--color-surface-alt, rgba(0, 0, 0, .05));color:var(--color-text-muted);font-size:.8rem;font-weight:600;letter-spacing:.02em;border:1px solid var(--color-border)}.role-perms__badge--custom{background:#ffc1072e;color:#8a6a00;border-color:#ffc10773}.role-perms__role-desc{margin:0}.role-perms__group{display:flex;flex-direction:column;gap:.85rem}.role-perms__group-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.role-perms__group-title{margin:0;font-size:1.15rem;display:inline-flex;align-items:center;gap:.5rem}.role-perms__group-icon{font-size:1.25rem;line-height:1}.role-perms__group-desc{margin:.2rem 0 0;font-size:.9rem}.role-perms__group-tools{display:inline-flex;align-items:center;gap:.5rem}.role-perms__group-count{font-size:.85rem;color:var(--color-text-muted);font-weight:600}.btn--small{padding:.35rem .7rem;font-size:.85rem}.role-perms__items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.6rem}.role-perms__item{border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.role-perms__item:hover{border-color:var(--color-primary)}.role-perms__item--on{border-color:var(--color-primary);background:var(--color-primary-soft, rgba(46, 125, 50, .06));box-shadow:0 0 0 1px var(--color-primary) inset}.role-perms__item-row{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem .85rem;cursor:pointer}.role-perms__item-row input[type=checkbox]{margin-top:.25rem;flex-shrink:0;width:1.05rem;height:1.05rem;accent-color:var(--color-primary)}.role-perms__item-text{display:flex;flex-direction:column;gap:.2rem}.role-perms__item-title{font-weight:600;color:var(--color-text);font-size:.95rem}.role-perms__item-desc{font-size:.82rem;color:var(--color-text-muted);line-height:1.35}.role-perms__actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:.65rem;padding:.85rem 1rem;margin:0 -1rem;background:var(--color-surface);border-top:1px solid var(--color-border);border-radius:16px 16px 0 0;box-shadow:0 -6px 20px #0000000f;z-index:5}@media (max-width: 640px){.role-perms__items{grid-template-columns:1fr}.role-perms__group-head{flex-direction:column;align-items:flex-start}}
