.upgrade-modal-overlay{backdrop-filter:blur(4px);z-index:999;background:#00000080;animation:.2s ease-out fadeIn;position:fixed;inset:0}.upgrade-modal{background:var(--color-surface);z-index:1000;border-radius:12px;width:90%;max-width:500px;max-height:90vh;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000004d}.upgrade-modal__close{cursor:pointer;width:36px;height:36px;color:var(--color-text-secondary);background:0 0;border:none;border-radius:8px;font-size:24px;transition:color .15s;position:absolute;top:16px;right:16px;&:hover{color:var(--color-text);background:var(--color-background)}}.upgrade-modal__header{text-align:center;padding:32px 24px 24px}.upgrade-modal__title{color:var(--color-text);margin:0 0 12px;font-size:24px;font-weight:700;line-height:1.3}.upgrade-modal__description{color:var(--color-text-secondary);margin:0;font-size:16px;line-height:1.5}.upgrade-modal__pricing{padding:24px}.pricing-card{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark,#06c) 100%);color:#fff;text-align:center;border-radius:12px;padding:24px}.pricing-card h3{margin:0 0 16px;font-size:20px;font-weight:700}.pricing-card__price{letter-spacing:-1px;margin:0 0 4px;font-size:48px;font-weight:900}.pricing-card__period{opacity:.9;margin-left:8px;font-size:16px;font-weight:500}.pricing-card__annual{opacity:.9;margin:0 0 20px;font-size:14px}.pricing-card__features{text-align:left;flex-direction:column;gap:12px;margin:20px 0 0;padding:0;font-size:14px;line-height:1.5;list-style:none;display:flex}.pricing-card__features li{opacity:.95;margin:0;padding:0}.upgrade-modal__ctas{flex-direction:column;gap:12px;padding:24px;display:flex}.upgrade-modal__info{text-align:center;color:var(--color-text-tertiary);margin:0;padding:0 24px 24px;font-size:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,calc(20px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@media (width<=480px){.upgrade-modal{width:95%;max-width:none}.upgrade-modal__title{font-size:20px}.pricing-card__price{font-size:40px}.upgrade-modal__ctas{gap:10px}}:root{--font-sans:"Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Bricolage Grotesque", var(--font-sans);--font-mono:"Azeret Mono", "SF Mono", "Cascadia Code", monospace;--text-xs:.7rem;--text-sm:.835rem;--text-base:1rem;--text-lg:1.15rem;--text-xl:1.33rem;--text-2xl:1.65rem;--text-3xl:2.25rem;--text-4xl:3rem;--text-5xl:4rem;--text-6xl:5.25rem;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--page-max-width:1200px;--sidebar-width:64px;--sidebar-expanded:240px;--topbar-height:56px;--bottombar-height:56px;--card-radius:8px;--modal-max-width:480px;--toast-width:360px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:100px;--shadow-xs:0 1px 3px oklch(15% .02 285/.08);--shadow-card:0 2px 8px oklch(15% .02 285/.06), 0 8px 24px oklch(15% .02 285/.04);--shadow-elevated:0 4px 16px oklch(15% .02 285/.08), 0 16px 48px oklch(15% .02 285/.06);--shadow-modal:0 8px 32px oklch(10% .03 285/.15), 0 32px 80px oklch(10% .03 285/.2);--transition-fast:90ms cubic-bezier(.16, 1, .3, 1);--transition-base:.16s cubic-bezier(.16, 1, .3, 1);--transition-slow:.24s cubic-bezier(.16, 1, .3, 1);--z-base:0;--z-sticky:10;--z-sidebar:20;--z-overlay:30;--z-modal:40;--z-toast:50}:root[data-theme=dark]{--color-bg-primary:oklch(13% .02 285);--color-bg-secondary:oklch(16% .025 285);--color-bg-card:oklch(18% .025 285);--color-bg-card-glass:oklch(18% .025 285/.92);--color-bg-input:oklch(15% .02 285);--color-bg-hover:oklch(22% .03 285);--color-bg-active:oklch(26% .035 285);--color-bg-overlay:oklch(8% .02 285/.75);--color-text-primary:oklch(95% .01 285);--color-text-secondary:oklch(72% .03 285);--color-text-tertiary:oklch(50% .03 285);--color-text-inverse:oklch(13% .02 285);--color-accent:#6366f1;--color-accent-text:oklch(78% .18 285);--color-accent-hover:#818cf8;--color-accent-subtle:#6366f124;--color-accent-bg:#6366f112;--color-success:oklch(72% .19 155);--color-success-text:oklch(78% .17 155);--color-success-subtle:oklch(72% .19 155/.12);--color-warning:oklch(78% .17 80);--color-warning-subtle:oklch(78% .17 80/.12);--color-danger:oklch(65% .22 25);--color-danger-text:oklch(78% .15 25);--color-danger-subtle:oklch(65% .22 25/.12);--color-info:oklch(72% .14 230);--color-info-subtle:oklch(72% .14 230/.12);--color-border:oklch(25% .03 285);--color-border-strong:oklch(65% .25 285);--color-border-subtle:oklch(20% .025 285);--chart-1:oklch(70% .22 285);--chart-2:oklch(72% .19 155);--chart-3:oklch(78% .17 80);--chart-4:oklch(65% .22 25);--chart-5:oklch(65% .2 310);--chart-6:oklch(75% .14 195);--chart-7:oklch(72% .18 330);--chart-8:oklch(78% .18 130)}:root[data-theme=light]{--color-bg-primary:oklch(96% .008 285);--color-bg-secondary:oklch(93% .012 285);--color-bg-card:oklch(98% .005 285);--color-bg-card-glass:oklch(98% .005 285/.92);--color-bg-input:oklch(94% .01 285);--color-bg-hover:oklch(91% .015 285);--color-bg-active:oklch(88% .018 285);--color-bg-overlay:oklch(15% .02 285/.5);--color-text-primary:oklch(18% .02 285);--color-text-secondary:oklch(42% .03 285);--color-text-tertiary:oklch(58% .03 285);--color-text-inverse:oklch(96% .008 285);--color-accent:#4f46e5;--color-accent-text:#4338ca;--color-accent-hover:#4338ca;--color-accent-subtle:#4f46e517;--color-accent-bg:#4f46e50d;--color-success:oklch(55% .18 155);--color-success-text:oklch(55% .18 155);--color-success-subtle:oklch(55% .18 155/.07);--color-warning:oklch(65% .17 70);--color-warning-subtle:oklch(65% .17 70/.07);--color-danger:oklch(55% .22 25);--color-danger-text:oklch(55% .22 25);--color-danger-subtle:oklch(55% .22 25/.07);--color-info:oklch(55% .14 230);--color-info-subtle:oklch(55% .14 230/.07);--color-border:oklch(88% .015 285);--color-border-strong:oklch(48% .25 285);--color-border-subtle:oklch(92% .01 285);--chart-1:oklch(48% .25 285);--chart-2:oklch(55% .18 155);--chart-3:oklch(65% .17 70);--chart-4:oklch(55% .22 25);--chart-5:oklch(55% .2 310);--chart-6:oklch(55% .14 195);--chart-7:oklch(55% .18 330);--chart-8:oklch(60% .18 130)}:root[data-theme=vault]{--color-bg-primary:oklch(96% .015 25);--color-bg-secondary:oklch(93% .02 25);--color-bg-card:oklch(98% .01 25);--color-bg-card-glass:oklch(98% .01 25/.92);--color-bg-input:oklch(94% .018 25);--color-bg-hover:oklch(91% .025 25);--color-bg-active:oklch(88% .03 25);--color-bg-overlay:oklch(18% .04 25/.5);--color-bg-tertiary:oklch(90% .025 25);--color-text-primary:oklch(20% .03 25);--color-text-secondary:oklch(42% .04 25);--color-text-tertiary:oklch(58% .03 25);--color-text-inverse:oklch(96% .015 25);--color-accent:oklch(55% .18 25);--color-accent-text:oklch(50% .2 25);--color-accent-hover:oklch(48% .22 25);--color-accent-subtle:oklch(55% .18 25/.08);--color-success:oklch(55% .18 155);--color-success-text:oklch(55% .18 155);--color-success-subtle:oklch(55% .18 155/.08);--color-warning:oklch(65% .17 70);--color-warning-subtle:oklch(65% .17 70/.08);--color-danger:oklch(55% .22 25);--color-danger-text:oklch(55% .22 25);--color-danger-subtle:oklch(55% .22 25/.08);--color-info:oklch(55% .14 230);--color-info-subtle:oklch(55% .14 230/.08);--color-border:oklch(88% .025 25);--color-border-strong:oklch(55% .18 25);--color-border-subtle:oklch(92% .018 25);--chart-1:oklch(55% .18 25);--chart-2:oklch(55% .18 155);--chart-3:oklch(65% .17 70);--chart-4:oklch(55% .22 25);--chart-5:oklch(55% .2 310);--chart-6:oklch(55% .14 195);--chart-7:oklch(55% .18 330);--chart-8:oklch(60% .18 130)}:root[data-theme=bazaar]{--color-bg-primary:oklch(97% .02 80);--color-bg-secondary:oklch(94% .03 80);--color-bg-card:oklch(98% .015 80);--color-bg-card-glass:oklch(98% .015 80/.92);--color-bg-input:oklch(94% .03 80);--color-bg-hover:oklch(91% .04 80);--color-bg-active:oklch(88% .05 80);--color-bg-overlay:oklch(18% .04 80/.5);--color-bg-tertiary:oklch(90% .04 80);--color-text-primary:oklch(20% .03 80);--color-text-secondary:oklch(42% .04 80);--color-text-tertiary:oklch(58% .03 80);--color-text-inverse:oklch(97% .02 80);--color-accent:oklch(62% .15 80);--color-accent-text:oklch(55% .17 80);--color-accent-hover:oklch(55% .17 80);--color-accent-subtle:oklch(62% .15 80/.08);--color-success:oklch(55% .18 155);--color-success-text:oklch(55% .18 155);--color-success-subtle:oklch(55% .18 155/.08);--color-warning:oklch(65% .17 70);--color-warning-subtle:oklch(65% .17 70/.08);--color-danger:oklch(55% .22 25);--color-danger-text:oklch(55% .22 25);--color-danger-subtle:oklch(55% .22 25/.08);--color-info:oklch(55% .14 230);--color-info-subtle:oklch(55% .14 230/.08);--color-border:oklch(88% .03 80);--color-border-strong:oklch(62% .15 80);--color-border-subtle:oklch(92% .025 80);--chart-1:oklch(62% .15 80);--chart-2:oklch(55% .18 155);--chart-3:oklch(65% .17 70);--chart-4:oklch(55% .22 25);--chart-5:oklch(55% .2 310);--chart-6:oklch(55% .14 195);--chart-7:oklch(55% .18 330);--chart-8:oklch(60% .18 130)}:root[data-theme=bazaar-night]{--color-bg-primary:oklch(14% .03 310);--color-bg-secondary:oklch(17% .035 310);--color-bg-card:oklch(20% .035 310);--color-bg-card-glass:oklch(20% .035 310/.92);--color-bg-input:oklch(17% .035 310);--color-bg-hover:oklch(24% .04 310);--color-bg-active:oklch(28% .045 310);--color-bg-overlay:oklch(8% .025 310/.7);--color-bg-tertiary:oklch(24% .04 310);--color-text-primary:oklch(94% .01 310);--color-text-secondary:oklch(68% .04 310);--color-text-tertiary:oklch(45% .04 310);--color-text-inverse:oklch(14% .03 310);--color-accent:oklch(72% .12 80);--color-accent-text:oklch(78% .12 80);--color-accent-hover:oklch(78% .12 80);--color-accent-subtle:oklch(72% .12 80/.12);--color-success:oklch(72% .19 155);--color-success-text:oklch(78% .17 155);--color-success-subtle:oklch(72% .19 155/.12);--color-warning:oklch(78% .17 80);--color-warning-subtle:oklch(78% .17 80/.12);--color-danger:oklch(65% .22 25);--color-danger-text:oklch(78% .15 25);--color-danger-subtle:oklch(65% .22 25/.12);--color-info:oklch(72% .14 230);--color-info-subtle:oklch(72% .14 230/.12);--color-border:oklch(24% .04 310);--color-border-strong:oklch(72% .12 80);--color-border-subtle:oklch(18% .03 310);--chart-1:oklch(78% .12 80);--chart-2:oklch(78% .17 155);--chart-3:oklch(78% .17 80);--chart-4:oklch(78% .15 25);--chart-5:oklch(75% .15 310);--chart-6:oklch(75% .14 195);--chart-7:oklch(75% .18 330);--chart-8:oklch(78% .18 130)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px;line-height:1.5;overflow-x:clip}body{background:var(--color-bg-primary);color:var(--color-text-primary);min-height:100vh;overflow-x:clip}#root{min-width:0;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:0;font-weight:700;line-height:1.05}h1{font-size:var(--text-3xl);font-weight:800}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}@keyframes content-enter{0%{opacity:0;filter:blur(4px);transform:translateY(8px)}}@keyframes stagger-in{0%{opacity:0;filter:blur(4px);transform:translateY(12px)}}@keyframes fade-scale-in{0%{opacity:0;filter:blur(4px);transform:scale(.96)}}.view-enter>*{animation:.28s cubic-bezier(.16,1,.3,1) backwards stagger-in}.view-enter>:first-child{animation-delay:0s}.view-enter>:nth-child(2){animation-delay:35ms}.view-enter>:nth-child(3){animation-delay:70ms}.view-enter>:nth-child(4){animation-delay:.105s}.view-enter>:nth-child(5){animation-delay:.14s}.view-enter>:nth-child(6){animation-delay:.175s}.view-enter>:nth-child(7){animation-delay:.21s}.view-enter>:nth-child(8),.view-enter>:nth-child(9),.view-enter>:nth-child(10){animation-delay:.245s}.amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;line-height:1.3}.amount--positive{color:var(--color-success-text)}.amount--negative{color:var(--color-danger-text)}.amount--muted{color:var(--color-text-secondary)}.amount--neutral{color:var(--color-text-primary)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.15s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skeleton{background:var(--color-bg-secondary)!important;animation:none!important}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton--text{border-radius:6px;height:16px}.skeleton--card{border-radius:var(--radius-lg);min-height:80px}.skeleton--circle{border-radius:50%}.skeleton-dashboard{gap:var(--space-5);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) content-enter;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;user-select:none;border:none;min-width:0;font-weight:600;line-height:1;display:inline-flex;position:relative}.btn:active{transform:scale(.96)translateY(1px)}.btn:disabled{opacity:.45;pointer-events:none}.btn--sm{font-size:var(--text-sm);min-height:36px;padding:8px 12px}.btn--md{font-size:var(--text-base);min-height:44px;padding:12px 20px}.btn--lg{font-size:var(--text-lg);min-height:52px;padding:16px 28px}.btn--primary{background:var(--color-accent);color:var(--color-text-inverse);letter-spacing:0;box-shadow:0 8px 18px color-mix(in srgb, var(--color-accent) 22%, transparent);font-weight:700}.btn--primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.btn--secondary{color:var(--color-text-primary);border:1px solid var(--color-border);background:0 0}.btn--secondary:hover{background:var(--color-bg-hover);border-color:var(--color-text-tertiary)}.btn--ghost{color:var(--color-text-secondary);background:0 0}.btn--ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn--danger{background:var(--color-danger-subtle);color:var(--color-danger-text);font-weight:700}.btn--danger:hover{background:var(--color-danger);color:var(--color-text-inverse)}.btn--outline{color:var(--color-text-primary);border:1px solid var(--color-border);background:0 0;font-weight:500}.btn--outline:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.btn--full{width:100%;font-size:var(--text-base);min-height:48px;padding:12px 16px}@media (width<=767px){.btn--sm,.btn--md{min-height:48px}}.link{color:var(--color-accent);cursor:pointer;font-family:var(--font-sans);font-size:inherit;background:0 0;border:none;padding:0;font-weight:500}.link:hover{text-decoration:underline}.input{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:48px;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:12px 16px}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle);outline:none}.input::placeholder{color:var(--color-text-tertiary)}.input--amount{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.input--error{border-color:var(--color-danger)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--card-radius);padding:var(--space-5);transition:border-color var(--transition-base), transform var(--transition-base);box-shadow:var(--shadow-xs);min-width:0;position:relative}.card--elevated{border-color:var(--color-border)}.card--elevated:hover{border-color:var(--color-text-tertiary);transform:translateY(-2px)}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--color-accent);transform:translateY(-2px)}.icon-circle{border-radius:var(--radius-md);background:var(--color-bg-secondary);width:36px;height:36px;color:var(--color-text-secondary);transition:background var(--transition-fast), color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-circle--sm{border-radius:8px;width:28px;height:28px}.icon-circle--accent{background:var(--color-accent-subtle);color:var(--color-accent)}.icon-circle--success{color:var(--color-success-text);background:oklch(92% .04 145)}.icon-circle--danger{color:var(--color-danger-text);background:oklch(92% .04 25)}.badge{border-radius:var(--radius-pill);font-size:var(--text-xs);letter-spacing:.01em;align-items:center;padding:4px 10px;font-weight:600;line-height:1;display:inline-flex}.badge--info{background:var(--color-accent-subtle);color:var(--color-accent-text)}.badge--success{background:var(--color-success-subtle);color:var(--color-success-text)}.badge--warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge--danger{background:var(--color-danger-subtle);color:var(--color-danger-text)}.badge--pro{background:var(--color-accent-subtle);color:var(--color-accent-text);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.progress{border-radius:var(--radius-sm);background:var(--color-bg-hover);height:8px;overflow:hidden}.progress__fill{border-radius:var(--radius-sm);background:var(--color-accent);height:100%;transition:width .8s cubic-bezier(.16,1,.3,1);animation:1s cubic-bezier(.16,1,.3,1) backwards progress-fill-in}@keyframes progress-fill-in{0%{max-width:0}to{max-width:100%}}.progress__bar{border-radius:var(--radius-sm);background:var(--color-accent);height:100%;transition:width .8s cubic-bezier(.16,1,.3,1);animation:1s cubic-bezier(.16,1,.3,1) backwards progress-fill-in}.progress__fill--warning,.progress--warning .progress__bar{background:var(--color-warning)}.progress__fill--over,.progress--over .progress__bar{background:var(--color-danger)}.list-item{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background var(--transition-fast);display:flex}.list-item:last-child{border-bottom:none}.list-item:hover{background:var(--color-bg-hover)}.list-item:active{background:var(--color-bg-active)}.list-item__icon{border-radius:var(--radius-md);background:var(--color-bg-secondary);width:40px;height:40px;font-size:var(--text-lg);flex-shrink:0;justify-content:center;align-items:center;display:flex}.list-item__content{flex-direction:column;flex:1;min-width:0;display:flex}.list-item__primary{font-size:var(--text-base);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.list-item__secondary{font-size:var(--text-sm);color:var(--color-text-secondary)}.list-item__amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0}.section-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.section-header__title{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:var(--space-2);font-weight:700;display:flex}.section-header__link{font-size:var(--text-sm);color:var(--color-accent-text);cursor:pointer;text-decoration:none}.section-header__link:hover{text-decoration:underline}.toast{padding:var(--space-3) var(--space-4);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-primary);min-width:200px;max-width:400px;font-weight:500;display:flex}.toast--success{background:var(--color-success-subtle);border-color:var(--color-success);color:var(--color-success-text)}.toast--error{background:var(--color-danger-subtle);border-color:var(--color-danger);color:var(--color-danger-text)}.toast--info{background:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-primary)}@keyframes slide-up{0%{opacity:0;filter:blur(4px);transform:translateY(16px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.modal-overlay{background:var(--color-bg-overlay);z-index:var(--z-modal);justify-content:center;align-items:center;animation:.2s cubic-bezier(.16,1,.3,1) both overlay-enter;display:flex;position:fixed;inset:0}@keyframes overlay-enter{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);width:100%;max-width:var(--modal-max-width);max-height:90vh;box-shadow:var(--shadow-modal);padding:var(--space-5);animation:.2s cubic-bezier(.16,1,.3,1) both modal-enter;overflow-y:auto}@keyframes modal-enter{0%{opacity:0;filter:blur(4px);transform:scale(.96)translateY(8px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}.modal-exit .modal-overlay{animation:.15s cubic-bezier(.16,1,.3,1) both overlay-exit}.modal-exit .modal{animation:.15s cubic-bezier(.16,1,.3,1) both modal-exit}@keyframes overlay-exit{0%{opacity:1}to{opacity:0}}@keyframes modal-exit{0%{opacity:1;filter:blur();transform:scale(1)translateY(0)}to{opacity:0;filter:blur(4px);transform:scale(.97)translateY(4px)}}.toast-item{animation:.25s cubic-bezier(.16,1,.3,1) both toast-enter}.toast-item--exiting{animation:.2s cubic-bezier(.16,1,.3,1) both toast-exit}@keyframes toast-enter{0%{opacity:0;filter:blur(4px);transform:translateY(16px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes toast-exit{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(4px);transform:translateY(-8px)scale(.96)}}.bottomsheet-enter .bottomsheet-backdrop{animation:.2s cubic-bezier(.16,1,.3,1) both overlay-enter}.bottomsheet-enter .bottomsheet{animation:.25s cubic-bezier(.16,1,.3,1) both sheet-enter}.bottomsheet-exit .bottomsheet-backdrop{animation:.15s cubic-bezier(.16,1,.3,1) both overlay-exit}.bottomsheet-exit .bottomsheet{animation:.2s cubic-bezier(.16,1,.3,1) both sheet-exit}@keyframes sheet-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.empty-state{padding:var(--space-16) var(--space-4);text-align:center;justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;animation:.5s cubic-bezier(.16,1,.3,1) .1s backwards content-enter;display:flex}.empty-state__icon{background:var(--color-accent-subtle);width:72px;height:72px;color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-state__text{font-size:var(--text-lg);color:var(--color-text-primary);max-width:320px;font-weight:600;line-height:1.4}.empty-state__subtext{font-size:var(--text-sm);color:var(--color-text-tertiary);max-width:280px}.label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1);font-weight:500;display:block}.form-group{margin-bottom:var(--space-4)}.skeleton{background:linear-gradient(90deg, var(--color-bg-secondary) 25%, var(--color-bg-hover) 50%, var(--color-bg-secondary) 75%);background-size:200% 100%;border-radius:8px;animation:1.5s ease-in-out infinite shimmer}.skeleton--text{height:20px}.skeleton--card{border-radius:12px;height:80px}.skeleton--block{border-radius:12px}.skeleton-dashboard{gap:var(--space-4);flex-direction:column;display:flex}.skeleton-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.setting-row__edit{gap:var(--space-2);align-items:center;display:flex}.setting-row__edit-btn{min-width:auto!important;padding:4px 8px!important}.setting-row__desc{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:2px}.settings-group--danger{border:1px solid color-mix(in srgb, var(--color-danger) 20%, transparent);padding:var(--space-3);border-radius:12px}.settings-links a{color:var(--color-accent);font-size:var(--text-sm);text-decoration:none}.settings-links a:hover{text-decoration:underline}.badge--muted{background:var(--color-bg-secondary);color:var(--color-text-tertiary)}.onboarding-card__step{font-size:var(--text-xs);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1);font-weight:600}.onboarding-card__progress{margin:var(--space-2) 0;gap:6px;display:flex}.onboarding-card__progress-dot{background:var(--color-border);width:8px;height:8px;transition:background var(--transition-fast);border-radius:50%}.onboarding-card__progress-dot.active{background:var(--color-accent)}.report-tile--link{cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);text-decoration:none}.report-tile--link:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.sync-indicator{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-tertiary);padding:0 var(--space-2);display:flex}.sync-indicator--saving{color:var(--color-warning)}.sync-indicator--synced{color:var(--color-success);animation:2s cubic-bezier(.16,1,.3,1) forwards sync-fade}@keyframes sync-fade{0%,50%{opacity:1}to{opacity:0}}.skip-link{top:-100px;left:var(--space-3);background:var(--color-accent);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);z-index:10000;font-size:var(--text-sm);transition:top var(--transition-fast);border-radius:0 0 8px 8px;text-decoration:none;position:absolute}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.form-error{font-size:var(--text-xs);color:var(--color-danger-text);margin-top:var(--space-1)}.offline-banner{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-warning-subtle);color:var(--color-warning);font-size:var(--text-sm);border-bottom:1px solid var(--color-warning);font-weight:600;animation:.3s cubic-bezier(.16,1,.3,1) slide-down;display:flex}.offline-banner__icon{font-size:var(--text-base)}@keyframes slide-down{0%{opacity:0;filter:blur(4px);transform:translateY(-100%)}to{opacity:1;filter:blur();transform:translateY(0)}}.sync-banner{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);background:var(--color-accent-subtle,color-mix(in srgb, var(--color-accent) 10%, transparent));color:var(--color-accent);font-size:var(--text-xs);font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) slide-down;display:flex}.sync-banner__icon{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-boundary{padding:var(--space-16) var(--space-4);text-align:center;justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;min-height:400px;display:flex}.error-boundary__icon{font-size:48px}.error-boundary__title{font-size:var(--text-xl);margin:0;font-weight:700}.error-boundary__message{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:400px;font-family:var(--font-mono);background:var(--color-bg-secondary);padding:var(--space-3) var(--space-4);word-break:break-word;border-radius:8px;margin:0}.inline-edit__display{align-items:center;gap:var(--space-1);transition:background var(--transition-fast);border-radius:4px;padding:2px 4px;display:inline-flex}.inline-edit__display:hover{background:var(--color-bg-hover)}.inline-edit__pencil{font-size:var(--text-xs);opacity:0;transition:opacity var(--transition-fast)}.inline-edit__display:hover .inline-edit__pencil{opacity:.6}.inline-edit__input{font-family:inherit;font-size:inherit}.category-picker__option:hover{background:var(--color-bg-hover)!important}.hbar-chart__row{align-items:center;gap:var(--space-3);display:flex}.hbar-chart__label{min-width:100px;font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hbar-chart__bar-bg{background:var(--color-bg-hover);border-radius:4px;flex:1;height:8px;overflow:hidden}.hbar-chart__value{text-align:right;min-width:60px;font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}@media (width<=767px){.btn--sm{min-height:40px;padding:10px 14px}.filter-chip{min-height:40px;padding:8px 14px}.list-item--interactive{-webkit-tap-highlight-color:transparent}.select{min-height:44px}}.app-shell{width:100%;max-width:100vw;min-height:100vh;display:flex;overflow-x:clip}.sidebar{width:var(--sidebar-width);background:var(--color-bg-secondary);border-right:1px solid var(--color-border);z-index:var(--z-sidebar);transition:width var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar:hover{width:var(--sidebar-expanded)}.sidebar__logo{height:48px;margin:var(--space-3) 0;flex-shrink:0;justify-content:center;align-items:center;gap:0;text-decoration:none;display:flex;overflow:hidden}.sidebar__logo-mark{flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:flex}.sidebar__logo-text{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:0;opacity:0;white-space:nowrap;width:0;transition:opacity var(--transition-base), width var(--transition-base);font-size:20px;font-weight:800;line-height:1;overflow:hidden}.sidebar:hover .sidebar__logo-text{opacity:1;width:auto}.sidebar__item--add{background:var(--color-accent-subtle);color:var(--color-accent-text);border-radius:var(--radius-md);margin:0 0 var(--space-2);cursor:pointer;font-family:var(--font-sans);transition:background var(--transition-fast), transform var(--transition-fast);border:none}.sidebar__item--add:hover{background:var(--color-accent);color:var(--color-text-inverse)}.sidebar__nav{padding:var(--space-2) 0;flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar__item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);min-height:44px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);text-align:left;width:100%;font-family:var(--font-sans);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:none;text-decoration:none;display:flex}.sidebar__item:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.sidebar__item--active{color:var(--color-accent-text);background:var(--color-accent-subtle);font-weight:600}.sidebar__item--active .sidebar__icon{color:var(--color-accent)}.sidebar__icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:18px;display:flex}.sidebar__label{opacity:0;transition:opacity var(--transition-fast)}.sidebar:hover .sidebar__label{opacity:1}.sidebar__spacer{flex:1}.sidebar__bottom{border-top:1px solid var(--color-border-subtle);padding:var(--space-2) 0}.main{margin-left:var(--sidebar-width);min-width:0;min-height:100vh;width:calc(100% - var(--sidebar-width));flex-direction:column;flex:1;max-width:100vw;display:flex;overflow-x:clip}.topbar{height:var(--topbar-height);background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);padding:0 var(--space-8);z-index:var(--z-sticky);justify-content:space-between;align-items:center;width:100%;min-width:0;display:flex;position:sticky;top:0}.topbar__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-primary);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:800;overflow:hidden}.topbar__actions{align-items:center;gap:var(--space-3);flex-shrink:0;min-width:0;display:flex}.topbar__icon-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;display:flex;position:relative}.topbar__icon-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.topbar__icon-btn:active{transform:scale(.92)}.topbar__badge{background:var(--color-danger);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;animation:.3s cubic-bezier(.34,1.56,.64,1) badge-pop;display:flex;position:absolute;top:2px;right:2px}@keyframes badge-pop{0%{transform:scale(0)}to{transform:scale(1)}}.content{max-width:var(--page-max-width);width:min(100%, var(--page-max-width));padding:var(--space-8);flex:1;min-width:0;margin:0 auto;animation:.35s cubic-bezier(.16,1,.3,1) content-enter;overflow-x:clip}.bottombar{display:none}@media (width<=767px){.sidebar{display:none}.main{width:100%;padding-bottom:calc(var(--bottombar-height) + env(safe-area-inset-bottom,0px));margin-left:0}.topbar{padding:0 var(--space-4)}.topbar__icon-btn{width:48px;height:48px}.content{padding:var(--space-4);width:100%;max-width:100%}.bottombar{height:calc(var(--bottombar-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-bg-card);border-top:1px solid var(--color-border);z-index:var(--z-sticky);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottombar__item{padding:var(--space-2) var(--space-1);color:var(--color-text-tertiary);cursor:pointer;font-family:var(--font-sans);min-width:56px;min-height:48px;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.bottombar__item:active{transform:scale(.9)}.bottombar__item--active{color:var(--color-accent)}.bottombar__item--active .bottombar__icon{transform:scale(1.1)}.bottombar__icon{transition:transform var(--transition-fast);font-size:20px}.bottombar__label{letter-spacing:.01em;font-size:10px;font-weight:500}.bottombar__add{background:var(--color-accent);width:48px;height:48px;color:var(--color-text-inverse);transition:transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;top:-8px;box-shadow:0 4px 12px oklch(35% .15 275/.35)}.bottombar__add:active{box-shadow:0 2px 8px oklch(35% .15 275/.25);transform:scale(.9)!important}.bottombar__add .bottombar__icon{font-size:24px}.bottombar__add .bottombar__label{display:none}}@media (width>=768px) and (width<=1023px){.content{padding:var(--space-6)}.modal{max-width:420px}.charts-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.kpi-grid{grid-template-columns:1fr 1fr}}@media (width>=1024px){.charts-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.kpi-grid{grid-template-columns:repeat(4,1fr)}.split-layout{gap:var(--space-6);grid-template-columns:1fr 360px;display:grid}.split-layout__detail{border-left:1px solid var(--color-border-subtle);padding-left:var(--space-6)}}@media (width>=1280px){.content{max-width:var(--page-max-width);padding:var(--space-10) var(--space-8)}.landing-content{max-width:1200px}}@media (width<=767px){.modal-overlay{align-items:flex-end}.modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:none;max-height:90vh;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));animation:.25s cubic-bezier(.16,1,.3,1) both sheet-enter}.modal-overlay--sheet{align-items:flex-end}.modal--sheet{max-width:none;max-height:85vh;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;animation:.25s cubic-bezier(.16,1,.3,1) both sheet-enter}.quick-add-panel{z-index:var(--z-modal);border-radius:0;max-width:none;position:fixed;inset:0}}:root[data-a11y-large-text]{font-size:18px}:root[data-a11y-high-contrast][data-theme=light]{--color-text-primary:#000;--color-text-secondary:#1e293b;--color-text-tertiary:#475569;--color-border:#94a3b8;--color-border-strong:#312e81;--color-border-subtle:#cbd5e1;--color-accent:#3730a3;--color-accent-text:#312e81;--color-success:#166534;--color-success-text:#14532d;--color-danger:#991b1b;--color-danger-text:#7f1d1d;--color-warning:#92400e}:root[data-a11y-high-contrast][data-theme=dark]{--color-text-primary:#fff;--color-text-secondary:#cbd5e1;--color-text-tertiary:#94a3b8;--color-border:#64748b;--color-border-strong:#a5b4fc;--color-border-subtle:#475569;--color-accent:#a5b4fc;--color-accent-text:#c7d2fe;--color-success:#86efac;--color-success-text:#bbf7d0;--color-danger:#fca5a5;--color-danger-text:#fecaca;--color-warning:#fcd34d}:root[data-a11y-high-contrast] .card{border-width:2px}:root[data-a11y-high-contrast] :focus-visible{outline-offset:3px;outline-width:3px}:root[data-a11y-high-contrast] .btn{font-weight:600}:root[data-a11y-high-contrast] .badge{border:1px solid;font-weight:700}:root[data-a11y-reduced-motion] *,:root[data-a11y-reduced-motion] :before,:root[data-a11y-reduced-motion] :after{scroll-behavior:auto!important;transition-duration:.15s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root[data-a11y-reduced-motion] .skeleton{background:var(--color-bg-secondary)!important;animation:none!important}:root[data-a11y-simple-layout] .dashboard__deltas,:root[data-a11y-simple-layout] .dashboard__charts,:root[data-a11y-simple-layout] .dashboard__categories,:root[data-a11y-simple-layout] .dashboard__report-tiles,:root[data-a11y-simple-layout] .badge--delta{display:none!important}@media (prefers-contrast:more){:root{--color-border:#64748b;--color-border-subtle:#94a3b8}:root[data-theme=light]{--color-text-primary:#000;--color-text-secondary:#1e293b}:root[data-theme=dark]{--color-text-primary:#fff;--color-text-secondary:#cbd5e1}.card{border-width:2px}:focus-visible{outline-width:3px}}.dashboard{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.dashboard>*{animation:.3s cubic-bezier(.16,1,.3,1) backwards stagger-in}.dashboard>:first-child{animation-delay:0s}.dashboard>:nth-child(2){animation-delay:35ms}.dashboard>:nth-child(3){animation-delay:70ms}.dashboard>:nth-child(4){animation-delay:.105s}.dashboard>:nth-child(5){animation-delay:.14s}.dashboard>:nth-child(6){animation-delay:.175s}.dashboard>:nth-child(7){animation-delay:.21s}.dashboard>:nth-child(8){animation-delay:.245s}.dashboard>:nth-child(9){animation-delay:.28s}.dashboard__greeting{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text-secondary);letter-spacing:0;padding-bottom:var(--space-3);margin:0;font-weight:700;line-height:1.2}.dashboard-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);min-width:0;box-shadow:var(--shadow-xs);transition:border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);overflow:hidden}.dashboard-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}.dashboard-card--flush{padding:0;overflow:hidden}.dashboard-card--flush>.section-header{padding:var(--space-4) var(--space-5) 0}.dashboard-card--flush>.recent-list,.dashboard-card--flush>.account-list-wrap,.dashboard-card--flush>div:last-child{padding:0 var(--space-5) var(--space-4)}.kpi-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;display:grid}.kpi-card{padding:var(--space-5) var(--space-6);gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.kpi-card:first-child{border-right:1px solid var(--color-border-subtle)}.kpi-card__label{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.kpi-card__value{font-size:var(--text-3xl);font-weight:800;font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1}.kpi-card__delta{font-size:var(--text-xs);font-weight:500}.kpi-card__delta--up{color:var(--color-success-text)}.kpi-card__delta--down{color:var(--color-danger-text)}.kpi-card__delta--zero{color:var(--color-text-tertiary)}.ie-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;display:grid}.ie-card{padding:var(--space-4) var(--space-5);gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ie-card:first-child{border-right:1px solid var(--color-border-subtle)}.ie-card__label{font-size:var(--text-sm);color:var(--color-text-secondary)}.ie-card__value{font-size:var(--text-2xl);font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:0}.top-spending__item{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.top-spending__icon{background:var(--color-bg-secondary);width:32px;height:32px;color:var(--color-text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.top-spending__info{flex:1;min-width:0}.top-spending__name{font-size:var(--text-sm);color:var(--color-text-primary)}.top-spending__bar{border-radius:var(--radius-sm);background:var(--color-bg-hover);height:6px;margin-top:4px;overflow:hidden}.top-spending__fill{border-radius:var(--radius-sm);background:var(--color-accent);height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.top-spending__amount{font-size:var(--text-sm);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);text-align:right;white-space:nowrap;flex-shrink:0}.account-list__item{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);display:flex}.account-list__item:last-child{border-bottom:none}.account-list__icon{background:var(--color-bg-secondary);width:36px;height:36px;color:var(--color-text-secondary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.account-list__name{font-size:var(--text-base);color:var(--color-text-primary);flex:1}.account-list__balance{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-base)}.recent-list{flex-direction:column;display:flex}.recent-list__day{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-3) 0 var(--space-1);font-weight:600}.recent-list__row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;cursor:pointer;margin:0 calc(-1 * var(--space-2));padding-left:var(--space-2);padding-right:var(--space-2);border-radius:8px;display:flex}.recent-list__row:hover{background:var(--color-bg-hover)}.recent-list__cat-icon{background:var(--color-bg-secondary);width:32px;height:32px;color:var(--color-text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.recent-list__info{flex:1;min-width:0}.recent-list__note{font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.recent-list__meta{font-size:var(--text-xs);color:var(--color-text-tertiary)}.recent-list__amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);flex-shrink:0;font-weight:500}.onboarding-card{background:var(--color-accent-subtle);border:1px solid var(--color-accent);border-radius:var(--card-radius);padding:var(--space-5);gap:var(--space-3);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.onboarding-card__title{font-size:var(--text-lg);font-weight:600}.hbar-chart{gap:var(--space-2);flex-direction:column;display:flex}.hbar-chart__row{gap:var(--space-2);grid-template-columns:100px 1fr 60px;align-items:center;display:grid}.hbar-chart__label{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hbar-chart__bar-bg{background:var(--color-bg-secondary);border-radius:4px;height:8px;overflow:hidden}.hbar-chart__bar-fill{border-radius:4px;height:100%;transition:width .3s cubic-bezier(.16,1,.3,1)}.hbar-chart__value{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-primary);text-align:right}.bar-chart__legend{gap:var(--space-4);padding:var(--space-3) 0 0;justify-content:center;display:flex}.bar-chart__legend-item{font-size:var(--text-xs);color:var(--color-text-secondary);align-items:center;gap:6px;font-weight:500;display:flex}.bar-chart__legend-dot--expense{background:var(--color-danger)}.chart-card{padding:var(--space-2) 0;overflow:hidden}.chart-interactive{position:relative}.section-header__sub{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:400}.kpi-card__sub{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1);font-weight:400}.category-chart{align-items:flex-start;gap:var(--space-6);padding:var(--space-2) 0;display:flex}.category-legend__item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);padding:4px 0;display:flex}.category-legend__icon{flex-shrink:0;align-items:center;display:flex}.category-legend__name{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);flex:1;font-weight:500;overflow:hidden}.category-legend__amount{font-family:var(--font-display);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-primary);font-weight:600}.category-legend__pct{font-size:var(--text-xs);color:var(--color-text-tertiary);text-align:right;font-variant-numeric:tabular-nums;width:36px}@media (width<=640px){.category-chart{flex-direction:column;align-items:center}}.insight-grid{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.insight-tile{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-secondary);transition:background var(--transition-fast);display:flex}.insight-tile:hover{background:var(--color-bg-hover)}.insight-tile--accent,.insight-tile--accent:hover{background:var(--color-accent-subtle)}.insight-tile--warning{background:color-mix(in srgb, var(--color-warning) 12%, var(--color-bg-secondary))}.insight-tile--danger{background:color-mix(in srgb, var(--color-error) 10%, var(--color-bg-secondary))}.insight-tile__icon{border-radius:var(--radius-md);background:var(--color-bg-card);width:36px;height:36px;color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.insight-tile--accent .insight-tile__icon{background:var(--color-bg-card);color:var(--color-accent)}.insight-tile--warning .insight-tile__icon{color:var(--color-warning)}.insight-tile--danger .insight-tile__icon{color:var(--color-error)}.insight-tile__content{flex-direction:column;gap:2px;min-width:0;display:flex}.insight-tile__metric{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);letter-spacing:0;font-weight:700;line-height:1.2}.insight-tile__title{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.insight-tile__desc{font-size:var(--text-xs);color:var(--color-text-tertiary);line-height:1.4}.insight-tile__actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.insight-tile__action{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);min-height:30px;color:var(--color-text-primary);padding:0 var(--space-3);font-size:var(--text-xs);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);font-weight:600;line-height:28px;text-decoration:none}.insight-tile__action:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.insight-tile__action:disabled{opacity:.65;cursor:wait}.insight-tile__action--ghost{color:var(--color-text-secondary);background:0 0}@media (width<=767px){.insight-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.insight-grid{grid-template-columns:1fr 1fr}.insight-tile{padding:var(--space-3);gap:var(--space-2);flex-direction:column}}.onboarding-card__text{font-size:var(--text-sm);color:var(--color-text-secondary)}.onboarding-card__actions{gap:var(--space-3);align-items:center;display:flex}.dashboard__charts-row{gap:var(--space-6);grid-template-columns:1fr;display:grid}@media (width>=1024px){.dashboard__charts-row{grid-template-columns:1fr 1fr}}.dashboard__bottom-row{gap:var(--space-6);grid-template-columns:1fr;display:grid}@media (width>=1024px){.dashboard__bottom-row{grid-template-columns:1fr 1fr}}.fab{display:none}@media (width<=767px){.kpi-grid{grid-template-columns:1fr 1fr}.kpi-card{padding:var(--space-3) var(--space-4)}.kpi-card__value{font-size:var(--text-2xl)}.ie-grid{grid-template-columns:1fr 1fr}.ie-card{padding:var(--space-3) var(--space-4)}.dashboard-card{padding:var(--space-4)}.dashboard-card--flush{padding:0}.fab{bottom:calc(var(--bottombar-height) + var(--space-4) + env(safe-area-inset-bottom,0px));right:var(--space-4);background:var(--color-accent);width:56px;height:56px;color:var(--color-text-inverse);cursor:pointer;box-shadow:var(--shadow-elevated);z-index:var(--z-overlay);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;display:flex;position:fixed}}@media (width<=360px){.kpi-grid,.ie-grid,.insight-grid{grid-template-columns:1fr}.kpi-card:first-child,.ie-card:first-child{border-right:0;border-bottom:1px solid var(--color-border-subtle)}}.tx-modal{gap:var(--space-5);flex-direction:column;display:flex}.tx-modal__header,.modal__header{justify-content:space-between;align-items:center;display:flex}.tx-modal__title,.modal__title{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:0;font-weight:700}.tx-modal__close,.modal__close{background:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;width:34px;height:34px;color:var(--color-text-secondary);transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border:none;justify-content:center;align-items:center;font-size:18px;display:flex}.tx-modal__close:hover,.modal__close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.tx-modal__close:active,.modal__close:active{transform:scale(.92)}.tx-modal__amount-input{font-family:var(--font-mono);font-size:var(--text-xl);text-align:right;font-variant-numeric:tabular-nums}.kind-selector{gap:var(--space-2);display:flex}.kind-selector__option{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);text-align:center;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border-radius:8px;flex:1;font-weight:500}.kind-selector__option:hover{background:var(--color-bg-hover)}.kind-selector__option--active{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent-text)}.select-wrapper{position:relative}.select{background:var(--color-bg-input);border:1px solid var(--color-border);width:100%;min-height:48px;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);appearance:none;cursor:pointer;border-radius:8px;padding:12px 40px 12px 44px}.select:focus{border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--color-accent-subtle);outline:none}.select-wrapper__icon{pointer-events:none;font-size:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.select-wrapper__chevron{color:var(--color-text-tertiary);pointer-events:none;font-size:14px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.select--compact{min-height:36px;font-size:var(--text-sm);border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);color:var(--color-text-primary);font-family:var(--font-sans);appearance:none;cursor:pointer;transition:border-color var(--transition-fast);padding:6px 12px}.select--compact:hover{border-color:var(--color-border)}.select--compact:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-subtle);outline:none}.tx-modal__actions{justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);display:flex}.tx-modal__actions--end{justify-content:flex-end}.activity{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.activity__header{gap:var(--space-3);flex-direction:column;display:flex}.activity__title-row{justify-content:space-between;align-items:center;display:flex}.activity__title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:0;margin:0;font-weight:800}.activity__add-btn{border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-inverse);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:transform var(--transition-fast), opacity var(--transition-fast);border:none;align-items:center;gap:6px;padding:8px 18px;font-weight:600;display:inline-flex}.activity__add-btn:hover{opacity:.88}.activity__add-btn:active{transform:scale(.96)}.month-nav{align-items:center;gap:var(--space-3);display:flex}.month-nav__btn{border:1.5px solid var(--color-border);background:var(--color-bg-card);border-radius:var(--radius-md);cursor:pointer;width:34px;height:34px;color:var(--color-text-secondary);transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.month-nav__btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.month-nav__btn:active{transform:scale(.92)}.month-nav__label{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:0;font-weight:700}.summary-strip{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.summary-strip__item{padding:var(--space-3) var(--space-4);text-align:center}.summary-strip__item+.summary-strip__item{border-left:1px solid var(--color-border-subtle)}.summary-strip__label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:11px;font-weight:600}.summary-strip__value{font-size:var(--text-lg);font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:700}.activity__filters{gap:var(--space-2);flex-direction:column;display:flex}.activity__search{align-items:center;display:flex;position:relative}.activity__search-icon{color:var(--color-text-tertiary);pointer-events:none;position:absolute;left:14px}.activity__search-input{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);width:100%;color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-sm);transition:border-color var(--transition-fast);padding:10px 14px 10px 38px}.activity__search-input:focus{border-color:var(--color-accent);outline:none}.activity__search-input::placeholder{color:var(--color-text-tertiary)}.activity__chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-chip{border:1.5px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);background:0 0;align-items:center;gap:5px;padding:6px 14px;font-weight:500;display:inline-flex}.filter-chip:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.filter-chip:active{transform:scale(.96)}.filter-chip--active{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent-text);font-weight:600}.activity__advanced-filters{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.activity-filter-input,.activity-filter-select{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);min-height:38px;color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-sm);padding:8px 12px}.activity-filter-input:focus,.activity-filter-select:focus{border-color:var(--color-accent);outline:none}.merchant-strip{gap:var(--space-2);padding-bottom:2px;display:flex;overflow-x:auto}.merchant-chip{align-items:center;gap:var(--space-2);min-height:32px;padding:0 var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);white-space:nowrap;cursor:pointer;font-weight:600;display:inline-flex}.merchant-chip span{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.merchant-chip--active{border-color:var(--color-accent);color:var(--color-accent-text);background:var(--color-accent-subtle)}.activity-bulk-bar{align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius-lg);background:var(--color-accent-subtle);display:flex}.activity-bulk-bar__summary{min-width:120px;font-size:var(--text-xs);color:var(--color-text-secondary);flex-direction:column;display:flex}.activity-bulk-bar__summary strong{color:var(--color-text-primary);font-size:var(--text-sm)}.activity-select-row{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:32px;display:flex}.activity-select-row__btn{color:var(--color-accent);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;font-weight:600}.activity-select-row__hint{color:var(--color-warning);font-size:var(--text-xs);align-items:center;gap:5px;font-weight:600;display:inline-flex}.activity__list{flex-direction:column;display:flex}.day-group{margin-bottom:var(--space-2)}.day-group__header{padding:var(--space-2) 0;margin-bottom:var(--space-1);justify-content:space-between;align-items:center;display:flex}.day-group__date{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.day-group__total{font-family:var(--font-display);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600}.day-group__items{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden}.tx-row{align-items:center;gap:var(--space-2);width:100%;min-height:60px;padding:0 var(--space-3);border:none;border-bottom:1px solid var(--color-border-subtle);text-align:left;font-family:var(--font-sans);transition:background var(--transition-fast);background:0 0;display:flex}.tx-row:last-child{border-bottom:none}.tx-row:hover{background:var(--color-bg-hover)}.tx-row--selected{background:var(--color-accent-subtle)}.tx-row--duplicate{box-shadow:inset 3px 0 0 var(--color-warning)}.tx-row__select{width:18px;height:18px;accent-color:var(--color-accent);flex-shrink:0}.tx-row__main{align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-3) var(--space-1);color:inherit;text-align:left;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;display:flex}.tx-row__main:active{background:var(--color-bg-active)}.tx-row__icon{border-radius:var(--radius-md);width:40px;height:40px;transition:transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tx-row:hover .tx-row__icon{transform:scale(1.05)}.tx-row__icon--income{background:var(--color-success-subtle);color:var(--color-success-text)}.tx-row__icon--expense{background:var(--color-danger-subtle);color:var(--color-danger-text)}.tx-row__icon--transfer{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.tx-row__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.tx-row__label{font-size:var(--text-base);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.tx-row__label mark{background:var(--color-warning-subtle);color:var(--color-text-primary);border-radius:3px;padding:0 2px}.tx-row__account{font-size:var(--text-xs);color:var(--color-text-tertiary)}.tx-row__meta{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.tx-pill{border-radius:var(--radius-sm);background:var(--color-bg-secondary);min-height:18px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.tx-pill--warning{background:var(--color-warning-subtle);color:var(--color-warning)}.tx-pill--tag{text-transform:none;letter-spacing:0}.tx-row__amount{font-family:var(--font-display);font-size:var(--text-base);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:0;flex-shrink:0;font-weight:700}.activity__load-more{width:100%;padding:var(--space-4);margin-top:var(--space-2);border:1.5px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-weight:500;display:flex}.activity__load-more:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border)}@media (width<=640px){.activity__title-row{gap:var(--space-2);flex-wrap:wrap}.activity__add-btn{display:none}.summary-strip{grid-template-columns:repeat(2,1fr)}.summary-strip__item:nth-child(3),.summary-strip__item:nth-child(4){border-top:1px solid var(--color-border-subtle)}.summary-strip__item:nth-child(3){border-left:0}.activity__chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.activity__chips::-webkit-scrollbar{display:none}.activity__advanced-filters{grid-template-columns:1fr 1fr}.activity-bulk-bar{flex-direction:column;align-items:stretch}.tx-row{padding:0 var(--space-2)}}.receipt-attach{align-items:center;gap:var(--space-2);min-height:42px;padding:var(--space-2);border:1.5px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);display:flex}.receipt-attach__input{max-width:190px;font-size:var(--text-xs);color:var(--color-text-secondary)}.receipt-attach__hint,.receipt-attach__name{font-size:var(--text-xs);color:var(--color-text-tertiary)}.receipt-attach__remove{color:var(--color-danger-text);font-family:var(--font-sans);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;margin-left:auto;font-weight:600}.view-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.view-page-header__title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:0;margin:0;font-weight:800}.view-page-header__subtitle{margin:var(--space-1) 0 0;max-width:620px;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5}.accounts-view{gap:var(--space-5);flex-direction:column;display:flex}.accounts-view__header{justify-content:space-between;align-items:center;display:flex}.accounts-section{flex-direction:column;gap:0;display:flex}.accounts-section__header{padding:var(--space-3) 0;justify-content:space-between;align-items:center;display:flex}.accounts-section__title{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:var(--space-2);font-size:11px;font-weight:700;display:flex}.accounts-section__title:before{display:none}.accounts-section__total{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-lg);letter-spacing:0;font-weight:700}.accounts-section__total--debt{color:var(--color-danger)}.accounts-overview,.plans-overview{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.accounts-overview__metric,.plans-overview__metric{min-width:0;padding:var(--space-4);background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.accounts-overview__metric--net,.plans-overview__metric--due{border-color:var(--color-border);background:var(--color-bg-secondary)}.accounts-overview__label,.plans-overview__label{margin-bottom:var(--space-1);color:var(--color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.accounts-overview__value,.plans-overview__value{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono);font-size:var(--text-xl);font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:800;display:block}.accounts-overview__value--debt,.plans-overview__value--debt{color:var(--color-danger)}.accounts-overview--compact{margin-top:var(--space-3)}.accounts-health-card__meta{margin-top:var(--space-1);color:var(--color-text-tertiary);font-size:var(--text-xs);display:block}.accounts-health-list{gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);display:grid}.accounts-health-list__item{gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);grid-template-columns:minmax(96px,auto) minmax(0,1fr) minmax(0,1.4fr);align-items:center;display:grid}.status-pill{width:fit-content;min-height:24px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);align-items:center;font-weight:700;display:inline-flex}.status-pill--good{background:color-mix(in srgb, var(--color-success) 12%, transparent);color:var(--color-success)}.status-pill--warning{background:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-accent)}.status-pill--danger{background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger)}.account-maintenance-panel{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-secondary);display:flex}.account-maintenance-panel div{min-width:0;color:var(--color-text-secondary);font-size:var(--text-sm);flex-direction:column;gap:2px;display:flex}@media (width<=767px){.view-page-header{flex-direction:column;align-items:stretch}.view-page-header>.btn{align-self:flex-start}.accounts-overview,.plans-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.accounts-overview__metric,.plans-overview__metric{padding:var(--space-3)}}.net-worth-card{background:var(--color-accent-subtle);border:2px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-6);gap:var(--space-2);flex-direction:column;display:flex;position:relative;overflow:hidden}.net-worth-card:after{display:none}.net-worth-card__label{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-accent-text);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.net-worth-card__value{font-size:var(--text-4xl);font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--color-accent-text);letter-spacing:0;font-weight:800}.budgets-view{gap:var(--space-4);flex-direction:column;width:100%;max-width:720px;margin:0 auto;display:flex}.budgets__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.budget-summary{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.budget-summary__header{justify-content:space-between;align-items:baseline;display:flex}.budget-summary__title{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.budget-summary__pct{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:0;font-weight:800}.budget-summary__amounts{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);display:flex}.budget-summary__spent{font-family:var(--font-display);color:var(--color-text-primary);font-weight:700}.budget-summary__of{color:var(--color-text-tertiary)}.budget-progress{border-radius:var(--radius-pill);background:var(--color-bg-hover);height:10px;overflow:hidden}.budget-progress__bar{border-radius:var(--radius-pill);height:100%;transition:width .8s cubic-bezier(.16,1,.3,1);animation:1s cubic-bezier(.16,1,.3,1) backwards progress-fill-in}.budget-progress--ok .budget-progress__bar{background:var(--color-success)}.budget-progress--warning .budget-progress__bar{background:var(--color-warning)}.budget-progress--over .budget-progress__bar{background:var(--color-danger)}.budget-cards{gap:var(--space-3);flex-direction:column;display:flex}.budget-card{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);transition:border-color var(--transition-fast);flex-direction:column;display:flex}.budget-card:hover{border-color:var(--color-border)}.budget-card__header{align-items:center;gap:var(--space-3);display:flex}.budget-card__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.budget-card__icon--ok{background:var(--color-success-subtle);color:var(--color-success-text)}.budget-card__icon--warning{background:var(--color-warning-subtle,oklch(95% .06 85));color:var(--color-warning-text,oklch(55% .12 60))}.budget-card__icon--over{background:var(--color-danger-subtle);color:var(--color-danger-text)}.budget-card__title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.budget-card__name{font-size:var(--text-base);color:var(--color-text-primary);font-weight:600}.budget-status{font-size:var(--text-xs);letter-spacing:.02em;font-weight:600}.budget-status--ok{color:var(--color-success-text)}.budget-status--warning{color:var(--color-warning-text,oklch(55% .12 60))}.budget-status--over{color:var(--color-danger-text)}.budget-card__actions{gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;display:flex}.budget-card:hover .budget-card__actions{opacity:1}.budget-card__action-btn{background:var(--color-bg-secondary);border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.budget-card__action-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.budget-card__action-btn:active{transform:scale(.92)}.budget-card__action-btn--danger:hover{background:var(--color-danger-subtle);color:var(--color-danger-text)}.budget-card__edit{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;display:flex}.budget-card__edit-input{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);width:120px;color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-sm);font-variant-numeric:tabular-nums;padding:6px 12px}.budget-card__edit-input:focus{border-color:var(--color-accent);outline:none}.budget-card__edit-save{border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-inverse);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:opacity var(--transition-fast);border:none;align-items:center;gap:4px;padding:6px 14px;font-weight:600;display:inline-flex}.budget-card__edit-save:hover{opacity:.88}.budget-card__edit-cancel{border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;padding:6px 12px}.budget-card__edit-cancel:hover{color:var(--color-text-primary)}.budget-card__amounts{gap:var(--space-2);padding-top:var(--space-1);grid-template-columns:1fr 1fr 1fr;display:grid}.budget-card__spent,.budget-card__remaining,.budget-card__limit{flex-direction:column;gap:1px;display:flex}.budget-card__remaining{text-align:center}.budget-card__limit{text-align:right}.budget-card__amount-value{font-family:var(--font-display);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-primary);font-weight:700}.budget-card__amount-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600}.budget-modal__suggest-row{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.budget-modal__suggest-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;align-items:center;gap:5px;padding:5px 12px;display:inline-flex}.budget-modal__suggest-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.budget-modal__empty-hint{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0 0 var(--space-2)}.budget-suggestions{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.budget-suggestion{padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.budget-suggestion__info{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-primary);display:flex}.budget-suggestion__avg{color:var(--color-text-tertiary);font-size:var(--text-xs)}.budget-suggestion__apply{border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-inverse);font-family:var(--font-sans);font-size:var(--text-xs);cursor:pointer;transition:opacity var(--transition-fast);border:none;padding:4px 12px;font-weight:600}.budget-suggestion__apply:hover{opacity:.88}.budget-safe-to-spend{padding:var(--space-3);margin-bottom:var(--space-3);background:var(--color-surface-highlight);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--color-border-subtle)}.budget-safe-to-spend__label{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1);font-weight:600;display:block}.budget-safe-to-spend__amount{font-size:var(--text-2xl);color:var(--color-text-primary);margin-bottom:var(--space-1);font-weight:700;display:block}.budget-safe-to-spend__hint{font-size:var(--text-xs);color:var(--color-text-secondary)}.budget-templates-section{padding:var(--space-3);margin-bottom:var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle)}.budget-templates-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.budget-templates-title{font-size:var(--text-lg);color:var(--color-text-primary);margin:0;font-weight:600}.budget-templates-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:4px 8px;font-weight:500}.budget-templates-toggle:hover{background:var(--color-surface);color:var(--color-text-primary)}.budget-templates-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.budget-template-card{padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-sans);font-size:var(--text-sm)}.budget-template-card:hover{border-color:var(--color-accent);background:var(--color-surface-highlight);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.budget-template-card__name{color:var(--color-text-primary);margin-bottom:var(--space-1);font-weight:600;display:block}.budget-template-card__desc{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-1);line-height:1.3;display:block}.budget-template-card__count{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:500;display:block}.budget-suggestions-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);background:linear-gradient(135deg, var(--color-accent-light), var(--color-accent-lighter));border-radius:var(--radius-lg);border:1px solid var(--color-accent);display:flex}.budget-suggestions-banner__text{font-size:var(--text-sm);color:var(--color-accent-dark);flex:1;font-weight:500}.budget-suggestions-banner__btn{background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;transition:opacity var(--transition-fast);border:none;padding:4px 12px;font-weight:600}.budget-suggestions-banner__btn:hover{opacity:.9}@media (width<=640px){.budgets__header{flex-wrap:wrap}.budget-card__actions{opacity:1}.budget-card__amounts{gap:var(--space-1)}.budget-templates-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}.bills-view{gap:var(--space-5);flex-direction:column;display:flex}.bills-view__header{justify-content:flex-end;align-items:center;display:flex}.bills-section{flex-direction:column;display:flex}.bills-section__title{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.1em;padding:var(--space-2) 0;margin-bottom:var(--space-1);align-items:center;gap:var(--space-2);font-size:11px;font-weight:700;display:flex}.bills-section__title:before{display:none}.bill-item__pay-btn{flex-shrink:0;align-self:center}.bill-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:background var(--transition-fast), transform var(--transition-fast);cursor:pointer;display:flex}.bill-item:last-child{border-bottom:none}.bill-item:hover{background:var(--color-bg-hover);transform:translate(2px)}.bill-item:active{transform:scale(.985)}.bill-item__icon{border-radius:var(--radius-md);background:var(--color-bg-secondary);width:40px;height:40px;color:var(--color-text-secondary);box-shadow:var(--shadow-xs);flex-shrink:0;justify-content:center;align-items:center;display:flex}.bill-item__content{flex:1;min-width:0}.bill-item__top{justify-content:space-between;align-items:center;display:flex}.bill-item__label{font-size:var(--text-base);font-weight:500}.bill-item__amount{font-family:var(--font-mono);font-size:var(--text-lg);font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:600}.bill-item__day{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-left:var(--space-2)}.bill-item__bottom{margin-top:var(--space-1);justify-content:space-between;align-items:center;display:flex}.bill-item__meta{font-size:var(--text-sm);color:var(--color-text-secondary)}.bill-item__due{font-size:var(--text-xs);border-radius:var(--radius-pill);background:var(--color-bg-secondary);color:var(--color-success-text);padding:3px 10px;font-weight:600}.bill-item__due--upcoming{color:oklch(40% .12 85);background:oklch(92% .06 85);font-weight:600}.bill-item__due--overdue{color:var(--color-danger-text);background:oklch(92% .06 25);font-weight:700}.bill-item__due--today{color:oklch(40% .12 60);background:oklch(92% .06 60);font-weight:700}.bill-item__progress{margin-top:var(--space-2)}.bill-item__progress-text{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:2px}.cc-statement{margin-bottom:var(--space-2)}.cc-statement__header{align-items:center;gap:var(--space-3);cursor:pointer;padding:var(--space-1) 0;display:flex}.cc-statement__header:hover{opacity:.8}.cc-statement__info{flex:1;min-width:0}.cc-statement__name{font-weight:600;font-size:var(--text-base)}.settings{gap:var(--space-6);flex-direction:column;max-width:640px;display:flex}.settings-group{flex-direction:column;display:flex}.settings-group__title{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-3);align-items:center;gap:var(--space-2);font-size:11px;font-weight:700;display:flex}.settings-group__title:before{display:none}.settings-view{max-width:840px}.setting-row{min-height:52px;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.setting-row:last-child{border-bottom:none}@media (width<=480px){.setting-row{flex-wrap:wrap}.setting-row__label{flex:1;min-width:0}.setting-row__value{flex-shrink:0}}.setting-row__hint{font-size:var(--text-xs);color:var(--color-text-tertiary);padding:0 0 var(--space-3);line-height:1.5}.setting-row__label{font-size:var(--text-base);color:var(--color-text-primary)}.setting-row__value{font-size:var(--text-base);color:var(--color-text-secondary);align-items:center;gap:var(--space-2);display:flex}.toggle{border-radius:var(--radius-pill);background:var(--color-border);cursor:pointer;width:48px;height:26px;transition:background var(--transition-fast), box-shadow var(--transition-fast);border:none;flex-shrink:0;position:relative}.toggle--on{background:var(--color-accent)}.toggle__knob{width:20px;height:20px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000026,0 0 0 1px #0000000a}.toggle--on .toggle__knob{transform:translate(22px)}.add-account-modal{gap:var(--space-4);flex-direction:column;display:flex}.account-type-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.account-type-option{align-items:center;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-secondary);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;border-radius:8px;flex-direction:column;display:flex}.account-type-option:hover{background:var(--color-bg-hover)}.account-type-option--active{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent-text)}@media (width<=767px){.account-type-option__icon{font-size:24px}}.reports{gap:var(--space-5);flex-direction:column;display:flex}.reports__header{margin-bottom:var(--space-2);justify-content:flex-end;display:flex}.reports__charts-row{gap:var(--space-5);grid-template-columns:1fr;display:grid}.reports__chart-wrap{padding:var(--space-3) 0;overflow:hidden}.reports__budget-list{gap:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex}.reports__budget-item-header{margin-bottom:var(--space-1);justify-content:space-between;display:flex}.reports__budget-label{font-size:var(--text-sm);align-items:center;gap:var(--space-1);display:flex}.reports__budget-values{font-size:var(--text-xs);color:var(--color-text-secondary)}@media (width>=1024px){.reports__charts-row{grid-template-columns:1fr 1fr}}.bar-chart{justify-content:space-around;align-items:flex-end;gap:var(--space-3);height:160px;padding:var(--space-4) 0;display:flex}.bar-chart__group{align-items:center;gap:var(--space-2);flex-direction:column;flex:1;display:flex}.bar-chart__bars{justify-content:center;align-items:flex-end;gap:4px;width:100%;height:120px;display:flex}.bar-chart__bar{width:16px;transition:height var(--transition-normal);border-radius:4px 4px 0 0;min-height:2px}.bar-chart__bar--income{background:var(--color-success)}.bar-chart__bar--expense{background:var(--color-danger);opacity:.8}.bar-chart__label{font-size:var(--text-xs);color:var(--color-text-secondary)}.bar-chart__legend{justify-content:center;gap:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--color-border-subtle);display:flex}.bar-chart__legend-item{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.bar-chart__legend-dot{border-radius:2px;width:10px;height:10px}.bar-chart__legend-dot--income{background:var(--color-success)}.bar-chart__legend-dot--expense{background:var(--color-danger);opacity:.8}.category-chart{gap:var(--space-5);padding:var(--space-3) 0;align-items:center;display:flex}.donut-chart{flex-shrink:0;width:140px;height:140px;position:relative}.donut-chart__svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-chart__center{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-chart__total{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600}.category-legend{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.category-legend__item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.category-legend__icon{text-align:center;flex-shrink:0;width:20px;font-size:16px}.category-legend__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.category-legend__amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.category-legend__pct{color:var(--color-text-tertiary);font-size:var(--text-xs);text-align:right;min-width:30px}.report-tiles{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.report-tile{background:var(--color-bg-card);border:1.5px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-1);transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.report-tile:hover{background:var(--color-bg-hover);box-shadow:var(--shadow-card);transform:translateY(-3px)}.report-tile:active{box-shadow:var(--shadow-xs);transform:translateY(0)}.report-tile__title{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:var(--space-1);font-size:11px;font-weight:700;display:flex}.report-tile__metric{font-size:var(--text-xl);font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:center;gap:var(--space-2);font-weight:700;display:flex}.report-tile__desc{font-size:var(--text-xs);color:var(--color-text-tertiary)}.report-tile--locked{opacity:.5;position:relative}.report-tile--warn{border-color:var(--color-warning)}.year-heatmap{padding:var(--space-3);overflow:auto}.year-heatmap__grid{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:2px;display:grid}.year-heatmap__cell{border-radius:2px;width:10px;height:10px}.year-heatmap__legend{margin-top:var(--space-2);justify-content:flex-end;align-items:center;gap:4px;display:flex}.year-heatmap__legend-label{font-size:var(--text-xs);color:var(--color-text-tertiary)}.budget-modal{gap:var(--space-4);flex-direction:column;display:flex}.category-picker-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(110px,1fr));max-height:280px;display:grid;overflow-y:auto}.category-picker-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-secondary);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);background:0 0;display:flex}.category-picker-item:hover{background:var(--color-bg-hover)}.category-picker-item:active{transform:scale(.96)}.category-picker-item--active{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent-text)}.recurring-modal{gap:var(--space-4);flex-direction:column;display:flex}.pay-modal{min-width:min(440px,92vw);max-width:480px}.pay-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.pay-modal__subtitle{margin:calc(-1 * var(--space-3)) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.pay-modal__summary{background:var(--color-bg-inset);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.pay-modal__summary-row{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.pay-modal__summary-value{color:var(--color-text);text-align:right;font-weight:600}.pay-modal__amount-input{text-align:right;font-variant-numeric:tabular-nums;max-width:160px;font-weight:600;font-size:var(--text-base)}.pay-modal__remember{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;display:flex}.pay-modal__cascade{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:oklch(from var(--color-accent) l c h / .08);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex}.pay-modal__hint{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--color-warning)}.pay-modal__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.toast-container{bottom:var(--space-6);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast-item{pointer-events:auto}@media (width<=767px){.category-chart{flex-direction:column}.report-tiles{grid-template-columns:1fr 1fr}}@media (width<=480px){.report-tiles{grid-template-columns:1fr}}.quickadd-backdrop{z-index:var(--z-modal);background:#0000004d;position:fixed;inset:0}.quickadd-panel{background:var(--color-bg-card);border-left:1px solid var(--color-border);width:400px;max-width:100vw;height:100vh;z-index:calc(var(--z-modal) + 1);flex-direction:column;animation:.2s cubic-bezier(.16,1,.3,1) quickadd-slide-in;display:flex;position:fixed;top:0;right:0}@keyframes quickadd-slide-in{0%{filter:blur(4px);transform:translate(100%)}to{filter:blur();transform:translate(0)}}.quickadd-panel__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.quickadd-tabs{gap:var(--space-1);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg-card);grid-template-columns:repeat(2,1fr);display:grid}.quickadd-tab,.quickadd-filter{color:var(--color-text-secondary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--text-xs);cursor:pointer;text-transform:capitalize;background:0 0;border:1px solid #0000;font-weight:700}.quickadd-tab--active,.quickadd-filter--active{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-subtle)}.quickadd-confirm-undo{align-items:center;gap:var(--space-2);display:flex}.quickadd-confirm-undo__label{font-size:var(--text-sm);color:var(--color-danger);font-weight:500}.quickadd-panel__messages{padding:var(--space-4) var(--space-5);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.quickadd-history{gap:var(--space-3);flex-direction:column;display:flex}.quickadd-history__filters{gap:var(--space-1);padding-bottom:var(--space-1);display:flex;overflow-x:auto}.quickadd-history__empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm)}.quickadd-history__item{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-secondary);flex-direction:column;display:flex}.quickadd-history__topline{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-xs);display:flex}.quickadd-history__badge{border-radius:var(--radius-sm);text-transform:uppercase;padding:2px 6px;font-weight:800}.quickadd-history__badge--create{background:var(--color-success-subtle);color:var(--color-success-text)}.quickadd-history__badge--update{background:var(--color-accent-subtle);color:var(--color-accent)}.quickadd-history__badge--delete{background:var(--color-warning-subtle,oklch(85% .12 85));color:var(--color-warning,oklch(55% .14 60))}.quickadd-history__badge--failed{background:var(--color-danger-subtle);color:var(--color-danger-text)}.quickadd-history__item strong{font-size:var(--text-sm)}.quickadd-history__item p{color:var(--color-text-tertiary);font-size:var(--text-xs);overflow-wrap:anywhere;margin:0}.quickadd-history__fields{gap:var(--space-1);display:grid}.quickadd-history__field{justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);display:flex}.quickadd-history__field span{color:var(--color-text-tertiary)}.quickadd-history__field b{text-align:right;overflow-wrap:anywhere}.quickadd-hint{gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-lg);margin-top:var(--space-8);display:flex}.quickadd-hint__icon{font-size:var(--text-2xl);flex-shrink:0}.quickadd-hint__text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.quickadd-suggestions{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.quickadd-setup-progress{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quickadd-setup-progress__item{align-items:center;gap:var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-card);min-width:0;color:var(--color-text-tertiary);padding:var(--space-2);font-size:var(--text-xs);font-weight:700;display:flex}.quickadd-setup-progress__item--done{color:var(--color-success-text);background:var(--color-success-subtle);border-color:#0000}.quickadd-setup-progress__dot{flex:none;display:inline-flex}.quickadd-setup-complete{margin-top:var(--space-3);border-radius:var(--radius-md);background:var(--color-success-subtle);color:var(--color-success-text);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);text-transform:uppercase;border:1px solid #0000;font-weight:800}.quickadd-suggestion,.quickadd-choice{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);width:100%;color:var(--color-text-primary);text-align:left;padding:var(--space-2) var(--space-3);font:inherit;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast)}.quickadd-suggestion--primary{border-color:var(--color-primary);background:var(--color-accent-subtle);font-weight:700}.quickadd-suggestion:hover,.quickadd-choice:hover{background:var(--color-bg-secondary);border-color:var(--color-primary);transform:translateY(-1px)}.quickadd-followup{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.quickadd-choice__label,.quickadd-choice__desc{display:block}.quickadd-choice__label{font-weight:600}.quickadd-choice__desc{color:var(--color-text-tertiary);font-size:var(--text-xs);margin-top:2px}.quickadd-review{gap:var(--space-3);margin-top:var(--space-3);flex-direction:column;display:flex}.quickadd-review__item{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-secondary);padding:var(--space-3)}.quickadd-review__item--danger{border-color:var(--color-danger)}.quickadd-review__title{color:var(--color-text-primary);font-weight:700}.quickadd-review__heading{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.quickadd-confidence{border-radius:var(--radius-sm);text-transform:uppercase;flex:none;padding:2px 6px;font-size:10px;font-weight:800}.quickadd-confidence--high{background:var(--color-success-subtle);color:var(--color-success-text)}.quickadd-confidence--medium{background:var(--color-warning-subtle,oklch(92% .09 85));color:var(--color-warning,oklch(55% .14 60))}.quickadd-confidence--low{background:var(--color-danger-subtle);color:var(--color-danger-text)}.quickadd-review__details{gap:var(--space-2);display:grid}.quickadd-review__detail{justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);display:flex}.quickadd-review__detail span{color:var(--color-text-tertiary)}.quickadd-review__detail strong{color:var(--color-text-primary);text-align:right;font-weight:600}.quickadd-review__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.quickadd-result-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.quickadd-result-action{color:var(--color-accent);background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:3px var(--space-2);font-size:var(--text-xs);font-weight:700;text-decoration:none}.quickadd-result-action:hover{border-color:var(--color-accent)}.quickadd-ai-suggestions{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);flex-direction:column;display:flex}.quickadd-ai-suggestion{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-primary);padding:var(--space-2) var(--space-3);text-align:left;font:inherit;font-size:var(--text-xs);cursor:pointer;overflow-wrap:anywhere;font-weight:700}.quickadd-ai-suggestion:hover{border-color:var(--color-accent);color:var(--color-accent)}.quickadd-hint__text p{margin:0}.quickadd-hint__text strong{color:var(--color-text-primary)}.quickadd-msg{display:flex}.quickadd-msg--user{justify-content:flex-end}.quickadd-msg--bot{justify-content:flex-start}.quickadd-msg__bubble{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);box-shadow:var(--shadow-xs);line-height:1.6}.quickadd-msg__bubble--user{background:var(--color-accent);color:var(--color-text-inverse);border-bottom-right-radius:var(--radius-sm)}.quickadd-msg__bubble--bot{background:var(--color-bg-secondary);color:var(--color-text-primary);border-bottom-left-radius:var(--radius-sm);gap:var(--space-2);align-items:flex-start;display:flex}.quickadd-msg__bubble--success{background:var(--color-success-subtle)}.quickadd-msg__bubble--error{background:var(--color-danger-subtle);color:var(--color-danger-text)}.quickadd-msg__check{flex-shrink:0}.quickadd-msg__text{font-family:inherit;font-size:inherit;white-space:pre-line;margin:0}.quickadd-typing{color:var(--color-text-tertiary);font-style:italic}.quickadd-panel__input{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-subtle);flex-shrink:0;display:flex}.quickadd-panel__input .input{flex:1}.quickadd-send{width:40px;height:40px;font-size:var(--text-lg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.quickadd-clear{color:var(--color-text-tertiary);font-size:var(--text-xs);cursor:pointer;padding:var(--space-2) var(--space-4);text-align:center;background:0 0;border:none}.quickadd-clear:hover{color:var(--color-text-secondary)}.bottomsheet-backdrop{z-index:var(--z-modal);background:#0000004d;animation:.2s cubic-bezier(.16,1,.3,1) fade-in;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.bottomsheet{background:var(--color-bg-card);border-top:1px solid var(--color-border);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);z-index:calc(var(--z-modal) + 1);padding-bottom:env(safe-area-inset-bottom,0px);max-height:80vh;animation:.2s cubic-bezier(.16,1,.3,1) both sheet-enter;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.bottomsheet__handle{background:var(--color-border-subtle);width:32px;height:4px;margin:var(--space-3) auto var(--space-2);border-radius:2px}.bottomsheet__nav{flex-direction:column;display:flex}.bottomsheet__item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);min-height:48px;color:var(--color-text-primary);font-size:var(--text-base);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;text-decoration:none;display:flex}.bottomsheet__item:hover,.bottomsheet__item:active{background:var(--color-bg-hover)}.bottomsheet__item--active{color:var(--color-accent);font-weight:600}.bottomsheet__icon{font-size:var(--text-lg);text-align:center;width:28px}.bottomsheet__divider{background:var(--color-border-subtle);height:1px;margin:var(--space-2) var(--space-5)}.bottomsheet__toggle{margin-left:auto}.cal{gap:var(--space-5);flex-direction:column;display:flex}.cal__topbar{gap:var(--space-4);flex-direction:column;display:flex}.cal__nav{align-items:center;gap:var(--space-3);display:flex}.cal__nav-btn{border:1px solid var(--color-border-subtle);background:var(--color-bg-card);border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;color:var(--color-text-secondary);transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.cal__nav-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.cal__nav-btn:active{transform:scale(.92)}.cal__month-label{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:0;color:var(--color-text-primary);margin:0;font-weight:700}.cal__metrics{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);display:flex}.cal__metric{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cal__metric-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.cal__metric-value{font-family:var(--font-display);font-size:var(--text-base);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.cal__metric-value--danger{color:var(--color-danger-text)}.cal__metric-value--success{color:var(--color-success-text)}.cal__metric-divider{background:var(--color-border-subtle);flex-shrink:0;width:1px;height:28px}.cal__body{gap:var(--space-5);flex-direction:column;display:flex}.cal__grid-panel{background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);padding:var(--space-4)}.cal__grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal__grid-header{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-1) 0 var(--space-2);font-size:.65rem;font-weight:700}.cal__cell{aspect-ratio:1;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:44px;display:flex;position:relative}.cal__cell:hover:not(.cal__cell--empty){background:var(--color-bg-hover);transform:scale(1.06)}.cal__cell--today{outline:2px solid var(--color-accent);outline-offset:-1px;box-shadow:0 0 0 3px var(--color-accent-subtle)}.cal__cell--selected{color:var(--color-text-inverse);box-shadow:0 2px 8px color-mix(in oklch, var(--color-accent) 40%, transparent);background:var(--color-accent)!important}.cal__cell--empty{cursor:default}.cal__cell--empty:hover{background:0 0;transform:none}.cal__cell--future{opacity:.5}.cal__cell-day{font-size:var(--text-sm);font-weight:600;line-height:1}.cal__cell-amount{letter-spacing:0;opacity:.85;font-size:.55rem;font-weight:600;line-height:1}.cal__cell-amount--expense{color:var(--color-danger-text)}.cal__cell-amount--income{color:var(--color-success-text)}.cal__cell--selected .cal__cell-amount{color:inherit;opacity:.8}.cal__cell-dots{gap:3px;display:flex;position:absolute;bottom:3px}.cal__dot{background:var(--color-accent);border-radius:50%;width:5px;height:5px}.cal__dot--projected{background:var(--color-warning);opacity:.7}.cal__cell--selected .cal__dot{background:var(--color-text-inverse)}.cal__cell--selected .cal__dot--projected{background:var(--color-text-inverse);opacity:.75}.cal__legend{gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);display:flex}.cal__legend-item{color:var(--color-text-tertiary);align-items:center;gap:5px;font-size:.65rem;font-weight:500;display:flex}.cal__legend-swatch{border-radius:50%;display:block}.cal__legend-swatch--actual{background:var(--color-accent);width:6px;height:6px}.cal__legend-swatch--projected{background:var(--color-warning);opacity:.7;width:6px;height:6px}.cal__legend-swatch--intensity{background:color-mix(in oklch, var(--color-accent) 45%, transparent);border-radius:3px;width:14px;height:6px}.cal__detail{background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);padding:var(--space-4);min-height:200px}.cal__detail-empty{justify-content:center;align-items:center;gap:var(--space-3);height:100%;min-height:180px;color:var(--color-text-tertiary);flex-direction:column;display:flex}.cal__detail-empty p{font-size:var(--text-sm);margin:0}.cal__detail-empty--compact{min-height:80px;padding:var(--space-4) 0}.cal__detail-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:flex-start;display:flex}.cal__detail-date{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-primary);font-weight:700}.cal__detail-balance{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.cal__detail-balance-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);font-size:.6rem;font-weight:600}.cal__detail-balance-value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary)}.cal__detail-totals{gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.cal__detail-total{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;font-family:var(--font-display);align-items:center;gap:4px;display:inline-flex}.cal__detail-total--in{background:var(--color-success-subtle);color:var(--color-success-text)}.cal__detail-total--out{background:var(--color-danger-subtle);color:var(--color-danger-text)}.cal__detail-list{flex-direction:column;gap:2px;display:flex}.cal__tx{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);transition:background var(--transition-fast);display:flex}.cal__tx:hover{background:var(--color-bg-hover)}.cal__tx--projected{opacity:.65}.cal__tx-icon{background:var(--color-bg-secondary);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);font-size:var(--text-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.cal__tx-info{flex:1;min-width:0}.cal__tx-label{font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.cal__tx-amount{font-family:var(--font-mono);font-size:var(--text-sm);flex-shrink:0;font-weight:600}.cal__tx-amount--in{color:var(--color-success-text)}.cal__tx-amount--out{color:var(--color-danger-text)}.cal__detail-section-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-top:var(--space-3);margin-bottom:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--color-border-subtle);font-size:.6rem;font-weight:700}@media (width>=1024px){.cal__topbar{flex-direction:row;justify-content:space-between;align-items:center}.cal__metrics{max-width:420px}.cal__body{gap:var(--space-5);flex-direction:row}.cal__grid-panel{min-width:0;padding:var(--space-5);flex:1;overflow:hidden}.cal__detail{width:300px;top:var(--space-4);flex-shrink:0;align-self:flex-start;max-height:calc(100vh - 120px);position:sticky;overflow-y:auto}.cal__grid{gap:4px}.cal__cell{border-radius:var(--radius-md);min-height:60px}.cal__cell-day{font-size:var(--text-sm)}.cal__cell-amount{font-size:.6rem}.cal__month-label{font-size:var(--text-2xl)}}@media (width>=1280px){.cal__detail{width:320px}.cal__cell{min-height:72px}.cal__cell-day{font-size:var(--text-base)}.cal__cell-amount{font-size:var(--text-xs)}}@media (width<=767px){.cal__metrics{gap:var(--space-3);padding:var(--space-2) var(--space-3)}.cal__metric-value{font-size:var(--text-base)}.cal__cell{border-radius:var(--radius-sm);min-height:40px}.cal__cell-amount{display:none}.cal__cell-day{font-size:var(--text-xs)}.cal__grid-panel,.cal__detail{padding:var(--space-3)}}@media (prefers-reduced-motion:reduce){.cal__cell,.cal__nav-btn,.cal__tx{transition:none}.cal__cell:hover,.cal__nav-btn:active{transform:none}}.cards-view{gap:var(--space-5);flex-direction:column;display:flex}.card-widget{padding:var(--space-6);background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);transition:box-shadow var(--transition-base), border-color var(--transition-base), transform var(--transition-fast);box-shadow:var(--shadow-xs)}.card-widget:hover{box-shadow:var(--shadow-card);border-color:var(--color-border);transform:translateY(-2px)}.card-widget:active{transform:scale(.99)}.card-widget__header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.card-widget__icon{background:var(--color-accent-subtle);width:40px;height:40px;color:var(--color-accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.card-widget__name{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:0;font-weight:700}.card-widget__utilization{margin-bottom:var(--space-3)}.card-widget__util-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1);justify-content:space-between;display:flex}.card-widget__util-bar{background:var(--color-bg-secondary);border-radius:var(--radius-pill);height:10px;overflow:hidden}.card-widget__util-fill{border-radius:var(--radius-pill);height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.card-widget__details{gap:var(--space-3);margin-top:var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.card-widget__detail{flex-direction:column;gap:2px;display:flex}.card-widget__detail-label{color:var(--color-text-tertiary);font-size:var(--text-xs)}.card-widget__detail-value{font-weight:600;font-family:var(--font-mono)}.card-widget__recent{margin-top:var(--space-4);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3)}.card-widget__recent-title{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;margin-bottom:var(--space-2);font-weight:600}.mini-bars{gap:var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));min-height:78px;display:grid}.mini-bars__item{gap:var(--space-1);color:var(--color-text-tertiary);grid-template-rows:52px auto;place-items:end center;font-size:10px;display:grid}.mini-bars__track{border-radius:var(--radius-sm);background:var(--color-bg-secondary);align-items:end;width:100%;height:52px;display:flex;overflow:hidden}.mini-bars__track span{border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:100%;min-height:4px;display:block}.loan-schedule-row{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:var(--text-xs);grid-template-columns:36px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);display:grid}.loan-schedule-row:last-child{border-bottom:0}.prepay-simulator{gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) 120px auto;align-items:center;display:grid}.statement-queue{gap:var(--space-3);padding:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;display:grid}.statement-queue div{gap:var(--space-1);min-width:0;color:var(--color-text-secondary);font-size:var(--text-sm);flex-direction:column;display:flex}.statement-queue strong{color:var(--color-text-primary)}@media (width<=767px){.accounts-health-list__item,.loan-schedule-row,.prepay-simulator,.statement-queue{grid-template-columns:1fr}}.notifications-view{flex-direction:column;display:flex}.notifications-view__header{margin-bottom:var(--space-4);justify-content:flex-end;display:flex}.notification-item{gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast), transform var(--transition-fast);display:flex}.notification-item:hover{background:var(--color-bg-hover);transform:translate(2px)}.notification-item__dot{background:var(--color-danger);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notification-item__dot--read{background:0 0}.notification-item__content{flex:1;min-width:0}.notification-item__title{font-size:var(--text-base);color:var(--color-text-primary);font-weight:600}.notification-item--read .notification-item__title{font-weight:400}.notification-item__body{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:2px;line-height:1.4}.notification-item__time{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}@media (width<=767px){.quickadd-panel{border-left:none;width:100vw}}.paywall__content{align-items:center;gap:var(--space-4);padding:var(--space-4) 0;flex-direction:column;display:flex}.paywall__title{font-size:var(--text-3xl);letter-spacing:0;font-weight:800}.paywall__desc{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:320px}.paywall__benefits{text-align:left;gap:var(--space-2);flex-direction:column;width:100%;list-style:none;display:flex}.paywall__benefit{align-items:center;gap:var(--space-2);font-size:var(--text-base);display:flex}.paywall__pricing{align-items:center;gap:var(--space-3);font-size:var(--text-lg);display:flex}.paywall__price{font-weight:600;font-family:var(--font-mono)}.paywall__price--annual{color:var(--color-accent-text)}.paywall__divider{color:var(--color-text-tertiary);font-size:var(--text-sm)}.paywall__trial{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.5}.paywall__dismiss{color:var(--color-text-tertiary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-2);background:0 0;border:none}.investments{gap:var(--space-5);flex-direction:column;display:flex}.investments__summary{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--card-radius);padding:var(--space-5);gap:var(--space-3);text-align:center;grid-template-columns:repeat(3,1fr);display:grid}.investments__stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.investments__stat-value{font-size:var(--text-xl);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.investments__returns-bar{gap:var(--space-2);flex-wrap:wrap;display:flex}.investments__return-pill{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--card-radius);padding:var(--space-3) var(--space-4);flex-direction:column;flex:1;align-items:center;gap:2px;min-width:80px;display:flex}.investments__return-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.investments__return-value{font-size:var(--text-base);font-weight:700;font-family:var(--font-mono)}.investments__drift-alerts{gap:var(--space-2);flex-direction:column;display:flex}.investments__drift-alert{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--card-radius);font-size:var(--text-sm);border:1px solid #0000;display:flex}.investments__drift-alert--low{background:color-mix(in srgb, var(--color-info,#3b82f6) 8%, transparent);border-color:color-mix(in srgb, var(--color-info,#3b82f6) 20%, transparent);color:var(--color-text-primary)}.investments__drift-alert--medium{background:color-mix(in srgb, var(--color-warning) 8%, transparent);border-color:color-mix(in srgb, var(--color-warning) 20%, transparent);color:var(--color-text-primary)}.investments__drift-alert--high{background:color-mix(in srgb, var(--color-danger) 8%, transparent);border-color:color-mix(in srgb, var(--color-danger) 20%, transparent);color:var(--color-text-primary)}.investments__allocation{gap:var(--space-3);flex-direction:column;display:flex}.investments__allocation-bar{border-radius:6px;gap:2px;height:12px;display:flex;overflow:hidden}.investments__allocation-segment{border-radius:3px;min-width:4px;transition:width .4s}.investments__allocation-legend{gap:var(--space-2);flex-direction:column;display:flex}.investments__allocation-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.investments__allocation-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.investments__allocation-class{text-transform:capitalize;color:var(--color-text-primary);flex:1}.investments__allocation-pct{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);text-align:right;min-width:36px}.investments__allocation-value{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);text-align:right;min-width:80px}.investments__goal{gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);flex-direction:column;display:flex}.investments__goal:last-child{border-bottom:none;padding-bottom:0}.investments__goal-header{justify-content:space-between;align-items:flex-start;display:flex}.investments__goal-name{font-size:var(--text-base);color:var(--color-text-primary);font-weight:600}.investments__goal-note{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:2px}.investments__goal-progress-label{font-size:var(--text-lg);font-weight:700;font-family:var(--font-mono)}.investments__goal-bar{background:var(--color-border-subtle);border-radius:3px;height:6px;overflow:hidden}.investments__goal-bar-fill{border-radius:3px;height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.investments__goal-amounts{font-size:var(--text-xs);color:var(--color-text-secondary);justify-content:space-between;display:flex}.investments__sip-item{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);display:flex}.investments__sip-item:last-child{border-bottom:none}.investments__sip-day{background:var(--color-bg-secondary);width:36px;height:36px;font-size:var(--text-sm);font-weight:700;font-family:var(--font-mono);border:2px solid var(--color-border-subtle);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.investments__sip-day--paid{background:color-mix(in srgb, var(--color-success) 15%, transparent);border-color:var(--color-success);color:var(--color-success)}.investments__sip-info{flex:1}.investments__sip-label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.investments__sip-date{font-size:var(--text-xs);color:var(--color-text-tertiary)}.investments__sip-amount{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);flex-direction:column;align-items:flex-end;gap:2px;display:flex}.investments__sip-paid-badge{font-size:10px;font-family:var(--font-sans);color:var(--color-success);background:color-mix(in srgb, var(--color-success) 12%, transparent);border-radius:10px;padding:1px 6px;font-weight:600}.investments__tax-note{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);display:flex}.investments__tax-note:last-child{border-bottom:none}.investments__tax-note--actionable{background:color-mix(in srgb, var(--color-warning) 5%, transparent);border-radius:var(--card-radius);padding:var(--space-3);margin:-var(--space-1) 0}.investments__tax-badge{letter-spacing:.05em;background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.investments__tax-info{flex:1}.investments__tax-symbol{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600}.investments__tax-note-text{font-size:var(--text-xs);color:var(--color-text-secondary)}.investments__tax-pnl{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm)}.investments__suggestion{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);display:flex}.investments__suggestion:last-child{border-bottom:none}.investments__suggestion-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.investments__suggestion--high .investments__suggestion-dot{background:var(--color-danger)}.investments__suggestion--medium .investments__suggestion-dot{background:var(--color-warning)}.investments__suggestion--low .investments__suggestion-dot{background:var(--color-success)}.investments__suggestion-info{flex:1}.investments__suggestion-label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600}.investments__suggestion-reason{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:2px}.investments__suggestion-amount{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);color:var(--color-accent);white-space:nowrap}.connection-item__error{font-size:var(--text-xs);color:var(--color-danger);margin-top:2px}.connection-item__summary{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:1px}.connection-item__actions{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.connection-item__status-badge{letter-spacing:.04em;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.connection-item__status-badge--ok{background:color-mix(in srgb, var(--color-success) 12%, transparent);color:var(--color-success)}.connection-item__status-badge--stale{background:color-mix(in srgb, var(--color-warning) 12%, transparent);color:var(--color-warning)}.connection-item__status-badge--error{background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger)}.svg-bar-chart{display:block}.svg-bar-chart__bar{transition:height .5s cubic-bezier(.16,1,.3,1)}.docs{gap:var(--space-6);grid-template-columns:240px 1fr;min-height:calc(100vh - 120px);display:grid}@media (width<=767px){.docs{grid-template-columns:1fr}.docs__sidebar{z-index:10;background:var(--color-bg-primary);gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;display:flex;position:sticky;top:0;overflow-x:auto}.docs__sidebar-title{display:none}.docs__nav-item{white-space:nowrap;font-size:var(--text-xs)!important;border-radius:20px!important;padding:6px 12px!important}}.docs__sidebar-title{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-3);font-size:11px;font-weight:700}.docs__nav-item{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);width:100%;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);text-align:left;background:0 0;border:none;padding:8px 12px;display:flex}.docs__nav-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary);transform:translate(2px)}.docs__nav-item--active{background:var(--color-accent-subtle);color:var(--color-accent);font-weight:600}.docs__nav-icon{font-size:var(--text-base);flex-shrink:0}.docs__content{max-width:680px}.docs__title{font-size:var(--text-2xl);letter-spacing:0;margin:0 0 var(--space-4);align-items:center;gap:var(--space-2);font-weight:800;display:flex}.docs__body{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}.docs__body h3{font-size:var(--text-base);color:var(--color-text-primary);margin:var(--space-5) 0 var(--space-2);font-weight:700}.docs__body strong{color:var(--color-text-primary);font-weight:600}.docs__body code{background:var(--color-bg-secondary);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:.85em}.docs__body table{border-collapse:collapse;width:100%;margin:var(--space-3) 0;font-size:var(--text-sm)}.docs__body th,.docs__body td{border:1px solid var(--color-border);text-align:left;padding:8px 12px}.docs__body th{background:var(--color-bg-secondary);color:var(--color-text-primary);font-weight:600}.docs__body ul,.docs__body ol{padding-left:var(--space-5);margin:var(--space-2) 0}.docs__body li{margin-bottom:var(--space-1)}.docs__body p{margin:var(--space-2) 0}.categories-editor{gap:var(--space-3);flex-direction:column;display:flex}.category-list{gap:var(--space-1);flex-direction:column;display:flex}.category-item{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border-subtle);transition:opacity var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);padding:10px 14px;display:flex}.category-item:hover{box-shadow:var(--shadow-xs);transform:translate(2px)}.category-item--hidden{opacity:.4}.category-item__icon{background:var(--color-bg-secondary);width:32px;height:32px;color:var(--color-text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.category-item__label{font-size:var(--text-sm);flex:1;font-weight:500}.category-item__group{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase}.category-item__actions{gap:var(--space-1);display:flex}.category-add-form{gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);margin-top:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.category-add-form .form-group{flex-direction:column;gap:4px;margin-bottom:0;display:flex}.category-add-form .form-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.category-add-form .form-input{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-sm);transition:border-color var(--transition-fast);padding:8px 12px}.category-add-form .form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-subtle);outline:none}.settings-links{gap:var(--space-2);display:flex}.settings-links a{color:var(--color-accent);font-size:var(--text-sm);transition:opacity var(--transition-fast);font-weight:500;text-decoration:none}.settings-links a:hover{opacity:.8;text-decoration:underline}.auth-page{background:var(--color-bg-primary);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}@media (width<=767px){.auth-page{grid-template-columns:1fr;min-height:100dvh}.auth-page__brand{display:none}.auth-page__form-side{padding:var(--space-8) var(--space-5);align-items:flex-start}.auth-card{max-width:100%}.auth-card__logo{margin-bottom:var(--space-5)}.auth-card__title{font-size:var(--text-xl)}.auth-card__subtitle{margin-bottom:var(--space-5)}.auth-form{gap:var(--space-3)}.auth-divider{margin:var(--space-3) 0}}.auth-page__brand{background:var(--color-accent);padding:var(--space-12) var(--space-8);color:#fff;flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.auth-page__brand:before{content:"";pointer-events:none;background:repeating-conic-gradient(#ffffff05 0% 25%,#0000 0% 50%) 0 0/60px 60px;width:200%;height:200%;position:absolute;top:-50%;left:-50%}.auth-page__brand-tagline{font-family:var(--font-display);font-size:var(--text-5xl);letter-spacing:0;margin-bottom:var(--space-5);font-weight:800;line-height:1.05;position:relative}.auth-page__brand-sub{font-size:var(--text-lg);opacity:.8;max-width:360px;line-height:1.5}.auth-page__form-side{padding:var(--space-8) var(--space-6);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:380px}.auth-card__logo{align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);display:flex}.auth-card__logo-icon{background:var(--color-accent);color:#fff;width:36px;height:36px;font-weight:700;font-size:var(--text-base);border-radius:10px;justify-content:center;align-items:center;display:flex}.auth-card__logo-text{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-primary);font-weight:700}.auth-card__title{font-size:var(--text-2xl);margin-bottom:var(--space-1);font-weight:700}.auth-card__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-6)}.auth-card__error{background:var(--color-danger-subtle);color:var(--color-danger-text);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-4);border-radius:8px}.auth-card__success{background:var(--color-success-subtle,oklch(95% .05 145));color:var(--color-success-text,oklch(35% .1 145));padding:var(--space-3) var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-4);border-radius:8px}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-form .form-group{margin-bottom:0}.auth-divider{align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--color-text-tertiary);font-size:var(--text-xs);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-google-btn{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.auth-card__switch{text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-4)}.auth-card__switch .link{color:var(--color-accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.dialog{padding:var(--space-6)}.dialog__title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);margin:0 0 var(--space-2);letter-spacing:0;font-weight:700}.dialog__message{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);display:flex}.dialog__actions .btn{min-height:38px;font-size:var(--text-sm);padding:8px 18px}.pricing-page{background:var(--color-bg-secondary);min-height:100vh}.pricing-header{padding:var(--space-4) var(--space-6);align-items:center;display:flex}.pricing-header__logo{align-items:center;gap:var(--space-2);font-size:var(--text-lg);color:var(--color-text-primary);font-weight:700;text-decoration:none;display:flex}.pricing-header__icon{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.pricing-main{max-width:900px;padding:var(--space-8) var(--space-4);text-align:center;margin:0 auto}.pricing-title{font-size:var(--text-4xl);letter-spacing:0;margin-bottom:var(--space-2);font-weight:800}.pricing-subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);margin-bottom:var(--space-8)}.pricing-cards{gap:var(--space-6);margin-bottom:var(--space-10);grid-template-columns:1fr 1fr;display:grid}@media (width<=640px){.pricing-cards{grid-template-columns:1fr}}.pricing-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);text-align:left;transition:transform var(--transition-base), box-shadow var(--transition-base);flex-direction:column;display:flex}.pricing-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-3px)}.pricing-card--featured{border-color:var(--color-accent);background:var(--color-accent-subtle);border-width:2px}.pricing-card__badge{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4);font-weight:600}.pricing-card__badge--pro{color:var(--color-accent)}.pricing-card__price{margin-bottom:var(--space-6)}.pricing-card__amount{font-size:var(--text-4xl);letter-spacing:0;font-weight:800}.pricing-card__period{font-size:var(--text-sm);color:var(--color-text-secondary);margin-left:var(--space-1)}.pricing-card__features{margin:0 0 var(--space-6);gap:var(--space-2);flex-direction:column;flex:1;padding:0;list-style:none;display:flex}.pricing-card__features li{font-size:var(--text-sm);color:var(--color-text-secondary)}.pricing-card__note{font-size:var(--text-xs);color:var(--color-text-tertiary);text-align:center;margin-top:var(--space-2)}.pricing-faq{text-align:left;max-width:600px;margin:0 auto}.pricing-faq h2{font-size:var(--text-xl);margin-bottom:var(--space-6);text-align:center;font-weight:700}.pricing-faq__item{margin-bottom:var(--space-6)}.pricing-faq__item h3{font-size:var(--text-base);margin-bottom:var(--space-1);font-weight:600}.pricing-faq__item p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.pricing-footer{text-align:center;padding:var(--space-8) var(--space-4);border-top:1px solid var(--color-border)}.pricing-footer__links{justify-content:center;gap:var(--space-4);margin-bottom:var(--space-2);display:flex}.pricing-footer__links a{font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none}.legal-page{background:var(--color-bg-primary);min-height:100vh}.legal-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.legal-header__logo{align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-weight:700;text-decoration:none;display:flex}.legal-header__icon{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;width:28px;height:28px;display:flex}.onboarding-overlay{background:var(--color-bg-overlay);z-index:var(--z-modal);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.onboarding-overlay .onboarding-card{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);width:100%;max-width:480px;padding:var(--space-10) var(--space-8);border:1px solid var(--color-border-subtle);animation:.3s cubic-bezier(.34,1.56,.64,1) modal-pop}.onboarding-progress{margin-bottom:var(--space-6);justify-content:center;gap:8px;display:flex}.onboarding-progress__dot{background:var(--color-border);width:10px;height:10px;transition:background var(--transition-fast), transform var(--transition-fast);border-radius:50%}.onboarding-progress__dot.active{background:var(--color-accent);transform:scale(1.2)}.onboarding-step{text-align:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.onboarding-step__icon{font-size:48px}.onboarding-step__title{font-size:var(--text-2xl);letter-spacing:0;margin:0;font-weight:800}.onboarding-step__desc{font-size:var(--text-base);color:var(--color-text-secondary);max-width:360px;margin:0}.onboarding-presets{gap:var(--space-3);grid-template-columns:1fr 1fr;width:100%;max-width:360px;display:grid}.onboarding-preset{align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-bg-card);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-primary);border-radius:12px;display:flex}.onboarding-preset:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-subtle)}.onboarding-preset--added{border-color:var(--color-success);background:var(--color-success-subtle)}.onboarding-preset__icon{font-size:var(--text-lg)}.onboarding-preset__check{color:var(--color-success);margin-left:auto;font-weight:700}.onboarding-actions{align-items:center;gap:var(--space-3);width:100%;max-width:360px;margin-top:var(--space-2);flex-direction:column;display:flex}.onboarding-skip{color:var(--color-text-tertiary);font-size:var(--text-sm);cursor:pointer;font-family:var(--font-sans);padding:var(--space-2);background:0 0;border:none}.onboarding-skip:hover{color:var(--color-text-secondary)}.onboarding-input-group{gap:var(--space-2);width:100%;max-width:360px;display:flex}.onboarding-input-group .input{flex:1}.onboarding-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.onboarding-budgets{gap:var(--space-3);flex-direction:column;width:100%;max-width:360px;display:flex}.onboarding-budget-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.onboarding-budget-row__label{font-size:var(--text-sm);min-width:140px}.onboarding-budget-row__input{align-items:center;gap:2px;display:flex}.onboarding-budget-row__currency{font-size:var(--text-sm);color:var(--color-text-secondary)}.onboarding-budget-row__input .input{text-align:right;width:100px;min-height:36px;padding:6px 8px}.paywall{text-align:center;position:relative}.paywall__content{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.paywall__spark{font-size:40px}.paywall__title{font-size:var(--text-xl);margin:0;font-weight:700}.paywall__desc{color:var(--color-text-secondary);margin:0}.paywall__benefits{margin:var(--space-3) 0;text-align:left;width:100%;padding:0;list-style:none}.paywall__benefit{padding:var(--space-2) 0;align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.paywall__check{color:var(--color-success);font-weight:700}.paywall__pricing{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.paywall__price{font-weight:700;font-size:var(--text-lg)}.paywall__price--annual{color:var(--color-text-secondary);font-size:var(--text-base)}.paywall__divider{color:var(--color-text-tertiary)}.paywall__trial{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-2) 0}.paywall__dismiss{color:var(--color-text-tertiary);font-size:var(--text-sm);cursor:pointer;font-family:var(--font-sans);padding:var(--space-2);margin-top:var(--space-2);background:0 0;border:none}.paywall__dismiss:hover{color:var(--color-text-secondary)}.health-indicator{align-items:center;gap:var(--space-1);font-size:var(--text-xs);padding:2px var(--space-2);border-radius:100px;display:flex}.health-indicator--synced{color:var(--color-success)}.health-indicator--saving{color:var(--color-warning)}.health-indicator--offline{color:var(--color-text-tertiary)}.health-indicator__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.health-indicator--saving .health-indicator__dot{animation:1s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.legal-header__nav{gap:var(--space-4);display:flex}.legal-header__nav a{font-size:var(--text-sm);color:var(--color-text-secondary);padding-bottom:var(--space-1);text-decoration:none}.legal-header__nav a.active{color:var(--color-accent);border-bottom:2px solid var(--color-accent)}.legal-main{max-width:700px;padding:var(--space-8) var(--space-4);margin:0 auto}.legal-main h1{font-size:var(--text-2xl);margin-bottom:var(--space-6);font-weight:700}.legal-content h2{font-size:var(--text-base);margin-top:var(--space-6);margin-bottom:var(--space-2);font-weight:600}.legal-content p{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);line-height:1.7}.legal-content ul{padding-left:var(--space-5);margin-bottom:var(--space-3)}.legal-content li{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}.legal-footer{text-align:center;padding:var(--space-6);font-size:var(--text-sm);color:var(--color-text-tertiary)}.svg-donut-wrapper{display:inline-block}.svg-donut__segment{transition:stroke-dasharray .5s cubic-bezier(.16,1,.3,1),stroke-dashoffset .5s cubic-bezier(.16,1,.3,1)}.holding-item{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-2);border-bottom:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:background var(--transition-fast), transform var(--transition-fast);display:flex}.holding-item:last-child{border-bottom:none}.holding-item:hover{background:var(--color-bg-hover);transform:translate(2px)}.holding-item__symbol{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);color:var(--color-text-tertiary);min-width:48px}.holding-item__name{flex:1;min-width:0}.holding-item__label{font-size:var(--text-base);font-weight:500}.holding-item__type{font-size:var(--text-xs);color:var(--color-text-tertiary)}.holding-item__value{text-align:right}.holding-item__amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.holding-item__pnl{font-size:var(--text-sm);font-family:var(--font-mono)}.connection-item{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);display:flex}.connection-item:last-child{border-bottom:none}.connection-item__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.connection-item__info{flex:1}.connection-item__label{font-weight:500}.connection-item__meta{font-size:var(--text-sm);color:var(--color-text-secondary)}.review-card{background:var(--color-bg-card);border:1.5px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-3);transition:transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.review-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.review-card__header{justify-content:space-between;align-items:center;display:flex}.review-card__source{font-weight:600}.review-card__date{font-size:var(--text-sm);color:var(--color-text-secondary)}.review-card__body{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.review-card__fields{gap:var(--space-2);flex-direction:column;display:flex}.review-card__field{justify-content:space-between;align-items:center;display:flex}.review-card__field-label{font-size:var(--text-sm);color:var(--color-text-secondary);min-width:80px}.review-card__field-value{font-weight:500;font-family:var(--font-mono)}.review-card__confidence{font-size:var(--text-xs);background:var(--color-accent-subtle);color:var(--color-accent-text);border-radius:100px;padding:2px 8px}.review-card__actions{justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-subtle);display:flex}.upload{gap:var(--space-5);flex-direction:column;max-width:640px;display:flex}.upload--review{max-width:min(1280px,100%)}.upload-zone{border:2.5px dashed var(--color-border);border-radius:var(--radius-xl);padding:var(--space-16) var(--space-8);text-align:center;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);background:var(--color-bg-card)}.upload-zone:hover{border-color:var(--color-accent);background:var(--color-accent-subtle);transform:scale(1.01)}.upload-zone--drag{border-color:var(--color-accent);background:var(--color-accent-subtle);box-shadow:0 0 0 4px var(--color-accent-subtle);transform:scale(1.02)}.upload-zone__icon{margin-bottom:var(--space-3);font-size:40px}.upload-zone__text{font-size:var(--text-lg);margin-bottom:var(--space-1);font-weight:500}.upload-zone__hint{font-size:var(--text-sm);color:var(--color-text-secondary)}.upload-review{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);background:linear-gradient(180deg, var(--color-bg-card), oklch(from var(--color-bg-card) calc(l - .008) c h));box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.upload-review__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--color-border-subtle);padding-bottom:var(--space-3);display:flex}.upload-review__title{letter-spacing:-.01em;margin:0;font-size:clamp(1.125rem,1rem + .35vw,1.35rem);line-height:1.2}.upload-review__info{font-size:var(--text-sm);color:var(--color-text-secondary)}.upload-row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm);display:flex}.upload-row:last-child{border-bottom:none}.upload-row__check{flex-shrink:0}.upload-row__date{color:var(--color-text-secondary);min-width:60px}.upload-row__desc{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.upload-row__cat{color:var(--color-text-secondary);text-align:center;min-width:60px}.upload-row__amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;min-width:80px;font-weight:500}.upload-done{text-align:center;padding:var(--space-8) 0;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.upload-done__icon{font-size:48px}.upload-done__title{font-size:var(--text-xl);font-weight:600}.upload-done__subtitle{font-size:var(--text-base);color:var(--color-text-secondary)}.upload-done__actions{gap:var(--space-3);align-items:center;display:flex}.upload-formats{gap:var(--space-2);justify-content:center;display:flex}.upload-formats__badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-bg-inset);color:var(--color-text-secondary);letter-spacing:.03em;font-weight:600}.upload-parsing{text-align:center;padding:var(--space-12) 0;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.upload-parsing__spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.upload-parsing__text{font-size:var(--text-base);font-weight:500}.upload-review__meta{gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);flex-wrap:wrap;display:flex}.upload-review__meta span+span:before{content:"·";margin-right:var(--space-2)}.upload-tabs{gap:var(--space-1);background:var(--color-bg-inset);border-radius:var(--radius-lg);padding:var(--space-1);display:flex}.upload-tabs__tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex:1;font-weight:500}.upload-tabs__tab:hover{color:var(--color-text)}.upload-tabs__tab--active{background:var(--color-bg-card);color:var(--color-text);box-shadow:0 1px 3px #00000014}.upload-select-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-secondary);display:flex}.upload-statement-card{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}.upload-statement-card__inner{align-items:center;gap:var(--space-3);display:flex}.upload-statement-card__content{flex:1;min-width:0}.upload-statement-card__title{font-weight:600}.upload-statement-card__digits{color:var(--color-text-tertiary);font-weight:400}.upload-statement-card__meta{font-size:var(--text-xs);color:var(--color-text-secondary);gap:var(--space-3);flex-wrap:wrap;display:flex}.upload-account-picker{gap:var(--space-2);display:flex}.upload-account-picker .select{flex:1}.upload-account-note{margin-top:var(--space-1);font-size:var(--text-xs);align-items:center;gap:6px;display:inline-flex}.upload-account-note--warn{color:var(--color-warning)}.upload-new-account{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);background:var(--color-bg-secondary);border-color:var(--color-border-subtle)}.upload-new-account__title{margin-bottom:var(--space-2);font-weight:600;font-size:var(--text-sm)}.upload-new-account__row{gap:var(--space-2);grid-template-columns:minmax(220px,1fr) minmax(164px,200px) auto auto;align-items:end;display:grid}.upload-new-account__name{margin:0}.upload-new-account__type{min-width:164px;font-size:var(--text-sm);padding-left:12px;padding-right:30px}.upload-new-account__close{min-width:40px}.upload-emi-hint{margin:0}.upload-list{max-height:400px;overflow:auto}.upload-row--emi{background:var(--color-accent-subtle)}.upload-emi-badge{font-size:var(--text-xs);padding:1px var(--space-2);border-radius:var(--radius-full);background:var(--color-warning-subtle,oklch(85% .12 85));color:var(--color-warning,oklch(55% .14 60));margin-left:var(--space-2);vertical-align:middle;font-weight:600;display:inline-block}.upload-emi-tag{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-warning-subtle,oklch(85% .12 85));color:var(--color-warning,oklch(55% .14 60));margin-left:var(--space-1);vertical-align:middle;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600;display:inline-block}.upload-emi-row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);display:flex}.upload-emi-row:last-child{border-bottom:none}.upload-emi-row__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.upload-emi-row__label{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.upload-emi-row__meta{font-size:var(--text-xs);color:var(--color-text-tertiary)}.upload-emi-row--rich{gap:var(--space-2);flex-direction:column}.upload-emi-details{gap:var(--space-1) var(--space-4);padding:var(--space-2) var(--space-3);margin-left:var(--space-5);background:var(--color-bg-inset);border-radius:var(--radius-md);font-size:var(--text-xs);grid-template-columns:repeat(3,1fr);display:grid}.upload-emi-details__item{flex-direction:column;gap:1px;display:flex}.upload-emi-details__label{color:var(--color-text-tertiary);font-weight:400}.upload-emi-details__value{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:600}.upload-emi-edit-grid{gap:var(--space-2);padding:var(--space-3);margin-left:var(--space-5);background:var(--color-bg-inset);border-radius:var(--radius-md);grid-template-columns:repeat(2,1fr);display:grid}.upload-emi-edit__field{font-size:var(--text-xs);flex-direction:column;gap:2px;display:flex}.upload-emi-edit__field span{color:var(--color-text-tertiary);font-weight:500}.upload-emi-edit__field input{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.upload-actions{justify-content:flex-end;display:flex}.upload-dup-badge{font-size:var(--text-xs);padding:1px var(--space-2);border-radius:var(--radius-full);color:oklch(50% .14 25);margin-left:var(--space-2);vertical-align:middle;background:oklch(90% .08 25);font-weight:600;display:inline-block}.upload-dup-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:oklch(45% .12 65);font-size:var(--text-xs);background:oklch(95% .04 65);font-weight:500;display:flex}.upload-row-wrap{border-bottom:1px solid var(--color-border-subtle)}.upload-row-wrap:last-child,.upload-row-wrap .upload-row{border-bottom:none}.upload-row-wrap--dup{background:oklch(97% .02 25/.5)}.upload-row--deselected{opacity:.5}.upload-dup-indicator{align-items:center;gap:var(--space-1);padding:2px var(--space-2);cursor:pointer;user-select:none;border-radius:var(--radius-sm);font-size:11px;font-weight:500;display:flex}.upload-dup--exact{color:oklch(50% .15 25)}.upload-dup--likely{color:oklch(50% .12 65)}.upload-dup--possible{color:var(--color-text-tertiary)}.upload-dup-detail{padding:var(--space-2) var(--space-3) var(--space-3);background:var(--color-bg-inset);border-radius:0 0 var(--radius-md) var(--radius-md);margin:0 var(--space-2) var(--space-1)}.upload-row__edit{opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;padding:2px}.upload-row:hover .upload-row__edit{opacity:1}.upload-edit__date{width:120px;font-size:var(--text-xs);padding:var(--space-1)}.upload-edit__desc{min-width:0;font-size:var(--text-xs);padding:var(--space-1);flex:1}.upload-edit__cat{width:110px;font-size:var(--text-xs);padding:var(--space-1)}.upload-edit__kind{width:85px;font-size:var(--text-xs);padding:var(--space-1)}.upload-edit__amount{width:80px;font-size:var(--text-xs);padding:var(--space-1);text-align:right}.upload-cat-tag{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-bg-inset);color:var(--color-text-tertiary);margin-left:var(--space-1);vertical-align:middle;font-size:10px;font-weight:500;display:inline-block}@media (width<=767px){.investments__summary{gap:var(--space-2);grid-template-columns:1fr}}.upload-table-wrap{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg);max-height:70vh;overflow:auto}.upload-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.upload-table thead th{z-index:1;background:var(--color-bg-secondary);text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border);white-space:nowrap;position:sticky;top:0}.upload-table thead th.upload-table__amount,.upload-table thead th.upload-table__num,.upload-table thead th.upload-table__act{text-align:right}.upload-table tbody td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.upload-table tbody tr:last-child td{border-bottom:none}.upload-table tbody tr:hover{background:var(--color-bg-secondary)}.upload-table__check{width:36px;padding-right:0!important}.upload-table__date{white-space:nowrap;width:110px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.upload-table__desc{min-width:240px}.upload-table__cat{width:160px}.upload-table__kind{width:100px}.upload-table__amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.upload-table__num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.upload-table__act{text-align:right;width:44px}.upload-tcell-desc{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.upload-tcell-mono{font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap}.upload-trow--deselected{opacity:.45}.upload-trow--dup{background:oklch(from var(--color-warning) l c h / .05)}.upload-trow-dup-row td{background:var(--color-bg-secondary);padding:0 var(--space-3) var(--space-2) var(--space-3)!important}.upload-cat-empty{color:var(--color-text-tertiary);font-size:var(--text-xs)}.upload-kind-pill{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);letter-spacing:.02em;font-weight:600;display:inline-block}.upload-kind-pill--income{background:oklch(from var(--color-success) l c h / .12);color:var(--color-success)}.upload-kind-pill--expense{background:var(--color-bg-inset);color:var(--color-text-secondary)}.upload-cell-input{width:100%;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);height:auto;min-height:30px}.upload-cell-input--num{text-align:right;font-variant-numeric:tabular-nums}.upload-tenure-badge{align-items:baseline;gap:2px;font-weight:600;display:inline-flex}.upload-tenure-badge__sep{color:var(--color-text-tertiary);font-weight:400}.upload-table--emi tbody td{padding-top:var(--space-3);padding-bottom:var(--space-3)}@media (width<=900px){.upload-review{padding:var(--space-3)}.upload-review__header{flex-direction:column;align-items:flex-start}.upload-new-account__row{grid-template-columns:1fr;align-items:stretch}.upload-new-account__type{width:100%;min-width:0}.upload-new-account__close{justify-self:end}.upload-table thead th,.upload-table tbody td{padding:var(--space-2)}.upload-table__date{width:90px}.upload-table__cat{width:130px}.upload-table__kind{width:84px}}.inbox-list{gap:var(--space-3);flex-direction:column;display:flex}.inbox-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.inbox-card-expense{border-left:3px solid var(--color-danger)}.inbox-card-income{border-left:3px solid var(--color-success)}.inbox-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.inbox-card-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.inbox-sender{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600}.inbox-date{font-size:var(--text-xs);color:var(--color-text-secondary)}.inbox-amount{font-size:var(--text-xl);color:var(--color-text-primary);white-space:nowrap;font-weight:700}.inbox-card-body{gap:var(--space-2);flex-direction:column;display:flex}.inbox-description{font-size:var(--text-sm);color:var(--color-text-secondary);word-break:break-all;line-height:1.5}.inbox-details{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.inbox-detail{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex}.inbox-edit{background:var(--color-bg-hover);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.inbox-card-actions{align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-3);justify-content:flex-end;display:flex}.inbox-info-panel{margin-top:var(--space-6);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.inbox-info-header{align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-weight:600;display:flex}.inbox-info-steps{padding-left:var(--space-5);gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);flex-direction:column;display:flex}.inbox-info-steps li{line-height:1.5}.rules-list{gap:var(--space-2);flex-direction:column;display:flex}.rule-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);display:flex}.rule-card-name{font-size:var(--text-sm);flex:1;font-weight:600}.rule-card-condition{font-size:var(--text-xs);color:var(--color-text-secondary)}.rule-card-action{font-size:var(--text-xs);color:var(--color-accent);font-weight:600}.rule-match-count{font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-bg-hover);border-radius:999px;padding:2px 8px}.landing{--landing-max:1120px;font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg-primary);min-height:100vh}.landing-nav{z-index:100;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);position:sticky;top:0}.landing-nav__inner{max-width:var(--landing-max);padding:var(--space-4) var(--space-6);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.landing-nav__brand{align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--text-xl);display:flex}.landing-nav__logo{font-size:var(--text-2xl);color:var(--color-accent)}.landing-nav__name{letter-spacing:0}.landing-nav__links{align-items:center;gap:var(--space-6);display:flex}.landing-nav__links a:not(.btn){font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--transition-fast);font-weight:500;text-decoration:none}.landing-nav__links a:not(.btn):hover{color:var(--color-text-primary)}.landing-hero{max-width:var(--landing-max);padding:var(--space-16) var(--space-6);gap:var(--space-12);grid-template-columns:1fr 1fr;align-items:center;margin:0 auto;display:grid}.landing-hero__headline{font-size:var(--text-5xl);letter-spacing:0;margin:0 0 var(--space-6);font-weight:800;line-height:.95}.landing-hero__sub{font-size:var(--text-lg);color:var(--color-text-secondary);margin:0 0 var(--space-8);max-width:480px;line-height:1.6}.landing-hero__actions{gap:var(--space-4);display:flex}.landing-hero__mockup{gap:var(--space-4);flex-direction:column;display:flex}.landing-hero__mockup>*{animation:.5s cubic-bezier(.16,1,.3,1) backwards stagger-in}.landing-hero__mockup>:first-child{animation-delay:.1s}.landing-hero__mockup>:nth-child(2){animation-delay:.2s}.landing-hero__mockup>:nth-child(3){animation-delay:.3s}.mockup-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);transition:border-color var(--transition-base), transform var(--transition-base)}.mockup-card:hover{border-color:var(--color-text-tertiary);transform:translateY(-4px)}.mockup-card--accent{border-color:var(--color-accent);background:var(--color-accent-subtle)}.mockup-card__header{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);justify-content:space-between;align-items:center;font-weight:600;display:flex}.mockup-card__badge{font-size:var(--text-xs);color:var(--color-success);font-weight:600}.mockup-card__value{font-size:var(--text-4xl);letter-spacing:0;font-weight:800;font-family:var(--font-display)}.mockup-card__input{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent);padding:var(--space-3) var(--space-4);background:var(--color-bg-input);margin-bottom:var(--space-3);border-radius:8px}.mockup-card__parsed{gap:var(--space-2);flex-wrap:wrap;display:flex}.mockup-tag{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);background:var(--color-bg-secondary);border-radius:999px;font-weight:500}.mockup-card__bars{gap:var(--space-3);flex-direction:column;display:flex}.mockup-bar{align-items:center;gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:60px 1fr 72px;font-weight:500;display:grid}.mockup-bar span:last-child{text-align:right;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary)}.mockup-bar__track{background:var(--color-bg-secondary);border-radius:var(--radius-pill);height:10px;overflow:hidden}.mockup-bar__fill{border-radius:var(--radius-pill);height:100%;transition:width 1s}.mockup-bar__fill--green{background:var(--color-success)}.mockup-bar__fill--red{background:var(--color-danger)}.mockup-bar__fill--indigo{background:var(--color-accent)}.landing-section{padding:var(--space-16) var(--space-6)}.landing-section--alt{background:var(--color-bg-secondary)}.landing-section__inner{max-width:var(--landing-max);margin:0 auto}.landing-section__title{font-size:var(--text-4xl);letter-spacing:0;margin:0 0 var(--space-3);font-weight:800}.landing-section__sub{font-size:var(--text-lg);color:var(--color-text-secondary);margin:0 0 var(--space-10);max-width:540px}.landing-problems__grid{margin-top:var(--space-6);border-top:1px solid var(--color-border-subtle);flex-direction:column;gap:0;display:flex}.landing-problems__grid .problem-card{border-bottom:1px solid var(--color-border-subtle)}.problem-card{padding:var(--space-6) 0;gap:var(--space-4);align-items:flex-start;display:flex}.problem-card__icon{flex-shrink:0;margin-top:2px;font-size:1.75rem}.problem-card h3{font-size:var(--text-lg);margin:0 0 var(--space-2);font-weight:700}.problem-card p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.6}.landing-features__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.feature-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);transition:border-color var(--transition-base), transform var(--transition-base)}.feature-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.feature-card__icon{margin-right:var(--space-2);font-size:1.25rem;display:inline}.feature-card h3{font-size:var(--text-base);margin:0 0 var(--space-1);font-weight:700;display:inline}.feature-card p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-2) 0 0;line-height:1.5}.landing-steps{gap:var(--space-8);counter-reset:step;grid-template-columns:repeat(3,1fr);display:grid}.step-card{counter-increment:step}.step-card__num{border-radius:var(--radius-md);background:var(--color-accent);color:#fff;width:44px;height:44px;font-size:var(--text-lg);font-weight:800;font-family:var(--font-display);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:inline-flex}.step-card h3{font-size:var(--text-lg);margin:0 0 var(--space-2);font-weight:700}.step-card p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.landing-pricing{gap:var(--space-6);grid-template-columns:1fr 1fr;max-width:720px;margin:0 auto;display:grid}.pricing-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);transition:border-color var(--transition-base), transform var(--transition-base);position:relative}.pricing-card:hover{border-color:var(--color-text-tertiary);transform:translateY(-3px)}.pricing-card--pro{border-color:var(--color-accent);background:var(--color-accent-subtle);border-width:3px}.pricing-card__badge{background:var(--color-accent);color:#fff;font-size:var(--text-xs);padding:var(--space-1) var(--space-4);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-card__header h3{font-size:var(--text-2xl);margin:0 0 var(--space-2);font-weight:800}.pricing-card__price{font-size:var(--text-4xl);font-weight:800;font-family:var(--font-display);letter-spacing:0}.pricing-card__price span{font-size:var(--text-base);color:var(--color-text-tertiary);font-weight:500;font-family:var(--font-sans)}.pricing-card__annual{font-size:var(--text-xs);color:var(--color-success);margin-top:var(--space-1);font-weight:600}.pricing-card__list{margin:var(--space-6) 0;padding:0;list-style:none}.pricing-card__list li{font-size:var(--text-sm);padding:var(--space-2) 0;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle)}.pricing-card__list li:last-child{border-bottom:none}.security-highlight{gap:var(--space-6);background:var(--color-bg-card);border:2px solid var(--color-accent);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-8);margin:0 auto var(--space-8);align-items:flex-start;max-width:720px;display:flex}.security-highlight__icon{flex-shrink:0;font-size:2.5rem}.security-highlight__content h3{font-size:var(--text-lg);margin:0 0 var(--space-2);color:var(--color-accent);font-weight:700}.security-highlight__content p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.6}.security-grid{gap:var(--space-6);max-width:960px;margin:var(--space-10) auto 0;grid-template-columns:repeat(3,1fr);display:grid}.security-item{gap:var(--space-4);align-items:flex-start;display:flex}.security-item>span{flex-shrink:0;margin-top:2px;font-size:1.5rem}.security-item h4{font-size:var(--text-base);margin:0 0 var(--space-1);font-weight:700}.security-item p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.landing-faq{max-width:640px;margin:var(--space-10) auto 0}.faq-item{border-bottom:1px solid var(--color-border);padding:var(--space-5) 0}.faq-item summary{font-size:var(--text-base);cursor:pointer;justify-content:space-between;align-items:center;font-weight:600;list-style:none;display:flex}.faq-item summary:after{content:"+";font-size:var(--text-xl);color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.faq-item[open] summary:after{content:"−"}.faq-item p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-3) 0 0;line-height:1.6}.landing-cta{background:var(--color-accent);color:#fff;position:relative;overflow:hidden}.landing-cta:before{display:none}.landing-cta__headline{font-size:var(--text-4xl);letter-spacing:0;margin:0 0 var(--space-3);color:#fff;font-weight:800;position:relative}.landing-cta__sub{font-size:var(--text-lg);opacity:.8;margin:0 0 var(--space-8)}.landing-cta .btn--primary{color:var(--color-accent);background:#fff;font-weight:700}.faq-item{border-bottom:1px solid var(--color-border-subtle)}.faq-item__q{padding:var(--space-4) 0;font-weight:600;font-size:var(--text-base);cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.faq-item__q:after{content:"+";font-size:var(--text-xl);color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.faq-item[open] .faq-item__q:after{content:"−"}.faq-item__a{padding:0 0 var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm);margin:0;line-height:1.6}.compare-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=767px){.compare-grid{grid-template-columns:1fr}}.compare-card{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);transition:border-color var(--transition-base)}.compare-card:hover{border-color:var(--color-accent)}.compare-card h4{margin:0 0 var(--space-2);font-size:var(--text-base);color:var(--color-accent);font-weight:700}.compare-card p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.ai-examples{margin:var(--space-8) 0 0;padding:var(--space-6);background:var(--color-bg-card);border:1px dashed var(--color-border);border-radius:var(--radius-md);max-width:720px;margin-left:auto;margin-right:auto}.ai-example__label{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-3);font-weight:600}.ai-example__list{gap:var(--space-2);display:grid}.ai-example__list code{padding:var(--space-3) var(--space-4);background:var(--color-bg-primary);border-left:2px solid var(--color-accent);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-mono);color:var(--color-accent);display:block}.personas-grid{gap:var(--space-6);grid-template-columns:repeat(4,1fr);max-width:1000px;margin:0 auto;display:grid}.persona-card{text-align:center;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);transition:all var(--transition-base);flex-direction:column;align-items:center;display:flex}.persona-card:hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.persona-card__icon{margin-bottom:var(--space-3);color:var(--color-accent);font-size:2rem}.persona-card h3{font-size:var(--text-base);margin:0 0 var(--space-2);font-weight:700}.persona-card p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.testimonials-grid{gap:var(--space-6);grid-template-columns:repeat(2,1fr);max-width:1000px;margin:0 auto;display:grid}.testimonial-card{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);flex-direction:column;display:flex}.testimonial-card__quote{font-size:var(--text-base);color:var(--color-text-primary);margin:0 0 var(--space-4);flex-grow:1;font-style:italic;line-height:1.6}.testimonial-card__author{align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);display:flex}.testimonial-card__author strong{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:700;display:block}.testimonial-card__context{font-size:var(--text-xs);color:var(--color-text-tertiary);margin:0}.comparison-table{width:100%;max-width:1000px;margin:0 auto;overflow-x:auto}.comparison-table table{border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;overflow:hidden}.comparison-table thead{background:var(--color-bg-secondary)}.comparison-table th{padding:var(--space-4) var(--space-6);text-align:left;font-size:var(--text-sm);color:var(--color-text-primary);border-bottom:2px solid var(--color-border);font-weight:700}.comparison-table td{padding:var(--space-4) var(--space-6);font-size:var(--text-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle)}.comparison-table tbody tr:last-child td{border-bottom:none}.comparison-table tr:nth-child(2n){background:var(--color-bg-card)}.comparison-table td.yes{color:var(--color-success);font-weight:600}.comparison-table td.no{color:var(--color-text-tertiary)}.landing-cta .btn--primary:hover{background:#f1f1f1}.landing-footer{border-top:1px solid var(--color-border);padding:var(--space-10) var(--space-6);background:var(--color-bg-secondary)}.landing-footer__inner{max-width:var(--landing-max);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.landing-footer__brand{font-weight:700;font-size:var(--text-lg);align-items:center;gap:var(--space-2);display:flex}.landing-footer__links{gap:var(--space-6);display:flex}.landing-footer__links a{font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none}.landing-footer__links a:hover{color:var(--color-text-primary)}.landing-footer__copy{font-size:var(--text-xs);color:var(--color-text-tertiary)}@media (width<=768px){.landing-hero{padding:var(--space-10) var(--space-4);text-align:center;grid-template-columns:1fr}.landing-hero__headline{font-size:var(--text-4xl)}.landing-hero__sub{max-width:none}.landing-hero__actions{justify-content:center}.landing-hero__visual{order:-1}.landing-hero__mockup{max-width:360px;margin:0 auto}.landing-problems__grid,.landing-features__grid,.landing-steps,.landing-pricing,.security-grid{grid-template-columns:1fr}.personas-grid{grid-template-columns:repeat(2,1fr)}.testimonials-grid{grid-template-columns:1fr}.comparison-table{font-size:var(--text-xs)}.comparison-table th,.comparison-table td{padding:var(--space-3) var(--space-3)}.landing-footer__inner{gap:var(--space-4);text-align:center;flex-direction:column}.landing-nav__links a:not(.btn){display:none}.landing-section{padding:var(--space-10) var(--space-4)}}.blog-page{max-width:900px;padding:var(--space-16) var(--space-6) var(--space-12);margin:0 auto}.blog-header{margin-bottom:var(--space-10)}.blog-header__title{font-size:var(--text-4xl);letter-spacing:0;margin:0 0 var(--space-2);font-weight:800}.blog-header__sub{color:var(--color-text-secondary);font-size:var(--text-lg);margin:0}.blog-grid{gap:var(--space-6);display:grid}.blog-card{text-align:left;padding:var(--space-6);border:1.5px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-card);cursor:pointer;transition:border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);width:100%;font:inherit;color:inherit;display:block}.blog-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card);transform:translateY(-2px)}.blog-card__cat{font-size:var(--text-xs);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2);font-weight:600;display:inline-block}.blog-card__title{font-size:var(--text-xl);margin:0 0 var(--space-2);font-weight:700;line-height:1.3}.blog-card__excerpt{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-3);line-height:1.5}.blog-card__meta{gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex}.blog-article{max-width:680px;margin:0 auto}.blog-article__meta{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-text-tertiary);display:flex}.blog-article__back{color:var(--color-accent);font-weight:600;text-decoration:none}.blog-article__cat{text-transform:uppercase;font-weight:600;font-size:var(--text-xs);letter-spacing:.05em;color:var(--color-accent)}.blog-article__title{font-size:var(--text-3xl);letter-spacing:0;margin:0 0 var(--space-8);font-weight:800;line-height:1.2}.blog-article__body{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.8}.blog-article__body h2{font-size:var(--text-xl);color:var(--color-text-primary);margin:var(--space-8) 0 var(--space-3);font-weight:700}.blog-article__body p{margin:0 0 var(--space-4)}.blog-article__body ul,.blog-article__body ol{padding-left:var(--space-6);margin:0 0 var(--space-4)}.blog-article__body li{margin-bottom:var(--space-2)}.blog-article__body a{color:var(--color-accent);font-weight:600}.changelog-page{max-width:720px;padding:var(--space-16) var(--space-6) var(--space-12);margin:0 auto}.changelog-header{margin-bottom:var(--space-10)}.changelog-header__title{font-size:var(--text-4xl);letter-spacing:0;margin:0 0 var(--space-2);font-weight:800}.changelog-header__sub{color:var(--color-text-secondary);font-size:var(--text-lg);margin:0}.changelog-list{gap:var(--space-10);flex-direction:column;display:flex}.changelog-entry{padding-left:var(--space-6);position:relative}.changelog-entry:before{content:"";background:var(--color-accent);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:0}.changelog-entry__header{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.changelog-entry__version{font-size:var(--text-xl);margin:0;font-weight:700}.changelog-entry__date{font-size:var(--text-sm);color:var(--color-text-tertiary)}.changelog-entry__changes{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.changelog-change{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5;display:flex}.changelog-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-pill);flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.changelog-badge--added{color:#166534;background:#dcfce7}.changelog-badge--fixed{color:#92400e;background:#fef3c7}.changelog-badge--improved{color:#1e40af;background:#dbeafe}.seo-page{max-width:1200px;padding:var(--space-12) var(--space-6);margin:0 auto}.seo-hero{gap:var(--space-12);margin-bottom:var(--space-16);padding:var(--space-12) 0;grid-template-columns:1fr 1fr;align-items:center;display:grid}.seo-hero__content{gap:var(--space-6);flex-direction:column;display:flex}.seo-hero__title{letter-spacing:-.025em;color:var(--color-text-primary);margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.1}.seo-hero__desc{color:var(--color-text-secondary);max-width:60ch;margin:0;font-family:Lexend,sans-serif;font-size:1.125rem;line-height:1.6}.seo-hero__visual{justify-content:center;align-items:center;display:flex}.hero-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);width:100%;max-width:320px}.hero-card__label{color:var(--color-text-secondary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:500}.hero-card__amount{color:var(--color-accent);margin-bottom:var(--space-4);font-variant-numeric:tabular-nums;font-family:Azeret Mono,monospace;font-size:2rem;font-weight:600}.hero-card__meta{color:var(--color-text-secondary);margin-bottom:var(--space-6);font-size:.95rem}.hero-progress{background:var(--color-border);height:4px;margin-bottom:var(--space-4);border-radius:999px;overflow:hidden}.hero-progress__bar{background:var(--color-accent);border-radius:999px;height:100%;transition:width .3s ease-out}.hero-card__footer{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:.85rem}.seo-section{margin-bottom:var(--space-16);padding:var(--space-12) 0}.seo-section--alt{background:var(--color-bg-secondary);margin-left:calc(-1 * var(--space-6));margin-right:calc(-1 * var(--space-6));padding:var(--space-12) var(--space-6)}.seo-section h2{letter-spacing:-.025em;margin:0 0 var(--space-8);color:var(--color-text-primary);font-family:Bricolage Grotesque,sans-serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.15}.reasons-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.reason-card{padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border);gap:var(--space-4);transition:border-color var(--transition-base), box-shadow var(--transition-base);flex-direction:column;display:flex}.reason-card:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #6366f114}.reason-card__icon{color:var(--color-accent);font-size:1.5rem}.reason-card h3{color:var(--color-text-primary);margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:600}.reason-card p{color:var(--color-text-secondary);margin:0;font-size:.95rem;line-height:1.5}.emi-types{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.emi-type{padding:var(--space-6);background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.emi-type h4{margin:0 0 var(--space-2);color:var(--color-text-primary);font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:600}.emi-type p{color:var(--color-text-secondary);margin:0;font-size:.95rem;line-height:1.5}.steps-column{gap:var(--space-8);max-width:700px;display:grid}.step{gap:var(--space-6);grid-template-columns:60px 1fr;align-items:start;display:grid}.step__num{color:var(--color-accent);opacity:.2;font-family:Bricolage Grotesque,sans-serif;font-size:2rem;font-weight:700;line-height:1}.step h4{margin:0 0 var(--space-2);color:var(--color-text-primary);font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:600}.step p{color:var(--color-text-secondary);margin:0;font-size:.95rem;line-height:1.6}.faq{gap:var(--space-4);max-width:800px;display:grid}.faq-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);cursor:pointer;transition:border-color var(--transition-base), box-shadow var(--transition-base)}.faq-item:hover{border-color:var(--color-accent)}.faq-item[open]{border-color:var(--color-accent);background:var(--color-bg-secondary)}.faq-item summary{color:var(--color-text-primary);user-select:none;justify-content:space-between;align-items:center;gap:var(--space-4);outline:none;font-family:Bricolage Grotesque,sans-serif;font-size:1rem;font-weight:600;display:flex}.faq-item summary:after{content:"↓";transition:transform .3s}.faq-item[open] summary:after{transform:rotate(180deg)}.faq-item p{margin:var(--space-4) 0 0 0;padding-top:var(--space-4);border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.95rem;line-height:1.6}.seo-cta{text-align:center;padding:var(--space-12) var(--space-6);background:var(--color-bg-secondary);border-radius:var(--radius-lg);margin-top:var(--space-16)}.seo-cta h2{margin:0 0 var(--space-2);font-family:Bricolage Grotesque,sans-serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.seo-cta p{color:var(--color-text-secondary);margin:0 0 var(--space-6);font-size:1.125rem}@media (width<=768px){.seo-page{padding:var(--space-6) var(--space-4)}.seo-hero{gap:var(--space-8);grid-template-columns:1fr}.seo-hero__title{font-size:clamp(1.75rem,5vw,2.25rem)}.seo-hero__desc{font-size:1rem}.seo-section{padding:var(--space-8) 0}.seo-section h2{margin-bottom:var(--space-6);font-size:clamp(1.5rem,4vw,1.875rem)}.reasons-grid,.emi-types{grid-template-columns:1fr}.reason-card,.emi-type{padding:var(--space-5)}.step{gap:var(--space-4);grid-template-columns:50px 1fr}.step__num{font-size:1.5rem}.seo-cta{padding:var(--space-8) var(--space-4);margin:var(--space-12) calc(-1 * var(--space-4));border-radius:0}}@media (width<=480px){.seo-page{padding:var(--space-6) var(--space-3)}.seo-hero__title{font-size:1.75rem}.reason-card,.emi-type{padding:var(--space-4)}.hero-card{max-width:100%}.seo-cta{margin:var(--space-12) calc(-1 * var(--space-3));padding:var(--space-6) var(--space-3)}}.admin{max-width:960px;padding:var(--space-3) var(--space-4);margin:0 auto;animation:.3s cubic-bezier(.16,1,.3,1) both admin-fade-in}@keyframes admin-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.admin__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.admin__header-left{align-items:center;gap:var(--space-3);display:flex}.admin__back{border-radius:var(--radius-md);width:30px;height:30px;color:var(--color-text-secondary);background:var(--color-bg-secondary);transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.admin__back:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.admin__back:active{transform:scale(.92)}.admin__title{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:0;margin:0;font-weight:700}.admin__header-right{align-items:center;gap:var(--space-3);display:flex}.admin__user-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:0}.admin__error{padding:var(--space-3) var(--space-4);background:var(--color-danger-subtle);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger-text);font-size:var(--text-sm);margin-bottom:var(--space-5);font-weight:500}.admin__loading{padding:var(--space-8) 0}.admin__loading-bar{background:var(--color-border-subtle);border-radius:1px;height:2px;position:relative;overflow:hidden}.admin__loading-bar:after{content:"";background:var(--color-accent);border-radius:1px;width:40%;animation:1.2s ease-in-out infinite admin-loading-slide;position:absolute;inset:0}@keyframes admin-loading-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.admin-kpi-strip{gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-1);display:flex;overflow-x:auto}.admin-kpi{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);white-space:nowrap;animation:.25s cubic-bezier(.16,1,.3,1) both kpi-enter;animation-delay:var(--kpi-delay,0s);transition:border-color var(--transition-fast), background var(--transition-fast);flex-shrink:0;display:flex}.admin-kpi:hover{border-color:var(--color-border);background:var(--color-bg-hover)}@keyframes kpi-enter{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-kpi__icon{color:var(--color-text-tertiary);align-items:center;display:flex}.admin-kpi__data{align-items:baseline;gap:var(--space-1);display:flex}.admin-kpi__value{font-family:var(--font-mono);font-size:var(--text-base);letter-spacing:0;font-weight:700}.admin-kpi__label{color:var(--color-text-tertiary);font-size:11px;font-weight:500}.admin-kpi--accent{background:var(--color-accent-subtle);border-color:#0000}.admin-kpi--accent .admin-kpi__value{color:var(--color-accent)}.admin-section-title{font-size:var(--text-base);letter-spacing:0;margin:0;font-weight:700}.admin-qa{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.admin-qa__header{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.admin-qa__meta,.admin-qa__totals,.admin-qa-check span,.admin-qa-check small{color:var(--color-text-tertiary);font-size:var(--text-xs)}.admin-qa__meta{margin:3px 0 0}.admin-qa__totals{font-family:var(--font-mono);flex-direction:column;align-items:flex-end;gap:2px;display:flex}.admin-qa__grid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.admin-qa-check{min-width:0;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-secondary);flex-direction:column;gap:4px;display:flex}.admin-qa-check strong{font-size:var(--text-sm);letter-spacing:0}.admin-qa-check__status{border-radius:var(--radius-sm);text-transform:uppercase;width:fit-content;padding:2px 6px;font-weight:700}.admin-qa-check__status--passed{color:var(--color-success-text);background:var(--color-success-subtle)}.admin-qa-check__status--gated{color:var(--color-warning);background:var(--color-warning-subtle)}@media (width<=760px){.admin-qa__header{flex-direction:column}.admin-qa__totals{align-items:flex-start}.admin-qa__grid{grid-template-columns:1fr}}.admin-users{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);animation:.3s cubic-bezier(.16,1,.3,1) .12s both admin-fade-in;overflow:hidden}.admin-users__toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);display:flex}.admin-users__search{align-items:center;gap:var(--space-2);min-width:0;color:var(--color-text-tertiary);flex:1;display:flex}.admin-users__search input{width:100%;font-size:var(--text-sm);color:var(--color-text-primary);font-family:var(--font-sans);background:0 0;border:none;outline:none}.admin-users__search input::placeholder{color:var(--color-text-tertiary)}.admin-users__filters{gap:var(--space-2);flex-shrink:0;display:flex}.admin-users__filters select{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:11px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:border-color var(--transition-fast);padding:4px 8px}.admin-users__filters select:hover{border-color:var(--color-border)}.admin-bulk-bar{padding:var(--space-2) var(--space-4);background:var(--color-accent-subtle);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;animation:.15s cubic-bezier(.16,1,.3,1) both admin-fade-in;display:flex}.admin-bulk-bar__count{font-size:var(--text-xs);color:var(--color-accent);font-weight:700}.admin-bulk-bar__actions{gap:var(--space-1);display:flex}.admin-bulk-bar__actions .btn{padding:2px var(--space-2);min-height:0;font-size:11px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;padding:var(--space-2) var(--space-4);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--color-border-subtle);white-space:nowrap;background:var(--color-bg-secondary);font-size:10px;font-weight:700}.admin-table__th--check,.admin-table__td--check{text-align:center;width:36px}.admin-table td{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle;font-size:var(--text-sm)}.admin-table tbody tr{transition:background var(--transition-fast)}.admin-table tbody tr:hover{background:var(--color-bg-hover)}.admin-table__row--selected{background:var(--color-accent-subtle)!important}.admin-table__date{font-family:var(--font-mono);color:var(--color-text-tertiary);letter-spacing:0;font-size:11px}.admin-user-cell{flex-direction:column;gap:1px;min-width:0;display:flex}.admin-user-cell__name{font-weight:600;font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-user-cell__email{color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.admin-badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;font-size:10px;font-weight:700;line-height:1;display:inline-block}.admin-badge--free{background:var(--color-bg-secondary);color:var(--color-text-tertiary)}.admin-badge--pro{background:var(--color-accent-subtle);color:var(--color-accent)}.admin-badge--trial{background:var(--color-warning-subtle);color:var(--color-warning)}.admin-badge--active{background:var(--color-success-subtle);color:var(--color-success-text)}.admin-badge--suspended{background:var(--color-warning-subtle);color:var(--color-warning)}.admin-badge--churned{background:var(--color-danger-subtle);color:var(--color-danger-text)}.admin-table__empty{padding:var(--space-8) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary)}.admin-users__footer{padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-subtle)}.admin-users__count{color:var(--color-text-tertiary);font-size:11px;font-weight:500;font-family:var(--font-mono)}.admin-table input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-accent);cursor:pointer}@media (width<=767px){.admin{padding:var(--space-4)}.admin-kpi-strip{gap:var(--space-1)}.admin-kpi{padding:var(--space-1) var(--space-2)}.admin-kpi__icon{display:none}.admin-kpi__value{font-size:var(--text-sm)}.admin-users__toolbar{flex-direction:column;align-items:stretch}.admin-users__filters{justify-content:flex-end}.admin-table th:nth-child(4),.admin-table td:nth-child(4),.admin-table th:nth-child(5),.admin-table td:nth-child(5){display:none}.admin-users{-webkit-overflow-scrolling:touch;overflow-x:auto}}.admin-toast{top:var(--space-4);right:var(--space-4);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);z-index:1000;box-shadow:var(--shadow-card);font-weight:600;animation:.25s cubic-bezier(.16,1,.3,1) both admin-toast-in;display:flex;position:fixed}@keyframes admin-toast-in{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-toast--success{background:var(--color-success-subtle);color:var(--color-success-text);border:1px solid var(--color-success)}.admin-toast--error{background:var(--color-danger-subtle);color:var(--color-danger-text);border:1px solid var(--color-danger)}.admin-modal-overlay{z-index:900;background:oklch(0% 0 0/.5);justify-content:center;align-items:center;animation:.15s both admin-fade-in;display:flex;position:fixed;inset:0}.admin-modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);width:90%;max-width:380px;animation:.2s cubic-bezier(.16,1,.3,1) both admin-modal-enter}@keyframes admin-modal-enter{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.admin-modal__title{font-family:var(--font-display);font-size:var(--text-lg);margin:0 0 var(--space-2);font-weight:700}.admin-modal__desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-4);line-height:1.5}.admin-modal__count{font-size:var(--text-sm);font-family:var(--font-mono);color:var(--color-text-tertiary);margin:0 0 var(--space-5)}.admin-modal__actions{justify-content:flex-end;gap:var(--space-2);display:flex}
