@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f4ede1;--color-bg-accent:#eaeadb;--color-surface:#fbf8f2;--color-surface-2:#efe6d6;--color-field:#f7f1e6;--color-field-hover:#f2eadb;--color-glass:#fbf8f2db;--color-scrim:#1b2a2273;--color-text:#1b2a22;--color-muted:#4f5b54;--color-subtle:#5f6a63;--color-border:#ddd2be;--color-border-strong:#c9bca4;--color-primary:#1f4d3a;--color-primary-strong:#163a2b;--color-primary-soft:#dfe8da;--color-primary-contrast:#fbf8f2;--color-focus:#245e9e;--color-income:#2b6a3d;--color-expense:#a5382b;--color-critical:#a8281f;--color-critical-soft:#f5dfd8;--color-warning:#85500a;--color-warning-soft:#f4e5c8;--color-info:#2b5a85;--color-info-soft:#dde8ef;--color-positive:#2b6a3d;--color-positive-soft:#dceadb;--event-card:#2b5a85;--event-card-soft:#dde8ef;--event-obligation:#9a4a2a;--event-obligation-soft:#f3e1d8;--event-plan:#6b4a7d;--event-plan-soft:#ebe1f0;--event-income:#2b6a3d;--event-income-soft:#dceadb;--event-goal:#7a5c0e;--event-goal-soft:#f3ead0;--event-movement:#4f5b54;--event-movement-soft:#e6dfd0;--gradient-hero:linear-gradient(140deg, #163a2b 0%, #1f4d3a 55%, #2b5e45 100%);--hero-text:#fbf8f2;--hero-line:#fbf8f233;--hero-glow:#fbf8f229;--hero-chip:#fbf8f229;--theme-chrome:#1f4d3a;--shadow-sm:0 1px 2px #3c2d140f;--shadow-md:0 1px 2px #3c2d140d, 0 10px 28px -10px #3c2d142e;--shadow-lg:0 24px 56px -14px #281e0a52;--shadow-field:inset 0 1px 2px #3c2d140f;--ring:0 0 0 4px color-mix(in srgb, var(--color-primary) 22%, transparent)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#171612;--color-bg-accent:#1d1c17;--color-surface:#211f1a;--color-surface-2:#2b2923;--color-field:#26241f;--color-field-hover:#2d2b25;--color-glass:#211f1adb;--color-scrim:#0c0b0899;--color-text:#ece8de;--color-muted:#b6b0a3;--color-subtle:#a0998b;--color-border:#3a372f;--color-border-strong:#4d493f;--color-primary:#7db496;--color-primary-strong:#9cc9b2;--color-primary-soft:#263229;--color-primary-contrast:#10201a;--color-focus:#8fb6dc;--color-income:#8cc3a1;--color-expense:#e6a197;--color-critical:#e6a197;--color-critical-soft:#3b2622;--color-warning:#ddbb7e;--color-warning-soft:#372f1f;--color-info:#93b8dc;--color-info-soft:#232b35;--color-positive:#8cc3a1;--color-positive-soft:#24302a;--event-card:#93b8dc;--event-card-soft:#232b35;--event-obligation:#e0a382;--event-obligation-soft:#38271f;--event-plan:#c9a9da;--event-plan-soft:#302536;--event-income:#8cc3a1;--event-income-soft:#24302a;--event-goal:#d8bf8a;--event-goal-soft:#352f1f;--event-movement:#a0998b;--event-movement-soft:#2b2923;--gradient-hero:linear-gradient(140deg, #1e3a2d 0%, #234a3a 55%, #2c503f 100%);--hero-text:#ece8de;--hero-line:#ece8de2e;--hero-glow:#ece8de1a;--hero-chip:#ece8de24;--theme-chrome:#171612;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 1px 2px #00000040, 0 10px 28px -10px #00000073;--shadow-lg:0 24px 56px -14px #0009;--shadow-field:inset 0 1px 2px #00000040;--ring:0 0 0 4px color-mix(in srgb, var(--color-primary) 30%, transparent)}:root{--radius-sm:10px;--radius:16px;--radius-lg:22px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--topbar-height:60px;--bottom-nav-height:68px;--sidebar-width:292px;--touch-target:44px;--field-height:48px;--ease:cubic-bezier(.2, .8, .2, 1);font-feature-settings:"cv11", "ss01";color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(1200px 480px at 100% -10%, var(--color-bg-accent), transparent 60%), var(--color-bg);background-attachment:fixed;min-height:100dvh;margin:0}h1,h2,h3,p,dl,dd{margin:0}a{color:inherit}button{font:inherit;color:inherit}svg{flex-shrink:0}img{max-width:100%}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:6px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.skip-link{left:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm);z-index:100;position:absolute;top:-100px}.skip-link:focus{top:var(--space-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}.brand{align-items:center;gap:var(--space-2);color:var(--color-primary);text-decoration:none;display:inline-flex}.brand__name{letter-spacing:-.02em;color:var(--color-text);font-size:1.15rem;font-weight:750}.app-shell{min-height:100dvh}.topbar{z-index:20;align-items:center;gap:var(--space-2);height:calc(var(--topbar-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--space-4) 0 var(--space-2);background:var(--color-glass);-webkit-backdrop-filter:saturate(1.6)blur(16px);border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}.main{width:100%;max-width:1240px;padding:var(--space-5) var(--space-4);padding-bottom:calc(var(--bottom-nav-height) + var(--space-8) + env(safe-area-inset-bottom));margin:0 auto}@media (width>=768px){.main{padding-inline:var(--space-6)}}.sidebar{display:none}.bottom-nav{left:50%;bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:20;width:min(560px, calc(100% - var(--space-6)));height:var(--bottom-nav-height);padding:0 var(--space-1);background:var(--color-glass);-webkit-backdrop-filter:saturate(1.6)blur(18px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;transform:translate(-50%)}.bottom-nav__link{min-height:var(--touch-target);color:var(--color-subtle);transition:color .2s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.7rem;font-weight:550;text-decoration:none;display:flex}.bottom-nav__link .nav-icon{border-radius:var(--radius-pill);width:48px;height:28px;transition:background .2s var(--ease);place-items:center;display:grid}.bottom-nav__link.active{color:var(--color-primary-strong);font-weight:650}.bottom-nav__link.active .nav-icon{background:var(--color-primary-soft)}.bottom-nav__add{background:var(--gradient-hero);width:54px;height:54px;color:var(--hero-text);cursor:pointer;box-shadow:var(--shadow-md);transition:transform .2s var(--ease);border:none;border-radius:18px;justify-self:center;place-items:center;display:grid}.bottom-nav__add:active{transform:scale(.94)}.nav-icon{place-items:center;display:inline-grid;position:relative}.nav-badge{border-radius:var(--radius-pill);background:var(--color-critical);min-width:18px;height:18px;color:var(--color-surface);border:2px solid var(--color-surface);place-items:center;padding:0 5px;font-size:.66rem;font-weight:700;line-height:1;display:grid;position:absolute;top:2px;right:0}@media (width>=1100px){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.topbar,.bottom-nav{display:none}.main{padding:var(--space-8) 40px}.sidebar{gap:var(--space-4);height:100dvh;padding:var(--space-5) var(--space-4);background:var(--color-surface);border-right:1px solid var(--color-border);scrollbar-width:thin;flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{padding:0 var(--space-2)}.sidebar .menu{gap:var(--space-3)}.sidebar .menu-grid{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.sidebar .menu-tile{min-height:0;padding:var(--space-2) var(--space-3);box-shadow:none;background:0 0;border-color:#0000;flex-direction:row;align-items:center}.sidebar .menu-tile:hover{background:var(--color-surface-2)}.sidebar .menu-tile.active{background:var(--color-primary-soft)}.sidebar .menu-tile__hint{font-size:.75rem}.sidebar .profile-card{padding:var(--space-3);box-shadow:none}.sidebar .menu__footer{box-shadow:none;background:0 0;border:none;padding:0}.sidebar .menu__footer .list__row{min-height:44px}}.page{gap:var(--space-6);flex-direction:column;display:flex}.page-header{gap:var(--space-2);flex-direction:column;display:flex}.page-header__back{min-height:32px;color:var(--color-primary-strong);align-self:flex-start;align-items:center;gap:2px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.page-header__back:hover{text-decoration:underline}.page-header__row{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.page-header__title{letter-spacing:-.025em;font-size:clamp(1.5rem,1.2rem + 1.4vw,2rem);font-weight:750;line-height:1.15}.page-header__description{color:var(--color-muted);margin-top:var(--space-1);max-width:60ch}.page-header__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=479px){.page-header__actions,.page-header__actions>.button{width:100%}}.section{gap:var(--space-3);flex-direction:column;display:flex}.section__header{justify-content:space-between;align-items:flex-end;gap:var(--space-3);display:flex}.section__title{letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.section__hint{color:var(--color-muted);font-size:.9rem}.grid{gap:var(--space-4);display:grid}@media (width>=640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;display:block}.card>*+*{margin-top:var(--space-4)}.card--link{transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease)}.card--link:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border));transform:translateY(-2px)}.card__header{align-items:center;gap:var(--space-3);display:flex}.card__header>div{flex:1;min-width:0}.card__title{letter-spacing:-.01em;font-size:1rem;font-weight:650}.card__hint{color:var(--color-muted);font-size:.875rem}.card__chevron{color:var(--color-subtle)}.card__calm{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-positive-soft);color:var(--color-positive);font-weight:550;display:flex}.card .alert-card{box-shadow:none;background:var(--color-surface-2);border-color:#0000}.icon-chip{background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary-strong);border-radius:12px;flex-shrink:0;place-items:center;display:inline-grid}.icon-chip--sm{border-radius:10px;width:32px;height:32px}.hero{padding:var(--space-6);border-radius:var(--radius-lg);background:var(--gradient-hero);color:var(--hero-text);box-shadow:var(--shadow-md);isolation:isolate;position:relative;overflow:hidden}.hero:after{content:"";background:radial-gradient(circle, var(--hero-glow), transparent 70%);z-index:-1;border-radius:50%;width:360px;height:360px;position:absolute;inset:-40% -20% auto auto}.hero__eyebrow{letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:600}.hero__grid{gap:var(--space-5);margin-top:var(--space-5);display:grid}@media (width>=640px){.hero__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.hero__item+.hero__item{padding-top:var(--space-5);border-top:1px solid var(--hero-line)}@media (width>=640px){.hero__item+.hero__item{padding:0 0 0 var(--space-5);border-top:none;border-left:1px solid var(--hero-line)}}.hero__label{align-items:center;gap:var(--space-2);font-size:.875rem;display:flex}.hero__value{margin-top:var(--space-1);letter-spacing:-.03em;font-variant-numeric:tabular-nums;min-height:1.3em;font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);font-weight:750}.hero__hint{font-size:.8rem}.hero__note{margin-top:var(--space-5);font-size:.85rem}.skeleton{background:linear-gradient(90deg, var(--hero-chip), var(--hero-line), var(--hero-chip));vertical-align:middle;background-size:200% 100%;border-radius:8px;width:7ch;height:.9em;animation:1.6s linear infinite shimmer;display:inline-block}@keyframes shimmer{to{background-position:-200% 0}}.list{padding:var(--space-1);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin:0;list-style:none}.list__row{align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:inherit;font:inherit;text-align:left;background:0 0;border:none;text-decoration:none;display:flex}a.list__row,button.list__row{cursor:pointer}a.list__row:hover,button.list__row:hover:not(:disabled){background:var(--color-surface-2)}a.list__row.active{background:var(--color-primary-soft)}.list__row--muted{color:var(--color-muted)}.list__row--danger{color:var(--color-critical)}.list__row--danger .icon-chip{background:var(--color-critical-soft);color:var(--color-critical)}.list__text{flex-direction:column;flex:1;min-width:0;display:flex}.list__title{font-weight:600}.list__description{color:var(--color-muted);font-size:.85rem}.list__chevron{color:var(--color-subtle)}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.amount--in{color:var(--color-income)}.amount--out{color:var(--color-expense)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-4);font:inherit;white-space:nowrap;cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), transform .15s var(--ease);border:1px solid #0000;border-radius:14px;font-weight:600;text-decoration:none;display:inline-flex}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:var(--color-primary);color:var(--color-primary-contrast)}.button--primary:hover:not(:disabled){background:var(--color-primary-strong);color:var(--color-primary-contrast)}.button--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.button--secondary:hover:not(:disabled){background:var(--color-surface-2)}.button--soft{background:var(--color-primary-soft);color:var(--color-primary-strong)}.button--soft:hover{background:color-mix(in srgb, var(--color-primary-soft) 70%, var(--color-primary) 14%)}.button--ghost{color:var(--color-muted);background:0 0}.button--ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.button--danger{background:var(--color-critical);color:var(--color-surface)}.button--danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-critical) 85%, var(--color-text))}.button--sm{min-height:36px;padding:0 var(--space-3);border-radius:11px;font-size:.85rem}.button--block{width:100%}.button-row{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.icon-button{width:var(--touch-target);height:var(--touch-target);color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;flex-shrink:0;place-items:center;display:inline-grid;position:relative}.icon-button:hover:not(:disabled){background:var(--color-surface-2)}.icon-button:disabled{color:var(--color-subtle);opacity:.5;cursor:not-allowed}.icon-button--danger{color:var(--color-critical)}.icon-button--badge .nav-badge{top:4px;right:2px}.state{align-items:center;gap:var(--space-3);padding:48px var(--space-5);text-align:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.state__icon{background:var(--color-primary-soft);width:56px;height:56px;color:var(--color-primary-strong);border-radius:18px;place-items:center;display:grid}.state--error .state__icon{background:var(--color-critical-soft);color:var(--color-critical)}.state__title{font-size:1.05rem;font-weight:650}.state__description{color:var(--color-muted);max-width:42ch}.state__action{margin-top:var(--space-2)}.state--loading{padding:var(--space-8);color:var(--color-muted);border-style:solid;flex-direction:row;justify-content:center}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form{gap:var(--space-5);width:100%;max-width:520px;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.field{flex-direction:column;gap:6px;display:flex;position:relative}.field label{font-size:.9rem;font-weight:600}.field__hint a{color:var(--color-primary-strong);font-weight:600}.field__error{color:var(--color-expense);font-size:.85rem}.money-input{position:relative}.money-input>span{left:var(--space-4);color:var(--color-muted);pointer-events:none;font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.money-input .control{font-variant-numeric:tabular-nums;padding-left:34px}.check{align-items:flex-start;gap:var(--space-3);min-height:var(--touch-target);cursor:pointer;display:flex;position:relative}.check input{opacity:0;cursor:pointer;width:44px;height:26px;margin:0;position:absolute}.check__box{border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-subtle);width:44px;height:26px;transition:background .15s var(--ease), border-color .15s var(--ease);flex-shrink:0;margin-top:2px;position:relative}.check__box:after{content:"";background:var(--color-subtle);width:18px;height:18px;transition:transform .15s var(--ease), background .15s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.check input:checked+.check__box{background:var(--color-primary);border-color:var(--color-primary)}.check input:checked+.check__box:after{background:var(--color-primary-contrast);transform:translate(18px)}.check input:focus-visible+.check__box{outline:3px solid var(--color-focus);outline-offset:2px}.check__text{flex-direction:column;font-size:.95rem;font-weight:600;display:flex}.check__hint{color:var(--color-muted);font-size:.85rem;font-weight:400}.inline-form{align-items:flex-end;gap:var(--space-3);width:100%;display:flex}.inline-form .field{flex:1;min-width:0}.inline-form__button{flex-shrink:0;min-height:48px}.inline-form .field:has(.field__error)+.inline-form__button{margin-bottom:28px}.sheet{width:100%;max-width:520px;padding:var(--space-3) var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg);border:none;margin:auto auto 0}.sheet[open]{animation:sheet-in .28s var(--ease)}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}.sheet::backdrop,.drawer::backdrop,.modal::backdrop{background:var(--color-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet__handle{width:40px;height:4px;margin:0 auto var(--space-3);background:var(--color-border);border-radius:4px}.sheet__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.sheet__title{letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.sheet__grid{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.sheet__item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-surface-2);transition:border-color .15s var(--ease), background .15s var(--ease);border:1px solid #0000;font-weight:650;text-decoration:none;display:flex}.sheet__item:hover{border-color:color-mix(in srgb, var(--color-primary) 40%, transparent);background:var(--color-surface)}.sheet__hint{color:var(--color-muted);font-size:.8rem;font-weight:500;display:block}@media (width>=768px){.sheet{border-radius:var(--radius-lg);max-width:440px;padding-bottom:var(--space-6);margin:auto}.sheet__handle{display:none}}.modal{width:min(420px, calc(100% - var(--space-8)));padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg)}.modal__title{font-size:1.15rem;font-weight:700}.modal__text{margin-top:var(--space-2);color:var(--color-muted)}.modal__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);display:flex}.stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat{--tone:var(--color-primary-strong);--tone-soft:var(--color-primary-soft);align-items:center;gap:2px var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);grid-template-columns:auto 1fr;display:grid}.stat--critical{--tone:var(--color-critical);--tone-soft:var(--color-critical-soft)}.stat--positive{--tone:var(--color-positive);--tone-soft:var(--color-positive-soft)}.stat__icon{background:var(--tone-soft);width:38px;height:38px;color:var(--tone);border-radius:12px;grid-row:span 2;place-items:center;display:grid}.stat__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:750;line-height:1.1}.stat__label{color:var(--color-muted);font-size:.8rem}@media (width<=559px){.stat{padding:var(--space-3);grid-template-columns:1fr;justify-items:start}.stat__icon{width:32px;height:32px;margin-bottom:var(--space-1);grid-row:auto}.stat__value{font-size:1.25rem}.stat__label{font-size:.72rem}}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.segmented{scrollbar-width:none;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:14px;gap:2px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.segmented__item{min-height:38px;padding:0 var(--space-3);color:var(--color-muted);white-space:nowrap;cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease);background:0 0;border:none;border-radius:10px;align-items:center;gap:6px;font-size:.875rem;font-weight:600;display:inline-flex}.segmented__item[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.segmented__count{border-radius:var(--radius-pill);background:var(--color-border);font-variant-numeric:tabular-nums;min-width:20px;padding:0 6px;font-size:.72rem}@media (width<=559px){.segmented:not(.segmented--full){grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.segmented:not(.segmented--full) .segmented__item{flex-direction:column;justify-content:center;gap:2px;min-height:48px;padding:4px;font-size:.8rem}.segmented:not(.segmented--full) .segmented__count{background:0 0;padding:0;font-weight:700}}.segmented--full{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;width:100%;display:grid}.segmented--full .segmented__item{padding:0 var(--space-2);justify-content:center}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chips--center{justify-content:center}.chip{--tone:var(--color-primary-strong);--tone-soft:var(--color-primary-soft);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);cursor:pointer;align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:inline-flex}.chip:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-text)}.chip:disabled{opacity:.55;cursor:not-allowed}.chip[data-severity=critical]{--tone:var(--color-critical);--tone-soft:var(--color-critical-soft)}.chip[data-severity=warning]{--tone:var(--color-warning);--tone-soft:var(--color-warning-soft)}.chip[data-severity=info]{--tone:var(--color-info);--tone-soft:var(--color-info-soft)}.chip svg{color:var(--tone)}.chip[aria-pressed=true]{background:var(--tone-soft);border-color:var(--tone);color:var(--tone)}.banner{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-warning-soft);color:var(--color-warning);flex-wrap:wrap;font-size:.9rem;display:flex}.banner p{min-width:200px;color:var(--color-text);flex:1}.banner--critical{background:var(--color-critical-soft);color:var(--color-critical)}.alert-list{gap:var(--space-3);display:grid}.alert-card{--tone:var(--color-info);--tone-soft:var(--color-info-soft);gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:opacity .2s var(--ease), box-shadow .2s var(--ease);display:flex;position:relative;overflow:hidden}.alert-card:before{content:"";background:var(--tone);width:4px;position:absolute;inset:0 auto 0 0}.alert-card[data-severity=critical]{--tone:var(--color-critical);--tone-soft:var(--color-critical-soft)}.alert-card[data-severity=warning]{--tone:var(--color-warning);--tone-soft:var(--color-warning-soft)}.alert-card[data-status=read]:before{opacity:.35}.alert-card[data-status=resolved]{background:var(--color-surface-2);box-shadow:none}.alert-card[data-status=resolved]:before{background:var(--color-positive);opacity:.5}.alert-card[data-status=resolved] .alert-card__title{color:var(--color-muted);text-decoration:line-through;text-decoration-thickness:1px}.alert-card__icon{background:var(--tone-soft);width:42px;height:42px;color:var(--tone);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.alert-card[data-status=resolved] .alert-card__icon{background:var(--color-positive-soft);color:var(--color-positive)}.alert-card__body{flex:1;min-width:0}.alert-card__meta{align-items:center;gap:6px var(--space-2);color:var(--color-muted);flex-wrap:wrap;font-size:.75rem;display:flex}.alert-card__category{font-weight:600}.alert-card__time{margin-left:auto}.alert-card__title{align-items:baseline;gap:var(--space-2);letter-spacing:-.01em;margin-top:6px;font-size:.98rem;font-weight:650;line-height:1.35;display:flex}.alert-card__message{color:var(--color-muted);margin-top:2px;font-size:.9rem}.alert-card__actions{gap:var(--space-1) var(--space-2);margin-top:var(--space-3);margin-left:calc(var(--space-3) * -1);flex-wrap:wrap;display:flex}.alert-card__actions>.button--soft{margin-left:var(--space-3)}@media (width<=479px){.alert-card__icon{border-radius:11px;width:36px;height:36px}.alert-card__time{width:100%;margin-left:0}}.dot{background:var(--tone,var(--color-primary));border-radius:50%;flex-shrink:0;width:8px;height:8px;transform:translateY(-2px)}.badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:.72rem;font-weight:650;display:inline-flex}.badge--severity{background:var(--tone-soft);color:var(--tone)}.badge--ghost{background:var(--color-surface-2);color:var(--color-muted);border:1px solid var(--color-border)}.drawer{background:var(--color-bg);width:min(420px,100%);max-width:100%;height:100dvh;max-height:100dvh;color:var(--color-text);box-shadow:var(--shadow-lg);border:none;margin:0 auto 0 0;padding:0}.drawer[open]{animation:drawer-in .3s var(--ease)}@keyframes drawer-in{0%{opacity:0;transform:translate(-32px)}}.drawer__inner{gap:var(--space-4);padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) calc(var(--space-8) + env(safe-area-inset-bottom));flex-direction:column;display:flex}.drawer__header{justify-content:space-between;align-items:center;display:flex}.drawer__title{letter-spacing:-.02em;font-size:1.5rem;font-weight:750}.menu{gap:var(--space-4);flex-direction:column;display:flex}.menu__group{gap:var(--space-2);flex-direction:column;display:flex}.menu__title{padding:0 var(--space-1);letter-spacing:.08em;text-transform:uppercase;color:var(--color-subtle);font-size:.75rem;font-weight:700}.menu-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.menu-tile{align-items:flex-start;gap:var(--space-2);min-height:104px;padding:var(--space-3);border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:border-color .15s var(--ease), transform .15s var(--ease), background .15s var(--ease);flex-direction:column;text-decoration:none;display:flex}.menu>.menu-tile{flex-direction:row;align-items:center;min-height:0}.menu-tile:hover{border-color:color-mix(in srgb, var(--color-primary) 40%, var(--color-border))}.menu-tile:active{transform:scale(.98)}.menu-tile.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.menu-tile.active .icon-chip{background:var(--color-primary);color:var(--color-primary-contrast)}.menu-tile__text{flex-direction:column;min-width:0;display:flex}.menu-tile__label{align-items:center;gap:var(--space-2);font-weight:650;display:flex}.menu-tile__hint{color:var(--color-muted);font-size:.78rem;line-height:1.35}.menu__footer{margin-top:var(--space-1)}.profile-card{align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--gradient-hero);color:var(--hero-text);box-shadow:var(--shadow-md);text-decoration:none;display:flex}.profile-card .avatar{background:var(--hero-chip);color:var(--hero-text)}.profile-card__text{flex-direction:column;flex:1;min-width:0;display:flex}.profile-card__name,.profile-card__hint{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-card__name{font-size:1.05rem;font-weight:700}.profile-card__hint{font-size:.85rem}.avatar{object-fit:cover;background:var(--color-primary-soft);width:48px;height:48px;color:var(--color-primary-strong);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.avatar--sm{width:36px;height:36px;font-size:.85rem}.count-pill{border-radius:var(--radius-pill);background:var(--color-critical);min-width:22px;height:22px;color:var(--color-surface);place-items:center;padding:0 7px;font-size:.72rem;font-weight:700;display:inline-grid}.toaster{z-index:60;top:calc(var(--topbar-height) + env(safe-area-inset-top) + var(--space-2));left:var(--space-3);right:var(--space-3);pointer-events:none;position:fixed}@media (width>=768px){.toaster{left:auto;right:var(--space-6);width:400px}}@media (width>=1100px){.toaster{top:auto;bottom:var(--space-6)}}.toaster__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.toast{--tone:var(--color-info);--tone-soft:var(--color-info-soft);gap:var(--space-3);padding:var(--space-4) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--tone);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-in .35s var(--ease);display:flex;position:relative}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}}@media (width>=1100px){@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}}.toast[data-tone=critical]{--tone:var(--color-critical);--tone-soft:var(--color-critical-soft)}.toast[data-tone=warning]{--tone:var(--color-warning);--tone-soft:var(--color-warning-soft)}.toast[data-tone=positive]{--tone:var(--color-positive);--tone-soft:var(--color-positive-soft)}.toast__icon{background:var(--tone-soft);width:40px;height:40px;color:var(--tone);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.toast__body{flex:1;min-width:0}.toast__severity{letter-spacing:.06em;text-transform:uppercase;color:var(--tone);align-items:center;gap:4px;font-size:.72rem;font-weight:700;display:flex}.toast__title{padding-right:var(--space-6);font-weight:650;line-height:1.35}.toast__message{color:var(--color-muted);margin-top:2px;font-size:.875rem}.toast__actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.toast__close{width:36px;height:36px;color:var(--color-muted);position:absolute;top:4px;right:4px}.category-list{padding:0;overflow:hidden}.category-row{align-items:center;gap:var(--space-1) var(--space-2);min-height:60px;padding:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.category-row+.category-row{border-top:1px solid var(--color-border)}.category-row__name{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex:96px;min-width:0;font-weight:600;display:flex}.category-row[data-hidden=true] .category-row__name{color:var(--color-muted)}.category-row__actions{margin-left:auto;display:flex}.category-row__actions .icon-button{width:36px;height:36px}.category-row__edit{align-items:center;gap:var(--space-1);width:100%;display:flex}.category-row--editing{flex-direction:column;align-items:stretch}.welcome{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.welcome__card{align-items:center;gap:var(--space-4);width:100%;max-width:560px;padding:var(--space-6) var(--space-5);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.welcome__card .inline-form{text-align:left}.welcome__actions{gap:var(--space-2);width:100%;margin-top:var(--space-2);flex-direction:column;display:flex}html,.sidebar,.drawer,.modal,.segmented,.category-list{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--color-primary) 38%, var(--color-border)) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--color-primary) 38%, var(--color-border));border-radius:var(--radius-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--color-primary) 60%, var(--color-border));background-clip:content-box}.menu .segmented--full .segmented__item{min-height:54px;padding:var(--space-1);flex-direction:column;gap:2px;font-size:.78rem}.menu .segmented--full{overflow:visible}.list__row{flex-wrap:wrap}.list__text{flex:120px}.row-actions{margin-left:auto;display:inline-flex}.row-actions .icon-button{width:36px;height:36px}.section__more{align-self:flex-start}.section__header{flex-wrap:wrap}.usage{flex-direction:column;gap:6px;padding:4px 0;display:flex}.usage__bar{border-radius:var(--radius-pill);background:var(--color-surface-2);height:6px;display:block;overflow:hidden}.usage__bar>span{border-radius:inherit;background:var(--color-primary);height:100%;transition:width .3s var(--ease);display:block}.usage__bar[data-level=mid]>span{background:var(--color-warning)}.usage__bar[data-level=high]>span{background:var(--color-critical)}.usage__text{color:var(--color-muted);font-size:.8rem}.modal--form{width:min(480px, calc(100% - var(--space-8)));max-height:calc(100dvh - var(--space-8));overflow-y:auto}.modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin:calc(var(--space-2) * -1) calc(var(--space-2) * -1) var(--space-3) 0;display:flex}.modal__form{gap:var(--space-4);flex-direction:column;display:flex}.form-row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=559px){.modal--form{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:none;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));margin:auto auto 0}}.choice{border:none;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.choice legend{margin-bottom:6px;padding:0;font-size:.9rem;font-weight:600}.choice__options{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.choice__option{cursor:pointer;display:block;position:relative}.choice__option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice__box{height:100%;padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-muted);transition:border-color .15s var(--ease), background .15s var(--ease), color .15s var(--ease);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.choice__label{color:var(--color-text);font-weight:650}.choice__hint{font-size:.78rem}.choice__option:hover .choice__box{border-color:var(--color-primary)}.choice__option input:checked+.choice__box{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-strong);box-shadow:inset 0 0 0 1px var(--color-primary)}.choice__option input:focus-visible+.choice__box{outline:3px solid var(--color-focus);outline-offset:2px}.auth{grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.auth__aside{display:none}.auth__panel{padding:var(--space-4);place-items:center;display:grid}.auth__card{gap:var(--space-5);width:min(100%,440px);padding:var(--space-6) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.auth__brand{align-items:center;gap:var(--space-2);letter-spacing:-.02em;color:var(--color-primary);font-size:1.25rem;font-weight:750;display:inline-flex}.auth__brand>span:last-child{color:var(--color-text)}.auth__title{letter-spacing:-.025em;font-size:1.6rem;font-weight:750;line-height:1.2}.auth__subtitle{margin-top:var(--space-1);color:var(--color-muted)}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth__divider{align-items:center;gap:var(--space-3);color:var(--color-muted);font-size:.85rem;display:flex}.auth__divider:before,.auth__divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth__switch{text-align:center;color:var(--color-muted)}.google-button{justify-content:center;min-height:44px;display:flex}.password-input{position:relative}.password-input .control{padding-right:52px}.password-input .icon-button{height:44px;color:var(--color-muted);position:absolute;top:2px;right:2px}.link-button{color:var(--color-primary-strong);cursor:pointer;background:0 0;border:none;padding:0;font-weight:650;text-decoration:underline}.button--lg{min-height:52px;font-size:1rem}@media (width>=960px){.auth{grid-template-columns:minmax(420px,1.1fr) minmax(400px,1fr)}.auth__aside{justify-content:space-between;gap:var(--space-8);background:var(--gradient-hero);color:var(--hero-text);isolation:isolate;flex-direction:column;padding:56px clamp(40px,5vw,80px);display:flex;position:relative;overflow:hidden}.auth__aside:after{content:"";background:radial-gradient(circle, var(--hero-glow), transparent 70%);z-index:-1;border-radius:50%;width:640px;height:640px;position:absolute;inset:auto -20% -30% auto}.auth__aside .auth__brand,.auth__aside .auth__brand>span:last-child{color:var(--hero-text)}.auth__headline{letter-spacing:-.03em;font-size:clamp(2rem,1.2rem + 2vw,3rem);font-weight:750;line-height:1.1}.auth__headline em{opacity:.8;font-style:normal}.auth__lead{margin-top:var(--space-4);max-width:44ch;font-size:1.05rem}.auth__list{gap:var(--space-5);margin:var(--space-8) 0 0;padding:0;list-style:none;display:grid}.auth__list li{gap:var(--space-3);max-width:46ch;display:flex}.auth__list strong{font-weight:650;display:block}.auth__list li>span:last-child{font-size:.92rem}.auth__icon{background:var(--hero-chip);border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.auth__foot{align-items:center;gap:var(--space-2);font-size:.85rem;display:flex}.auth__panel{padding:var(--space-8)}.auth__card{box-shadow:none;background:0 0;border:none;padding:0}.auth__brand--compact{display:none}}.columns,.dashboard{gap:var(--space-6);display:grid}.dashboard__side{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.dashboard__main{min-width:0}@media (width>=1100px){.columns{align-items:start;gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);align-items:start}.dashboard>.hero{grid-column:1/-1}.alert-list--wide{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.form{max-width:560px}}@media (width>=1500px){.main{max-width:1400px}.dashboard{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}}.hero__month{align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--hero-line);flex-wrap:wrap;font-size:.9rem;display:flex}.hero__month>span:first-child{letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:650}.hero__month>span{align-items:center;gap:4px;display:inline-flex}.dashboard__main,.dashboard__side{gap:var(--space-4);flex-direction:column;display:flex}.card__empty{color:var(--color-muted)}.card .list{box-shadow:none;background:0 0;border:none;padding:0}.goal-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.goal-list__row{justify-content:space-between;gap:var(--space-3);margin-bottom:6px;font-weight:600;display:flex}.goal-list .usage__bar{height:8px}.goal-list .usage__bar>span{background:var(--color-primary)}.welcome__step{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:650}.added-list{gap:var(--space-2);text-align:left;width:100%;margin:0;padding:0;list-style:none;display:grid}.added-list li{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-positive-soft);color:var(--color-positive);font-weight:600;display:flex}.added-list li>span:nth-child(2){color:var(--color-text);flex:1}.tag{cursor:pointer;display:inline-flex;position:relative}.tag input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.tag span{min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-muted);align-items:center;font-size:.9rem;font-weight:600;display:inline-flex}.tag input:checked+span{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-strong)}.tag input:focus-visible+span{outline:3px solid var(--color-focus);outline-offset:2px}.item-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.item{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.item__top{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.item__title{flex-direction:column;flex:140px;min-width:0;display:flex}.item__name{overflow-wrap:anywhere;font-weight:650}.item__meta{color:var(--color-muted);font-size:.85rem}.item__figures{justify-content:space-between;gap:var(--space-2) var(--space-4);color:var(--color-muted);flex-wrap:wrap;font-size:.85rem;display:flex}.item__figures strong{color:var(--color-text);font-variant-numeric:tabular-nums}.item__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.item[data-tone=critical]{border-color:var(--color-critical)}.item-grid{gap:var(--space-4);display:grid}@media (width>=900px){.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1500px){.item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.stack{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.badge--danger{background:var(--color-critical-soft);color:var(--color-critical)}.badge--ok{background:var(--color-positive-soft);color:var(--color-positive)}.amount-stack{text-align:right;flex-direction:column;align-items:flex-end;min-width:0;display:flex}.amount-stack__label{color:var(--color-muted);font-size:.75rem;line-height:1.3}.pwa-status{gap:var(--space-2);margin-bottom:var(--space-4);display:grid}.banner--info{background:var(--color-info-soft);color:var(--color-info)}.install{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.install p{color:var(--color-muted)}.install--done{align-items:center;gap:var(--space-2);color:var(--color-positive);background:var(--color-positive-soft);border-color:#0000;flex-direction:row;font-weight:600}.install--done svg{flex-shrink:0}.install-banner{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-primary-soft);border-radius:var(--radius-lg);display:flex}.install-banner p{min-width:0;color:var(--color-text);flex:1;font-size:.9rem}.install-banner__icon{background:var(--color-surface);width:40px;height:40px;color:var(--color-primary-strong);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.steps{margin:0 0 var(--space-3);gap:var(--space-3);padding:0;list-style:none;display:grid}.steps li{align-items:flex-start;gap:var(--space-3);display:flex}.steps__icon{background:var(--color-primary-soft);width:36px;height:36px;color:var(--color-primary-strong);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.control{width:100%;min-height:var(--field-height);border:1px solid var(--color-border);background-color:var(--color-field);box-shadow:var(--shadow-field);color:var(--color-text);font:inherit;transition:border-color .15s var(--ease), background-color .15s var(--ease), box-shadow .15s var(--ease);border-radius:14px;padding:0 14px;font-size:1rem;line-height:1.4}.control::placeholder{color:var(--color-subtle)}.control:hover:not(:disabled):not(:focus):not([aria-expanded=true]){border-color:var(--color-border-strong);background-color:var(--color-field-hover)}.control:focus,.control:focus-visible,.control[aria-expanded=true]{border-color:var(--color-primary);background-color:var(--color-surface);box-shadow:var(--ring);outline:none}.control:disabled,.control[aria-disabled=true]{opacity:.55;cursor:not-allowed;background-color:var(--color-surface-2);box-shadow:none}.control[aria-invalid=true]{border-color:var(--color-critical);background-color:color-mix(in srgb, var(--color-critical-soft) 55%, var(--color-field))}.control[aria-invalid=true]:focus,.control[aria-invalid=true][aria-expanded=true]{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-critical) 24%, transparent)}.field__control[data-valid=true] .control:not(:focus):not([aria-expanded=true]):not([aria-invalid=true]){border-color:color-mix(in srgb, var(--color-positive) 70%, var(--color-border));background-color:color-mix(in srgb, var(--color-positive-soft) 40%, var(--color-field))}@media (pointer:coarse){.control{min-height:52px}}.field label{color:var(--color-text);font-size:.9rem;font-weight:650}.field__error{color:var(--color-critical);align-items:center;gap:6px;font-size:.85rem;font-weight:550;display:flex}.field__hint{color:var(--color-muted);font-size:.85rem}.select{position:relative}.select__native{font:inherit}.select:not([data-fine]) .select__native{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-muted) 50%), linear-gradient(135deg, var(--color-muted) 50%, transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:44px}.select[data-fine] .select__native,.date__native{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.select__button,.date__button{justify-content:space-between;align-items:center;gap:var(--space-3);text-align:left;cursor:pointer;display:flex}.select__value,.date__button>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select__button[data-empty] .select__value,.date__button[data-empty]>span{color:var(--color-subtle)}.select__button>svg{color:var(--color-muted);transition:transform .15s var(--ease)}.select__button[aria-expanded=true]>svg{transform:rotate(180deg)}.date__button{justify-content:flex-start}.date__button>svg{color:var(--color-muted)}.popover{z-index:80;top:var(--pop-top);bottom:var(--pop-bottom);left:var(--pop-left);width:var(--pop-width);max-height:var(--pop-max-height);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:pop-in .14s var(--ease);position:fixed;overflow-y:auto}.popover--content{width:min(340px,100vw - 24px)}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}}.popover__backdrop{display:none}.select__list{margin:0;padding:6px;list-style:none}.select__group,.select__group ul{margin:0;padding:0;list-style:none}.select__group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-subtle);padding:10px 10px 4px;font-size:.72rem;font-weight:700;display:block}.select__option{justify-content:space-between;align-items:center;gap:var(--space-3);cursor:pointer;border-radius:10px;min-height:44px;padding:8px 10px;display:flex}.select__option[data-active]{background:var(--color-surface-2)}.select__option[aria-selected=true]{background:var(--color-primary-soft);color:var(--color-primary-strong);font-weight:650}.select__option[data-placeholder]{color:var(--color-subtle)}.picker{gap:var(--space-2);padding:var(--space-3);flex-direction:column;display:flex}.picker__bar{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.picker__title{letter-spacing:-.01em;font-size:1rem;font-weight:700}.picker__foot{align-items:center;gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--color-border);display:flex}.picker__legend{color:var(--color-muted);align-items:center;gap:6px;margin-left:auto;font-size:.75rem;display:inline-flex}.picker__legend i{background:var(--event-obligation);border-radius:50%;width:6px;height:6px}@media (width<=559px){.popover--sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:auto;max-height:88dvh;padding-bottom:env(safe-area-inset-bottom);animation:sheet-in .25s var(--ease);inset:auto 0 0}.popover--sheet.popover--content{width:auto}.popover__backdrop{z-index:79;background:var(--color-scrim);display:block;position:fixed;inset:0}.picker{padding:var(--space-4)}.month-grid--compact .month-grid__day{min-height:46px}}.check__box{border-color:var(--color-border-strong);background:var(--color-field)}.choice__box{background:var(--color-field);border-color:var(--color-border);box-shadow:var(--shadow-field)}.choice__option:hover .choice__box{border-color:var(--color-border-strong);background:var(--color-field-hover)}.choice__option input:checked+.choice__box{box-shadow:inset 0 0 0 1px var(--color-primary)}.tag span{background:var(--color-field);box-shadow:var(--shadow-field)}.tag:hover span{border-color:var(--color-border-strong)}.tag input:checked+span{box-shadow:inset 0 0 0 1px var(--color-primary)}[data-group=card],[data-kind=card]{--ev:var(--event-card);--ev-soft:var(--event-card-soft)}[data-group=obligation],[data-kind=obligation]{--ev:var(--event-obligation);--ev-soft:var(--event-obligation-soft)}[data-group=plan],[data-kind=plan]{--ev:var(--event-plan);--ev-soft:var(--event-plan-soft)}[data-group=income],[data-kind=income]{--ev:var(--event-income);--ev-soft:var(--event-income-soft)}[data-group=goal],[data-kind=goal]{--ev:var(--event-goal);--ev-soft:var(--event-goal-soft)}[data-group=movement],[data-kind=movement]{--ev:var(--event-movement);--ev-soft:var(--event-movement-soft)}.month-grid__head{text-align:center;padding-bottom:var(--space-1);color:var(--color-subtle);grid-template-columns:repeat(7,minmax(0,1fr));font-size:.75rem;font-weight:700;display:grid}.month-grid__body{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.month-grid__day{min-width:0;min-height:40px;color:var(--color-text);font:inherit;cursor:pointer;transition:background-color .12s var(--ease);background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;display:flex;position:relative}.month-grid__day:hover{background:var(--color-surface-2)}.month-grid__day:focus-visible{outline:3px solid var(--color-focus);outline-offset:-1px}.month-grid__day[data-outside]{color:var(--color-subtle)}.month-grid__number{font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.9rem;display:grid}.month-grid__day[data-today] .month-grid__number{box-shadow:inset 0 0 0 2px var(--color-primary);font-weight:700}.month-grid__day[data-selected] .month-grid__number{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:none;font-weight:700}.month-grid__dots{justify-content:center;gap:3px;height:6px;display:flex}.month-grid__dots i,.agenda__dot{background:var(--ev);border-radius:50%;width:6px;height:6px}.month-grid--compact .month-grid__day{aspect-ratio:1}.month-grid--large .month-grid__day{border:1px solid var(--color-border);background:var(--color-surface);justify-content:flex-start;min-height:56px;padding:6px 2px}.month-grid--large .month-grid__day:hover{background:var(--color-surface-2);border-color:var(--color-border-strong)}.month-grid--large .month-grid__day[data-outside]{background:0 0;border-color:#0000}.month-grid--large .month-grid__day[data-selected]{border-color:var(--color-primary);background:var(--color-primary-soft)}.month-grid--large .month-grid__day[data-selected] .month-grid__number{background:var(--color-primary)}.month-grid__chips{display:none}@media (width>=900px){.month-grid--large .month-grid__day{align-items:stretch;gap:4px;min-height:96px;padding:6px}.month-grid--large .month-grid__number{align-self:flex-start}.month-grid--large .month-grid__dots{display:none}.month-grid__chips{text-align:left;flex-direction:column;gap:3px;min-width:0;display:flex}.month-grid__chip{background:var(--ev-soft);color:var(--ev);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:2px 6px;font-size:.72rem;font-weight:650;display:block;overflow:hidden}.month-grid__more{color:var(--color-muted);padding-left:4px;font-size:.72rem;font-weight:600}}.agenda{gap:var(--space-6);display:grid}.agenda__month{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.agenda__bar{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.agenda__title{letter-spacing:-.02em;font-size:1.25rem;font-weight:750}.agenda__nav{align-items:center;gap:var(--space-1);display:flex}.agenda__stats{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.agenda__stat{padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--ev-soft);color:var(--ev);flex-direction:column;gap:2px;display:flex}.agenda__stat span{font-size:.78rem;font-weight:600}.agenda__stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.25rem}.agenda__filters{gap:var(--space-2);margin-inline:calc(var(--space-4) * -1);padding:2px var(--space-4) var(--space-1);scrollbar-width:none;flex-wrap:nowrap;display:flex;overflow-x:auto}.agenda__filters::-webkit-scrollbar{display:none}.filter{flex-shrink:0}@media (width>=900px){.agenda__filters{flex-wrap:wrap;margin-inline:0;padding-inline:0;overflow:visible}}.filter{min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);cursor:pointer;align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:inline-flex}.filter svg{color:var(--ev)}.filter[aria-pressed=true]{background:var(--ev-soft);border-color:var(--ev);color:var(--ev)}.filter__count{text-align:center;font-variant-numeric:tabular-nums;opacity:.85;min-width:18px}.agenda__grid{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}@media (width>=1100px){.agenda{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);align-items:start}.agenda__panel{top:var(--space-6);position:sticky}}.day-panel{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.day-panel__title{letter-spacing:-.02em;font-size:1.15rem;font-weight:750}.day-panel__sub{color:var(--color-muted);font-size:.9rem}.day-panel__empty{align-items:center;gap:var(--space-3);padding:var(--space-5) 0;text-align:center;color:var(--color-muted);flex-direction:column;display:flex}.day-panel__group{gap:var(--space-2);flex-direction:column;display:flex}.day-panel__group-title{color:var(--ev);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.event-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.event{align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-3);border:1px solid var(--color-border);border-left:4px solid var(--ev);background:var(--color-surface);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .12s var(--ease), border-color .12s var(--ease);border-radius:14px;display:flex}.event:hover{background:var(--color-surface-2);border-color:var(--color-border-strong);border-left-color:var(--ev)}.event[data-status=overdue]{background:var(--color-critical-soft)}.event[data-status=done]{opacity:.85}.event__icon{background:var(--ev-soft);width:38px;height:38px;color:var(--ev);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.event__icon--lg{border-radius:14px;width:48px;height:48px}.event__text{flex-direction:column;flex:1;min-width:0;display:flex}.event__title{overflow-wrap:anywhere;font-weight:650}.event__meta{color:var(--color-muted);font-size:.8rem}.event__chevron{color:var(--color-subtle)}.detail{gap:var(--space-4);flex-direction:column;display:flex}.detail__head{align-items:center;gap:var(--space-3);display:flex}.detail__head>div{flex:1;min-width:0}.detail__title{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:1.1rem;font-weight:750}.detail__sub{color:var(--color-muted);font-size:.9rem}.detail__amount{font-variant-numeric:tabular-nums;color:var(--ev);font-size:1.25rem;font-weight:750}.detail__list{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-border);gap:1px;margin:0;display:grid;overflow:hidden}.detail__row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);display:flex}.detail__row dt{color:var(--color-muted);font-size:.9rem}.detail__row dd{text-align:right;margin:0;font-weight:600}.detail__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.detail__actions>.button{flex:180px}.net-bar{top:env(safe-area-inset-top);z-index:200;opacity:0;pointer-events:none;height:3px;transition:opacity .2s var(--ease);position:fixed;left:0;right:0;overflow:hidden}.net-bar[data-active]{opacity:1}.net-bar:before{content:"";border-radius:var(--radius-pill);background:linear-gradient(90deg, transparent, var(--color-primary), transparent);width:40%;animation:1.1s ease-in-out infinite net-slide;position:absolute;inset:0}@keyframes net-slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}.net-slow{top:calc(var(--topbar-height) + env(safe-area-inset-top) + var(--space-2));z-index:60;width:max-content;max-width:calc(100% - var(--space-6));padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);color:var(--color-muted);text-align:center;font-size:.85rem;position:fixed;left:50%;transform:translate(-50%)}.state--loading{gap:var(--space-3);background:0 0;border:none;width:100%;max-width:520px;margin-inline:auto;padding:0;display:grid}.page .state--loading{max-width:none}.ghost-row{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex}.ghost-row__text{flex:1;gap:8px;min-width:0;display:grid}.ghost{background:linear-gradient(90deg, var(--color-surface-2), var(--color-border), var(--color-surface-2));background-size:200% 100%;border-radius:8px;animation:1.4s linear infinite shimmer;display:block}.ghost--icon{border-radius:12px;flex-shrink:0;width:40px;height:40px}.ghost--line{width:70%;height:12px}.ghost--short{width:42%}.ghost--amount{flex-shrink:0;width:64px;height:18px}.state--compact{padding:var(--space-5) var(--space-4);gap:var(--space-2)}.state--compact .state__icon{border-radius:14px;width:44px;height:44px}.hero__error{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.hero__error p{flex:1;min-width:200px}.ptr{top:calc(var(--topbar-height) + env(safe-area-inset-top));z-index:15;pointer-events:none;transition:transform .15s var(--ease);margin-left:-18px;position:fixed;left:50%}.ptr__bubble{background:var(--color-surface);border:1px solid var(--color-border);width:36px;height:36px;box-shadow:var(--shadow-lg);color:var(--color-muted);border-radius:50%;place-items:center;display:grid}.ptr__bubble[data-ready]{color:var(--color-primary);border-color:var(--color-primary)}.ptr__bubble svg{transition:transform .15s var(--ease)}.ptr__spin{animation:.8s linear infinite spin}.howto{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.howto__summary{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;min-height:52px;font-weight:650;list-style:none;display:flex}.howto__summary::-webkit-details-marker{display:none}.howto__icon{background:var(--color-primary-soft);width:32px;height:32px;color:var(--color-primary-strong);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.howto__label{flex:1}.howto__chevron{color:var(--color-muted);transition:transform .2s var(--ease)}.howto[open] .howto__chevron{transform:rotate(180deg)}.howto__body{gap:var(--space-3);padding:0 var(--space-4) var(--space-4);display:grid}.howto__lead{font-size:1.02rem;font-weight:600}.howto__steps{gap:var(--space-2);color:var(--color-text);margin:0;padding-left:1.25rem;display:grid}.howto__steps li::marker{color:var(--color-primary);font-weight:700}.howto__note{padding:var(--space-3);border-radius:var(--radius);background:var(--color-surface-2);color:var(--color-muted);font-size:.9rem}.howto__note strong{color:var(--color-text)}.help-numbers{margin:0;padding:0;list-style:none}.help-number{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex}.help-number__icon{background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary-strong);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.help-number__text{color:var(--color-muted);margin-top:2px;font-size:.9rem;display:block}.help-start{gap:var(--space-2);margin:0;padding-left:1.4rem;display:grid}.help-start li::marker{color:var(--color-primary);font-weight:700}.help-topics{gap:var(--space-2);display:grid}.help-topics__title{margin-top:var(--space-2);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-size:.8rem;font-weight:700}.help-topics__title:first-child{margin-top:0}.reminder{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-info-soft);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.reminder__icon{background:var(--color-surface);width:40px;height:40px;color:var(--color-info);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.reminder__text{flex:1;min-width:200px;font-size:.9rem}.cycle{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.pay-status{--tone:var(--color-muted);--tone-soft:var(--color-surface-2);border-radius:var(--radius-pill);background:var(--tone-soft);color:var(--tone);white-space:nowrap;padding:2px 10px;font-size:.75rem;font-weight:700}.pay-status[data-tone=positive]{--tone:var(--color-positive);--tone-soft:var(--color-positive-soft)}.pay-status[data-tone=warning]{--tone:var(--color-warning);--tone-soft:var(--color-warning-soft)}.pay-status[data-tone=critical]{--tone:var(--color-critical);--tone-soft:var(--color-critical-soft)}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}button,a,summary,label,[role=button]{touch-action:manipulation}.bottom-nav,.topbar{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.drawer,.toast{touch-action:pan-y}.sheet__handle,.sheet__header,.modal__header{touch-action:none}.main{padding-left:max(var(--space-4), env(safe-area-inset-left));padding-right:max(var(--space-4), env(safe-area-inset-right))}@media (width>=768px){.main{padding-left:max(var(--space-6), env(safe-area-inset-left));padding-right:max(var(--space-6), env(safe-area-inset-right))}}@media (pointer:coarse){html{overscroll-behavior-y:contain}.row-actions .icon-button,.category-row__actions .icon-button{width:44px;height:44px}.button--sm,.chip{min-height:44px}.howto__summary{min-height:56px}}@media (hover:none){.button:active:not(:disabled),.icon-button:active:not(:disabled),.sheet__item:active{transform:scale(.97)}.list__row:active,a.list__row:active{background:var(--color-surface-2)}.button,.icon-button,.sheet__item{transition:transform .1s var(--ease), background .15s var(--ease)}}
