@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:light;--ink: #17201c;--ink-soft: #3d4842;--muted: #68736d;--muted-strong: #56655e;--bg: #f4f5f1;--paper: #fffefb;--surface-raised: #ffffff;--surface-subtle: #f7f8f5;--surface-sunken: #eef1ec;--surface-strong: #e6e9e3;--glass: rgba(255, 255, 255, .88);--glass-strong: rgba(255, 255, 252, .94);--line: #e1e5df;--line-strong: #dce1da;--line-stronger: #ccd3cb;--brand-surface: #112f26;--brand-ink: #112f26;--brand-solid: #112f26;--brand-solid-hover: #1a4638;--on-brand-solid: #ffffff;--on-brand-solid-fill: rgba(255, 255, 255, .2);--green-800: #1f5745;--green-700: #21684f;--green-600: #2f7d60;--green-100: #e2f0e8;--green-050: #eef4ef;--accent-lime: #d9ffaf;--accent-lime-soft: #e5ffc7;--on-lime: #112f26;--on-brand: #ffffff;--on-brand-muted: #b6c8c0;--on-brand-faint: #9fb1a9;--warn-bg: #fff8e8;--warn-bg-strong: #fff0cf;--warn-line: #e5c98f;--warn-line-soft: #f4dda8;--warn-ink: #765921;--warn-ink-strong: #4b3210;--danger-bg: #fff4f0;--danger-bg-strong: #fde4de;--danger-line: #e3a38e;--danger-ink: #a53e29;--danger-solid: #b94e35;--danger-solid-hover: #9d3f2a;--coral: #e97855;--shadow-rgb: 17, 47, 38;--focus-ring: rgba(47, 125, 96, .26);--backdrop: rgba(4, 20, 15, .45);color:var(--ink);background:var(--bg)}:root[data-theme=dark]{color-scheme:dark;--ink: #e6ede9;--ink-soft: #c6d2cc;--muted: #93a29b;--muted-strong: #a9b6b0;--bg: #0e1512;--paper: #161e1a;--surface-raised: #1b2420;--surface-subtle: #131b17;--surface-sunken: #1f2a25;--surface-strong: #26322c;--glass: rgba(27, 36, 32, .88);--glass-strong: rgba(27, 36, 32, .94);--line: #2a3630;--line-strong: #35443d;--line-stronger: #43544c;--brand-surface: #14251f;--brand-ink: #7fd0ab;--brand-solid: #4fae86;--brand-solid-hover: #5cbd93;--on-brand-solid: #08150f;--on-brand-solid-fill: rgba(0, 0, 0, .16);--green-800: #63bd97;--green-700: #55b189;--green-600: #4fae86;--green-100: #1c3a30;--green-050: #172b24;--accent-lime: #d9ffaf;--accent-lime-soft: #cdf5a0;--on-lime: #112f26;--warn-bg: #322813;--warn-bg-strong: #3b2f16;--warn-line: #6d5a26;--warn-line-soft: #55461c;--warn-ink: #f0d9a2;--warn-ink-strong: #f7e8c4;--danger-bg: #33201b;--danger-bg-strong: #2b1b17;--danger-line: #7a4634;--danger-ink: #f2b4a0;--danger-solid: #c2573c;--danger-solid-hover: #a84730;--coral: #e08a6c;--shadow-rgb: 0, 0, 0;--focus-ring: rgba(126, 208, 170, .38);--backdrop: rgba(0, 0, 0, .62)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ink: #e6ede9;--ink-soft: #c6d2cc;--muted: #93a29b;--muted-strong: #a9b6b0;--bg: #0e1512;--paper: #161e1a;--surface-raised: #1b2420;--surface-subtle: #131b17;--surface-sunken: #1f2a25;--surface-strong: #26322c;--glass: rgba(27, 36, 32, .88);--glass-strong: rgba(27, 36, 32, .94);--line: #2a3630;--line-strong: #35443d;--line-stronger: #43544c;--brand-surface: #14251f;--brand-ink: #7fd0ab;--brand-solid: #4fae86;--brand-solid-hover: #5cbd93;--on-brand-solid: #08150f;--on-brand-solid-fill: rgba(0, 0, 0, .16);--green-800: #63bd97;--green-700: #55b189;--green-600: #4fae86;--green-100: #1c3a30;--green-050: #172b24;--accent-lime: #d9ffaf;--accent-lime-soft: #cdf5a0;--on-lime: #112f26;--warn-bg: #322813;--warn-bg-strong: #3b2f16;--warn-line: #6d5a26;--warn-line-soft: #55461c;--warn-ink: #f0d9a2;--warn-ink-strong: #f7e8c4;--danger-bg: #33201b;--danger-bg-strong: #2b1b17;--danger-line: #7a4634;--danger-ink: #f2b4a0;--danger-solid: #c2573c;--danger-solid-hover: #a84730;--coral: #e08a6c;--shadow-rgb: 0, 0, 0;--focus-ring: rgba(126, 208, 170, .38);--backdrop: rgba(0, 0, 0, .62)}}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45;transform:none!important}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pwa-status{position:fixed;right:1rem;bottom:1rem;z-index:1200;display:flex;align-items:center;gap:.75rem;max-width:min(32rem,calc(100vw - 2rem));padding:.85rem 1rem;border:1px solid var(--line-strong);border-radius:1rem;background:var(--surface-raised);color:var(--brand-ink);box-shadow:0 18px 50px rgba(var(--shadow-rgb),.18);pointer-events:none}.pwa-status button{pointer-events:auto}@media(max-width:600px){.pwa-status{left:1rem;right:1rem;align-items:flex-start;flex-wrap:wrap}}.app-shell{display:grid;grid-template-columns:254px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px 20px;background:var(--brand-surface);color:var(--on-brand);display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center;padding:0 7px 28px}.brand__mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--accent-lime);color:var(--on-lime);font:800 13px Manrope,sans-serif;letter-spacing:-.04em}.brand strong{display:block;font:800 18px Manrope,sans-serif;letter-spacing:-.04em}.brand span{color:var(--on-brand-muted);font-size:10.5px}.space-picker{padding:15px;margin-bottom:18px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:#ffffff0e}.space-picker label{display:block;color:var(--on-brand-faint);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.select-shell{display:grid;grid-template-columns:20px 1fr 16px;gap:7px;align-items:center}.select-shell select{width:100%;color:var(--on-brand);background:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:700}.select-shell select option{color:var(--ink)}.manage-spaces-button{width:100%;min-height:34px;margin-top:10px;padding:0;border:0;display:flex;align-items:center;gap:7px;background:transparent;color:var(--on-brand-muted);font-size:11px;font-weight:700;text-align:left}.manage-spaces-button:hover{color:var(--on-brand)}.manage-spaces-button svg{width:15px}.manage-spaces-button span{min-width:20px;height:20px;margin-left:auto;border-radius:10px;display:grid;place-items:center;background:#ffffff1a;font-size:9px}.primary-nav{display:grid;gap:5px}.nav-item{position:relative;border:0;background:transparent;color:var(--on-brand-muted);border-radius:11px;min-height:44px;padding:0 12px;display:flex;align-items:center;gap:12px;text-align:left;font-size:14px;font-weight:600}.nav-item:hover{color:var(--on-brand);background:#ffffff0f}.nav-item--active,.nav-item--active:hover{color:var(--on-lime);background:var(--accent-lime)}.nav-count{margin-left:auto;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:rgba(var(--shadow-rgb),.12);font-size:11px}.sidebar__footer{margin-top:auto;display:grid;gap:3px}.profile-chip{display:grid;grid-template-columns:35px minmax(0,1fr) 34px;align-items:center;gap:11px;margin-top:12px;padding:14px 5px 4px 10px;border-top:1px solid rgba(255,255,255,.1)}.profile-chip>span{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--warn-line);color:var(--warn-ink-strong);font-size:12px;font-weight:800}.profile-chip>div{min-width:0}.profile-chip strong,.profile-chip small{display:block}.profile-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.profile-chip small{margin-top:2px;color:var(--on-brand-faint);font-size:11px}.profile-chip__logout{width:34px;height:34px;border:0;border-radius:9px;display:grid;place-items:center;background:transparent;color:var(--on-brand-muted)}.profile-chip__logout:hover{background:#ffffff14;color:var(--on-brand)}.profile-chip__logout svg{width:16px}.main-content{min-width:0;padding:0 38px 52px}.topbar{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar__title p{margin:0 0 4px;color:var(--muted);font-size:13px;font-weight:600}.topbar h1{margin:0;font:800 clamp(24px,3vw,32px) "Manrope",sans-serif;letter-spacing:-.045em}.topbar__actions{display:flex;gap:10px;align-items:center}.icon-button{width:43px;height:43px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;display:grid;place-items:center}.icon-button svg{width:19px}.primary-button,.secondary-button{min-height:43px;border-radius:12px;border:0;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:13px}.primary-button{background:var(--brand-solid);color:var(--on-brand-solid);box-shadow:0 6px 15px rgba(var(--shadow-rgb),.16)}.primary-button:hover{background:var(--brand-solid-hover);transform:translateY(-1px)}.secondary-button{background:var(--surface-sunken);color:var(--ink)}.secondary-button:hover{background:var(--surface-strong)}.danger-button{min-height:43px;padding:0 17px;border:0;border-radius:12px;background:var(--danger-solid);color:#fff;font-size:13px;font-weight:800}.danger-button:hover{background:var(--danger-solid-hover)}.mobile-menu{display:none}.demo-banner{margin:-2px 0 18px;padding:10px 14px;border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:12px;color:var(--warn-ink);font-size:12px}.demo-banner span{display:inline-block;margin-right:8px;padding:3px 7px;border-radius:6px;background:var(--warn-line-soft);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:9px}.auth-session-error{margin:-2px 0 18px;padding:10px 14px;border:1px solid var(--danger-line);background:var(--danger-bg);border-radius:12px;color:var(--danger-ink);font-size:12px}.login-page{position:relative;min-height:100vh;padding:28px;overflow:hidden;display:grid;place-items:center;background:var(--brand-surface)}.login-page:before,.login-page:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.login-page:before{width:min(62vw,760px);height:min(62vw,760px);top:-36vw;right:-10vw;border:90px solid rgba(217,255,175,.07)}.login-page:after{width:360px;height:360px;left:-160px;bottom:-190px;background:var(--warn-bg-strong)}.landing-page{position:relative;min-height:100vh;overflow:hidden;padding:24px clamp(24px,5vw,76px) 38px;background:var(--surface-subtle)}.landing-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.42;background-image:radial-gradient(rgba(var(--shadow-rgb),.14) .7px,transparent .7px);background-size:24px 24px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 74%);mask-image:linear-gradient(to bottom,black,transparent 74%)}.landing-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}.landing-glow--one{width:560px;height:560px;top:-310px;right:-190px;background:var(--accent-lime)}.landing-glow--two{width:340px;height:340px;left:-230px;top:43%;background:var(--warn-line)}.landing-header{position:relative;z-index:5;width:min(1240px,100%);min-height:52px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.landing-brand{display:inline-flex;align-items:center;gap:10px;color:var(--brand-ink);text-decoration:none}.landing-brand>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--brand-surface);color:var(--accent-lime);box-shadow:0 6px 18px rgba(var(--shadow-rgb),.14)}.landing-brand svg{width:21px}.landing-brand strong{font:800 17px Manrope,sans-serif;letter-spacing:-.04em}.landing-login-button{min-height:42px;padding:0 16px;border:1px solid var(--line-strong);border-radius:12px;display:inline-flex;align-items:center;gap:9px;background:var(--glass);color:var(--ink);font-size:12px;font-weight:800;box-shadow:0 4px 16px rgba(var(--shadow-rgb),.07);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-login-button:hover{border-color:var(--line-stronger);background:var(--surface-raised);transform:translateY(-1px)}.google-mark{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#4285f4;color:#fff;font-size:12px;font-weight:800}.landing-error{position:relative;z-index:5;width:min(1240px,100%);margin:14px auto 0;padding:11px 14px;border:1px solid var(--danger-line);border-radius:11px;background:var(--danger-bg);color:var(--danger-ink);font-size:12px;line-height:1.45}.landing-auth-card{width:min(440px,100%);margin-top:26px;padding:18px;display:grid;gap:13px;border:1px solid var(--line-strong);border-radius:18px;background:var(--glass);box-shadow:0 14px 34px rgba(var(--shadow-rgb),.09);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-auth-card>div{display:grid;gap:4px}.landing-auth-card>div strong{color:var(--brand-ink);font-size:15px}.landing-auth-card>div span{color:var(--muted);font-size:11px;line-height:1.45}.landing-auth-card label{display:grid;gap:6px;color:var(--brand-ink);font-size:11px;font-weight:800}.landing-auth-card input{min-height:43px;padding:0 12px;border:1px solid var(--line-stronger);border-radius:11px;background:var(--surface-raised);color:var(--ink);font:inherit}.landing-auth-card input:focus{outline:3px solid var(--focus-ring);border-color:var(--green-600)}.landing-auth-card .landing-primary-button{width:100%;justify-content:center;min-height:45px}.landing-auth-switch{justify-self:center;border:0;background:transparent;color:var(--green-700);font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.landing-hero{position:relative;z-index:1;width:min(1180px,100%);min-height:580px;margin:20px auto 16px;display:grid;grid-template-columns:minmax(0,.94fr) minmax(480px,1.06fr);align-items:center;gap:clamp(48px,7vw,92px)}.landing-hero__copy{padding:44px 0 58px}.landing-kicker{width:fit-content;margin:0 0 19px;padding:7px 11px;border:1px solid var(--line-stronger);border-radius:999px;display:flex;align-items:center;gap:7px;color:var(--green-800);background:var(--glass);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.landing-kicker svg{width:14px}.landing-hero h1{max-width:650px;margin:0;color:var(--brand-ink);font:800 clamp(43px,5vw,68px)/.98 "Manrope",sans-serif;letter-spacing:-.068em}.landing-hero__description{max-width:560px;margin:25px 0 0;color:var(--muted-strong);font-size:clamp(16px,1.5vw,18px);line-height:1.64}.landing-actions{margin-top:31px;display:flex;align-items:center;gap:22px}.landing-primary-button{min-height:52px;padding:0 21px;border:0;border-radius:14px;display:inline-flex;align-items:center;gap:10px;background:var(--brand-solid);color:var(--on-brand-solid);box-shadow:0 13px 26px rgba(var(--shadow-rgb),.22);font-size:13px;font-weight:800}.landing-primary-button:hover{background:var(--brand-solid-hover);transform:translateY(-2px);box-shadow:0 16px 30px rgba(var(--shadow-rgb),.25)}.landing-primary-button svg{width:17px;transition:transform .18s ease}.landing-primary-button:hover svg{transform:translate(3px)}.landing-actions>a{color:var(--green-800);font-size:12px;font-weight:800;text-underline-offset:4px}.landing-trust{margin:21px 0 0;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10.5px}.landing-trust svg{width:15px;color:var(--green-600)}.landing-preview-wrap{position:relative;padding:28px 0 20px}.landing-preview-wrap:before{content:"";position:absolute;width:96%;height:78%;right:-13%;bottom:2%;border-radius:44px;transform:rotate(4deg);background:var(--brand-surface);box-shadow:0 34px 70px rgba(var(--shadow-rgb),.19)}.landing-preview{position:relative;z-index:1;width:min(540px,100%);margin-left:auto;padding:24px;border:1px solid var(--line-stronger);border-radius:26px;background:var(--glass-strong);box-shadow:0 28px 60px rgba(var(--shadow-rgb),.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:rotate(-1.3deg)}.landing-preview__topbar{display:flex;align-items:center;justify-content:space-between;padding:1px 2px 17px}.landing-preview__topbar span,.landing-preview__topbar strong{display:block}.landing-preview__topbar div>span{margin-bottom:3px;color:var(--muted);font-size:9px}.landing-preview__topbar div>strong{font:800 15px Manrope,sans-serif;letter-spacing:-.03em}.landing-preview__avatar{width:35px;height:35px;border-radius:50%;display:grid!important;place-items:center;background:var(--warn-line);color:var(--warn-ink-strong);font-size:9px;font-weight:800}.landing-preview__balance{position:relative;overflow:hidden;min-height:139px;padding:22px;border-radius:19px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--brand-surface);color:var(--on-brand)}.landing-preview__balance:after{content:"";position:absolute;width:170px;height:170px;top:-106px;right:-46px;border:30px solid rgba(217,255,175,.11);border-radius:50%}.landing-preview__balance span{color:var(--on-brand-muted);font-size:9px}.landing-preview__balance strong{margin:4px 0 2px;font:800 29px Manrope,sans-serif;letter-spacing:-.05em}.landing-preview__balance small{color:var(--accent-lime);font-size:8.5px}.landing-preview__metrics{margin:11px 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.landing-preview__metrics>div{padding:13px 14px;border-radius:13px;background:var(--green-050)}.landing-preview__metrics>div:nth-child(2){background:var(--danger-bg-strong)}.landing-preview__metrics span,.landing-preview__metrics strong{display:block}.landing-preview__metrics span{color:var(--muted);font-size:8px}.landing-preview__metrics strong{margin-top:3px;font:800 12px Manrope,sans-serif}.landing-preview__section-title{margin:0 2px 7px;display:flex;justify-content:space-between;align-items:center}.landing-preview__section-title strong{font-size:10px}.landing-preview__section-title span{color:var(--green-600);font-size:8px;font-weight:800}.landing-preview__movement{min-height:48px;padding:6px 2px;border-top:1px solid var(--surface-strong);display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center}.landing-preview__movement-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center}.landing-preview__movement-icon svg{width:14px}.landing-preview__movement-icon--coral{background:var(--danger-bg-strong);color:var(--danger-solid)}.landing-preview__movement-icon--green{background:var(--green-100);color:var(--green-700)}.landing-preview__movement div strong,.landing-preview__movement div small{display:block}.landing-preview__movement div strong{font-size:9px}.landing-preview__movement div small{margin-top:2px;color:var(--muted);font-size:7.5px}.landing-preview__movement>strong{font-size:9px}.landing-preview-accent{position:absolute;z-index:3;right:-28px;top:14px;padding:10px 13px;border:1px solid var(--line-stronger);border-radius:13px;display:flex;align-items:center;gap:8px;background:var(--glass-strong);color:var(--green-800);box-shadow:0 15px 30px rgba(var(--shadow-rgb),.14);font-size:9px;font-weight:800;transform:rotate(3deg)}.landing-preview-accent svg{width:15px}.landing-benefits{position:relative;z-index:2;width:min(1180px,100%);margin:0 auto;padding:19px 24px;border:1px solid var(--line-strong);border-radius:19px;display:grid;grid-template-columns:repeat(3,1fr);background:var(--glass);box-shadow:0 14px 38px rgba(var(--shadow-rgb),.06);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-benefits article{min-width:0;padding:7px 23px;display:flex;align-items:center;gap:14px}.landing-benefits article+article{border-left:1px solid var(--surface-strong)}.landing-benefits article>span{width:39px;height:39px;flex:0 0 39px;border-radius:12px;display:grid;place-items:center;background:var(--green-100);color:var(--green-800)}.landing-benefits article>span svg{width:18px}.landing-benefits h2{margin:0;font:800 12px Manrope,sans-serif}.landing-benefits p{margin:4px 0 0;color:var(--muted);font-size:9.5px;line-height:1.45}.landing-how{position:relative;z-index:2;width:min(1180px,100%);margin:86px auto 50px;padding:clamp(34px,5vw,62px);border-radius:28px;background:var(--brand-surface);color:var(--on-brand);scroll-margin-top:28px}.landing-how:after{content:"";position:absolute;width:260px;height:260px;top:-145px;right:-85px;border:46px solid rgba(217,255,175,.07);border-radius:50%;pointer-events:none}.landing-how__heading{position:relative;z-index:1;max-width:580px}.landing-how__heading .landing-kicker{color:var(--accent-lime);border-color:#d9ffaf33;background:#ffffff0d}.landing-how__heading h2{margin:0;font:800 clamp(30px,4vw,46px)/1.02 "Manrope",sans-serif;letter-spacing:-.055em}.landing-how__heading>p:last-child{margin:14px 0 0;color:var(--on-brand-muted);font-size:14px;line-height:1.55}.landing-how__steps{position:relative;z-index:1;margin:38px 0 32px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);list-style:none}.landing-how__steps li{min-width:0;padding:0 28px;display:flex;gap:14px}.landing-how__steps li:first-child{padding-left:0}.landing-how__steps li+li{border-left:1px solid rgba(255,255,255,.12)}.landing-how__steps li>span{color:var(--accent-lime);font:800 11px Manrope,sans-serif;letter-spacing:.06em}.landing-how__steps h3{margin:0;font:800 14px Manrope,sans-serif}.landing-how__steps p{margin:6px 0 0;color:var(--on-brand-muted);font-size:10.5px;line-height:1.5}.landing-how>.landing-primary-button{position:relative;z-index:1;background:var(--accent-lime);color:var(--on-lime);box-shadow:none}.landing-how>.landing-primary-button:hover{background:var(--accent-lime-soft);box-shadow:none}.auth-loading{position:relative;z-index:1;min-width:260px;display:grid;justify-items:center;color:var(--on-brand);text-align:center}.auth-loading strong{margin-top:18px;font:800 18px Manrope,sans-serif}.auth-loading span{margin-top:5px;color:var(--on-brand-muted);font-size:12px}.auth-spinner{width:42px;height:42px;border:4px solid rgba(255,255,255,.16);border-top-color:var(--accent-lime);border-radius:50%;animation:auth-spin .75s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.dashboard{display:grid;gap:18px}.hero-balance{position:relative;overflow:hidden;min-height:160px;padding:27px 30px;background:var(--brand-surface);color:var(--on-brand);border-radius:22px;display:flex;flex-wrap:wrap;gap:24px 40px;align-items:flex-end;box-shadow:0 16px 34px rgba(var(--shadow-rgb),.14)}.hero-balance:before,.hero-balance:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.hero-balance:before{width:270px;height:270px;right:15%;top:-180px;border:42px solid rgba(217,255,175,.08)}.hero-balance:after{width:170px;height:170px;right:-65px;bottom:-90px;background:#d9ffaf17}.hero-balance>div{position:relative;z-index:1}.hero-balance>div>strong{display:block;margin:6px 0 5px;font:800 clamp(32px,5vw,46px) "Manrope",sans-serif;letter-spacing:-.055em}.hero-balance span{color:var(--on-brand-muted);font-size:12px}.hero-balance__currency{flex:1 1 240px;min-width:0}.hero-balance__debt{margin:14px 0 2px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);color:var(--on-brand-muted);font-size:11px}.hero-balance__debt strong{display:inline;margin:0;font:800 15px Manrope,sans-serif;color:var(--on-brand)}.hero-balance__currency small{color:var(--accent-lime);font-size:10px;font-weight:700}.hero-balance__note{flex:1 0 100%;position:relative;z-index:1;margin:0;color:var(--on-brand-muted);font-size:10px}.eyebrow{margin:0 0 4px;color:var(--green-600);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow--light{color:var(--accent-lime)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.summary-card{min-width:0;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--paper);display:flex;flex-direction:column;align-items:flex-start;gap:4px}.summary-card>svg{margin-bottom:5px;color:var(--green-600)}.summary-card p,.summary-card small{margin:0;color:var(--muted)}.summary-card p{font-size:11px;font-weight:700}.summary-card strong{display:block;max-width:100%;font:800 20px Manrope,sans-serif;letter-spacing:-.035em;overflow-wrap:anywhere}.summary-card small{font-size:10px;line-height:1.45}.trend-panel{padding-bottom:16px}.trend-legend{display:flex;gap:12px;color:var(--muted);font-size:9px;font-weight:700}.trend-legend span{display:inline-flex;align-items:center;gap:5px}.trend-dot{width:7px;height:7px;border-radius:50%}.trend-dot--income,.trend-bar--income{background:var(--green-600)}.trend-dot--expense,.trend-bar--expense{background:var(--coral)}.trend-chart{height:145px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:12px}.trend-column{min-width:0;display:grid;grid-template-rows:1fr auto;gap:7px;text-align:center}.trend-column>strong{color:var(--muted);font-size:9px;text-transform:capitalize}.trend-bars{min-height:110px;display:flex;align-items:flex-end;justify-content:center;gap:5px;border-bottom:1px solid var(--line)}.trend-bar{width:min(18px,34%);min-height:0;border-radius:5px 5px 0 0}.metric-card{min-height:104px;padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--paper);display:flex;gap:14px;align-items:center}.metric-icon{flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.metric-icon svg{width:19px}.metric-icon--income{color:var(--green-700);background:var(--green-100)}.metric-icon--expense{color:var(--danger-solid);background:var(--danger-bg-strong)}.metric-icon--net{color:var(--warn-ink);background:var(--warn-line-soft)}.metric-card p,.metric-card small{margin:0;color:var(--muted)}.metric-card p{font-size:11px;font-weight:600}.metric-card strong{display:block;margin:3px 0 1px;font:800 20px Manrope,sans-serif;letter-spacing:-.035em}.metric-card strong em{display:inline-block;min-width:34px;margin-right:6px;color:var(--muted);font:800 10px DM Sans,sans-serif;font-style:normal;letter-spacing:.06em;vertical-align:middle}.metric-card small{font-size:10px}.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:18px}.panel{border:1px solid var(--line);border-radius:19px;background:var(--paper);padding:22px;min-width:0}.panel--transactions{grid-column:1;grid-row:1 / span 2}.panel--budget,.panel--due{grid-column:2}.panel__heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px}.section-heading__actions{display:flex;align-items:center;gap:9px}.panel__heading h2,.section-heading h2{margin:0;font:800 18px Manrope,sans-serif;letter-spacing:-.035em}.text-button{border:0;background:transparent;color:var(--green-600);font-size:11px;font-weight:800}.percentage-pill{padding:5px 8px;background:var(--green-100);color:var(--green-800);border-radius:7px;font-size:10px;font-weight:800}.transaction-list{display:grid}.transaction-row{display:grid;grid-template-columns:40px minmax(140px,1fr) auto auto auto auto auto;gap:12px;align-items:center;min-height:66px;border-top:1px solid var(--surface-sunken)}.transaction-row--compact{grid-template-columns:40px minmax(140px,1fr) auto}.transaction-row:first-child{border-top:0}.transaction-row__icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px}.transaction-row__icon svg{width:16px}.transaction-row__main strong,.transaction-row__main span{display:block}.transaction-row__main strong{font-size:12.5px}.transaction-row__main span,.transaction-row__date,.transaction-row__author,.transaction-row__payer{color:var(--muted);font-size:10px;margin-top:3px}.transaction-row__author,.transaction-row__payer{max-width:90px;overflow:hidden;text-overflow:ellipsis}.transaction-row__actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.status-badge--muted{color:var(--muted);background:var(--surface-sunken)}.amount{min-width:102px;text-align:right;font-size:12px;color:var(--ink)}.amount--positive{color:var(--green-700)}.amount--neutral{color:var(--muted-strong)}.budget-overview{display:flex;align-items:center;gap:18px;padding:3px 0 20px}.budget-overview p,.budget-overview span{display:block;margin:0;color:var(--muted);font-size:10px}.budget-overview>div>strong{display:block;margin:2px 0;font:800 19px Manrope,sans-serif}.budget-ring{--progress: 0deg;width:84px;height:84px;flex:0 0 84px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green-600) var(--progress),var(--surface-strong) 0);position:relative}.budget-ring:after{content:"";position:absolute;width:62px;height:62px;border-radius:50%;background:var(--paper)}.budget-ring span{z-index:1;text-align:center}.budget-ring strong,.budget-ring small{display:block}.budget-ring strong{color:var(--ink);font:800 16px Manrope,sans-serif}.budget-ring small{color:var(--muted);font-size:8px}.budget-grid{display:grid;gap:13px}.budget-grid--full{grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px}.budget-grid--full .budget-row{padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.budget-row__top,.budget-row__amounts{display:flex;justify-content:space-between;align-items:center}.budget-row__top{font-size:10px;font-weight:700}.budget-row__top span{display:flex;align-items:center;gap:7px}.budget-row__top i{width:7px;height:7px;border-radius:50%}.progress-track{height:5px;margin:7px 0 5px;border-radius:10px;background:var(--surface-sunken);overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit}.budget-row__amounts{color:var(--muted);font-size:9px}.budget-page{display:grid;gap:18px}.budget-toolbar{padding:22px 24px;border:1px solid var(--line);border-radius:19px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:18px}.budget-toolbar h2{margin:0;font:800 20px Manrope,sans-serif;letter-spacing:-.035em}.budget-toolbar__controls{display:flex;align-items:flex-end;gap:10px}.budget-toolbar__controls label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.budget-toolbar__controls select{min-width:160px;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised)}.budget-status,.consumption-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:9px;font-weight:800}.budget-status{min-height:40px;padding:0 11px;background:var(--green-100);color:var(--green-800)}.budget-status--draft{background:var(--warn-bg-strong);color:var(--warn-ink)}.budget-status--closed{background:var(--surface-strong);color:var(--muted-strong)}.budget-currency-panel{display:grid;gap:16px;padding:20px 22px;border:1px solid var(--line);border-radius:19px;background:var(--paper)}.budget-currency-panel__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.budget-currency-panel__heading .eyebrow{margin:0}.budget-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.budget-summary-grid article{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.budget-summary-grid span,.budget-summary-grid small{display:block;color:var(--muted);font-size:10px}.budget-summary-grid strong{display:block;margin:4px 0 2px;font:800 20px Manrope,sans-serif}.budget-summary--negative strong{color:var(--danger-solid)}.budget-actions{display:flex;flex-wrap:wrap;gap:9px}.budget-feedback{margin:-7px 0 0;padding:10px 13px;border-radius:10px;background:var(--green-100);color:var(--green-800);font-size:11px;font-weight:700}.budget-row--warning{border-color:var(--warn-line)!important}.budget-row--exceeded{border-color:var(--danger-line)!important;background:var(--danger-bg)!important}.consumption-pill{padding:4px 7px;background:var(--green-100);color:var(--green-800)}.consumption-pill--warning{background:var(--warn-bg-strong);color:var(--warn-ink)}.consumption-pill--exceeded{background:var(--danger-bg-strong);color:var(--danger-ink)}.modal--budget{width:min(580px,100%)}.budget-editor-list{display:grid;gap:8px}.budget-editor-row{min-height:55px;padding:8px 10px;border:1px solid var(--line);border-radius:11px;display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:12px;align-items:center}.modal form .budget-category-check{grid-template-columns:18px 9px minmax(0,1fr);align-items:center;gap:8px}.modal form .budget-category-check input{width:16px;height:16px;margin:0}.budget-category-check i{width:9px;height:9px;border-radius:50%}.budget-editor-row>label:last-child input{height:39px;text-align:right}.due-list{display:grid}.due-list--page{gap:12px}.due-item{display:grid;grid-template-columns:48px 1fr auto auto;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.due-item--compact{grid-template-columns:42px 1fr auto;padding:11px 0;border:0;border-top:1px solid var(--surface-sunken);border-radius:0}.due-item--compact:first-child{border-top:0}.due-date{width:42px;height:42px;border-radius:11px;background:var(--warn-line-soft);color:var(--warn-ink);display:grid;place-content:center;text-align:center}.due-date strong{line-height:1;font:800 15px Manrope,sans-serif}.due-date span{margin-top:2px;font-size:7px;font-weight:800;letter-spacing:.08em}.due-item>div:nth-child(2) strong,.due-item>div:nth-child(2) span{display:block}.due-item>div:nth-child(2) strong{font-size:11px}.due-item>div:nth-child(2) span{color:var(--muted);font-size:9px;margin-top:3px}.due-item>strong{font-size:10px}.due-page{display:grid;gap:18px}.due-page__heading{margin-bottom:0}.due-page__heading>div>span{display:block;margin-top:5px;color:var(--muted);font-size:11px}.due-tabs{display:flex;gap:7px;padding-bottom:2px;overflow-x:auto;scrollbar-width:thin}.due-tab{flex:0 0 auto;min-height:38px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--muted);font-size:11px;font-weight:800}.due-tab span{display:inline-grid;min-width:19px;height:19px;margin-left:6px;padding:0 5px;place-items:center;border-radius:10px;background:var(--surface-sunken);color:var(--ink);font-size:9px}.due-tab--active{border-color:var(--green-600);background:var(--brand-solid);color:var(--on-brand-solid)}.due-tab--active span{background:var(--on-brand-solid-fill);color:var(--on-brand-solid)}.session-feedback{margin:0;padding:10px 13px;border-radius:10px;background:var(--green-100);color:var(--green-800);font-size:11px;font-weight:700}.due-cards{display:grid;gap:10px}.due-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--paper);display:grid;grid-template-columns:54px minmax(160px,1fr) 170px minmax(270px,auto);gap:15px;align-items:center}.due-card--overdue{border-color:var(--danger-line);background:var(--danger-bg)}.due-card--cancelled{background:var(--surface-subtle);opacity:.88}.due-card__date{width:50px;height:50px;border-radius:13px;background:var(--warn-line-soft);color:var(--warn-ink);display:grid;place-content:center;text-align:center}.due-card--overdue .due-card__date{background:var(--danger-bg-strong);color:var(--danger-ink)}.due-card--paid .due-card__date{background:var(--green-100);color:var(--green-800)}.due-card--cancelled .due-card__date{background:var(--surface-strong);color:var(--muted)}.due-card__date span{font-size:7px;font-weight:800;letter-spacing:.1em}.due-card__date strong{font:800 18px Manrope,sans-serif;line-height:1.1}.due-card__main,.due-card__amounts{min-width:0}.due-card__title{display:flex;align-items:center;gap:8px}.due-card__title>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.due-card__main>span,.due-card__main>small,.due-card__amounts>span,.due-card__amounts>small{display:block;color:var(--muted);font-size:9.5px}.due-card__main>span{margin-top:4px}.due-card__main>small{margin-top:2px}.due-status{flex:0 0 auto;padding:3px 6px;border-radius:6px;background:var(--green-100);color:var(--green-800);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.due-status--overdue{background:var(--danger-bg-strong);color:var(--danger-ink)}.due-status--paid{background:var(--green-100);color:var(--green-700)}.due-status--cancelled{background:var(--surface-strong);color:var(--muted)}.due-card__amounts strong{display:block;margin-top:2px;font:800 14px Manrope,sans-serif}.due-card__amounts small{margin-top:4px;color:var(--green-800);font-weight:700}.due-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.due-card__actions .secondary-button{min-height:38px;padding-inline:11px;white-space:nowrap}.text-action{min-height:35px;padding:0 7px;border:0;background:transparent;color:var(--green-800);display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800}.text-action:hover{text-decoration:underline}.text-action--danger{color:var(--danger-ink)}.modal--confirmation{width:min(510px,100%)}.modal--confirmation>p{margin:-5px 0 18px;color:var(--muted);font-size:12px;line-height:1.5}.reopen-options{display:grid;gap:9px}.reopen-options .secondary-button{min-height:48px;justify-content:flex-start;padding-inline:14px}.page-section{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--glass)}.search-box{min-width:280px;min-height:42px;padding:0 12px;border:1px solid var(--line);background:var(--surface-raised);border-radius:11px;display:flex;align-items:center;gap:8px;color:var(--muted)}.search-box input{width:100%;border:0;outline:none;background:transparent;font-size:12px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px}.pagination span{color:var(--muted);font-size:11px;font-weight:700}.movement-filters{margin:-4px 0 18px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--paper);display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));gap:9px;align-items:end}.movement-filters label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:800}.movement-filters input,.movement-filters select{min-width:0;width:100%;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);font-size:10px}.movement-filters>span{align-self:center;justify-self:end;color:var(--muted);font-size:10px;font-weight:700}.movement-filters>button{justify-self:start}.empty-state{min-height:130px;display:grid;place-content:center;justify-items:center;color:var(--muted);text-align:center}.empty-state svg{opacity:.4}.empty-state p{margin:8px 0 0;font-size:12px}.settings-page{display:grid;gap:18px}.settings-intro{padding:22px 24px;border:1px solid var(--line);border-radius:19px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:18px}.settings-intro h2{margin:0;font:800 20px Manrope,sans-serif;letter-spacing:-.035em}.settings-intro p:last-child{margin:5px 0 0;color:var(--muted);font-size:12px}.session-pill{flex:0 0 auto;padding:7px 10px;border-radius:9px;background:var(--warn-bg);color:var(--warn-ink);font-size:10px;font-weight:800}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.settings-panel{min-width:0;padding:22px;border:1px solid var(--line);border-radius:19px;background:var(--paper)}.settings-panel__heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.settings-panel__title{display:flex;align-items:center;gap:11px}.settings-panel__title h3,.settings-panel__title p{margin:0}.settings-panel__title h3{font:800 17px Manrope,sans-serif;letter-spacing:-.03em}.settings-panel__title p{margin-top:2px;color:var(--muted);font-size:10px}.telegram-panel{margin-top:18px}.telegram-panel .muted-copy{margin:0;color:var(--muted)}.telegram-status{display:flex;align-items:center;gap:8px;margin:0;color:var(--green-800)}.telegram-status svg{width:18px}.telegram-code{padding:16px;border-radius:14px;background:var(--surface-sunken)}.telegram-code p{margin:0 0 10px}.telegram-code small{display:block;margin-top:8px;color:var(--muted)}.telegram-code__value{display:flex;align-items:center;justify-content:space-between;gap:10px}.telegram-code__value code{overflow-wrap:anywhere;font-size:14px;font-weight:800}.telegram-guide{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.telegram-guide__intro{display:flex;align-items:center;justify-content:space-between;gap:18px}.telegram-guide__intro h4{margin:0;font:800 18px Manrope,sans-serif;letter-spacing:-.035em}.telegram-guide__intro>div>p:last-child{margin:5px 0 0;color:var(--muted);font-size:11px}.telegram-guide__open{flex:0 0 auto;text-decoration:none}.telegram-guide__open svg{width:16px}.telegram-guide__open svg:last-child{width:13px;opacity:.6}.telegram-setup-steps{margin:20px 0 18px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style:none}.telegram-setup-steps li{min-width:0;padding:14px;border:1px solid var(--surface-strong);border-radius:14px;display:flex;gap:11px;background:var(--surface-subtle)}.telegram-setup-steps li>span{width:25px;height:25px;flex:0 0 25px;border-radius:8px;display:grid;place-items:center;background:var(--brand-surface);color:var(--accent-lime);font-size:9px;font-weight:800}.telegram-setup-steps strong{display:block;font-size:11px}.telegram-setup-steps p{margin:5px 0 0;color:var(--muted);font-size:9.5px;line-height:1.5}.telegram-setup-steps code{padding:1px 4px;border-radius:4px;background:var(--green-050);color:var(--green-800);font-size:9px;font-weight:800}.telegram-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.telegram-examples article{min-width:0;padding:13px;border:1px solid var(--surface-strong);border-radius:13px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:11px}.telegram-examples article>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--green-100);color:var(--green-800)}.telegram-examples article>span svg{width:16px}.telegram-examples article strong,.telegram-examples article code,.telegram-examples article small{display:block}.telegram-examples article strong{margin-bottom:3px;font-size:10px}.telegram-examples article code{width:fit-content;max-width:100%;padding:3px 6px;overflow-wrap:anywhere;border-radius:5px;background:var(--surface-sunken);color:var(--brand-ink);font-size:10.5px;font-weight:800}.telegram-examples article small{margin-top:4px;color:var(--muted);font-size:8.5px;line-height:1.4}.telegram-privacy-note{margin:16px 0 0;display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:9.5px;line-height:1.5}.telegram-privacy-note svg{width:15px;flex:0 0 15px;color:var(--green-600)}.settings-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--green-100);color:var(--green-800)}.settings-icon svg{width:18px}.settings-list{display:grid;gap:9px}.category-list-toggle{width:100%;min-height:42px;margin-top:10px;border:1px dashed var(--line-stronger);border-radius:11px;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--surface-subtle);color:var(--green-800);font-size:10px;font-weight:800}.category-list-toggle:hover{border-color:var(--line-stronger);background:var(--green-050)}.category-list-toggle svg{width:16px}.settings-card{min-height:88px;padding:13px;border:1px solid var(--surface-strong);border-radius:14px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;background:var(--surface-raised)}.settings-card--archived{background:var(--surface-subtle)}.settings-card__mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--surface-subtle);color:var(--green-800)}.settings-card__mark svg{width:17px}.settings-card__main{min-width:0}.settings-card__name{display:flex;align-items:center;gap:7px;min-width:0}.settings-card__name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.settings-card__main>span,.settings-card__main>small{display:block;margin-top:3px;color:var(--muted);font-size:9.5px}.settings-card__main .lifecycle-note{color:var(--warn-ink)}.status-pill{flex:0 0 auto;padding:3px 6px;border-radius:6px;background:var(--green-100);color:var(--green-800);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-pill--archived{background:var(--surface-strong);color:var(--muted)}.settings-card__actions{display:flex;gap:5px}.icon-button--small{width:34px;height:34px;border-radius:9px}.icon-button--small svg{width:15px}.icon-button--danger{color:var(--danger-ink)}.category-swatch{width:30px;height:30px;margin-left:4px;border:5px solid var(--glass-strong);border-radius:50%;box-shadow:0 0 0 1px var(--line)}.membership-panel{display:grid;gap:18px;margin-top:18px}.membership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.membership-actions{display:flex;gap:8px}.membership-card__actions select{width:150px;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);font-size:10px}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;padding:20px;display:grid;place-items:center;background:rgba(var(--shadow-rgb),.56);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:25px;border-radius:21px;background:var(--paper);box-shadow:0 30px 80px rgba(var(--shadow-rgb),.28)}.modal--transaction{width:min(620px,100%)}.modal__heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.modal__heading h2{margin:0;font:800 22px Manrope,sans-serif;letter-spacing:-.04em}.modal form{display:grid;gap:16px}.modal form label{display:grid;gap:7px;color:var(--ink-soft);font-size:11px;font-weight:700}.modal input,.modal select,.modal textarea{width:100%;padding:0 12px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface-raised);color:var(--ink)}.modal input,.modal select{height:44px}.modal textarea{min-height:92px;padding-block:10px;resize:vertical;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.recalibration-impact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.recalibration-impact span{padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-subtle);color:var(--muted);font-size:10px}.recalibration-impact strong{display:block;margin-top:4px;color:var(--ink);font-size:12px}.type-toggle{margin:0;padding:4px;display:grid;grid-template-columns:1fr 1fr;border:0;border-radius:12px;background:var(--surface-sunken)}.type-toggle button{min-height:39px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:700}.type-toggle button.active{background:var(--surface-raised);color:var(--green-800);box-shadow:0 2px 8px rgba(var(--shadow-rgb),.09)}.transaction-type-toggle{grid-template-columns:repeat(3,1fr);gap:4px}.transaction-type-toggle button{padding:0 8px;font-size:11px}.form-note,.form-error{margin:0;padding:10px 12px;border-radius:9px;font-size:10px}.form-note{color:var(--warn-ink);background:var(--warn-bg)}.form-error{color:var(--danger-ink);background:var(--danger-bg-strong)}.payment-summary{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle)}.payment-summary span,.payment-summary strong,.payment-summary small{display:block}.payment-summary span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.payment-summary strong{margin:4px 0 2px;font:800 17px Manrope,sans-serif}.payment-summary small{color:var(--muted);font-size:10px}.modal form .difference-confirmation{grid-template-columns:18px 1fr;align-items:start;padding:11px 12px;border-radius:10px;background:var(--warn-bg);color:var(--warn-ink);line-height:1.4}.modal form .difference-confirmation input{width:16px;height:16px;margin:0}.modal__actions{display:flex;justify-content:flex-end;gap:9px;padding-top:5px}.modal--confirm{width:min(460px,100%)}.modal--confirm>p{margin:-4px 0 20px;color:var(--muted);font-size:13px;line-height:1.5}.modal--spaces{width:min(720px,100%)}.modal-layer--nested{z-index:70}.spaces-explanation{margin:-7px 0 20px;color:var(--muted);font-size:12px;line-height:1.55}.spaces-toolbar{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.spaces-toolbar>span{color:var(--muted);font-size:11px;font-weight:800}.spaces-toolbar>div{display:flex;gap:8px}.spaces-list{display:grid;gap:9px}.space-card{min-height:82px;padding:13px;border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;background:var(--surface-raised)}.space-card--archived{background:var(--surface-subtle)}.space-card__icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--green-100);color:var(--green-800)}.space-card__icon svg{width:18px}.space-card__main{min-width:0}.space-card__main>div{display:flex;align-items:center;gap:7px}.space-card__main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.space-card__main>span,.space-card__main>small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.spaces-empty{min-height:180px;padding:20px;border:1px dashed var(--line-stronger);border-radius:15px;display:grid;place-content:center;justify-items:center;color:var(--muted);text-align:center}.spaces-empty svg{width:30px;margin-bottom:9px;opacity:.5}.spaces-empty strong{color:var(--ink);font-size:13px}.spaces-empty span{margin-top:4px;font-size:11px}.modal--space-form{width:min(520px,100%)}.card-calendar-list{margin-bottom:6px}.statement-calendar-row{margin:0 0 12px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:12px;display:grid;gap:9px}.statement-calendar-row legend{padding:0 5px;color:var(--ink-soft);font-size:11px;font-weight:700;text-transform:capitalize}.statement-calendar-row .form-note{margin:0}.statement-calendar-row:disabled{opacity:.55}.statement-calendar-row .text-action{justify-self:start}.space-currency-options{margin:0;padding:12px;border:1px solid var(--line-strong);border-radius:11px;display:flex;gap:18px}.space-currency-options legend{padding:0 5px;color:var(--ink-soft);font-size:11px;font-weight:700}.modal form .space-currency-options label{display:flex;grid-template-columns:none;align-items:center;gap:7px}.modal form .space-currency-options input{width:16px;height:16px;margin:0}.color-field{position:relative;grid-template-columns:1fr 44px!important;align-items:center}.modal form .color-field input[type=color]{grid-column:2;grid-row:1;width:44px;height:44px;padding:4px;cursor:pointer}.color-field>span{display:none}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;border:0;background:var(--backdrop)}@media(max-width:1120px){.landing-hero{grid-template-columns:minmax(0,.9fr) minmax(410px,1.1fr);gap:40px}.landing-preview-accent{right:-10px}.landing-benefits article{padding-inline:14px}.main-content{padding-inline:24px}.content-grid{grid-template-columns:1fr}.panel--transactions,.panel--budget,.panel--due{grid-column:1;grid-row:auto}.panel--due{display:none}.due-card{grid-template-columns:54px minmax(150px,1fr) 150px}.due-card__actions{grid-column:2 / -1;justify-content:flex-start}.movement-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.landing-page{padding-inline:24px}.landing-hero{margin-top:22px;grid-template-columns:1fr;gap:0}.landing-hero__copy{padding-bottom:25px;text-align:center}.landing-kicker,.landing-hero h1,.landing-hero__description{margin-inline:auto}.landing-actions,.landing-trust{justify-content:center}.landing-preview-wrap{width:min(570px,94%);margin:0 auto}.landing-preview{margin-inline:auto}.landing-benefits{margin-top:18px;grid-template-columns:1fr}.landing-benefits article{padding:14px 6px}.landing-benefits article+article{border-left:0;border-top:1px solid var(--surface-strong)}.landing-how{margin-top:58px}.landing-how__steps{grid-template-columns:1fr;gap:0}.landing-how__steps li,.landing-how__steps li:first-child{padding:20px 0}.landing-how__steps li+li{border-left:0;border-top:1px solid rgba(255,255,255,.12)}.app-shell{display:block}.sidebar{position:fixed;left:-265px;width:265px;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;transform:none;transition:left .22s ease}.sidebar.sidebar--open{left:0;transform:none}.mobile-menu{display:grid}.topbar{min-height:88px}.topbar__title{margin-right:auto}.summary-grid{grid-template-columns:1fr}.metric-card{min-height:88px}.hero-balance{align-items:flex-start;gap:25px;flex-direction:column}.hero-balance__currency{width:100%}.budget-grid--full,.budget-summary-grid,.settings-grid,.telegram-setup-steps,.membership-grid{grid-template-columns:1fr}.due-card{grid-template-columns:54px minmax(0,1fr) 150px}}@media(max-width:560px){.login-page{padding:18px}.landing-page{padding:16px 16px 28px}.landing-header{min-height:46px}.landing-brand{gap:7px}.landing-brand>span{width:34px;height:34px;border-radius:10px}.landing-brand strong{font-size:14px}.landing-login-button{min-height:38px;padding:0 12px}.landing-login-button .google-mark{width:20px;height:20px;font-size:10px}.landing-hero{min-height:0;margin-top:16px}.landing-hero__copy{padding:34px 0 18px}.landing-hero h1{font-size:clamp(38px,12vw,52px)}.landing-hero h1 br{display:none}.landing-hero__description{margin-top:20px;font-size:15px}.landing-actions{margin-top:25px;flex-direction:column;gap:16px}.landing-primary-button{width:100%}.landing-trust{margin-top:18px}.landing-preview-wrap{width:100%;padding-top:38px}.landing-preview-wrap:before{right:-18%;border-radius:34px}.landing-preview{padding:15px;border-radius:20px}.landing-preview__balance{min-height:122px;padding:18px}.landing-preview__balance strong{font-size:25px}.landing-preview-accent{right:-4px;top:16px}.landing-benefits{padding:10px 16px}.landing-how{margin-top:42px;padding:30px 24px;border-radius:22px}.landing-how__steps{margin:22px 0 25px}.landing-how>.landing-primary-button{width:100%}.main-content{padding:0 14px 35px}.topbar{gap:8px}.topbar__title p{display:none}.topbar h1{font-size:20px}.topbar__actions .icon-button{display:none}.topbar__actions .icon-button--theme{display:grid}.primary-button{padding:0 12px}.topbar__actions .primary-button{font-size:0;width:43px;padding:0}.topbar__actions .primary-button svg{margin:0}.hero-balance{padding:23px}.hero-balance>div>strong{font-size:31px}.budget-currency-panel{padding:16px}.panel,.page-section{padding:17px;border-radius:16px}.transaction-row{grid-template-columns:36px minmax(100px,1fr) auto auto}.transaction-row--compact{grid-template-columns:36px minmax(100px,1fr) auto}.transaction-row__date,.transaction-row__author,.transaction-row__payer{display:none}.amount{min-width:88px;font-size:10.5px}.search-box{min-width:0;width:100%}.pagination{justify-content:space-between}.section-heading,.section-heading__actions{align-items:stretch;flex-direction:column}.movement-filters{grid-template-columns:1fr 1fr}.movement-filters>span{justify-self:start}.due-item{grid-template-columns:44px 1fr auto}.due-item .secondary-button{grid-column:1 / -1}.due-page__heading .primary-button{width:100%}.due-card{grid-template-columns:50px minmax(0,1fr);gap:11px;padding:13px}.due-card__amounts{grid-column:2}.due-card__actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr)}.due-card__actions .secondary-button{grid-column:1 / -1}.due-card__actions>.secondary-button:only-child{grid-column:1 / -1}.due-card__title{align-items:flex-start;flex-direction:column;gap:4px}.due-card__title>strong{white-space:normal}.form-grid,.recalibration-impact{grid-template-columns:1fr}.modal{padding:20px}.budget-toolbar{align-items:stretch;flex-direction:column;padding:18px}.budget-toolbar__controls{align-items:stretch;flex-direction:column}.budget-toolbar__controls select{width:100%}.budget-actions{display:grid}.budget-editor-row{grid-template-columns:1fr}.settings-intro{align-items:flex-start;flex-direction:column;padding:18px}.membership-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.membership-actions>button{width:100%}.spaces-toolbar{align-items:stretch;flex-direction:column}.spaces-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.space-card{grid-template-columns:36px minmax(0,1fr)}.space-card__icon{width:36px;height:36px}.space-card__main>div{align-items:flex-start;flex-wrap:wrap;gap:4px 6px}.space-card__main strong{flex-basis:100%;width:100%}.space-card>.icon-button{grid-column:1 / -1;width:100%}.settings-panel{padding:17px}.settings-panel__heading{align-items:stretch;flex-direction:column}.settings-panel__heading .secondary-button{width:100%}.telegram-guide__intro{align-items:stretch;flex-direction:column}.telegram-guide__open{width:100%}.telegram-examples{grid-template-columns:1fr}.settings-card{grid-template-columns:32px minmax(0,1fr)}.settings-card__mark{width:32px;height:32px}.settings-card__actions{grid-column:1 / -1;justify-content:flex-end;border-top:1px solid var(--surface-sunken);padding-top:9px}.membership-card__actions select{width:100%}.category-swatch{width:26px;height:26px;margin-left:3px}}@media(max-width:380px){.transaction-row:not(.transaction-row--compact){grid-template-columns:32px minmax(0,1fr) auto;column-gap:8px}.transaction-row:not(.transaction-row--compact) .transaction-row__actions{grid-column:2 / -1;justify-content:flex-start}.transaction-row:not(.transaction-row--compact) .amount{min-width:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
