@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--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;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:9999px;--radius-full:9999px;--ease:cubic-bezier(.4, 0, .2, 1);--duration-fast:.15s;--duration-normal:.2s}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#111d18;--bg-raised:#192820;--bg-overlay:#22332a;--bg-soft:#15231b;--border:#34483c;--border-hover:#57745f;--text-primary:#eff3ed;--text-secondary:#b5c3b9;--text-muted:#a4b5a9;--accent:#b4d6b9;--accent-hover:#cbe5cf;--accent-subtle:#233c2c;--on-accent:#172c20;--positive:#b4d6b9;--positive-subtle:#233c2c;--negative:#e0a6a0;--negative-subtle:#3b2926;--warning:#dcc394;--warning-subtle:#373123;--transfer:#adc3ca;--transfer-subtle:#24353a;--chart-grid:#2b4034;--surface-shadow:0 8px 28px -18px #0006}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:#f8f9f4;--bg-raised:#fff;--bg-overlay:#f0f3ed;--bg-soft:#eff3e9;--border:#dce3d8;--border-hover:#abbca8;--text-primary:#20352a;--text-secondary:#55655a;--text-muted:#5e6f62;--accent:#245545;--accent-hover:#193e32;--accent-subtle:#eaf1e7;--on-accent:#fff;--positive:#356448;--positive-subtle:#eaf1e7;--negative:#9f514a;--negative-subtle:#f7ebe7;--warning:#80622d;--warning-subtle:#f5efdf;--transfer:#496771;--transfer-subtle:#ebf1f3;--chart-grid:#e5ebe0;--surface-shadow:0 8px 28px -18px #243c2b33}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;transition:background-color var(--duration-normal) var(--ease), color var(--duration-normal) var(--ease);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{cursor:pointer;font-family:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--accent-hover);outline-offset:2px}.app-status-error{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--negative);background:var(--negative-subtle);border-radius:var(--radius-md);border:1px solid #ef44444d;font-size:.8125rem}.tnum{font-variant-numeric:tabular-nums;letter-spacing:-.01em}input,select,textarea,button{font:inherit}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}summary{cursor:pointer}.tab-loading{color:var(--text-secondary);text-align:center;padding:48px}@media (width<=640px){input,select,textarea{font-size:16px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}#root{flex-direction:column;min-height:100vh;display:flex}.main-content{max-width:1280px;padding:var(--space-6);flex:1;width:100%;margin:0 auto}@media (width<=768px){.main-content{padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dialog{background:var(--bg-raised);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-lg);width:90vw;max-width:480px;padding:0}.dialog::backdrop{background:#00000080}.dialog__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.dialog__title{font-size:1rem;font-weight:600}.dialog__close{color:var(--text-muted);padding:var(--space-1);border-radius:var(--radius-sm);min-width:44px;min-height:44px;transition:color var(--duration-fast) var(--ease);background:0 0;border:none;display:flex}.dialog__close:hover{color:var(--text-primary)}.dialog__body{padding:var(--space-5)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease);white-space:nowrap;border:1px solid #0000;font-weight:500;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{padding:6px 12px;font-size:.8125rem}.btn--md{padding:8px 16px;font-size:.875rem}.btn--lg{padding:10px 20px;font-size:.9375rem}.btn--sm{min-height:36px}.btn--md{min-height:44px}.btn--lg{min-height:48px}.btn--primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn--secondary{color:var(--text-primary);border-color:var(--border);background:0 0}.btn--secondary:hover:not(:disabled){background:var(--bg-overlay);border-color:var(--border-hover)}.btn--ghost{color:var(--text-secondary);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--bg-overlay);color:var(--text-primary)}.btn--danger{color:var(--negative);border-color:var(--border);background:0 0}.btn--danger:hover:not(:disabled){background:var(--negative-subtle);border-color:var(--negative)}.btn__icon{align-items:center;display:flex}.inline-error{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:var(--negative);background:var(--negative-subtle);border-radius:var(--radius-md);border:1px solid #ef44444d;font-size:.8125rem;display:flex}.inline-error__message{flex:1}.app-header{z-index:100;border-bottom:1px solid var(--border);background:var(--bg-raised);position:sticky;top:0}.app-header__inner{align-items:center;gap:24px;max-width:1600px;min-height:76px;margin:0 auto;padding:14px 28px;display:flex}.app-header__brand{color:var(--text-primary);text-align:left;background:0 0;border:0;flex-shrink:0;align-items:center;gap:10px;padding:0;display:flex}.app-header__brand>div{flex-direction:column;gap:3px;display:flex}.app-header__title{letter-spacing:-.035em;font-size:1rem;font-weight:600;line-height:1.2}.app-header__subtitle{color:var(--text-muted);font-size:.625rem}.app-header__meta{flex:1;min-width:0;padding-left:20px}.app-header__stat{color:var(--text-muted);font-size:.75rem}.app-header__actions{align-items:center;gap:14px;margin-left:auto;display:flex}.app-header__actions .btn{min-height:44px;padding-inline:16px;font-size:.8125rem}.app-header__theme{justify-content:center;align-items:center;min-width:44px;min-height:44px}.app-header__account{position:relative}.app-header__account summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;list-style:none;display:flex}.app-header__account summary::-webkit-details-marker{display:none}.app-header__avatar{width:34px;height:34px;color:var(--accent);background:var(--accent-subtle);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;display:inline-flex}.app-header__account-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:.75rem;overflow:hidden}.app-header__account-panel{border:1px solid var(--border);background:var(--bg-raised);width:270px;box-shadow:var(--surface-shadow);border-radius:12px;padding:8px;position:absolute;top:calc(100% + 12px);right:0}.app-header__account-info{overflow-wrap:anywhere;flex-direction:column;gap:4px;padding:12px;display:flex}.app-header__account-info strong{font-size:.875rem;font-weight:600}.app-header__account-info>span{color:var(--text-muted);font-size:.75rem}.app-header__connection{color:var(--text-muted);border-block:1px solid var(--border);flex-direction:column;gap:8px;margin-bottom:4px;padding:12px;font-size:.6875rem;display:flex}.app-header__account-panel>button{text-align:left;width:100%;min-height:44px;color:var(--text-secondary);background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:12px;font-size:.8125rem;display:flex}.app-header__account-panel>button:hover{background:var(--bg-overlay);color:var(--text-primary)}.app-header__account-panel>.app-header__signout{color:var(--negative)}.dialog-input{border:1px solid var(--border);background:var(--bg-base);width:100%;min-height:44px;color:var(--text-primary);font:inherit;border-radius:8px;padding:10px 12px;font-size:.875rem}.dialog-input:focus{border-color:var(--accent)}@media (width<=960px){.app-header__meta{display:none}.app-header__inner{padding-inline:24px}}@media (width<=640px){.app-header__inner{flex-wrap:wrap;gap:12px;min-height:68px;padding:12px 16px}.app-header__brand svg{width:30px;height:30px}.app-header__title{font-size:.875rem}.app-header__subtitle,.app-header__account-name,.app-header__account summary>svg{display:none}.app-header__actions{gap:4px}.app-header__actions>.btn{display:none}.app-header__account summary{justify-content:center;min-width:44px}.app-header__account-panel{width:min(270px,100vw - 32px)}}.tab-bar{background:var(--bg-base);border-right:1px solid var(--border)}.tab-bar__inner{flex-direction:column;height:calc(100vh - 76px);min-height:460px;padding:32px 16px 24px;display:flex;position:sticky;top:76px}.tab-bar__heading{color:var(--text-muted);letter-spacing:.075em;margin:0 12px 16px;font-size:.625rem;font-weight:500}.tab-bar__inner>[role=tablist]{flex-direction:column;gap:6px;display:flex}.tab-bar__item{min-height:46px;color:var(--text-secondary);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:12px;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s;display:flex}.tab-bar__item:hover{color:var(--text-primary);background:var(--bg-overlay)}.tab-bar__item--active{color:var(--accent);background:var(--accent-subtle);border-color:var(--border);font-weight:600}.tab-bar__note{color:var(--text-muted);border-top:1px solid var(--border);align-items:flex-start;gap:8px;margin-top:auto;padding:24px 8px 0;display:flex}.tab-bar__note>svg{flex-shrink:0;margin-top:3px}.tab-bar__note p{font-size:.625rem;line-height:1.9}@media (width<=960px){.tab-bar{z-index:90;border-right:0;border-bottom:1px solid var(--border);position:sticky;top:76px}.tab-bar__inner{height:auto;min-height:0;padding:16px 24px;position:static}.tab-bar__heading,.tab-bar__note{display:none}.tab-bar__inner>[role=tablist]{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.tab-bar__item{justify-content:center;gap:8px;padding:10px 8px;font-size:.75rem}}@media (width<=640px){.tab-bar{top:68px}.tab-bar__inner{padding:12px 16px}.tab-bar__inner>[role=tablist]{grid-template-columns:repeat(3,minmax(0,1fr))}.tab-bar__item{justify-content:flex-start;min-height:44px;padding:10px;font-size:.75rem}.tab-bar__item svg{flex-shrink:0;width:17px}}@media (width<=960px) and (height<=600px){.tab-bar{position:static}}.dashboard{background:var(--bg-base);min-height:100vh}.dashboard__workspace{grid-template-columns:208px minmax(0,1fr);max-width:1600px;margin:0 auto;display:grid}.dashboard .main-content{min-width:0;max-width:1280px;padding:32px 36px 64px}.dashboard__page-header{margin-bottom:28px}.dashboard__eyebrow{color:var(--text-muted);letter-spacing:.055em;font-size:.6875rem;font-weight:500}.dashboard__page-header h1{letter-spacing:-.045em;margin:7px 0 9px;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:600;line-height:1.3}.dashboard__page-header p{color:var(--text-secondary);max-width:680px;font-size:.875rem;line-height:1.8}.dashboard__skip-link{z-index:300;background:var(--bg-raised);border:1px solid var(--accent);border-radius:8px;padding:12px 18px;position:fixed;top:-80px;left:16px}.dashboard__skip-link:focus{top:12px}.dashboard [id]{scroll-margin-top:96px}.dashboard .overview__filters,.dashboard .advisor__controls{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);align-items:flex-end;padding:16px 20px}.dashboard .overview__count{padding-bottom:10px}.dashboard .overview__hero-metrics{gap:16px}.dashboard .overview__charts{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.dashboard .overview__chart-card,.dashboard .finops__chart-card{min-width:0;padding:24px}.dashboard .overview__micro-strip{background:0 0;border:0;padding:0 2px;font-size:.75rem}.dashboard .overview__micro-item--muted{font-size:.75rem}.dashboard .overview__legend{gap:9px 16px;line-height:1.6}.dashboard .overview__toggle-btn{min-height:36px}.dashboard .overview__toggle-btn.active{color:var(--accent);background:var(--accent-subtle);box-shadow:none;border-color:#0000}.dashboard .overview__section{margin-top:8px}.dashboard .budget-items-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.dashboard .budget-tab__nav-pills{flex-wrap:wrap}.dashboard .budget-nav-pill{min-height:44px}.dashboard .budget-status-card__header{flex-wrap:wrap;gap:8px}.dashboard .budget-item-card:hover{transform:none}.dashboard .finops__pricing-table{overflow-x:auto}.dashboard .finops__section-actions{flex-wrap:wrap}.dashboard .advisor__controls .btn{min-height:44px}.dashboard .pdf-manager__dropzone{background:var(--bg-soft);border-color:var(--border-hover);padding:32px 24px}.dashboard .pdf-manager__dropzone:hover{background:var(--accent-subtle);border-color:var(--accent)}.dashboard .transactions__toolbar{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:flex-end;padding:20px}.dashboard .transactions__search-wrap{flex-basis:280px}.dashboard .transactions__search{min-height:44px}.dashboard .transactions__meta{gap:8px}.dashboard .transactions__filters-row{background:0 0;border:0;padding:16px 20px}.dashboard .transactions__input{min-height:42px}.dashboard .transactions__date-inputs{flex-wrap:wrap}.dashboard .transactions__filter-group{min-width:0}.dashboard .tx-cat-cell__btn{min-height:36px}.dashboard .tx-cat-cell__icon{opacity:1}.dashboard .data-table-wrap,.dashboard .transfers-widget__title-wrap{min-width:0}.dashboard .budget-snapshot__label-row{flex-wrap:wrap}.dashboard .budget-mini-item__top{flex-wrap:wrap;gap:4px}.dashboard .tab-loading{color:var(--text-secondary);text-align:center;padding:48px}@media (width<=1200px){.dashboard__workspace{grid-template-columns:184px minmax(0,1fr)}.dashboard .main-content{padding:28px 24px 48px}.dashboard .overview__charts,.dashboard .finops__charts{grid-template-columns:1fr}.dashboard .metric-card__header{flex-wrap:wrap;align-items:flex-start}}@media (width<=960px){.dashboard__workspace{grid-template-columns:1fr}.dashboard .overview__hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard .overview__micro-strip{flex-direction:row}.dashboard .overview__micro-item--muted{margin-left:auto}}@media (width<=640px){.dashboard .main-content{padding:24px 16px 40px}.dashboard__page-header{margin-bottom:24px}.dashboard__page-header p{font-size:.8125rem}.dashboard .overview__filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;display:grid}.dashboard .overview__filters .select-field:last-of-type{grid-column:1/-1}.dashboard .overview__count{margin:0;padding:0}.dashboard .overview__hero-metrics{grid-template-columns:1fr}.dashboard .overview__micro-strip{flex-direction:column;align-items:flex-start;gap:8px}.dashboard .overview__micro-item--muted{margin-left:0}.dashboard .overview__chart-card,.dashboard .finops__chart-card{padding:20px}.dashboard .overview__chart-header{align-items:flex-start;gap:12px}.dashboard .budget-tab__period-filters{width:100%}.dashboard .budget-tab__period-filters .select-field{flex:1;min-width:0}.dashboard .finops__kpis{grid-template-columns:1fr 1fr}.dashboard .finops__kpis .metric-card:last-child{grid-column:1/-1}.dashboard .transactions__toolbar{padding:16px}.dashboard .transactions__toolbar>.select-field{flex:120px;min-width:0}.dashboard .transactions__meta{width:100%;margin-left:0}.dashboard .transactions__filters-row{padding-inline:16px}.dashboard .transactions__input--date{width:128px;min-width:0}.dashboard .transactions__input--number{width:110px;min-width:0}.dashboard .pdf-manager__batch,.dashboard .transfers-widget__header,.dashboard .budget-snapshot__header{flex-wrap:wrap;gap:14px}.dashboard .pdf-manager__dropzone{padding:24px 16px}.dashboard .subs-toolbar{align-items:flex-start}}.transactions__advanced{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg)}.transactions__advanced summary{min-height:48px;color:var(--text-secondary);padding:14px 20px;font-size:.8125rem}.transactions__filter-active{color:var(--accent);background:var(--accent-subtle);border-radius:20px;margin-left:12px;padding:2px 8px}.transactions__results-meta{justify-content:space-between;align-items:center;gap:16px;min-height:36px;display:flex}.transactions__results-meta .transactions__count{margin-left:0}.overview__onboarding{background:var(--bg-raised);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:flex-start;gap:16px;padding:40px;display:flex}.overview__onboarding>svg{color:var(--accent)}.overview__onboarding h2{font-size:1.25rem;font-weight:600}.overview__onboarding p{color:var(--text-secondary);max-width:480px;font-size:.875rem;line-height:1.8}.finops__pricing-note{color:var(--text-secondary);padding:16px;font-size:.8125rem;line-height:1.7}.dashboard .finops__kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard .finops__kpis .metric-card{padding:20px 16px}.dashboard .finops__kpis .metric-card__value{font-size:clamp(1.25rem,1.7vw,1.75rem)}.budget-mini-item__cat{align-items:center;gap:6px;display:inline-flex}@media (width<=1200px){.dashboard .finops__kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard .advisor__card--score{grid-template-columns:1fr}}@media (width<=640px){.dashboard .finops__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.overview__onboarding{padding:24px}.advisor__rec-item{flex-direction:column}}.advisor__empty{background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:flex-start;gap:14px;padding:32px;display:flex}.advisor__empty svg{color:var(--accent)}.advisor__empty h2{font-size:1.125rem;font-weight:600}.advisor__empty p{max-width:520px;color:var(--text-secondary);font-size:.875rem;line-height:1.8}.dashboard .transfers-widget__toggle-btn{min-width:44px;min-height:44px}@media (width<=360px){.tab-bar__item{flex-direction:column;justify-content:center;gap:4px;padding:8px 4px}}.dashboard .budget-item-card{padding:20px}.dashboard .budget-item-card__top{flex-direction:column;align-items:stretch;gap:12px}.dashboard .budget-item-card__category{min-width:0}.dashboard .budget-item-card__icon{flex-shrink:0;display:flex}.dashboard .budget-item-card__actions>.badge{margin-right:auto}.dashboard .budget-action-btn{min-width:36px;min-height:36px}.dashboard .budget-item-card__amounts{flex-wrap:wrap}.dashboard .unbudgeted-cards-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.dashboard .unbudgeted-card{flex-wrap:wrap}.dashboard .unbudgeted-card__info{flex:1;min-width:160px}.dashboard .pdf-manager__dropzone-pwd-hint{align-items:center;gap:5px;display:inline-flex}.dashboard input:focus-visible,.dashboard textarea:focus-visible{box-shadow:0 0 0 3px var(--accent-subtle)}.dashboard .budget-mini-item__name{align-items:center;gap:6px;display:inline-flex}.dashboard .budget-mini-item__name svg{flex-shrink:0;width:15px;height:15px}.dashboard .badge{font-size:.75rem}@media (width<=640px){.dashboard .budget-action-btn{min-width:44px;min-height:44px}.dashboard input,.dashboard select,.dashboard textarea{font-size:16px}}.dashboard .metric-card__value{overflow-wrap:anywhere;font-size:clamp(1.125rem,8cqi,1.5rem)}.dashboard .transactions__reset-btn{color:var(--accent)!important}@media (width<=960px) and (height>=601px){.dashboard [id]{scroll-margin-top:170px}}@media (width<=640px) and (height>=601px){.dashboard [id]{scroll-margin-top:220px}}.landing{--bg-base:#111d18;--bg-raised:#192820;--bg-overlay:#22332a;--border:#34483c;--border-hover:#57745f;--text-primary:#eff3ed;--text-secondary:#b5c3b9;--text-muted:#a4b5a9;--accent:#b4d6b9;--accent-hover:#cbe5cf;--accent-subtle:#233c2c;--positive:#b4d6b9;--landing-on-accent:#172c20;--landing-soft:#15231b;--landing-chart-1:#96bb9a;--landing-chart-2:#d4bd8c;--landing-chart-3:#8ea8b3;--landing-chart-4:#6a7a6b;--landing-shadow:0 24px 60px -28px #0000008c;background:var(--bg-base);color:var(--text-primary);min-height:100vh;font-family:Inter,Microsoft YaHei,PingFang SC,sans-serif}[data-theme=light] .landing{--bg-base:#f8f9f4;--bg-raised:#fff;--bg-overlay:#f0f3ed;--border:#dce3d8;--border-hover:#abbca8;--text-primary:#20352a;--text-secondary:#55655a;--text-muted:#5e6f62;--accent:#245545;--accent-hover:#193e32;--accent-subtle:#eaf1e7;--positive:#245545;--landing-on-accent:#fff;--landing-soft:#eff3e9;--landing-chart-1:#527b59;--landing-chart-2:#d4bd8c;--landing-chart-3:#8ea8b3;--landing-chart-4:#e0e4da;--landing-shadow:0 24px 60px -28px #243c2b47}html:has(.landing){scroll-behavior:smooth}.landing [id]{scroll-margin-top:100px}.landing :focus-visible{outline:3px solid var(--accent);outline-offset:4px}.landing svg{flex-shrink:0}.landing__container{width:calc(100% - 96px);max-width:1200px;margin-inline:auto}.landing a{color:inherit}.landing a:hover{color:var(--accent)}.landing .btn{min-height:44px;padding:12px 18px;font-size:.875rem;font-weight:600;transition:background-color .16s,border-color .16s}.landing .btn--lg{min-height:52px;padding:16px 22px}.landing .btn--primary{color:var(--landing-on-accent)}.landing__eyebrow{color:var(--accent);letter-spacing:.07em;font-size:.75rem;font-weight:600;line-height:1.6;display:block}.landing__skip-link{z-index:100;background:var(--bg-raised);border:1px solid var(--accent);border-radius:8px;padding:12px 20px;position:fixed;top:-80px;left:20px}.landing__skip-link:focus{top:12px}.landing__navbar{z-index:50;background:var(--bg-base);border-bottom:1px solid var(--border);position:sticky;top:0}.landing__navbar-container{justify-content:space-between;align-items:center;gap:24px;width:calc(100% - 96px);max-width:1200px;min-height:80px;margin-inline:auto;display:flex}.landing__brand{letter-spacing:-.045em;white-space:nowrap;align-items:center;gap:10px;font-size:1.0625rem;font-weight:700;display:inline-flex}.landing__brand-secondary{font-weight:500}.landing__nav-links,.landing__navbar-actions{align-items:center;display:flex}.landing__nav-links{gap:28px}.landing__nav-links a{color:var(--text-secondary);align-items:center;min-height:44px;font-size:.8125rem;font-weight:500;display:flex}.landing__navbar-actions{gap:10px}.landing__language{min-height:44px;color:var(--text-secondary);align-items:center;gap:6px;display:flex;position:relative}.landing__language select{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;width:91px;height:44px;padding:0 18px 0 3px;font-family:inherit;font-size:.8125rem}.landing__language option{background:var(--bg-raised);color:var(--text-primary)}.landing__language>svg:last-child{pointer-events:none;position:absolute;right:4px}.landing__theme-toggle{justify-content:center;align-items:center;min-width:44px;min-height:44px}.landing__mobile-menu{border:1px solid var(--border);width:44px;height:44px;color:var(--text-primary);background:0 0;border-radius:8px;justify-content:center;align-items:center;display:none}.landing__mobile-nav{display:none}.landing__hero{grid-template-columns:.95fr 1.05fr;align-items:center;gap:56px;padding-block:72px 64px;display:grid}.landing__hero-copy{min-width:0;padding-bottom:24px}.landing__hero-eyebrow{align-items:center;gap:9px;margin-bottom:24px;display:flex}.landing__hero-eyebrow>span{background:var(--accent);border-radius:50%;width:7px;height:7px}.landing__hero h1{letter-spacing:-.06em;text-wrap:balance;margin-bottom:24px;font-size:clamp(2.75rem,4.55vw,4rem);font-weight:600;line-height:1.13}.landing__hero h1>span{color:var(--accent);display:block}.landing__hero-description{color:var(--text-secondary);max-width:460px;font-size:1rem;line-height:1.85}.landing__hero-actions{flex-direction:column;align-items:flex-start;gap:15px;margin-top:32px;display:flex}.landing__preview-link{align-items:center;gap:10px;min-height:32px;font-size:.875rem;font-weight:500;display:inline-flex}.landing__preview-link:hover{text-underline-offset:4px;text-decoration:underline}.landing__action-note{color:var(--text-muted);margin-top:12px;font-size:.75rem}.landing__hero-trust{border-top:1px solid var(--border);max-width:430px;color:var(--text-muted);align-items:flex-start;gap:10px;margin-top:32px;padding-top:20px;display:flex}.landing__hero-trust svg{color:var(--accent);margin-top:1px}.landing__hero-trust p{max-width:320px;font-size:.75rem;line-height:1.7}.landing__supported{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:32px;padding-block:28px;display:flex}.landing__supported .landing__eyebrow{color:var(--text-secondary);letter-spacing:.03em}.landing__supported p{color:var(--text-muted);margin-top:4px;font-size:.8125rem}.landing__banks{letter-spacing:-.04em;align-items:center;gap:48px;font-size:1.25rem;font-weight:600;list-style:none;display:flex}.landing__banks li+li{border-left:1px solid var(--border);padding-left:48px}.landing__preview{width:100%;min-width:0}.preview__window{background:var(--bg-raised);border:1px solid var(--border);box-shadow:var(--landing-shadow);border-radius:16px;overflow:hidden}.preview__window-top{background:var(--bg-overlay);border-bottom:1px solid var(--border);min-height:41px;color:var(--text-muted);align-items:center;gap:14px;padding:10px 18px;font-size:.625rem;display:flex}.preview__window-dots{gap:5px;display:flex}.preview__window-dots i{background:var(--border-hover);border-radius:50%;width:6px;height:6px}.preview__sample-label{color:var(--accent);margin-left:auto;font-size:.625rem}.preview__body{padding:24px}.preview__heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.preview__eyebrow{letter-spacing:.045em;color:var(--text-muted);font-size:.625rem}.preview__heading h2{letter-spacing:-.035em;margin-top:3px;font-size:1.125rem;font-weight:600}.preview__month{color:var(--text-secondary);border:1px solid var(--border);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:6px 8px;font-size:.625rem;display:inline-flex}.preview__tabs{border-bottom:1px solid var(--border);gap:20px;margin-bottom:20px;display:flex}.preview__tabs button{color:var(--text-secondary);background:0 0;border:0;border-bottom:2px solid #0000;min-height:40px;padding:8px 2px 12px;font-size:.75rem;font-weight:500}.preview__tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.preview__tabs button:hover{color:var(--text-primary)}.preview__panel{min-height:330px}.preview__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.preview__metrics>div{border:1px solid var(--border);border-radius:8px;padding:14px}.preview__metrics>div:first-child{background:var(--landing-soft)}.preview__metrics span{color:var(--text-secondary);margin-bottom:6px;font-size:.6875rem;display:block}.preview__metrics strong{letter-spacing:-.055em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(1rem,1.65vw,1.375rem);font-weight:600}.preview__spending{margin-top:20px}.preview__spending h3{margin-bottom:14px;font-size:.8125rem;font-weight:500}.preview__chart-row{align-items:center;gap:24px;display:flex}.preview__donut{background:conic-gradient(var(--landing-chart-1) 0% 35.02%, var(--landing-chart-2) 35.02% 60.94%, var(--landing-chart-3) 60.94% 72.73%, var(--landing-chart-4) 72.73% 100%);border-radius:50%;flex-shrink:0;width:128px;height:128px;position:relative}.preview__donut:after{content:"";background:var(--bg-raised);border-radius:50%;position:absolute;inset:16px}.preview__donut>span{z-index:1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.preview__donut small{color:var(--text-muted);font-size:.5625rem}.preview__donut strong{letter-spacing:-.04em;font-size:1.125rem;font-weight:600}.preview__legend{flex-direction:column;flex:1;gap:13px;min-width:0;list-style:none;display:flex}.preview__legend li{color:var(--text-secondary);align-items:center;gap:7px;font-size:.6875rem;display:flex}.preview__legend strong{color:var(--text-primary);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.preview__legend-dot{border-radius:2px;flex-shrink:0;width:7px;height:7px}.preview__legend-dot--0{background:var(--landing-chart-1)}.preview__legend-dot--1{background:var(--landing-chart-2)}.preview__legend-dot--2{background:var(--landing-chart-3)}.preview__legend-dot--3{background:var(--landing-chart-4)}.preview__cashflow{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:20px;padding-top:14px;display:flex}.preview__cashflow>span{color:var(--text-secondary);font-size:.6875rem}.preview__cashflow strong{margin-left:auto;font-size:.8125rem;font-weight:600}.preview__cashflow small{color:var(--accent);font-size:.625rem}.preview__transfer{background:var(--accent-subtle);color:var(--accent);border-radius:6px;align-items:center;gap:8px;margin-top:14px;padding:11px 12px;font-size:.6875rem;display:flex}.preview__transfer>svg:last-of-type{margin-left:auto}.landing__preview figcaption{color:var(--text-muted);text-align:center;margin-top:14px;font-size:.625rem;line-height:1.65}.preview__budget-heading{align-items:center;gap:8px;display:flex}.preview__budget-heading svg{color:var(--accent)}.preview__budget-heading h3{font-size:.875rem;font-weight:600}.preview__budget-heading>span{color:var(--accent);margin-left:auto;font-size:.625rem}.preview__budget-total{color:var(--text-secondary);margin-top:10px;font-size:.6875rem;line-height:1.8}.preview__budget-total strong{color:var(--text-primary);font-weight:500}.preview__budget-rows{flex-direction:column;gap:17px;margin-top:20px;display:flex}.preview__budget-label,.preview__budget-caption{justify-content:space-between;gap:10px;display:flex}.preview__budget-label{margin-bottom:7px;font-size:.6875rem}.preview__budget-label strong{font-weight:500}.preview__progress{background:var(--bg-overlay);border-radius:4px;height:6px;overflow:hidden}.preview__progress>span{background:var(--landing-chart-1);border-radius:4px;height:100%;display:block}.preview__progress--warning>span{background:var(--landing-chart-2)}.preview__budget-caption{color:var(--text-muted);margin-top:5px;font-size:.5625rem}.preview__remaining{border-top:1px solid var(--border);justify-content:space-between;gap:12px;margin-block:18px;padding-top:14px;font-size:.75rem;display:flex}.preview__remaining>span{color:var(--text-secondary)}.preview__remaining strong{color:var(--accent);font-weight:600}.preview__subscriptions{color:var(--text-secondary);font-size:.625rem}.preview__subscriptions>div{flex-wrap:wrap;gap:7px;margin-top:7px;display:flex}.preview__subscriptions>div>span{background:var(--bg-overlay);border-radius:5px;padding:7px 9px;font-size:.5625rem}.preview__subscriptions strong{color:var(--text-primary);margin-left:4px;font-weight:500}.preview__assistant-heading{align-items:center;gap:12px;margin-bottom:20px;display:flex}.preview__assistant-heading>span{background:var(--accent-subtle);min-width:40px;height:40px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;display:flex}.preview__assistant-heading h3{font-size:.875rem;font-weight:600;line-height:1.5}.preview__assistant-heading p{color:var(--text-muted);margin-top:3px;font-size:.625rem}.preview__chat-question{color:var(--landing-on-accent);background:var(--accent);border-radius:12px 12px 3px;width:fit-content;max-width:88%;margin-left:auto;padding:14px;font-size:.75rem;line-height:1.7}.preview__chat-answer{background:var(--bg-overlay);border-radius:12px 12px 12px 3px;gap:10px;margin-top:14px;padding:14px;font-size:.75rem;line-height:1.8;display:flex}.preview__chat-answer svg{color:var(--accent);margin-top:2px}.preview__insight{border-left:2px solid var(--accent);margin-top:20px;padding-left:12px}.preview__insight p{color:var(--text-secondary);margin-top:4px;font-size:.75rem;line-height:1.8}.preview__assistant-note{color:var(--text-muted);margin-top:20px;font-size:.625rem;line-height:1.8}.landing__section{padding-block:88px}.landing__section-heading{max-width:660px;margin-bottom:36px}.landing__section-heading h2{letter-spacing:-.05em;text-wrap:balance;margin-top:14px;font-size:clamp(1.875rem,3vw,2.625rem);font-weight:500;line-height:1.25}.landing__section-heading p{color:var(--text-secondary);max-width:560px;margin-top:16px;font-size:.9375rem;line-height:1.8}.landing__feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing__feature-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:28px}.landing__feature-icon{width:44px;height:44px;color:var(--accent);background:var(--accent-subtle);border-radius:10px;justify-content:center;align-items:center;margin-bottom:20px;display:inline-flex}.landing__feature-card h3,.landing__steps h3,.landing__privacy h3{letter-spacing:-.025em;font-size:1rem;font-weight:600;line-height:1.5}.landing__feature-card p,.landing__steps p,.landing__privacy-grid p{color:var(--text-secondary);margin-top:10px;font-size:.8125rem;line-height:1.9}.landing__file-example{background:var(--landing-soft);border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;align-items:center;gap:8px;margin-top:18px;padding:9px 10px;font-size:.6875rem;display:flex}.landing__file-example svg{color:var(--accent)}.landing__file-example svg:last-child{margin-left:auto}.landing__workflow{background:var(--landing-soft);border-block:1px solid var(--border)}.landing__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:44px;list-style:none;display:grid}.landing__steps li{border-top:1px solid var(--border-hover);padding-top:22px}.landing__step-number{color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:24px;font-size:.875rem;font-weight:500;display:block}.landing__privacy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;display:grid}.landing__privacy-grid article>svg{color:var(--accent);margin-bottom:16px}.landing__faq{border-top:1px solid var(--border);grid-template-columns:.85fr 1.15fr;gap:64px;display:grid}.landing__faq-list{border-top:1px solid var(--border)}.landing__faq-list details{border-bottom:1px solid var(--border)}.landing__faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:18px 0;font-size:.875rem;font-weight:500;line-height:1.6;list-style:none;display:flex}.landing__faq-list summary::-webkit-details-marker{display:none}.landing__faq-list summary:hover{color:var(--accent)}.landing__faq-list summary svg{color:var(--text-muted);transition:transform .16s}.landing__faq-list details[open] summary svg{transform:rotate(180deg)}.landing__faq-list details>p{color:var(--text-secondary);padding-bottom:22px;padding-right:28px;font-size:.8125rem;line-height:1.9}.landing__closing{color:#f4f7ef;background:#245545;border-radius:16px;justify-content:space-between;align-items:center;gap:40px;margin-bottom:88px;padding:48px;display:flex}.landing__closing-copy{max-width:670px}.landing__closing .landing__eyebrow{color:#d1e4cf}.landing__closing h2{letter-spacing:-.04em;text-wrap:balance;margin-top:14px;font-size:clamp(1.875rem,2.8vw,2.375rem);font-weight:500;line-height:1.3}.landing__closing p{color:#d1e4cf;max-width:530px;margin-top:16px;font-size:.875rem;line-height:1.8}.landing__closing .btn{color:#244636;background:#f3f2df;border-color:#f3f2df;flex-shrink:0}.landing__closing .btn:hover{background:#e2e6cb;border-color:#e2e6cb}.landing__footer{border-top:1px solid var(--border);padding-top:40px}.landing__footer-top{justify-content:space-between;align-items:center;gap:32px;padding-bottom:32px;display:flex}.landing__footer-top p{color:var(--text-secondary);margin-top:12px;font-size:.75rem}.landing__footer-top nav{flex-wrap:wrap;gap:28px;display:flex}.landing__footer-top nav a{color:var(--text-secondary);align-items:center;min-height:44px;font-size:.8125rem;display:flex}.landing__footer-bottom{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;gap:20px;padding-block:24px;font-size:.6875rem;display:flex}.landing__footer-bottom a{align-items:center;gap:6px;min-height:32px;display:inline-flex}@media (width<=1100px){.landing__nav-links{gap:18px}.landing__navbar-container{gap:16px}.landing__hero{gap:32px}.landing__hero h1{font-size:3rem}.preview__body{padding:20px}.preview__chart-row{gap:16px}.preview__donut{width:108px;height:108px}.preview__legend{gap:12px}.landing__closing{flex-direction:column;align-items:flex-start}}@media (width<=960px){.landing__nav-links{display:none}.landing__mobile-menu{display:flex}.landing__mobile-nav:not([hidden]){background:var(--bg-raised);border-bottom:1px solid var(--border);box-shadow:var(--landing-shadow);flex-direction:column;gap:4px;padding:16px 48px 24px;display:flex;position:absolute;top:100%;left:0;right:0}.landing__mobile-nav a{padding:12px 0;font-size:.9375rem}.landing__mobile-nav .btn{align-self:flex-start;margin-top:12px}.landing__hero{grid-template-columns:1fr;gap:44px;padding-top:56px}.landing__hero-copy{max-width:630px;padding:0}.landing__hero h1{font-size:clamp(2.75rem,7vw,3.875rem)}.landing__hero-description{max-width:540px}.landing__hero-actions{flex-flow:wrap;align-items:center;gap:24px}.landing__hero-trust{max-width:540px}.landing__hero-trust p{max-width:none}.landing__preview{max-width:640px;margin-inline:auto}.preview__body{padding:24px}.preview__donut{width:128px;height:128px}.preview__metrics strong{font-size:1.375rem}.landing__feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing__steps,.landing__privacy-grid{gap:28px}.landing__faq{grid-template-columns:1fr;gap:0}.landing__banks{gap:24px}.landing__banks li+li{padding-left:24px}}@media (width<=640px){.landing__container,.landing__navbar-container{width:calc(100% - 40px)}.landing__navbar-container{gap:8px;min-height:68px}.landing__navbar-actions{gap:4px}.landing__brand{gap:8px;font-size:.9375rem}.landing__navbar .landing__brand>svg{width:30px;height:30px}.landing__navbar-actions>.btn{display:none}.landing__language{gap:0}.landing__language>svg:first-child{display:none}.landing__language select{width:80px;padding-left:4px;font-size:.75rem}.landing__theme-toggle,.landing__mobile-menu{width:36px;min-width:36px}.landing__mobile-nav:not([hidden]){padding-inline:20px}.landing__hero{gap:36px;padding-block:44px}.landing__hero-eyebrow{margin-bottom:20px;font-size:.6875rem}.landing__hero h1{letter-spacing:-.055em;margin-bottom:20px;font-size:clamp(2.25rem,9.6vw,3.125rem)}.landing__hero-description{font-size:.9375rem;line-height:1.85}.landing__hero-actions{flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px}.landing__hero-actions .btn{white-space:normal;text-align:left;justify-content:space-between;width:100%;padding:14px 18px;line-height:1.5}.landing__hero-trust{margin-top:24px;padding-top:16px}.landing__supported{flex-direction:column;align-items:flex-start;gap:22px;padding-block:24px}.landing__banks{gap:28px;font-size:1.125rem}.landing__banks li+li{padding-left:28px}.preview__body{padding:18px}.preview__window-top{gap:10px;padding-inline:14px}.preview__window-top>span:nth-child(2){display:none}.preview__heading{align-items:flex-start;margin-bottom:12px}.preview__heading h2{max-width:170px;font-size:1rem}.preview__month{padding:6px;font-size:.5625rem}.preview__month svg{display:none}.preview__tabs{gap:20px;margin-bottom:16px}.preview__tabs button{min-height:44px}.preview__metrics>div{padding:10px}.preview__metrics strong{letter-spacing:-.05em;font-size:1rem}.preview__chart-row{gap:14px}.preview__donut{width:96px;height:96px}.preview__donut:after{inset:12px}.preview__donut strong{font-size:.9375rem}.preview__legend li{gap:4px;font-size:.5625rem}.preview__legend-dot{width:6px;height:6px}.preview__cashflow small{margin-left:auto}.preview__budget-caption{flex-wrap:wrap;gap:4px}.preview__budget-heading{flex-wrap:wrap}.preview__budget-heading>span{margin-left:0}.landing__section{padding-block:56px}.landing__section-heading{margin-bottom:28px}.landing__section-heading h2{font-size:1.875rem}.landing__section-heading p{font-size:.875rem}.landing__feature-grid,.landing__steps,.landing__privacy-grid{grid-template-columns:1fr}.landing__feature-card{padding:24px}.landing__steps{gap:32px;margin-top:32px}.landing__step-number{margin-bottom:16px}.landing__privacy-grid{gap:28px}.landing__closing{gap:24px;margin-bottom:56px;padding:28px}.landing__closing .btn{white-space:normal;text-align:left;line-height:1.5}.landing__footer-top{flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:24px}.landing__footer-top nav{gap:24px}.landing__footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;padding-block:20px}}@media (width<=374px){.landing__navbar-container{width:calc(100% - 24px)}.landing__navbar .landing__brand{gap:6px;font-size:.8125rem}.landing__language select{width:76px}.preview__chart-row{flex-direction:column;align-items:stretch}.preview__donut{align-self:center}.preview__legend li{font-size:.6875rem}.preview__metrics{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html:has(.landing){scroll-behavior:auto}.landing *,.landing :before,.landing :after{transition:none}}.login-page{background-color:var(--bg-base);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex;position:relative;overflow:hidden}.login-page__topbar{padding:var(--space-4) var(--space-6);z-index:10;justify-content:space-between;align-items:center;display:flex;position:relative}.login-page__back-btn{align-items:center;gap:var(--space-2);color:var(--text-secondary);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease);background:0 0;border:none;font-size:.875rem;font-weight:500;display:flex}.login-page__back-btn:hover{color:var(--text-primary);background:var(--bg-overlay)}.login-page__container{padding:var(--space-6);z-index:10;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.login-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:440px;padding:var(--space-8);box-shadow:var(--surface-shadow);transition:border-color var(--duration-fast) var(--ease)}.login-card:hover{border-color:var(--border-hover)}.login-card__header{text-align:center;margin-bottom:var(--space-6)}.login-card__icon{border-radius:var(--radius-md);width:48px;height:48px;color:var(--on-accent);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:inline-flex}.login-card__title{letter-spacing:-.02em;margin-bottom:var(--space-2);font-size:1.5rem;font-weight:700}.login-card__subtitle{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.login-card__error{align-items:center;gap:var(--space-2);background:var(--negative-subtle);color:var(--negative);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-5);border:1px solid #ef44444d;font-size:.8125rem;font-weight:500;display:flex}.login-form{gap:var(--space-4);margin-bottom:var(--space-6);flex-direction:column;display:flex}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.field-error{color:var(--negative);font-size:.75rem}.form-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.input-wrap{align-items:center;display:flex;position:relative}.input-icon{left:var(--space-3);color:var(--text-muted);pointer-events:none;position:absolute}.form-input{background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;height:44px;padding:0 var(--space-4) 0 38px;color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease);font-size:.875rem}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}.form-input:disabled{opacity:.6;cursor:not-allowed}.input-toggle{right:var(--space-3);color:var(--text-muted);cursor:pointer;min-width:44px;min-height:44px;transition:color var(--duration-fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute}.input-toggle:hover{color:var(--text-primary)}.login-submit-btn{justify-content:center;align-items:center;gap:var(--space-2);background:var(--accent);width:100%;height:44px;color:var(--on-accent);border-radius:var(--radius-md);cursor:pointer;margin-top:var(--space-2);transition:background var(--duration-fast) var(--ease), opacity var(--duration-fast) var(--ease);border:none;font-size:.9375rem;font-weight:600;display:flex}.login-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.spin-icon{animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-card__notice{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--bg-overlay);border-radius:var(--radius-md);border:1px dashed var(--border);color:var(--text-muted);font-size:.75rem;line-height:1.5;display:flex}.notice-icon{color:var(--text-secondary);flex-shrink:0;margin-top:2px}.toast-region{right:var(--space-4);bottom:var(--space-4);z-index:500;gap:var(--space-2);flex-direction:column;width:min(360px,100vw - 32px);display:flex;position:fixed}.toast{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:var(--text-primary);background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.8125rem;display:flex;box-shadow:0 12px 30px #0000003d}.toast--success svg:first-child{color:var(--positive)}.toast--error svg:first-child{color:var(--negative)}.toast span{flex:1}.toast__close{color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:0;padding:4px;display:flex}.toast__close:hover{color:var(--text-primary);background:var(--bg-raised)}
