:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#08090c;--color-bg-elevated:#0e1016;--gradient-bg:radial-gradient(120% 80% at 12% -10%, #5b8def38 0%, transparent 60%), radial-gradient(100% 70% at 92% 0%, #c77dff29 0%, transparent 58%), radial-gradient(140% 100% at 50% 110%, #3ecf8e1a 0%, transparent 62%);--glass-1:#ffffff0e;--glass-2:#ffffff16;--glass-3:#ffffff20;--glass-border:#ffffff1f;--glass-border-strong:#fff3;--glass-highlight:#ffffff47;--glass-blur:24px;--glass-blur-strong:40px;--color-text:#f5f6f8;--color-text-secondary:#f5f6f8ad;--color-text-tertiary:#f5f6f870;--color-text-inverse:#08090c;--color-accent:#5b8def;--color-accent-soft:#5b8def2e;--color-accent-text:#a8c4ff;--color-positive:#3ecf8e;--color-positive-soft:#3ecf8e29;--color-negative:#ff6b6b;--color-negative-soft:#ff6b6b29;--color-warning:#ffd166;--color-warning-soft:#ffd16629;--color-forecast:#c77dff;--color-forecast-soft:#c77dff29;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:999px;--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;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #0000005c;--shadow-lg:0 20px 48px #0000007a;--shadow-accent:0 12px 32px #5b8def52;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-numeric:var(--font-sans);--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.5rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--duration-fast:.14s;--duration-base:.24s;--duration-slow:.42s;--content-max-width:720px;--tab-bar-height:56px;--touch-target:44px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--z-content:1;--z-sticky:10;--z-tabbar:40;--z-overlay:50;--z-sheet:60;--z-toast:70}@media (prefers-reduced-motion:reduce){:root{--duration-fast:1ms;--duration-base:1ms;--duration-slow:1ms}}@media (prefers-contrast:more){:root{--glass-1:#ffffff1a;--glass-2:#ffffff29;--glass-3:#ffffff38;--glass-border:#ffffff57;--color-text-secondary:#f5f6f8db;--color-text-tertiary:#f5f6f8b3}}*,:before,:after{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent;margin:0}html{-webkit-text-size-adjust:100%;height:100%}body{min-height:100%;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);background-image:var(--gradient-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior-y:none;background-attachment:fixed;line-height:1.45;overflow-x:hidden}#root{isolation:isolate;min-height:100dvh}h1,h2,h3,h4{letter-spacing:-.015em;font-weight:600;line-height:1.2}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{text-wrap:pretty}a{color:var(--color-accent-text);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}img,svg,video{max-width:100%;display:block}ul,ol{padding:0;list-style:none}:focus-visible{outline:2px solid var(--color-accent-text);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:calc(var(--safe-top) + var(--space-2));z-index:var(--z-toast);padding:var(--space-3) var(--space-5);color:var(--color-text);background:var(--color-bg-elevated);border:1px solid var(--glass-border-strong);border-radius:var(--radius-pill);transform:translate(-50%, calc(-100% - var(--space-8)));transition:transform var(--duration-base) var(--ease-out);position:absolute;left:50%}.skip-link:focus-visible{transform:translate(-50%)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.glass{background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);position:relative}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:color-mix(in srgb, var(--color-bg-elevated) 86%, white 14%)}}.glass:before{content:"";border-radius:inherit;background:linear-gradient(to bottom, var(--glass-highlight), transparent 42%);-webkit-mask-composite:xor;opacity:.55;pointer-events:none;padding-top:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass--raised{background:var(--glass-2);box-shadow:var(--shadow-lg)}.glass--flat{box-shadow:none}.card{padding:var(--space-5)}.card__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.card__title{font-size:var(--text-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-5);font-size:var(--text-base);color:var(--color-text);background:var(--glass-2);border:1px solid var(--glass-border);border-radius:var(--radius-pill);transition:transform var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);font-weight:600;display:inline-flex}.button:active{transform:scale(.97)}.button--primary{color:var(--color-text);background:linear-gradient(180deg, color-mix(in srgb, var(--color-accent) 92%, white 8%), var(--color-accent));box-shadow:var(--shadow-accent);border-color:#0000}.button--ghost{background:0 0;border-color:#0000}.button--danger{color:var(--color-negative);background:var(--color-negative-soft);border-color:color-mix(in srgb, var(--color-negative) 40%, transparent)}.button:disabled{opacity:.45;cursor:not-allowed}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-pill);background:var(--glass-2);color:var(--color-text-secondary);font-weight:600;display:inline-flex}.badge--forecast{background:var(--color-forecast-soft);color:var(--color-forecast)}.badge--booked{background:var(--color-positive-soft);color:var(--color-positive)}.amount{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.01em;font-weight:600}.amount--positive{color:var(--color-positive)}.amount--negative{color:var(--color-negative)}.amount--large{font-size:var(--text-3xl);letter-spacing:-.03em;font-weight:700}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:var(--z-sticky);padding:calc(var(--safe-top) + var(--space-4)) calc(var(--safe-right) + var(--space-4)) var(--space-3) calc(var(--safe-left) + var(--space-4));background:linear-gradient(#08090cd1,#08090c00);position:sticky;top:0}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.app-header__inner{justify-content:space-between;align-items:center;gap:var(--space-3);max-width:var(--content-max-width);margin:0 auto;display:flex}.app-header__eyebrow{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em}.app-main{width:100%;max-width:var(--content-max-width);padding:var(--space-2) calc(var(--safe-right) + var(--space-4))  calc(var(--tab-bar-height) + var(--safe-bottom) + var(--space-12)) calc(var(--safe-left) + var(--space-4));flex:1;margin:0 auto}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack--tight{gap:var(--space-2)}.grid-2{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.page-title{margin-bottom:var(--space-1);font-size:var(--text-2xl);letter-spacing:-.03em;font-weight:700}.page-subtitle{color:var(--color-text-secondary);font-size:var(--text-sm)}.empty-state{align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-5);text-align:center;color:var(--color-text-secondary);flex-direction:column;display:flex}.empty-state__icon{font-size:2.5rem;line-height:1}.empty-state__title{font-size:var(--text-md);color:var(--color-text);font-weight:600}@media (min-width:768px){:root{--content-max-width:960px}.grid-2{gap:var(--space-4)}}@media (min-width:1024px){:root{--content-max-width:1120px}}.app-header__lock{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-secondary);background:var(--glass-2);border:1px solid var(--glass-border);border-radius:var(--radius-pill);justify-content:center;align-items:center;display:flex}.app-header__lock:active{transform:scale(.96)}.tab-bar{z-index:var(--z-tabbar);padding:var(--space-2) calc(var(--safe-right) + var(--space-2)) calc(var(--safe-bottom) + var(--space-2)) calc(var(--safe-left) + var(--space-2));border-top:1px solid var(--glass-border);background:#08090cb8;position:fixed;bottom:0;left:0;right:0}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.tab-bar{-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(180%);backdrop-filter:blur(var(--glass-blur-strong)) saturate(180%)}}.tab-bar__inner{max-width:var(--content-max-width);grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;margin:0 auto;display:grid}.tab-bar__item{min-height:var(--touch-target);padding:var(--space-1) var(--space-1);color:var(--color-text-tertiary);border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.tab-bar__item--active{color:var(--color-accent-text)}.tab-bar__label{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:600;overflow:hidden}.tab-bar__add{width:54px;height:54px;color:var(--color-text);background:linear-gradient(180deg, color-mix(in srgb, var(--color-accent) 90%, white 10%), var(--color-accent));border-radius:var(--radius-pill);box-shadow:var(--shadow-accent);transition:transform var(--duration-fast) var(--ease-spring);justify-content:center;justify-self:center;align-items:center;margin-top:-18px;display:flex}.tab-bar__add:active{transform:scale(.92)}.sheet-root{z-index:var(--z-sheet);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{animation:sheet-fade var(--duration-base) var(--ease-out);background:#00000080;position:absolute;inset:0}.sheet{width:100%;max-width:var(--content-max-width);max-height:88dvh;padding:var(--space-2) calc(var(--safe-right) + var(--space-4)) calc(var(--safe-bottom) + var(--space-5)) calc(var(--safe-left) + var(--space-4));border:1px solid var(--glass-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-lg);animation:sheet-rise var(--duration-base) var(--ease-out);overscroll-behavior:contain;background:#14161ddb;border-bottom:none;position:relative;overflow-y:auto}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.sheet{-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(180%);backdrop-filter:blur(var(--glass-blur-strong)) saturate(180%)}}@media (min-width:768px){.sheet-root{align-items:center}.sheet{border-bottom:1px solid var(--glass-border);border-radius:var(--radius-xl);max-width:480px}}.sheet__grabber{width:36px;height:4px;margin:var(--space-2) auto var(--space-3);background:var(--glass-3);border-radius:var(--radius-pill)}.sheet__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.sheet__title{font-size:var(--text-lg);font-weight:700}.sheet__close{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-secondary);background:var(--glass-2);border-radius:var(--radius-pill);justify-content:center;align-items:center;display:flex}.sheet__body{gap:var(--space-2);flex-direction:column;display:flex}@keyframes sheet-rise{0%{opacity:0;transform:translateY(12%)}}@keyframes sheet-fade{0%{opacity:0}}.add-menu__item{align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-3) var(--space-4);text-align:left;background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);display:flex}.add-menu__item:active{background:var(--glass-2);transform:scale(.985)}.add-menu__icon{width:38px;height:38px;color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;display:flex}.add-menu__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.add-menu__label{font-weight:600}.add-menu__description{font-size:var(--text-sm);color:var(--color-text-tertiary)}.add-menu__chevron{color:var(--color-text-tertiary);flex:none}.app-splash{justify-content:center;align-items:center;gap:var(--space-3);min-height:100dvh;padding:var(--space-6);text-align:center;flex-direction:column;display:flex}.app-splash__mark{background:linear-gradient(145deg, var(--color-accent), var(--color-forecast));border-radius:var(--radius-lg);width:64px;height:64px;box-shadow:var(--shadow-accent);animation:app-splash-pulse 1.6s var(--ease-out) infinite}.app-splash__title{font-size:var(--text-lg);font-weight:700}.app-splash__hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}@keyframes app-splash-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.94)}}.update-prompt{right:calc(var(--safe-right) + var(--space-4));left:calc(var(--safe-left) + var(--space-4));bottom:calc(var(--tab-bar-height) + var(--safe-bottom) + var(--space-5));z-index:var(--z-toast);justify-content:space-between;align-items:center;gap:var(--space-3);width:auto;max-width:var(--content-max-width);padding:var(--space-4);animation:update-prompt-in var(--duration-base) var(--ease-out);flex-wrap:wrap;margin:0 auto;display:flex;position:fixed}.update-prompt__text{font-size:var(--text-sm);color:var(--color-text-secondary);flex:180px}.update-prompt__actions{gap:var(--space-2);display:flex}.update-prompt .button{min-height:var(--touch-target);padding:0 var(--space-4);font-size:var(--text-sm)}@keyframes update-prompt-in{0%{opacity:0;transform:translateY(8px)}}.confirm__message{color:var(--color-text-secondary)}.confirm__warning{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-warning);background:var(--color-warning-soft);border-radius:var(--radius-md)}.confirm__actions{gap:var(--space-3);margin-top:var(--space-5);display:flex}.confirm__actions .button{flex:1}.pin-pad{align-items:center;gap:var(--space-4);flex-direction:column;width:100%;max-width:320px;margin:0 auto;display:flex}.pin-pad__label{font-size:var(--text-md);color:var(--color-text-secondary);text-align:center}.pin-pad__dots{gap:var(--space-3);align-items:center;min-height:16px;display:flex}.pin-pad__dot{border:1.5px solid var(--glass-border-strong);width:14px;height:14px;transition:background var(--duration-fast) var(--ease-out);border-radius:50%}.pin-pad__dot--filled{background:var(--color-text);border-color:var(--color-text)}.pin-pad__error{font-size:var(--text-sm);color:var(--color-negative);text-align:center}.pin-pad__hint{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.pin-pad__keys{gap:var(--space-3);grid-template-columns:repeat(3,1fr);width:100%;display:grid}.pin-pad__key{min-height:60px;font-size:var(--text-lg);font-variant-numeric:tabular-nums;color:var(--color-text);background:var(--glass-2);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:transform var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;font-weight:500;display:flex}.pin-pad__key:active:not(:disabled){background:var(--glass-3);transform:scale(.96)}.pin-pad__key--action{background:0 0;border-color:#0000}.pin-pad__key--submit{font-size:var(--text-base);background:linear-gradient(180deg, color-mix(in srgb, var(--color-accent) 92%, white 8%), var(--color-accent));border-color:#0000;font-weight:600}.pin-pad__key:disabled{opacity:.4;cursor:not-allowed}.lock-screen{min-height:100dvh;padding:calc(var(--safe-top) + var(--space-6)) var(--space-4) calc(var(--safe-bottom) + var(--space-6));justify-content:center;align-items:center;display:flex}.lock-screen__panel{align-items:center;gap:var(--space-4);width:100%;max-width:380px;padding:var(--space-8) var(--space-5);border-radius:var(--radius-xl);flex-direction:column;display:flex}.lock-screen__brand{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);font-weight:600}.lock-screen__title{font-size:var(--text-xl)}.lock-screen__help{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-accent-text)}.lock-screen__recovery{gap:var(--space-3);padding:var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);text-align:left;background:var(--color-warning-soft);border:1px solid color-mix(in srgb, var(--color-warning) 35%, transparent);border-radius:var(--radius-md);flex-direction:column;display:flex}.privacy-cover{z-index:var(--z-toast);justify-content:center;align-items:center;gap:var(--space-3);background:var(--color-bg);flex-direction:column;display:flex;position:fixed;inset:0}.privacy-cover__mark{background:linear-gradient(160deg, var(--color-accent), var(--color-forecast));border-radius:var(--radius-lg);width:56px;height:56px}.privacy-cover__title{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);font-weight:600}.toast-stack{right:calc(var(--safe-right) + var(--space-4));left:calc(var(--safe-left) + var(--space-4));bottom:calc(var(--tab-bar-height) + var(--safe-bottom) + var(--space-5));z-index:var(--z-toast);gap:var(--space-2);max-width:var(--content-max-width);pointer-events:none;flex-direction:column;margin:0 auto;display:flex;position:fixed}.toast{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);pointer-events:auto;animation:toast-in var(--duration-base) var(--ease-out);display:flex}.toast__message{min-width:0}.toast--success .toast__message{color:var(--color-text)}.toast--error{border-color:color-mix(in srgb, var(--color-negative) 45%, transparent)}.toast--error .toast__message{color:var(--color-negative)}.toast__action{min-height:32px;padding:0 var(--space-3);font-size:var(--text-sm);color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:var(--radius-pill);flex:none;font-weight:600}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.db-error{justify-content:center;align-items:center;gap:var(--space-4);max-width:420px;min-height:100dvh;padding:var(--space-6);text-align:center;flex-direction:column;margin:0 auto;display:flex}.db-error__icon{width:64px;height:64px;color:var(--color-warning);background:var(--color-warning-soft);border-radius:var(--radius-lg);justify-content:center;align-items:center;display:flex}.db-error__title{font-size:var(--text-lg)}.db-error__message{color:var(--color-text-secondary)}.db-error__hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.db-error__code{font-size:var(--text-xs);color:var(--color-text-tertiary)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.field__input{width:100%;min-height:var(--touch-target);padding:var(--space-3) var(--space-4);color:var(--color-text);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out);font-size:16px}.field__input::placeholder{color:var(--color-text-tertiary)}.field__input:focus{border-color:var(--color-accent);outline:none}.field__input:focus-visible{outline:2px solid var(--color-accent-text);outline-offset:1px}.field__input--area{resize:vertical;min-height:84px;line-height:1.45}.field__input--select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23f5f6f8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1 1 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-10)}.field__input--picker{align-items:center;gap:var(--space-3);text-align:left;cursor:pointer;display:flex}.field__picker-icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;display:flex}.field__picker-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.field__picker-placeholder{color:var(--color-text-tertiary);flex:1}.field--invalid .field__input{border-color:var(--color-negative)}.field__error{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-negative);display:flex}.field__error:before{content:"!";width:16px;height:16px;color:var(--color-bg);background:var(--color-negative);border-radius:var(--radius-pill);flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.field__hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.amount-field{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);display:flex}.field--invalid .amount-field{border-color:var(--color-negative)}.amount-field:focus-within{border-color:var(--color-accent)}.amount-field__sign{font-size:var(--text-xl);font-weight:600}.amount-field__sign--income{color:var(--color-positive)}.amount-field__sign--expense{color:var(--color-negative)}.amount-field__input{min-width:0;padding:var(--space-2) 0;font-size:var(--text-2xl);letter-spacing:-.02em;background:0 0;border:none;border-radius:0;flex:1;font-weight:700}.amount-field__input:focus{outline:none}.amount-field__currency{font-size:var(--text-lg);color:var(--color-text-secondary);font-weight:600}.account-screen{justify-content:center;align-items:center;gap:var(--space-5,20px);min-height:100dvh;padding:max(var(--space-5,20px), env(safe-area-inset-top)) var(--space-4) max(var(--space-5,20px), env(safe-area-inset-bottom));flex-direction:column;display:flex}.account-screen__brand{align-items:center;gap:var(--space-3);display:flex}.account-screen__mark{background:linear-gradient(135deg, var(--color-accent), #c77dff);border-radius:11px;width:36px;height:36px}.account-screen__name{font-size:var(--text-lg,1.125rem);font-weight:600}.account-card{gap:var(--space-4);flex-direction:column;width:100%;max-width:440px;display:flex}.account-card__title{font-size:var(--text-xl,1.35rem);font-weight:650}.account-card__text,.account-card__hint{font-size:var(--text-sm);color:var(--color-text-secondary)}.account-card__hint{font-size:var(--text-xs,.8rem);color:var(--color-text-tertiary)}.account-card__notice,.account-card__warning{font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-3) var(--space-4);background:var(--glass-1);border-left:3px solid var(--color-warning);border-radius:var(--radius-sm)}.account-card__error{font-size:var(--text-sm);color:var(--color-negative)}.account-card__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.account-card__actions--stack{flex-direction:column;align-items:stretch}.account-card__links{gap:var(--space-2) var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.account-link{padding:var(--space-2) 0;color:var(--color-accent-text);font:inherit;font-size:var(--text-sm);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.account-check{align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);display:flex}.account-check input{flex:none;width:18px;height:18px;margin-top:3px}.recovery-key{letter-spacing:.04em;word-break:break-all;text-align:center;padding:var(--space-4);background:var(--glass-2);border:1px solid var(--glass-border-strong);border-radius:var(--radius-md);-webkit-user-select:all;user-select:all;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.05rem;line-height:1.7}.account-panel{gap:var(--space-4);flex-direction:column;display:flex}.account-panel__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.account-table{gap:var(--space-3);flex-direction:column;display:flex}.account-row{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.account-row__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.account-row__title{overflow-wrap:anywhere;font-weight:600}.account-badge{font-size:var(--text-xs,.75rem);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-text);padding:2px 8px}.account-badge--warn{background:var(--color-warning-soft);color:var(--color-warning)}.account-badge--bad{background:var(--color-negative-soft);color:var(--color-negative)}.account-token{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-xs,.8rem);word-break:break-all;padding:var(--space-3);background:var(--glass-2);border-radius:var(--radius-sm);-webkit-user-select:all;user-select:all}.sync-dot{background:var(--color-positive);border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.sync-dot--syncing{background:var(--color-accent)}.sync-dot--offline{background:var(--color-warning)}.sync-dot--error{background:var(--color-negative)}.data-card{gap:var(--space-4);flex-direction:column;display:flex}.data-card .card__header{margin-bottom:0}.data-card__lead{font-size:var(--text-sm);color:var(--color-text-secondary)}.data-card__hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.data-card__status{font-size:var(--text-sm);color:var(--color-text-secondary)}.data-card__status--warning{color:var(--color-warning)}.data-card__status--warning:before{content:"⚠︎ "}.data-card__error{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-negative);background:var(--color-negative-soft);border-radius:var(--radius-md)}.data-card__error ul{gap:var(--space-1);margin-top:var(--space-2);padding-left:var(--space-5);color:var(--color-text-secondary);flex-direction:column;list-style:outside;display:flex}.data-card__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.data-card__actions--split>*{flex:1 1 0}.data-card__range{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.data-page__privacy{padding:0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center}.restore{gap:var(--space-4);flex-direction:column;display:flex}.restore__source{font-size:var(--text-sm);color:var(--color-text-secondary);flex-direction:column;gap:2px;display:flex}.restore__file{color:var(--color-text);overflow-wrap:anywhere;font-weight:600}.restore__explanation{font-size:var(--text-sm);color:var(--color-text-secondary)}.restore__preview{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.restore__changes{gap:var(--space-1);flex-direction:column;display:flex}.restore__changes li{justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);display:flex}.restore__change{color:var(--color-text-secondary);text-align:right}.restore__safety{width:100%;margin-top:var(--space-3)}.restore .confirm__actions{margin-top:0}.bank-import__step{font-size:var(--text-sm);color:var(--color-text-tertiary);font-weight:600}.bank-import__footer{bottom:calc(var(--tab-bar-height) + var(--safe-bottom) + var(--space-3));z-index:var(--z-content);padding:var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:#08090cdb;position:sticky}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.bank-import__footer{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#08090c99}}.import-list{padding:var(--space-1) 0;flex-direction:column;display:flex}.import-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--glass-border);display:flex}.import-row:last-child{border-bottom:none}.import-row--off .import-row__title,.import-row--off .import-row__amount{opacity:.55}.import-row__toggle{width:var(--touch-target);height:var(--touch-target);margin:calc(var(--space-3) * -1) calc(var(--space-2) * -1) 0 calc(var(--space-3) * -1);cursor:pointer;flex:none;justify-content:center;align-items:center;display:flex}.import-row__check{width:22px;height:22px;accent-color:var(--color-accent);margin:0}.import-row__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.import-row__top{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.import-row__title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.import-row__amount{flex:none}.import-row__meta{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary);flex-wrap:wrap;display:flex}.import-row__duplicate{color:var(--color-warning);background:var(--color-warning-soft)}.import-row__error{font-size:var(--text-sm);color:var(--color-negative)}.import-row__reason{font-size:var(--text-sm);color:var(--color-text-tertiary)}.import-row__category{align-self:flex-start;align-items:center;gap:var(--space-2);max-width:100%;min-height:var(--touch-target);padding:0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;background:var(--glass-2);border:1px solid var(--glass-border);border-radius:var(--radius-pill);display:inline-flex;overflow:hidden}.import-row__amount.amount--transfer{color:var(--color-text-secondary)}.import-row__transfer{color:var(--color-accent);background:var(--color-accent-soft)}.import-row__merge{align-items:center;gap:var(--space-2);min-height:var(--touch-target);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.import-row__merge .import-row__check{flex:none}.import-row__controls{gap:var(--space-2);flex-wrap:wrap;display:flex}.import-row__kind{max-width:100%;min-height:var(--touch-target);padding:0 var(--space-3);font:inherit;font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--glass-2);border:1px solid var(--glass-border);border-radius:var(--radius-pill)}@media (min-width:768px){.data-card__actions--split>*{flex:0 auto}.data-card__actions--split{justify-content:flex-end}}.backup-reminder{gap:var(--space-3);border-color:color-mix(in srgb, var(--color-warning) 40%, transparent);flex-direction:column;display:flex}.backup-reminder__head{align-items:center;gap:var(--space-3);display:flex}.backup-reminder__icon{width:36px;height:36px;color:var(--color-warning);background:var(--color-warning-soft);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:flex}.backup-reminder__title{font-size:var(--text-md)}.backup-reminder__text{font-size:var(--text-sm);color:var(--color-text-secondary)}.backup-reminder__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.progress__track{background:var(--glass-2);border-radius:var(--radius-pill);height:8px;position:relative;overflow:hidden}.progress__fill{border-radius:var(--radius-pill);background:var(--color-accent);height:100%;transition:width var(--duration-base) var(--ease-out)}.progress--positive .progress__fill{background:var(--color-positive)}.progress--warning .progress__fill{background:var(--color-warning)}.progress--negative .progress__fill{background:var(--color-negative)}.progress__forecast{background-image:repeating-linear-gradient(135deg, var(--color-forecast) 0, var(--color-forecast) 2px, transparent 2px, transparent 5px);opacity:.7;height:100%;position:absolute;top:0}.book-event{gap:var(--space-4);flex-direction:column;display:flex}.book-event__summary{padding:var(--space-3);background:var(--glass-1);border-radius:var(--radius-md);flex-direction:column;gap:2px;display:flex}.book-event__title{font-weight:600}.book-event__meta,.book-event__note{font-size:var(--text-sm);color:var(--color-text-tertiary)}.book-event__actions{gap:var(--space-3);display:flex}.book-event__submit{flex:1}.upcoming{flex-direction:column;display:flex}.upcoming__empty{font-size:var(--text-sm);color:var(--color-text-tertiary)}.upcoming__item{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) 0;border-bottom:1px solid var(--glass-border);display:flex}.upcoming__item:last-child{border-bottom:none}.upcoming__icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.upcoming__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.upcoming__title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.upcoming__meta{gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary);display:flex}.upcoming__due{color:var(--color-warning);font-weight:600}.upcoming__date{font-variant-numeric:tabular-nums}.upcoming__right{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex:none;display:flex}.upcoming__book{min-height:28px;padding:0 var(--space-3);font-size:var(--text-xs);color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:var(--radius-pill);font-weight:600}.upcoming__book:disabled{opacity:.5}.net-worth-chart{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.net-worth-chart__svg{width:100%;height:120px;overflow:visible}.net-worth-chart__line{fill:none;stroke:var(--color-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.net-worth-chart__dot{fill:var(--color-accent)}.net-worth-chart__zero{stroke:var(--glass-border-strong);stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.net-worth-chart__axis{justify-content:space-between;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex}.net-worth-chart__axis li{text-align:center;flex:1}.net-worth-chart__summary,.net-worth-chart__hint{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.chart-tone--income{--chart-color:var(--color-positive)}.chart-tone--expense{--chart-color:var(--color-negative)}.chart-tone--accent{--chart-color:var(--color-accent)}.chart-legend{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.chart-legend__item{align-items:center;gap:var(--space-2);display:inline-flex}.chart-legend__swatch{background:var(--chart-color,var(--color-text-tertiary));border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.chart-legend__swatch--forecast,.bar-chart__segment--expected{background:repeating-linear-gradient(135deg, var(--chart-color,var(--color-text-secondary)) 0, var(--chart-color,var(--color-text-secondary)) 2px, transparent 2px, transparent 5px);box-shadow:inset 0 0 0 1px var(--chart-color,var(--color-text-secondary))}.chart-table summary{min-height:var(--touch-target);font-size:var(--text-sm);color:var(--color-accent-text);cursor:pointer;align-items:center;font-weight:600;display:flex}.chart-table__scroll{overflow-x:auto}.chart-table table{width:100%;font-size:var(--text-sm);border-collapse:collapse}.chart-table th,.chart-table td{padding:var(--space-2) var(--space-2);text-align:right;white-space:nowrap;border-bottom:1px solid var(--glass-border)}.chart-table th:first-child{text-align:left}.chart-table thead th{color:var(--color-text-secondary);font-weight:600}.chart-table tbody th{font-weight:500}.bar-chart{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.bar-chart__readout{gap:var(--space-2);padding:var(--space-3);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.bar-chart__picker-select{max-width:100%;min-height:32px;padding:0 var(--space-6) 0 0;color:var(--color-text);appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23f5f6f8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1 1 5 5 5-5'/%3E%3C/svg%3E") right 4px center no-repeat;border:none;font-weight:600}.bar-chart__picker-select option{color:var(--color-text);background:var(--color-bg-elevated)}.bar-chart__readout-values{gap:var(--space-1) var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.bar-chart__readout-value{align-items:baseline;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.bar-chart__readout-value strong{color:var(--color-text)}.bar-chart__readout-expected{color:var(--color-forecast)}.bar-chart__body{gap:var(--space-2);height:180px;display:flex}.bar-chart__axis{min-width:44px;font-size:var(--text-xs);color:var(--color-text-tertiary);flex-direction:column;flex:none;justify-content:space-between;align-items:flex-end;margin:-.5em 0;display:flex}.bar-chart__plot{border-bottom:1px solid var(--glass-border-strong);flex:1;align-items:stretch;min-width:0;display:flex;position:relative}.bar-chart__grid{border-top:1px dashed var(--glass-border);pointer-events:none;height:0;position:absolute;left:0;right:0}.bar-chart__column{border-radius:var(--radius-sm) var(--radius-sm) 0 0;min-width:0;transition:background var(--duration-fast) var(--ease-out);flex:1;justify-content:center;align-items:flex-end;gap:2px;padding:0 2px;display:flex;position:relative}.bar-chart__column--active{background:var(--glass-2)}.bar-chart__bar{flex-direction:column;justify-content:flex-end;gap:2px;width:100%;max-width:14px;height:100%;display:flex}.bar-chart__segment{background:var(--chart-color);width:100%;min-height:2px;display:block}.bar-chart__segment:first-child{border-radius:4px 4px 0 0}.bar-chart__column--future .bar-chart__segment:not(.bar-chart__segment--expected){opacity:.6}.bar-chart__labels{padding-left:calc(44px + var(--space-2));margin-top:calc(-1 * var(--space-2));display:flex}.bar-chart__label{min-width:0;font-size:var(--text-xs);color:var(--color-text-tertiary);text-align:center;white-space:nowrap;flex:1;padding:0 2px;overflow:hidden}.segmented{background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-pill);gap:2px;padding:3px;display:flex}.segmented__option{min-height:var(--touch-target);padding:0 var(--space-3);font-size:var(--text-base);color:var(--color-text-secondary);border-radius:var(--radius-pill);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);flex:1;font-weight:600}.segmented__option--active{color:var(--color-text);background:var(--glass-3)}.segmented--direction .segmented__option--active[data-value=income]{color:var(--color-positive);background:var(--color-positive-soft)}.segmented--direction .segmented__option--active[data-value=expense]{color:var(--color-negative);background:var(--color-negative-soft)}.status-list{gap:var(--space-1);flex-direction:column;display:flex}.status-list__row{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--glass-border);display:flex}.status-list__row:last-child{border-bottom:none}.status-list__row dt{color:var(--color-text-secondary);font-size:var(--text-sm)}.status-list__row dd{font-weight:600}.dashboard-link{min-height:var(--touch-target);padding:0 var(--space-2);margin:0 calc(var(--space-2) * -1);font-size:var(--text-sm);align-items:center;font-weight:600;display:inline-flex}.dashboard-storage-warning{padding:var(--space-4);font-size:var(--text-sm);color:var(--color-warning);border-color:color-mix(in srgb, var(--color-warning) 35%, transparent)}.dashboard-budgets{gap:var(--space-4);flex-direction:column;display:flex}.dashboard-budgets__item{gap:var(--space-2);flex-direction:column;display:flex}.dashboard-budgets__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);display:flex}.dashboard-budgets__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-secondary);overflow:hidden}.dashboard-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.widget{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.widget--wide{grid-column:span 2}.widget--compact{padding:var(--space-4);gap:var(--space-2)}@media (min-width:768px){.dashboard-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.widget--compact{align-self:stretch}}.widget__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.widget__titles{flex-direction:column;gap:2px;min-width:0;display:flex}.widget--compact .card__title{font-size:var(--text-xs)}.widget__subtitle{font-size:var(--text-xs);color:var(--color-text-tertiary)}.widget__link{flex:none}.widget__value{font-size:var(--text-xl);letter-spacing:-.02em;overflow-wrap:anywhere;font-weight:700}.widget__hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.widget--compact .widget__hint{font-size:var(--text-xs)}.widget__expected{align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--text-xs);color:color-mix(in srgb, var(--color-forecast) 80%, var(--color-text));flex-wrap:wrap;display:flex}.widget__warning{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-warning);background:var(--color-warning-soft);border-radius:var(--radius-sm)}.widget__empty{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-tertiary);flex-wrap:wrap;display:flex}.widget__row-meta{color:var(--color-text-tertiary)}.dashboard-customize{color:var(--color-text-secondary);align-self:center}.widget-categories{gap:var(--space-3);flex-direction:column;display:flex}.widget-categories__item{flex-direction:column;gap:6px;display:flex}.widget-categories__head{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);display:flex}.widget-categories__swatch{border-radius:3px;flex:none;align-self:center;width:10px;height:10px}.widget-categories__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.widget-categories__share{text-align:right;min-width:3.5em;color:var(--color-text-tertiary)}.widget-categories__track{background:var(--glass-2);border-radius:var(--radius-pill);height:6px;overflow:hidden}.widget-categories__fill{border-radius:inherit;height:100%;display:block}.widget-categories__expected{font-size:var(--text-xs);color:color-mix(in srgb, var(--color-forecast) 80%, var(--color-text))}.widget-transactions{flex-direction:column;display:flex}.widget-transactions__item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--glass-border);display:flex}.widget-transactions__item:last-child{border-bottom:none}.widget-transactions__body{flex-direction:column;min-width:0;display:flex}.widget-transactions__title,.widget-transactions__meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.widget-transactions__meta{font-size:var(--text-xs);color:var(--color-text-tertiary)}.widget-config__summary{justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-tertiary);display:flex}.widget-config{padding:var(--space-1) 0;flex-direction:column;list-style:none;display:flex}.widget-config--dragging{-webkit-user-select:none;user-select:none}.widget-config__item{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border-bottom:1px solid var(--glass-border);transition:transform var(--duration-base) var(--ease-out);background:0 0;display:flex;position:relative}.widget-config__item:last-child{border-bottom:none}.widget-config__item--dragged{z-index:2;background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-bottom-color:#0000;transition:none}.widget-config__handle{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-tertiary);border-radius:var(--radius-sm);cursor:grab;touch-action:none;flex:none;justify-content:center;align-items:center;display:flex}.widget-config__item--dragged .widget-config__handle{cursor:grabbing;color:var(--color-text)}.widget-config__handle:focus-visible,.widget-config__main:focus-visible{outline:2px solid var(--color-accent-text);outline-offset:-2px}.widget-config__main{min-width:0;min-height:56px;padding:var(--space-1) var(--space-2);text-align:left;border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;flex:1;justify-content:center;gap:2px;display:flex}.widget-config__title{font-weight:600}.widget-config__meta{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--color-text-tertiary);overflow:hidden}.widget-config__item--hidden .widget-config__title{color:var(--color-text-secondary)}.widget-config__reset{color:var(--color-text-secondary);align-self:center}.widget-options{gap:var(--space-5);flex-direction:column;display:flex}.widget-options__description,.widget-options__note{font-size:var(--text-sm);color:var(--color-text-secondary)}.widget-options__note{color:var(--color-text-tertiary)}.widget-options__group{padding:var(--space-1) var(--space-4);border-radius:var(--radius-md);flex-direction:column;display:flex}.widget-options__group>.switch+.switch{border-top:1px solid var(--glass-border)}.widget-options__position{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (prefers-reduced-motion:reduce){.widget-config__item{transition:none}}.widget-accounts{gap:var(--space-2);flex-direction:column;display:flex}.widget-accounts__row{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);display:flex}.widget-accounts__icon{flex:none}.widget-accounts__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.switch{justify-content:center;align-items:center;gap:var(--space-3);min-width:var(--touch-target);min-height:var(--touch-target);cursor:pointer;flex:none;display:inline-flex}.switch--labelled{text-align:left;justify-content:space-between;width:100%}.switch__label{min-width:0;font-size:var(--text-base);flex:1}.switch__track{background:var(--glass-3);border:1px solid var(--glass-border);border-radius:var(--radius-pill);width:50px;height:30px;transition:background var(--duration-fast) var(--ease-out);flex:none;display:block;position:relative}.switch__thumb{background:var(--color-text);width:24px;height:24px;box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-spring);border-radius:50%;position:absolute;top:2px;left:2px}.switch--on .switch__track{background:var(--color-positive);border-color:#0000}.switch--on .switch__thumb{transform:translate(20px)}.switch:focus-visible{outline:none}.switch:focus-visible .switch__track{outline:2px solid var(--color-accent-text);outline-offset:2px}.switch:disabled{opacity:.45;cursor:not-allowed}.category-picker__search{width:100%;min-height:var(--touch-target);margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:16px}.category-picker__search::placeholder{color:var(--color-text-tertiary)}.category-picker__list{gap:var(--space-1);overscroll-behavior:contain;flex-direction:column;max-height:52dvh;display:flex;overflow-y:auto}.category-picker__group{padding-bottom:var(--space-2);flex-direction:column;gap:2px;display:flex}.category-picker__empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-tertiary)}.category-option{align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);text-align:left;border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out);display:flex}.category-option:active{background:var(--glass-2)}.category-option--child{padding-left:var(--space-8);color:var(--color-text-secondary)}.category-option--active{background:var(--color-accent-soft)}.category-option__icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex}.category-option--child .category-option__icon{width:22px;height:22px;font-size:12px}.category-option__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.category-option__check{color:var(--color-accent-text);flex:none;font-weight:700}.file-button{display:inline-flex;position:relative}.file-button__input{opacity:0;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.file-button__label{cursor:pointer}.file-button__input:focus-visible+.file-button__label{outline:2px solid var(--color-accent-text);outline-offset:2px}.file-button__input:disabled+.file-button__label{opacity:.45;cursor:not-allowed}.receipts{gap:var(--space-2);flex-direction:column;display:flex}.receipts__header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.receipts__label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.receipts__header .button{min-height:38px;padding:0 var(--space-4);font-size:var(--text-sm)}.receipts__list{gap:var(--space-2);flex-direction:column;display:flex}.receipts__item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);display:flex}.receipts__preview{width:44px;height:44px;font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;font-weight:700;display:flex;overflow:hidden}.receipts__preview img{object-fit:cover;width:100%;height:100%}.receipts__text{flex-direction:column;flex:1;min-width:0;display:flex}.receipts__name{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.receipts__meta{font-size:var(--text-xs);color:var(--color-text-tertiary)}.receipts__actions{gap:var(--space-1);flex:none;display:flex}.receipts__action{min-height:var(--touch-target);padding:0 var(--space-2);font-size:var(--text-sm);color:var(--color-accent-text);align-items:center;font-weight:600;display:inline-flex}.receipts__action--danger{color:var(--color-negative)}.auto-add{align-self:flex-start}.auto-hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.auto-section{overflow:hidden}.auto-section__title{padding:var(--space-3) var(--space-4) var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.auto-section__footer{padding:0 var(--space-4) var(--space-3);font-size:var(--text-sm);color:var(--color-text-tertiary)}.auto-list{flex-direction:column;display:flex}.auto-row{border-bottom:1px solid var(--glass-border);flex-direction:column;display:flex}.auto-row:last-child{border-bottom:none}.auto-row--muted .auto-row__main{opacity:.66}.auto-row__main{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4) var(--space-2);text-align:left;display:flex}.auto-row__icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.auto-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.auto-row__title{font-weight:500}.auto-row__meta,.auto-row__detail{font-size:var(--text-sm);color:var(--color-text-tertiary);overflow-wrap:anywhere}.auto-row__right{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex:none;display:flex}.auto-row__actions{gap:var(--space-2);padding:0 var(--space-4) var(--space-3) calc(var(--space-4) + 36px + var(--space-3));flex-wrap:wrap;display:flex}.auto-row__action{min-height:34px;padding:0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-pill);font-weight:600}.auto-row__action--primary{color:var(--color-accent-text);background:var(--color-accent-soft);border-color:#0000}.auto-row__action--danger{color:var(--color-negative)}.auto-row__action[aria-pressed=true]{color:var(--color-accent-text);background:var(--color-accent-soft)}.tag-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag-chip{align-items:center;gap:var(--space-1);min-height:32px;padding:0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-pill);font-weight:600;display:inline-flex}.tag-chip--selected{color:var(--color-text);border-color:var(--glass-border-strong)}.tag-chip__dot{background:currentColor;border-radius:50%;width:8px;height:8px}.auto-summary{gap:var(--space-2);flex-direction:column;display:flex}.auto-summary__value{font-size:var(--text-2xl);font-weight:650}.auto-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.quality-row__severity{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;display:flex}.quality-row__severity--warning{color:var(--color-warning);background:var(--color-warning-soft)}.quality-row__severity--info{color:var(--color-accent-text);background:var(--color-accent-soft)}.quality-ok{align-items:center;gap:var(--space-3);padding:var(--space-4);display:flex}.quality-ok__icon{width:40px;height:40px;color:var(--color-positive);background:var(--color-positive-soft);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:flex}.duplicate-pair{gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--glass-border);flex-direction:column;display:flex}.duplicate-pair:last-child{border-bottom:none}.duplicate-pair__entries{gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:640px){.duplicate-pair__entries{grid-template-columns:repeat(2,minmax(0,1fr))}}.duplicate-entry{padding:var(--space-3);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex-direction:column;gap:2px;display:flex}.duplicate-entry__role{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);font-weight:600}.duplicate-entry__title{font-weight:500}.duplicate-entry__meta,.duplicate-pair__reasons{font-size:var(--text-sm);color:var(--color-text-tertiary)}.duplicate-pair__choices{gap:var(--space-2);flex-wrap:wrap;display:flex}.auto-form{gap:var(--space-4);flex-direction:column;display:flex}.auto-form__group{gap:var(--space-2);border:none;flex-direction:column;display:flex}.auto-form__legend{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.auto-form__error{font-size:var(--text-sm);color:var(--color-negative)}.auto-form__colors{gap:var(--space-2);flex-wrap:wrap;display:flex}.auto-form__color{border:2px solid #0000;border-radius:50%;width:32px;height:32px}.auto-form__color--active{border-color:var(--color-text)}.auto-form__color--none{background:var(--glass-2);border:1px dashed var(--glass-border-strong)}.auto-form__condition{gap:var(--space-2);padding:var(--space-3);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex-direction:column;display:flex}.auto-form__condition-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.auto-form__condition-title{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.auto-form__preview{padding:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--glass-1);border-radius:var(--radius-sm);overflow-wrap:anywhere}.transaction-form{gap:var(--space-4);flex-direction:column;display:flex}.transaction-form__toggle{min-height:38px;padding:0 var(--space-3);font-size:var(--text-sm);color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:var(--radius-pill);align-self:flex-start;font-weight:600}.transaction-form__actions{gap:var(--space-3);margin-top:var(--space-2);display:flex}.transaction-form__save{flex:1}.transaction-form__suggestion{font-size:var(--text-sm);color:var(--color-accent-text)}.transaction-form__tags{gap:var(--space-2);border:none;flex-direction:column;display:flex}.transaction-form__legend{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.transaction-list{gap:var(--space-5);flex-direction:column;display:flex}.transaction-list__group{gap:var(--space-2);flex-direction:column;display:flex}.transaction-list__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:0 var(--space-1);display:flex}.transaction-list__month{font-size:var(--text-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.transaction-list__sums{gap:var(--space-3);font-size:var(--text-sm);font-weight:600;display:flex}.transaction-list__items{overflow:hidden}.transaction-row{align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--glass-border);transition:background var(--duration-fast) var(--ease-out);display:flex}.transaction-list__items li:last-child .transaction-row{border-bottom:none}.transaction-row:active{background:var(--glass-2)}.transaction-row__icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.transaction-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.transaction-row__title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.transaction-row__meta{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);color:var(--color-text-tertiary);display:flex}.transaction-row__date{flex:none}.transaction-row__category{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.transaction-row__tag{font-size:var(--text-xs);flex:none}.transaction-row__amount{font-size:var(--text-md);white-space:nowrap;flex:none}.transaction-row__account{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-tertiary);flex:0 auto;overflow:hidden}.transaction-row__amount--transfer{color:var(--color-text-secondary)}.transaction-list__transfers{color:var(--color-text-tertiary)}.transaction-row__tags{gap:var(--space-2);flex-wrap:wrap;margin-top:2px;display:flex}.transaction-row__tag-name{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:600}.filters{gap:var(--space-5);flex-direction:column;display:flex}.filters__group{gap:var(--space-3);border:none;flex-direction:column;padding:0;display:flex}.filters__legend{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;padding:0;font-weight:600;display:flex}.filters__count{min-width:18px;height:18px;color:var(--color-text);background:var(--color-accent);border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:0 5px;font-size:11px;display:inline-flex}.filters__hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.filters__chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.filters__chip{min-height:36px;padding:0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-pill);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-weight:600}.filters__chip--active{color:var(--color-accent-text);background:var(--color-accent-soft);border-color:color-mix(in srgb, var(--color-accent) 45%, transparent)}.filters__range{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filters__categories{gap:var(--space-3);overscroll-behavior:contain;max-height:240px;padding:var(--space-3);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow-y:auto}.filters__category-group{gap:var(--space-1);flex-direction:column;display:flex}.filters__checkbox{align-items:center;gap:var(--space-3);min-height:var(--touch-target);cursor:pointer;display:flex}.filters__checkbox--child{padding-left:var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary)}.filters__checkbox input{width:20px;height:20px;accent-color:var(--color-accent);flex:none}.filters__actions{gap:var(--space-3);padding-top:var(--space-3);background:linear-gradient(#0000,#14161df5 30%);display:flex;position:sticky;bottom:0}.filters__done{flex:1}.transactions-toolbar{gap:var(--space-2);display:flex}.transactions-search{align-items:center;gap:var(--space-2);min-width:0;padding:0 var(--space-4);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-pill);flex:1;display:flex}.transactions-search:focus-within{border-color:var(--color-accent)}.transactions-search__icon{color:var(--color-text-tertiary);flex:none}.transactions-search__input{min-width:0;min-height:var(--touch-target);background:0 0;border:none;flex:1;font-size:16px}.transactions-search__input:focus{outline:none}.transactions-search__input::placeholder{color:var(--color-text-tertiary)}.transactions-filter-button{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-secondary);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-pill);flex:none;justify-content:center;align-items:center;display:flex;position:relative}.transactions-filter-button--active{color:var(--color-accent-text);background:var(--color-accent-soft);border-color:color-mix(in srgb, var(--color-accent) 45%, transparent)}.transactions-filter-button__badge{min-width:18px;height:18px;color:var(--color-text);background:var(--color-accent);border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px}.transactions-summary{gap:var(--space-2);padding:var(--space-4);flex-direction:column;display:flex}.transactions-summary__row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.transactions-summary__label{font-size:var(--text-sm);color:var(--color-text-secondary)}.transactions-summary__detail{gap:var(--space-4);font-size:var(--text-sm);font-weight:600;display:flex}.transactions-loading{padding:var(--space-8) 0;text-align:center;color:var(--color-text-tertiary)}.transactions-empty-actions{justify-content:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.transactions-proposals{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.account-form{gap:var(--space-4);flex-direction:column;display:flex}.account-form__group{gap:var(--space-3);border:none;flex-direction:column;padding:0;display:flex}.account-form__legend{font-size:var(--text-sm);color:var(--color-text-secondary);padding:0;font-weight:600}.account-form__icons{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(44px,1fr));display:grid}.account-form__icon{min-width:var(--touch-target);height:var(--touch-target);color:var(--color-text-secondary);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);justify-content:center;align-items:center;font-size:20px;display:flex}.account-form__icon--active{background:var(--color-accent-soft);border-color:var(--color-accent)}.account-form__colors{gap:var(--space-2);flex-wrap:wrap;display:flex}.account-form__color{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-pill);border:2px solid #0000}.account-form__color--none{background:var(--glass-2);border-color:var(--glass-border)}.account-form__color--active{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-bg) inset}.account-form__actions{gap:var(--space-3);margin-top:var(--space-2);display:flex}.account-form__save{flex:1}.account-delete{gap:var(--space-4);flex-direction:column;display:flex}.account-delete__message{font-size:var(--text-md);margin:0}.account-delete__hint{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.account-delete__warning{font-size:var(--text-sm);color:var(--color-warning);margin:0}.account-delete__counts{padding-left:var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;list-style:outside}.account-delete__actions{gap:var(--space-3);display:flex}.account-delete__confirm{flex:1}.accounts-add{align-self:flex-start}.accounts-hint{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.accounts-group{overflow:hidden}.accounts-group__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--glass-border);display:flex}.accounts-group__title{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;font-weight:600}.accounts-list{flex-direction:column;display:flex}.account-row{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-bottom:1px solid var(--glass-border);flex-wrap:wrap;display:flex}.account-row:last-child{border-bottom:none}.account-row--archived{opacity:.6}.account-row__icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.account-row__body{flex-direction:column;flex:140px;gap:1px;min-width:0;display:flex}.account-row__name{align-items:center;gap:var(--space-2);font-weight:500;display:flex}.account-row__meta{font-size:var(--text-xs);color:var(--color-text-tertiary)}.account-row__figures{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.account-row__count{font-size:var(--text-xs);color:var(--color-text-tertiary)}.account-row__actions{gap:var(--space-1);flex:none;display:flex}.account-row__action{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-secondary);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:flex}.account-row__action:disabled{opacity:.35}.account-row__action--danger{color:var(--color-negative)}.account-row__note{font-size:var(--text-xs);color:var(--color-text-tertiary);flex:1 0 100%;margin:0}.accounts-toggle{color:var(--color-text-secondary);font-size:var(--text-sm);min-height:var(--touch-target);align-self:center}.asset-form{gap:var(--space-4);flex-direction:column;display:flex}.asset-form__actions{gap:var(--space-3);margin-top:var(--space-2);display:flex}.asset-form__save{flex:1}.valuation{gap:var(--space-4);flex-direction:column;display:flex}.valuation__note{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.valuation__error{font-size:var(--text-sm);color:var(--color-negative);margin:0}.valuation__history{margin-top:var(--space-5)}.valuation__history-title{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.valuation__list{flex-direction:column;display:flex}.valuation__row{align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) 0;border-bottom:1px solid var(--glass-border);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.valuation__row:last-child{border-bottom:none}.valuation__date{color:var(--color-text-secondary);flex:none}.valuation__value{flex:1;font-weight:500}.valuation__unit{color:var(--color-text-tertiary);font-size:var(--text-xs)}.valuation__remove{width:var(--touch-target);height:var(--touch-target);color:var(--color-negative);font-size:var(--text-lg)}.assets-add{align-self:flex-start}.assets-hint{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.assets-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary)}.assets-allocation{gap:var(--space-3);flex-direction:column;display:flex}.assets-allocation__item{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);grid-template-columns:1fr auto auto;display:grid}.assets-allocation__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assets-allocation__share{color:var(--color-text-tertiary)}.assets-allocation__track{background:var(--glass-2);border-radius:var(--radius-pill);grid-column:1/-1;height:6px;overflow:hidden}.assets-allocation__fill{background:var(--color-accent);height:100%;display:block}.assets-list{gap:var(--space-4);flex-direction:column;display:flex}.asset-card--archived{opacity:.6}.asset-card__head{align-items:center;gap:var(--space-3);display:flex}.asset-card__icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.asset-card__titles{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.asset-card__name{align-items:center;gap:var(--space-2);font-weight:600;display:flex}.asset-card__meta{font-size:var(--text-xs);color:var(--color-text-tertiary)}.asset-card__value{font-size:var(--text-md);font-weight:600}.asset-card__figures{gap:var(--space-3);margin:var(--space-4) 0 0;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.asset-card__figures dt{font-size:var(--text-xs);color:var(--color-text-tertiary)}.asset-card__figures dd{font-size:var(--text-sm);margin:0}.asset-card__note{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.asset-card__actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.assets-toggle{color:var(--color-text-secondary);font-size:var(--text-sm);min-height:var(--touch-target);align-self:center}.donut{aspect-ratio:1;width:min(220px,70%);margin:0 auto;position:relative}.donut__svg{width:100%;height:100%}.donut__center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut__label{font-size:var(--text-xs);color:var(--color-text-tertiary)}.donut__value{font-size:var(--text-md);font-weight:700}.category-rows{flex-direction:column;display:flex}.category-row{gap:var(--space-1);padding:var(--space-2) 0;border-bottom:1px solid var(--glass-border);flex-direction:column;display:flex}.category-row__head{align-items:center;gap:var(--space-2);display:flex}.category-row__swatch{border-radius:3px;flex:none;width:10px;height:10px}.category-row__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.category-row__amount{font-weight:600}.category-row__track{gap:2px;height:8px;display:flex}.category-row__fill{border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.category-row__fill--expected{background:repeating-linear-gradient(135deg,currentColor 0 2px,#0000 2px 5px);border-radius:0 4px 4px 0;box-shadow:inset 0 0 0 1px}.category-row__meta{gap:var(--space-1) var(--space-3);padding-left:calc(10px + var(--space-2));font-size:var(--text-xs);color:var(--color-text-tertiary);flex-wrap:wrap;display:flex}.category-row__expected{color:var(--color-forecast)}.statistics-controls{gap:var(--space-3);flex-direction:column;display:flex}.statistics-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (min-width:900px){.statistics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stats-card{gap:var(--space-3);flex-direction:column;display:flex}.stats-card>.card__header{margin-bottom:0}.stats-empty{font-size:var(--text-sm);color:var(--color-text-tertiary)}.stats-footnote{font-size:var(--text-xs);color:var(--color-text-tertiary)}.stats-footnote--forecast{color:color-mix(in srgb, var(--color-forecast) 80%, var(--color-text))}.stats-subtitle{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.period-nav{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.period-nav__step{align-items:center;gap:var(--space-1);min-height:var(--touch-target);min-width:var(--touch-target);padding:0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);border-radius:var(--radius-pill);justify-self:start;display:inline-flex}.period-nav__step--next{justify-self:end}.period-nav__step-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.period-nav__current{text-align:center;flex-direction:column;align-items:center;display:flex}.period-nav__title{font-size:var(--text-md);font-weight:700}.period-nav__today{min-height:28px;font-size:var(--text-xs);color:var(--color-accent-text);font-weight:600}.stats-overview__largest{flex-direction:column;align-items:flex-end;display:flex}.stats-forecast{gap:var(--space-2);padding:var(--space-3);background:var(--color-forecast-soft);border:1px dashed color-mix(in srgb, var(--color-forecast) 45%, transparent);border-radius:var(--radius-md);flex-direction:column;display:flex}.stats-forecast__header{margin-bottom:0}.stats-forecast__title{font-size:var(--text-sm);font-weight:600}.stats-rate__headline{gap:var(--space-1);flex-direction:column;display:flex}.stats-rate__caption{font-size:var(--text-sm);color:var(--color-text-tertiary)}.rate-rows{gap:var(--space-1);flex-direction:column;display:flex}.rate-row{align-items:center;gap:var(--space-2);min-height:24px;font-size:var(--text-sm);grid-template-columns:3rem minmax(0,1fr) 7.5rem;display:grid}.rate-row__label{color:var(--color-text-secondary)}.rate-row__track{height:8px;position:relative}.rate-row__zero{background:var(--glass-border-strong);width:1px;position:absolute;top:-4px;bottom:-4px;left:50%}.rate-row__fill{min-width:2px;height:100%;position:absolute;top:0}.rate-row__fill--positive{background:var(--color-positive);border-radius:0 4px 4px 0}.rate-row__fill--negative{background:var(--color-negative);border-radius:4px 0 0 4px}.rate-row__value{text-align:right;white-space:nowrap}.rate-row__projected{color:var(--color-forecast)}.months-table{width:100%;font-size:var(--text-sm);border-collapse:collapse}.months-table th,.months-table td{padding:var(--space-2);text-align:right;white-space:nowrap;border-bottom:1px solid var(--glass-border)}.months-table th:first-child{text-align:left;padding-left:0}.months-table thead th{color:var(--color-text-secondary);font-weight:600}.months-table__link{min-height:32px;color:var(--color-accent-text);font-weight:600}.months-table__row--future td{color:var(--color-text-tertiary)}.months-table__expected{color:var(--color-forecast)}.stats-ranking{flex-direction:column;display:flex}.stats-ranking__item{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--glass-border);display:flex}.stats-ranking__item:last-child{border-bottom:none}.stats-ranking__body{flex-direction:column;min-width:0;display:flex}.stats-ranking__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stats-ranking__meta{font-size:var(--text-xs);color:var(--color-text-tertiary)}.stats-ranking__amount{font-weight:600}.split-bar{border-radius:var(--radius-pill);background:var(--glass-2);gap:2px;height:12px;display:flex;overflow:hidden}.split-bar__part{min-width:2px;height:100%;display:block}.split-bar__part--recurring,.split-bar__swatch--recurring{background:var(--color-accent)}.split-bar__part--variable,.split-bar__swatch--variable{background:repeating-linear-gradient(90deg, var(--color-text-secondary) 0, var(--color-text-secondary) 3px, color-mix(in srgb, var(--color-text-secondary) 55%, transparent) 3px, color-mix(in srgb, var(--color-text-secondary) 55%, transparent) 6px)}.goal-form{gap:var(--space-4);flex-direction:column;display:flex}.goal-form__group{gap:var(--space-3);border:none;flex-direction:column;padding:0;display:flex}.goal-form__legend{font-size:var(--text-sm);color:var(--color-text-secondary);padding:0;font-weight:600}.goal-form__icons{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(44px,1fr));display:grid}.goal-form__icon{min-width:var(--touch-target);height:var(--touch-target);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);justify-content:center;align-items:center;font-size:20px;display:flex}.goal-form__icon--active{background:var(--color-accent-soft);border-color:var(--color-accent)}.goal-form__colors{gap:var(--space-2);flex-wrap:wrap;display:flex}.goal-form__color{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-pill);border:2px solid #0000}.goal-form__color--none{background:var(--glass-2);border-color:var(--glass-border)}.goal-form__color--active{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-bg) inset}.goal-form__note{font-size:var(--text-sm);color:var(--color-text-tertiary)}.goal-form__actions{gap:var(--space-3);display:flex}.goal-form__save{flex:1}.goals-add{align-self:flex-start}.goals-count{font-size:var(--text-sm);color:var(--color-text-tertiary)}.goal-card{gap:var(--space-3);flex-direction:column;display:flex}.goal-card--reached{border-color:color-mix(in srgb, var(--color-positive) 40%, transparent)}.goal-card__head{align-items:center;gap:var(--space-3);text-align:left;width:100%;display:flex}.goal-card__icon{background:var(--glass-2);border-radius:var(--radius-md);flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:19px;display:flex}.goal-card__titles{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.goal-card__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.goal-card__date{font-size:var(--text-sm);color:var(--color-text-tertiary)}.goal-card__date--overdue{color:var(--color-warning)}.goal-card__figures{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.goal-card__figures dt{font-size:var(--text-xs);color:var(--color-text-tertiary)}.goal-card__figures dd{font-weight:600}.goal-card__rate{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:var(--radius-md)}.goal-card__description{font-size:var(--text-sm);color:var(--color-text-secondary)}.goal-card__actions{gap:var(--space-2);display:flex}.goal-card__action{min-height:36px;padding:0 var(--space-4);font-size:var(--text-sm)}.goal-adjust{gap:var(--space-4);flex-direction:column;display:flex}.goal-adjust__note{font-size:var(--text-sm);color:var(--color-text-tertiary)}.category-form{gap:var(--space-4);flex-direction:column;display:flex}.category-form__group{gap:var(--space-3);border:none;flex-direction:column;padding:0;display:flex}.category-form__legend{font-size:var(--text-sm);color:var(--color-text-secondary);padding:0;font-weight:600}.category-form__icons{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(44px,1fr));display:grid}.category-form__icon{min-width:var(--touch-target);height:var(--touch-target);color:var(--color-text-secondary);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);justify-content:center;align-items:center;font-size:20px;display:flex}.category-form__icon--active{background:var(--color-accent-soft);border-color:var(--color-accent)}.category-form__colors{gap:var(--space-2);flex-wrap:wrap;display:flex}.category-form__color{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-pill);border:2px solid #0000}.category-form__color--none{background:var(--glass-2);border-color:var(--glass-border)}.category-form__color--active{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-bg) inset}.category-delete{gap:var(--space-4);flex-direction:column;display:flex}.category-delete__message{color:var(--color-text-secondary)}.category-delete__warning{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-warning);background:var(--color-warning-soft);border-radius:var(--radius-md)}.category-delete__hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.category-delete__error{font-size:var(--text-sm);color:var(--color-negative)}.category-delete__actions{gap:var(--space-3);display:flex}.category-delete__confirm{flex:1}.categories-add{align-self:flex-start}.categories-group{overflow:hidden}.categories-list{flex-direction:column;display:flex}.category-row{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border-bottom:1px solid var(--glass-border);display:flex}.category-row:last-child{border-bottom:none}.category-row--child{padding-left:var(--space-8)}.category-row__icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.category-row--child .category-row__icon{width:24px;height:24px;font-size:12px}.category-row__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.category-row__name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.category-row__meta{font-size:var(--text-xs);color:var(--color-text-tertiary)}.category-row__actions{flex:none;align-items:center;gap:2px;display:flex}.category-row__action{width:34px;height:var(--touch-target);color:var(--color-text-secondary);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:15px;display:flex}.category-row__action:disabled{opacity:.25;cursor:not-allowed}.category-row__action--danger{color:var(--color-negative)}.categories-group__add{align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-target);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-accent-text);border-top:1px solid var(--glass-border);display:flex}.nav-list{overflow:hidden}.nav-list__item{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);color:var(--color-text);border-bottom:1px solid var(--glass-border);transition:background var(--duration-fast) var(--ease-out);display:flex}.nav-list li:last-child .nav-list__item{border-bottom:none}.nav-list__item:active{background:var(--glass-2)}.nav-list__icon{width:32px;height:32px;color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;display:flex}.nav-list__text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.nav-list__label{font-weight:500}.nav-list__hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.nav-list__chevron{color:var(--color-text-tertiary);flex:none}.default-account__lead{margin:0 0 var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5}.default-account__result{margin-top:var(--space-4)}.privacy-note__lead{font-size:var(--text-sm);color:var(--color-text-secondary)}.privacy-note__list{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.privacy-note__list li{padding-left:var(--space-5);font-size:var(--text-sm);color:var(--color-text-tertiary);position:relative}.privacy-note__list li:before{content:"";top:.5em;left:var(--space-2);background:var(--color-warning);border-radius:var(--radius-pill);width:5px;height:5px;position:absolute}.settings-status{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.settings-status--warning{color:var(--color-warning)}.settings-status--warning:before{content:"⚠︎ "}.security-card{gap:var(--space-4);flex-direction:column;display:flex}.security-card__lead{font-size:var(--text-sm);color:var(--color-text-secondary)}.security-card__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.security-card__note{font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-3) var(--space-4);background:var(--glass-1);border-left:3px solid var(--color-warning);border-radius:var(--radius-sm)}.matches{gap:var(--space-3);flex-direction:column;display:flex}.matches__tabs{gap:var(--space-2);display:flex;overflow-x:auto}.matches__tab{min-height:32px;padding:0 var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--glass-1);border-radius:var(--radius-pill);flex:none;font-weight:600}.matches__tab--active{color:var(--color-accent-text);background:var(--color-accent-soft)}.matches__bulk{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.matches__count{font-size:var(--text-sm);color:var(--color-text-tertiary)}.matches__list{flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.matches__item{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--glass-border);display:flex}.matches__item:last-child{border-bottom:none}.matches__label{align-items:center;gap:var(--space-3);cursor:pointer;flex:1;min-width:0;display:flex}.matches__check{width:20px;height:20px;accent-color:var(--color-accent);flex:none}.matches__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.matches__title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.matches__meta{font-size:var(--text-sm);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.matches__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.matches__actions .button{flex:auto}.recurring-form{gap:var(--space-4);flex-direction:column;display:flex}.recurring-form__row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);display:grid}.recurring-form__preview{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:var(--radius-md)}.recurring-form__split{gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.recurring-form__checkbox{align-items:center;gap:var(--space-3);min-height:var(--touch-target);font-size:var(--text-sm);cursor:pointer;display:flex}.recurring-form__checkbox input{width:20px;height:20px;accent-color:var(--color-accent);flex:none}.recurring-form__hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.recurring-form__toggle{min-height:38px;padding:0 var(--space-3);font-size:var(--text-sm);color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:var(--radius-pill);align-self:flex-start;font-weight:600}.recurring-form__actions{gap:var(--space-3);margin-top:var(--space-2);display:flex}.recurring-form__save{flex:1}.recurring-add{align-self:flex-start}.recurring-hint{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-tertiary)}.recurring-list-wrapper{overflow:hidden}.recurring-list{flex-direction:column;display:flex}.recurring-row{border-bottom:1px solid var(--glass-border);flex-direction:column;display:flex}.recurring-row:last-child{border-bottom:none}.recurring-row--ended .recurring-row__main,.recurring-row--paused .recurring-row__main{opacity:.66}.recurring-row__main{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4) var(--space-2);text-align:left;display:flex}.recurring-row__icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.recurring-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.recurring-row__title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.recurring-row__meta,.recurring-row__next{font-size:var(--text-sm);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recurring-row__right{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex:none;display:flex}.recurring-row__status--running{color:var(--color-positive);background:var(--color-positive-soft)}.recurring-row__status--paused{color:var(--color-warning);background:var(--color-warning-soft)}.recurring-row__status--ended{color:var(--color-text-tertiary)}.recurring-row__actions{gap:var(--space-2);padding:0 var(--space-4) var(--space-3) calc(var(--space-4) + 36px + var(--space-3));display:flex}.recurring-row__action{min-height:34px;padding:0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-pill);font-weight:600}.recurring-row__action--danger{color:var(--color-negative)}.forecast-horizons{gap:var(--space-2);flex-wrap:wrap;display:flex}.forecast-horizon{min-height:36px;padding:0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-pill);font-weight:600}.forecast-horizon--active{color:var(--color-forecast);background:var(--color-forecast-soft);border-color:color-mix(in srgb, var(--color-forecast) 45%, transparent)}.forecast-result{gap:var(--space-3);flex-direction:column;display:flex}.forecast-breakdown{flex-direction:column;display:flex}.forecast-breakdown__row{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--glass-border);display:flex}.forecast-breakdown__row:last-child{border-bottom:none}.forecast-breakdown__row dt{font-size:var(--text-sm);color:var(--color-text-secondary)}.forecast-breakdown__row dd{font-weight:600}.forecast-breakdown__row--total{margin-top:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--glass-border-strong);border-bottom:none}.forecast-breakdown__row--total dt{color:var(--color-text);font-weight:600}.forecast-note{font-size:var(--text-sm);color:var(--color-text-tertiary)}.forecast-low--negative{border-color:color-mix(in srgb, var(--color-negative) 45%, transparent)}.forecast-low__value{align-items:baseline;gap:var(--space-3);font-size:var(--text-xl);display:flex}.forecast-low__date{font-size:var(--text-sm);color:var(--color-text-tertiary)}.forecast-low__warning{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-negative);background:var(--color-negative-soft);border-radius:var(--radius-md)}.forecast-count,.forecast-empty{font-size:var(--text-sm);color:var(--color-text-tertiary)}.forecast-events{flex-direction:column;display:flex}.forecast-event{align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2) 0;border-bottom:1px solid var(--glass-border);display:flex}.forecast-event:last-child{border-bottom:none}.forecast-event__icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.forecast-event__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.forecast-event__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.forecast-event__date{font-size:var(--text-sm);color:var(--color-text-tertiary)}.budget-form{gap:var(--space-4);flex-direction:column;display:flex}.budget-form__hint{margin-top:calc(var(--space-3) * -1);font-size:var(--text-sm);color:var(--color-text-tertiary)}.budget-form__row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.budget-form__toggle{min-height:38px;padding:0 var(--space-3);font-size:var(--text-sm);color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:var(--radius-pill);align-self:flex-start;font-weight:600}.budget-form__actions{gap:var(--space-3);margin-top:var(--space-2);display:flex}.budget-form__save{flex:1}.budgets-add{align-self:flex-start}.budgets-note{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-tertiary)}.budget-card{gap:var(--space-3);flex-direction:column;display:flex}.budget-card--exceeded{border-color:color-mix(in srgb, var(--color-negative) 45%, transparent)}.budget-card--warning{border-color:color-mix(in srgb, var(--color-warning) 40%, transparent)}.budget-card__head{align-items:center;gap:var(--space-3);text-align:left;width:100%;display:flex}.budget-card__icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.budget-card__titles{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.budget-card__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.budget-card__period{font-size:var(--text-sm);color:var(--color-text-tertiary)}.budget-card__limit{flex:none;font-weight:600}.budget-card__figures{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.budget-card__figures dt{font-size:var(--text-xs);color:var(--color-text-tertiary)}.budget-card__figures dd{font-weight:600}.budget-card__forecast{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-forecast-soft);border-radius:var(--radius-md)}.budget-card__forecast--warn{color:var(--color-warning);background:var(--color-warning-soft)}.fixed-summary{gap:var(--space-3);flex-direction:column;display:flex}.fixed-note{font-size:var(--text-sm);color:var(--color-text-tertiary)}.fixed-list-wrapper{overflow:hidden}.fixed-list{flex-direction:column;display:flex}.fixed-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--glass-border);display:flex}.fixed-row__icon{background:var(--glass-2);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.fixed-row__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.fixed-row__title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.fixed-row__meta,.fixed-row__next{font-size:var(--text-sm);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fixed-row__right{flex-direction:column;flex:none;align-items:flex-end;display:flex}.fixed-row__unit,.fixed-row__yearly{font-size:var(--text-xs);color:var(--color-text-tertiary)}.fixed-total{padding:var(--space-4);background:var(--glass-2);justify-content:space-between;align-items:baseline;font-weight:600;display:flex}.planned-form{gap:var(--space-4);flex-direction:column;display:flex}.planned-form__note{font-size:var(--text-sm);color:var(--color-text-tertiary)}.planned-form__actions{gap:var(--space-3);display:flex}.planned-form__save{flex:1}.afford-intro{font-size:var(--text-sm);color:var(--color-text-secondary)}.afford-add{align-self:flex-start}.afford-list-wrapper{overflow:hidden}.afford-list{flex-direction:column;display:flex}.afford-row{border-bottom:1px solid var(--glass-border);flex-direction:column;display:flex}.afford-row:last-child{border-bottom:none}.afford-row__main{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4) var(--space-2);text-align:left;display:flex}.afford-row__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.afford-row__title{font-weight:500}.afford-row__meta{font-size:var(--text-sm);color:var(--color-text-tertiary)}.afford-row__book{min-height:34px;margin:0 var(--space-4) var(--space-3);padding:0 var(--space-3);font-size:var(--text-sm);color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:var(--radius-pill);align-self:flex-start;font-weight:600}.afford-verdict{gap:var(--space-2);flex-direction:column;display:flex}.afford-verdict__label{font-size:var(--text-xl);font-weight:700}.afford-verdict__detail{font-size:var(--text-sm);color:var(--color-text-secondary)}.afford-verdict--affordable{border-color:color-mix(in srgb, var(--color-positive) 40%, transparent)}.afford-verdict--affordable .afford-verdict__label{color:var(--color-positive)}.afford-verdict--tight{border-color:color-mix(in srgb, var(--color-warning) 40%, transparent)}.afford-verdict--tight .afford-verdict__label{color:var(--color-warning)}.afford-verdict--notAffordable{border-color:color-mix(in srgb, var(--color-negative) 45%, transparent)}.afford-verdict--notAffordable .afford-verdict__label{color:var(--color-negative)}.afford-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.afford-table th,.afford-table td{padding:var(--space-2) 0;text-align:right;border-bottom:1px solid var(--glass-border)}.afford-table thead th{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.afford-table th[scope=row],.afford-table thead th:first-child{text-align:left;color:var(--color-text-secondary);font-weight:500}.afford-table tbody tr:last-child th,.afford-table tbody tr:last-child td{border-bottom:none}.afford-note{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-tertiary)}
