@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font: "Onest Variable", "Onest", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-num: "Onest Variable", system-ui, sans-serif;--r-xs: 8px;--r-s: 11px;--r-m: 14px;--r-l: 18px;--r-xl: 24px;--r-full: 999px;--gap: 16px;--pad: 18px;--page-x: 16px;--control-h: 48px;--tabbar-h: 64px;--header-h: 56px;--sidebar-w: 268px;--safe-top: max(env(safe-area-inset-top, 0px), var(--tg-content-safe-area-inset-top, 0px) + var(--tg-safe-area-inset-top, 0px));--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px));--ease: cubic-bezier(.2, .8, .2, 1);--t-fast: .14s;--t: .22s;--bg: #f3f4f8;--bg-tint: #eceef5;--surface: #ffffff;--surface-2: #f7f8fb;--surface-3: #eff1f6;--overlay: rgba(14, 18, 34, .42);--glass: rgba(255, 255, 255, .82);--border: #e6e8f0;--border-strong: #d6dae5;--text: #11162a;--text-2: #4c556b;--text-3: #8b93a7;--text-inv: #ffffff;--primary: #4361ff;--primary-hover: #3550ef;--primary-press: #2b44d6;--primary-soft: #edf0ff;--primary-soft-2: #dfe5ff;--primary-text: #3149dc;--on-primary: #ffffff;--focus: rgba(67, 97, 255, .35);--success: #0f9f6e;--success-soft: #e6f6ef;--success-text: #0a7a54;--warning: #d97a06;--warning-soft: #fff3e2;--warning-text: #a85d00;--danger: #e5484d;--danger-soft: #fdeced;--danger-text: #c8323a;--violet: #7c5cff;--violet-soft: #f1edff;--violet-text: #6142e6;--teal: #0ea5a0;--teal-soft: #e3f6f5;--teal-text: #08807c;--neutral-soft: #eef0f5;--neutral-text: #5b6478;--hero: radial-gradient(120% 140% at 100% 0%, rgba(255, 255, 255, .18) 0%, transparent 46%), linear-gradient(135deg, #2f47e8 0%, #4f4bff 48%, #8257f5 100%);--hero-shadow: 0 18px 40px -18px rgba(67, 72, 255, .55);--shadow-xs: 0 1px 2px rgba(17, 22, 42, .05);--shadow-s: 0 1px 2px rgba(17, 22, 42, .04), 0 2px 8px rgba(17, 22, 42, .05);--shadow-m: 0 6px 20px -6px rgba(17, 22, 42, .12), 0 2px 6px rgba(17, 22, 42, .04);--shadow-l: 0 24px 60px -20px rgba(17, 22, 42, .3);color-scheme:light}:root[data-theme=dark]{--bg: #0b0d14;--bg-tint: #10131d;--surface: #151925;--surface-2: #1a1f2d;--surface-3: #222839;--overlay: rgba(2, 4, 10, .66);--glass: rgba(18, 21, 32, .86);--border: #252b3b;--border-strong: #333b50;--text: #f1f3f9;--text-2: #b3bacb;--text-3: #7d869b;--primary: #6d86ff;--primary-hover: #8197ff;--primary-press: #5a74f5;--primary-soft: #1d2445;--primary-soft-2: #263064;--primary-text: #9aaaff;--focus: rgba(109, 134, 255, .45);--success: #2fbf8b;--success-soft: #11291f;--success-text: #5fd6aa;--warning: #f0a23b;--warning-soft: #2c2010;--warning-text: #f6be6e;--danger: #ff6369;--danger-soft: #331618;--danger-text: #ff8d91;--violet: #9b84ff;--violet-soft: #231d42;--violet-text: #b8a6ff;--teal: #2cc7c1;--teal-soft: #0f2928;--teal-text: #5fdcd6;--neutral-soft: #222838;--neutral-text: #a5adc0;--hero: radial-gradient(120% 140% at 100% 0%, rgba(255, 255, 255, .12) 0%, transparent 46%), linear-gradient(135deg, #2537c4 0%, #3d3be0 50%, #6a45d6 100%);--hero-shadow: 0 18px 40px -20px rgba(40, 50, 220, .6);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-s: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .2);--shadow-m: 0 8px 24px -8px rgba(0, 0, 0, .5);--shadow-l: 0 24px 60px -20px rgba(0, 0, 0, .7);color-scheme:dark}:root[data-density=compact]{--gap: 12px;--pad: 14px;--control-h: 44px}@media(min-width:720px){:root{--page-x: 28px;--pad: 22px;--gap: 20px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;padding:0}body{font-family:var(--font);font-size:15px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" 0;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;min-height:100vh;min-height:100dvh}#root{min-height:100vh;min-height:100dvh}h1,h2,h3,h4,p{margin:0}h1{font-size:26px;line-height:1.15;font-weight:700;letter-spacing:-.02em}h2{font-size:18px;line-height:1.25;font-weight:650;letter-spacing:-.01em}h3{font-size:15px;line-height:1.3;font-weight:600}a{color:var(--primary-text);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:not-allowed}img{max-width:100%;display:block}svg{flex-shrink:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}::selection{background:var(--primary-soft-2)}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.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}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media(pointer:fine){*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}}.shell{min-height:100dvh;display:flex}.main{flex:1;min-width:0;display:flex;flex-direction:column}.page{width:100%;max-width:1180px;margin:0 auto;padding:12px var(--page-x) calc(var(--tabbar-h) + var(--safe-bottom) + 28px);animation:fade-up var(--t) var(--ease)}.page.narrow{max-width:760px}@media(min-width:1024px){.page{padding:8px 36px 48px}}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;min-height:calc(var(--header-h) + var(--safe-top));padding:var(--safe-top) var(--page-x) 0;background:var(--glass);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid transparent;transition:border-color var(--t)}.topbar.scrolled{border-bottom-color:var(--border)}.topbar-title{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.topbar-title strong{font-size:17px;font-weight:650;letter-spacing:-.01em}.topbar-actions{display:flex;align-items:center;gap:4px}.topbar .brand-mobile{display:flex}@media(min-width:1024px){.topbar{padding:0 36px;min-height:68px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.topbar.scrolled{background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.topbar .brand-mobile{display:none}}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:34px;height:34px;border-radius:10px;flex-shrink:0;box-shadow:0 6px 14px -6px #4348ffb3}.brand-text{display:flex;flex-direction:column;line-height:1.05;min-width:0}.brand-text b{white-space:nowrap;font-size:14px;font-weight:750;letter-spacing:.04em}.brand-text span{white-space:nowrap;font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--text-3);text-transform:uppercase;margin-top:3px}.sidebar{display:none}@media(min-width:1024px){.sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;width:var(--sidebar-w);flex-shrink:0;padding:22px 16px 16px;background:var(--surface);border-right:1px solid var(--border)}.sidebar .brand{padding:0 8px 22px}.side-nav{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin:0 -4px;padding:0 4px}.side-group{font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:16px 12px 6px}.side-link{display:flex;align-items:center;gap:12px;width:100%;min-height:42px;padding:0 12px;border-radius:var(--r-s);color:var(--text-2);font-weight:550;text-align:left;transition:background var(--t-fast),color var(--t-fast)}.side-link svg{width:19px;height:19px}.side-link:hover{background:var(--surface-2);color:var(--text)}.side-link.active{background:var(--primary-soft);color:var(--primary-text)}.side-link .count{margin-left:auto}.side-user{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px;border-radius:var(--r-m);background:var(--surface-2);border:1px solid var(--border)}.side-user>div{flex:1;min-width:0;line-height:1.25}.side-user strong{display:block;font-size:14px}.side-user span{font-size:12.5px;color:var(--text-3)}}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--tabbar-h) + var(--safe-bottom));padding:6px 6px var(--safe-bottom);background:var(--glass);backdrop-filter:saturate(1.6) blur(20px);-webkit-backdrop-filter:saturate(1.6) blur(20px);border-top:1px solid var(--border)}.tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.01em;transition:color var(--t-fast)}.tab svg{width:23px;height:23px;transition:transform var(--t) var(--ease)}.tab.active{color:var(--primary-text)}.tab.active svg{transform:translateY(-1px)}.tab.active:before{content:"";position:absolute;top:2px;width:44px;height:30px;border-radius:12px;background:var(--primary-soft);z-index:-1}.tab .tab-dot{position:absolute;top:6px;left:calc(50% + 9px)}@media(min-width:1024px){.tabbar{display:none}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:8px 0 18px;flex-wrap:wrap}.page-head>div:first-child{min-width:0;flex:1 1 260px}.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.page-head p{margin-top:6px;color:var(--text-2)}.page-head .head-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:719px){h1{font-size:24px}.page-head .head-actions{width:100%}.page-head .head-actions .button{flex:1}}.topbar-name{animation:fade-in var(--t) ease}@media(min-width:1024px){.topbar .topbar-name{display:block}}.grid{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1fr)}.grid-2{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid-3{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.split{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1fr)}@media(min-width:1024px){.split{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.split.detail{grid-template-columns:minmax(0,1fr) 380px}}.stack{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.stack-s{display:flex;flex-direction:column;gap:10px}.row{display:flex;align-items:center;gap:10px}.row-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer{flex:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h);padding:0 18px;border-radius:var(--r-m);font-weight:650;font-size:15px;letter-spacing:-.005em;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast),opacity var(--t-fast);user-select:none}.button svg{width:18px;height:18px}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.5}.button.primary{background:var(--primary);color:var(--on-primary);box-shadow:0 6px 16px -8px var(--primary)}.button.primary:hover:not(:disabled){background:var(--primary-hover)}.button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-xs)}.button.secondary:hover:not(:disabled){background:var(--surface-2)}.button.soft{background:var(--primary-soft);color:var(--primary-text)}.button.soft:hover:not(:disabled){background:var(--primary-soft-2)}.button.ghost{background:transparent;color:var(--text-2)}.button.ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.button.danger{background:var(--danger);color:#fff}.button.danger-soft{background:var(--danger-soft);color:var(--danger-text)}.button.success{background:var(--success);color:#fff;box-shadow:0 6px 16px -8px var(--success)}.button.small{min-height:36px;padding:0 12px;font-size:13.5px;border-radius:var(--r-s)}.button.small svg{width:16px;height:16px}.button.block{width:100%}.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:var(--text-2);transition:background var(--t-fast),color var(--t-fast)}.icon-button:hover{background:var(--surface-3);color:var(--text)}.icon-button svg{width:21px;height:21px}.icon-button .dot{position:absolute;top:8px;right:8px}.link-button{color:var(--primary-text);font-weight:600;display:inline-flex;align-items:center;gap:4px;font-size:14px}.link-button svg{width:16px;height:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-l);box-shadow:var(--shadow-s);padding:var(--pad)}.card.flush{padding:0;overflow:hidden}.card.tinted{background:var(--surface-2);box-shadow:none}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head h2{display:flex;align-items:center;gap:8px}.card-head p{font-size:13px;color:var(--text-3);margin-top:2px}.flush>.card-head{padding:var(--pad) var(--pad) 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 2px 12px}.section-title h2{font-size:17px}.badge{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:var(--r-full);font-size:12px;font-weight:650;white-space:nowrap;letter-spacing:.005em;background:var(--neutral-soft);color:var(--neutral-text)}.badge svg{width:13px;height:13px}.badge.lg{height:28px;padding:0 12px;font-size:13px}.tone-accent{background:var(--primary-soft);color:var(--primary-text)}.tone-success{background:var(--success-soft);color:var(--success-text)}.tone-warning{background:var(--warning-soft);color:var(--warning-text)}.tone-danger{background:var(--danger-soft);color:var(--danger-text)}.tone-violet{background:var(--violet-soft);color:var(--violet-text)}.tone-teal{background:var(--teal-soft);color:var(--teal-text)}.tone-neutral{background:var(--neutral-soft);color:var(--neutral-text)}.count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-full);background:var(--primary);color:#fff;font-size:11.5px;font-weight:700}.count.muted{background:var(--surface-3);color:var(--text-2)}.dot{width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 2px var(--surface);display:inline-block}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:var(--r-m);background:var(--surface-3);max-width:100%;min-width:0}.segmented button{min-height:36px;min-width:0;padding:0 14px;border-radius:11px;font-size:14px;font-weight:600;color:var(--text-2);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-s)}.segmented.block{display:flex;width:100%}.segmented.block button{flex:1 1 0;justify-content:center;text-align:center;padding:4px 8px;white-space:normal;line-height:1.15;overflow-wrap:anywhere}@media(max-width:420px){.segmented.block button svg{display:none}}.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--page-x) * -1);padding:2px var(--page-x)}.chips::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;min-height:36px;padding:0 14px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border);font-size:14px;font-weight:600;color:var(--text-2);white-space:nowrap;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.chip:hover{border-color:var(--border-strong)}.chip.active{background:var(--text);color:var(--surface);border-color:var(--text)}.chip .chip-count{font-size:12px;opacity:.65;font-variant-numeric:tabular-nums}.chip svg{width:15px;height:15px}.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.choice{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:var(--r-m);border:1px solid var(--border-strong);background:var(--surface);font-size:14px;font-weight:550;color:var(--text-2);text-align:left}.choice.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text);box-shadow:inset 0 0 0 1px var(--primary)}.choice svg{width:17px;height:17px}.form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field-label{font-size:13.5px;font-weight:600;color:var(--text-2);display:flex;align-items:center;gap:6px}.field-label .optional{font-weight:500;color:var(--text-3)}.field-hint{font-size:12.5px;color:var(--text-3)}.field-error{font-size:13px;color:var(--danger-text)}.input,.select,.textarea{width:100%;min-height:var(--control-h);padding:0 14px;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--border-strong);color:var(--text);font-size:16px;transition:border-color var(--t-fast),box-shadow var(--t-fast);-webkit-appearance:none;appearance:none}.textarea{padding:12px 14px;min-height:96px;resize:vertical;line-height:1.45}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--focus)}.input[aria-invalid=true]{border-color:var(--danger)}.select{padding-right:40px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238b93a7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .input{padding-right:44px}.input-wrap .suffix{position:absolute;right:14px;color:var(--text-3);font-weight:600;pointer-events:none}.input-wrap .prefix-icon{position:absolute;left:14px;color:var(--text-3);width:19px;height:19px;pointer-events:none}.input-wrap .prefix-icon+.input{padding-left:42px}.input-wrap .clear{position:absolute;right:6px}.input.money{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.01em}input[type=date].input,input[type=month].input,input[type=time].input{min-width:0;display:flex;align-items:center}input[type=date].input::-webkit-date-and-time-value,input[type=month].input::-webkit-date-and-time-value{text-align:left}.form-row{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}@media(max-width:359px){.form-row{grid-template-columns:1fr}}.form-error{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-m);background:var(--danger-soft);color:var(--danger-text);font-size:14px;font-weight:500}.form-error svg{width:18px;height:18px;margin-top:1px}.notice{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:var(--r-m);background:var(--surface-2);border:1px solid var(--border);font-size:14px;color:var(--text-2)}.notice svg{width:20px;height:20px;color:var(--primary-text);margin-top:1px}.notice strong{color:var(--text);display:block;margin-bottom:2px}.notice.warning{background:var(--warning-soft);border-color:transparent;color:var(--warning-text)}.notice.warning svg{color:var(--warning)}.notice.accent{background:var(--primary-soft);border-color:transparent}.check{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:var(--r-m);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;font-size:14.5px;line-height:1.4}.check.checked{border-color:var(--success);background:var(--success-soft)}.check input{position:absolute;opacity:0;pointer-events:none}.check-box{width:22px;height:22px;border-radius:7px;border:2px solid var(--border-strong);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:all var(--t-fast)}.check-box svg{width:15px;height:15px;opacity:0}.check.checked .check-box{background:var(--success);border-color:var(--success)}.check.checked .check-box svg{opacity:1}.check input:focus-visible+.check-box{box-shadow:0 0 0 4px var(--focus)}.switch-row{display:flex;align-items:center;gap:14px;min-height:52px}.switch-row>div{flex:1;min-width:0}.switch-row strong{display:block;font-weight:600}.switch-row span{font-size:13px;color:var(--text-3)}.switch{position:relative;width:50px;height:30px;border-radius:15px;background:var(--border-strong);flex-shrink:0;transition:background var(--t)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:transform var(--t) var(--ease)}.switch[aria-checked=true]{background:var(--success)}.switch[aria-checked=true]:after{transform:translate(20px)}.dropzone{position:relative;display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--r-m);border:1.5px dashed var(--border-strong);background:var(--surface-2);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.dropzone:hover,.dropzone.drag{border-color:var(--primary);background:var(--primary-soft)}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone-icon{width:44px;height:44px;border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--primary-text);box-shadow:var(--shadow-xs)}.dropzone-icon svg{width:22px;height:22px}.dropzone strong{display:block;font-size:14.5px}.dropzone span{font-size:12.5px;color:var(--text-3)}.file-list{display:flex;flex-direction:column;gap:8px}.file-tile{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:var(--r-m);background:var(--surface-2);border:1px solid var(--border);text-align:left;min-width:0;transition:border-color var(--t-fast),background var(--t-fast)}button.file-tile:hover{border-color:var(--primary);background:var(--primary-soft)}.file-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:.04em}.file-icon.pdf{background:var(--danger-soft);color:var(--danger-text)}.file-icon.img{background:var(--teal-soft);color:var(--teal-text)}.file-tile>div{flex:1;min-width:0}.file-tile strong{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tile>div>span{display:block;font-size:12.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tile>svg{color:var(--text-3);width:18px;height:18px}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:13px;width:100%;padding:14px var(--pad);text-align:left;border-top:1px solid var(--border);min-width:0;transition:background var(--t-fast)}.list>.list-row:first-child,.list>:first-child .list-row{border-top:0}button.list-row:hover,a.list-row:hover{background:var(--surface-2)}.list-row>.grow{flex:1;min-width:0}.list-row .title{font-weight:600;font-size:15px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row .sub{font-size:13px;color:var(--text-3);display:flex;align-items:center;gap:6px;margin-top:2px;min-width:0;overflow:hidden;white-space:nowrap}.list-row .sub>*{flex-shrink:0}.list-row .sub>.ellipsis{flex-shrink:1}.list-row .sub svg{width:13px;height:13px}.list-row .end{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.list-row .amount{font-weight:700;font-size:15.5px;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em}.list-row .chevron{color:var(--text-3);width:18px;height:18px;flex-shrink:0}.cards-list{display:flex;flex-direction:column;gap:10px}.item-card{display:flex;align-items:flex-start;gap:13px;width:100%;padding:14px 16px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-l);box-shadow:var(--shadow-xs);transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}button.item-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-m)}button.item-card:active{transform:scale(.995)}.item-card>.grow{flex:1;min-width:0}.item-card .title{font-weight:650;font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.item-card .sub{font-size:13px;color:var(--text-3);display:flex;align-items:center;gap:6px;margin-top:3px;min-width:0;overflow:hidden;white-space:nowrap}.item-card .sub>*{flex-shrink:0}.item-card .sub>.ellipsis{flex-shrink:1}.item-card .sub svg{width:13px;height:13px}.item-card .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.item-card .end{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.item-card .amount{font-weight:700;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em}.sep-dot:before{content:"·";margin-right:6px;color:var(--text-3)}.danger-text{color:var(--danger-text)!important}.warning-text{color:var(--warning-text)!important}.success-text{color:var(--success-text)!important}.icon-tile{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-tile:not([class*=tone-]){background:var(--primary-soft);color:var(--primary-text)}.icon-tile svg{width:21px;height:21px}.icon-tile.sm{width:36px;height:36px;border-radius:11px}.icon-tile.sm svg{width:18px;height:18px}.avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:700;color:#fff;letter-spacing:.02em}.avatar.sm{width:30px;height:30px;font-size:11.5px}.avatar.lg{width:56px;height:56px;font-size:19px}.kv{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:12px 16px;font-size:14.5px}.kv dt{color:var(--text-3)}.kv dd{margin:0;font-weight:550;min-width:0;overflow-wrap:anywhere}.timeline{display:flex;flex-direction:column}.timeline-item{position:relative;display:flex;gap:12px;padding-bottom:18px}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:15px;top:32px;bottom:2px;width:2px;background:var(--border)}.timeline-item:last-child:before{display:none}.timeline-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.timeline-icon svg{width:16px;height:16px}.timeline-body{flex:1;min-width:0;padding-top:5px}.timeline-body strong{font-size:14.5px;font-weight:600;display:block}.timeline-body .who{font-size:13px;color:var(--text-3)}.timeline-body .note{margin-top:7px;padding:9px 12px;border-radius:var(--r-s);background:var(--surface-2);border:1px solid var(--border);font-size:14px;color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 20px;gap:8px}.empty-icon{width:64px;height:64px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:var(--primary-soft);color:var(--primary-text);margin-bottom:8px}.empty-icon svg{width:30px;height:30px}.empty.error .empty-icon{background:var(--danger-soft);color:var(--danger-text)}.empty p{color:var(--text-2);max-width:360px;font-size:14.5px}.empty .button{margin-top:10px}.skeleton{border-radius:var(--r-s);background:linear-gradient(90deg,var(--surface-3) 0,var(--surface-2) 50%,var(--surface-3) 100%);background-size:800px 100%;animation:shimmer 1.3s linear infinite}.skeleton-card{height:76px;border-radius:var(--r-l)}.center-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.sheet-backdrop{position:fixed;inset:0;z-index:100;background:var(--overlay);display:flex;align-items:flex-end;justify-content:center;animation:fade-in var(--t) ease}.sheet{width:100%;max-height:calc(100dvh - var(--safe-top) - 24px);display:flex;flex-direction:column;background:var(--surface);border-radius:24px 24px 0 0;box-shadow:var(--shadow-l);animation:sheet-up .28s var(--ease);padding-bottom:var(--safe-bottom)}.sheet-grip{width:38px;height:5px;border-radius:3px;background:var(--border-strong);margin:8px auto 0;flex-shrink:0}.sheet-head{display:flex;align-items:flex-start;gap:12px;padding:14px 20px 10px;flex-shrink:0}.sheet-head>div{flex:1;min-width:0}.sheet-head h2{font-size:19px}.sheet-head p{font-size:13.5px;color:var(--text-3);margin-top:3px}.sheet-body{flex:1;overflow-y:auto;padding:6px 20px 20px;overscroll-behavior:contain}.sheet-foot{display:flex;gap:10px;padding:12px 20px 14px;border-top:1px solid var(--border);flex-shrink:0;background:var(--surface)}.sheet-foot .button{flex:1;min-width:0}.sheet-foot .button.secondary{flex:0 0 auto}@media(min-width:720px){.sheet-backdrop{align-items:center;padding:24px}.sheet{max-width:560px;border-radius:24px;max-height:min(860px,calc(100dvh - 48px));animation:pop .24s var(--ease);padding-bottom:0}.sheet.wide{max-width:760px}.sheet-grip{display:none}.sheet-head{padding:22px 24px 12px}.sheet-body{padding:6px 24px 24px}.sheet-foot{padding:14px 24px 18px;border-radius:0 0 24px 24px;justify-content:flex-end}.sheet-foot .button{flex:0 0 auto;min-width:140px}}.toasts{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 12px);z-index:200;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;padding:0 16px}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:520px;width:100%;padding:12px 12px 12px 16px;border-radius:var(--r-m);background:var(--text);color:var(--surface);box-shadow:var(--shadow-l);font-size:14.5px;font-weight:550;animation:pop .22s var(--ease)}.toast svg{width:20px;height:20px;flex-shrink:0}.toast.success svg{color:#3ddc97}.toast.error{background:var(--danger);color:#fff}.toast span{flex:1}.toast button{color:inherit;opacity:.7;padding:4px;display:flex}@media(min-width:1024px){.toasts{bottom:24px;align-items:flex-end;padding-right:32px}.toast{width:auto;min-width:320px}}.offline-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-m);margin-bottom:14px;background:var(--danger-soft);color:var(--danger-text);font-weight:550;font-size:14px}.progress{height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden}.progress>i{display:block;height:100%;border-radius:4px;background:var(--success);transition:width var(--t) var(--ease)}.action-bar{position:sticky;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 10px);z-index:20;margin-top:var(--gap);display:flex;gap:8px;padding:10px;border-radius:var(--r-l);background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border);box-shadow:var(--shadow-m)}.action-bar{flex-wrap:wrap}.action-bar .button{flex:1 1 auto;min-width:0;padding:0 14px}@media(max-width:1023px){.action-bar:has(>.button:nth-child(3))>.button:first-child{flex-basis:100%}}@media(max-width:360px){.action-bar .button{padding:0 10px;gap:6px;font-size:14px}}@media(min-width:1024px){.action-bar{position:static;box-shadow:none;background:var(--surface)}}.home-greeting{padding:6px 2px 0}.home-greeting h1{font-size:28px}.home-greeting p{margin-top:6px}.attention-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}.attention-card{display:flex;align-items:center;gap:12px;padding:14px;text-align:left;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs);transition:box-shadow var(--t-fast),transform var(--t-fast),border-color var(--t-fast);position:relative;overflow:hidden}.attention-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--primary)}.attention-card.tone-border-warning:before{background:var(--warning)}.attention-card.tone-border-danger:before{background:var(--danger)}.attention-card.tone-border-violet:before{background:var(--violet)}.attention-card:hover{box-shadow:var(--shadow-m);border-color:var(--border-strong)}.attention-card:active{transform:scale(.99)}.attention-card .grow{flex:1;min-width:0}.attention-card strong{display:block;font-size:15px;font-weight:650}.attention-card span{font-size:13px;color:var(--text-3)}.attention-count{font-size:24px;font-weight:750;letter-spacing:-.02em}.attention-card .chevron{color:var(--text-3);width:18px;height:18px}.hero-card{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:22px;color:#fff;background:var(--hero);box-shadow:var(--hero-shadow)}.hero-card:after{content:"";position:absolute;width:260px;height:260px;right:-80px;bottom:-120px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 65%);pointer-events:none}.hero-top{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:550;opacity:.92}.hero-top .badge{background:#ffffff29;color:#fff}.hero-amount{font-size:40px;line-height:1.1;font-weight:750;letter-spacing:-.03em;margin-top:14px;display:flex;align-items:baseline;gap:6px}.hero-amount small{font-size:24px;font-weight:600;opacity:.8}.hero-caption{margin-top:6px;font-size:14px;opacity:.85}.hero-caption b{font-weight:700;color:#ffd9a0}.hero-links{display:flex;flex-direction:column;gap:8px;margin-top:18px;position:relative;z-index:1}.hero-link{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 10px 8px 8px;border-radius:var(--r-m);color:#fff;text-align:left;background:#ffffff21;border:1px solid rgba(255,255,255,.16);transition:background var(--t-fast),transform var(--t-fast)}.hero-link:hover{background:#ffffff36}.hero-link:active{transform:scale(.985);background:#ffffff3d}.hero-link-icon{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#ffffff29}.hero-link-icon svg{width:18px;height:18px}.hero-link-label{flex:1;min-width:0;display:flex;flex-direction:column;font-size:15px;font-weight:600;line-height:1.25}.hero-link-label small{font-size:12.5px;font-weight:500;opacity:.8}.hero-link-count{flex:none;min-width:32px;height:28px;padding:0 10px;border-radius:999px;background:#fff3;font-size:15px;font-weight:750;line-height:28px;text-align:center}.hero-link-chevron{flex:none;width:18px;height:18px;opacity:.75;margin-left:-4px}.hero-link.warn .hero-link-icon,.hero-link.warn .hero-link-count{background:#ffd9a0;color:#5b3500}@media(max-width:400px){.hero-amount{font-size:34px}}@media(max-width:360px){.hero-link{gap:9px;padding-left:6px}.hero-link-icon{width:32px;height:32px;border-radius:10px}.hero-link-label{font-size:14px}}.quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));gap:10px}@media(max-width:480px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.quick-action{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--r-l);text-align:left;background:var(--surface);border:1px solid var(--border);font-weight:600;font-size:14px;box-shadow:var(--shadow-xs);transition:box-shadow var(--t-fast),border-color var(--t-fast)}.quick-action span:nth-child(2){flex:1;min-width:0;line-height:1.25}.quick-action:hover{box-shadow:var(--shadow-m);border-color:var(--border-strong)}.unread-mark{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:transparent}.unread-mark.on{background:var(--primary)}.privacy-note{display:flex;gap:12px;padding:16px;border-radius:var(--r-l);background:var(--surface-2);border:1px dashed var(--border-strong);font-size:13.5px;color:var(--text-2)}.privacy-note svg{color:var(--success);width:22px;height:22px}.privacy-note strong{display:block;color:var(--text);margin-bottom:2px}.due-text{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--text-3)}.due-text.danger{color:var(--danger-text)}.due-text.warning{color:var(--warning-text)}.due-pill{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:var(--r-full);font-size:13.5px;font-weight:600;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.due-pill svg{width:15px;height:15px}.due-pill.danger{background:var(--danger-soft);color:var(--danger-text);border-color:transparent}.due-pill.warning{background:var(--warning-soft);color:var(--warning-text);border-color:transparent}.due-pill .avatar{margin-left:-6px}.toolbar{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.toolbar>.input-wrap:first-child{flex:1 1 260px}.sort-select{flex:0 1 220px}.sort-select .select{padding-left:42px}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}.stat{padding:14px 16px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs);min-width:0}.stat span{font-size:12.5px;color:var(--text-3);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.stat b{display:block;font-size:20px;font-weight:750;margin-top:4px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat small{font-size:12.5px;color:var(--text-3)}.stat.danger b{color:var(--danger-text)}.stat.warning b{color:var(--warning-text)}@media(max-width:520px){.stat-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.stat-strip .stat:first-child:nth-last-child(3){grid-column:1 / -1}}.group-title{display:flex;align-items:center;gap:8px;margin:18px 4px 10px;font-size:13px;font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em}.group-title:first-child{margin-top:4px}.group-title span{color:var(--text-3)}.group-title.danger{color:var(--danger-text)}.group-title.warning{color:var(--warning-text)}.detail-hero{padding:22px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-s);display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.detail-hero:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--primary),#8b5cf6)}.detail-hero.violet:before{background:linear-gradient(90deg,var(--violet),#c26dff)}.detail-hero.warm:before{background:linear-gradient(90deg,var(--warning),#f5c26b)}.detail-hero h1{font-size:24px;overflow-wrap:anywhere}.detail-amount{font-size:30px;font-weight:750;letter-spacing:-.02em}.description{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.description p{margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.sum-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--r-m);background:var(--surface-2);border:1px solid var(--border)}.sum-box span{color:var(--text-2);font-size:14px}.sum-box b{font-size:20px;font-weight:750}.dup-list{display:flex;flex-direction:column;gap:2px;margin:6px 0;font-weight:600}.people{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}.people>div{display:flex;align-items:center;gap:12px}.people>div>div{display:flex;flex-direction:column;line-height:1.3}.people span{font-size:12px}.people small{font-size:12.5px;color:var(--text-3)}.task-card{padding:10px 14px 10px 8px;align-items:flex-start}.task-check{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--text-3)}.task-check svg{width:24px;height:24px}.task-check:not(:disabled):hover{color:var(--success);background:var(--success-soft)}.task-check.done{color:var(--success)}.task-open{flex:1;min-width:0;text-align:left;padding:4px 0}.struck{text-decoration:line-through;color:var(--text-3)}.calendar-card{padding:16px}.calendar-head{display:flex;align-items:center;gap:4px;margin-bottom:12px}.calendar-head h2{flex:1;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-head .button{flex-shrink:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{text-align:center;font-size:12px;font-weight:650;color:var(--text-3);padding:4px 0 8px}.calendar-day{aspect-ratio:1 / 1;min-height:40px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:14.5px;font-weight:600;color:var(--text);transition:background var(--t-fast)}.calendar-day:hover{background:var(--surface-3)}.calendar-day.outside{color:var(--text-3);opacity:.55}.calendar-day.today{color:var(--primary-text);box-shadow:inset 0 0 0 1.5px var(--primary)}.calendar-day.selected{background:var(--primary);color:#fff;box-shadow:none}.calendar-dots{display:flex;gap:3px;height:6px}.cal-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--primary)}.cal-dot.task{background:var(--teal)}.cal-dot.leave{background:var(--violet)}.cal-dot.overdue{background:var(--danger)}.calendar-day.selected .cal-dot{background:#fff}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:12.5px;color:var(--text-3)}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.month-list{margin-top:var(--gap)}.payroll-progress{display:flex;flex-direction:column;gap:8px}.payroll-progress span{font-size:13.5px;color:var(--text-2)}.payroll-line{align-items:flex-start;flex-wrap:wrap}.payroll-line>.line-files{flex:1 1 100%;min-width:0;display:flex;flex-direction:column;gap:8px;padding-left:51px}@media(max-width:400px){.payroll-line>.line-files{padding-left:0}}.calc-row{display:flex;align-items:center;gap:4px;min-width:0}.calc-row .file-tile{flex:1 1 0;min-width:0}.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mini-stats>div{padding:12px;border-radius:var(--r-m);background:var(--surface-2);text-align:center}.mini-stats span{display:block;font-size:12px;color:var(--text-3)}.mini-stats b{font-size:20px}.editor-lines{display:flex;flex-direction:column;gap:8px}.editor-line{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 40px;gap:8px;align-items:center}.editor-line .input.money{font-size:16px;padding-right:32px}@media(max-width:600px){.editor-line{grid-template-columns:1fr 1fr 40px;padding:10px;border-radius:var(--r-m);background:var(--surface-2);border:1px solid var(--border)}.editor-line>select:first-child{grid-column:1 / -1}}.salary-summary{border-radius:var(--r-xl);padding:22px;color:#fff;background:var(--hero);box-shadow:var(--hero-shadow)}.salary-total span{font-size:14px;opacity:.85}.salary-total b{display:block;font-size:36px;font-weight:750;letter-spacing:-.03em;margin-top:4px}.salary-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:16px}.salary-split>div{padding:12px;border-radius:var(--r-m);background:#ffffff21;border:1px solid rgba(255,255,255,.15)}.salary-split span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;opacity:.85}.salary-split b{display:block;font-size:18px;margin-top:2px}.salary-lines{display:flex;flex-direction:column;gap:12px}.salary-line{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border)}.salary-line:last-child{border-bottom:0;padding-bottom:0}.salary-line strong{display:block}.salary-line .faint{font-size:13px}.salary-line b{font-size:17px}.small-note{font-size:13px}.narrow-stack{max-width:760px;margin:0 auto;width:100%}.doc-row{gap:8px}.doc-open{flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left}.doc-open .grow{flex:1;min-width:0}.notification.unread{background:var(--primary-soft)}.notification.unread .title{font-weight:700}@media(max-width:520px){.doc-row .badge{display:none}}.muted-card{margin-top:var(--gap);opacity:.85}.role-legend{margin-top:var(--gap)}.role-legend h3{display:flex;align-items:center;gap:8px;margin-bottom:8px}.role-legend ul{margin:0;padding-left:18px;color:var(--text-2);font-size:14px;display:flex;flex-direction:column;gap:6px}.profile-card{display:flex;align-items:center;gap:16px;padding:20px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-s)}.profile-card h1{font-size:22px}.weekday-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday-picker button{min-height:var(--control-h);border-radius:var(--r-s);border:1px solid var(--border-strong);font-size:13px;font-weight:650;color:var(--text-2);background:var(--surface)}.weekday-picker button.active{background:var(--primary);border-color:var(--primary);color:#fff}.weekday-picker button:disabled{opacity:.45}.digest-preview{padding:14px;border-radius:var(--r-m);background:var(--surface-2);border:1px solid var(--border)}.digest-preview pre{margin:0 0 6px;font-family:var(--font);font-size:14px;white-space:pre-wrap;line-height:1.5}.center-text{text-align:center;font-size:13px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.menu-tile{min-width:0;display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--r-l);background:var(--surface-2);border:1px solid var(--border);text-align:left;font-weight:600;font-size:14.5px;min-height:64px}.menu-tile>span:nth-child(2){flex:1;min-width:0;line-height:1.25}@media(max-width:420px){.menu-tile{flex-direction:column;align-items:flex-start;gap:10px;min-height:0}.menu-tile>span:nth-child(2){width:100%;font-size:14px}}.menu-tile .icon-tile{position:relative;overflow:visible}.menu-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:11.5px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 0 2px var(--surface-2)}.menu-tile.active{border-color:var(--primary);background:var(--primary-soft)}@media(min-width:720px){.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.auth-bg{background:radial-gradient(100% 60% at 50% 0%,var(--primary-soft) 0%,var(--bg) 70%)}.auth-card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px;padding:28px;border-radius:28px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-l);animation:pop .3s var(--ease)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:6px}.auth-brand b{display:block;font-size:15px;letter-spacing:.05em}.auth-brand span{font-size:13px;color:var(--text-3)}.auth-foot{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--text-3);margin-top:4px}.telegram-id{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;border-radius:var(--r-l);background:var(--primary-soft)}.telegram-id span{width:100%;font-size:13px;color:var(--primary-text);font-weight:600}.telegram-id b{font-size:26px;letter-spacing:.02em;flex:1}.auth-steps{display:flex;flex-direction:column;gap:10px}.auth-steps div{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--r-m);background:var(--surface-2);font-size:14px}.auth-steps svg{color:var(--primary-text);width:20px;height:20px}@media(max-width:480px){.auth-card{padding:22px;border-radius:24px}}.viewer{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;background:var(--bg);animation:fade-in var(--t) ease}.viewer-bar{display:flex;align-items:center;gap:8px;padding:calc(var(--safe-top) + 6px) 10px 6px;background:var(--surface);border-bottom:1px solid var(--border)}.viewer-bar strong{flex:1;font-size:15px}.viewer-body{flex:1;overflow:auto;padding:16px 12px calc(var(--safe-bottom) + 24px);-webkit-overflow-scrolling:touch}.viewer-pages{display:flex;flex-direction:column;align-items:center;gap:12px}.viewer-page{background:#fff;border-radius:6px;box-shadow:var(--shadow-m);max-width:none}.viewer-image{margin:0 auto;border-radius:8px;box-shadow:var(--shadow-m);max-width:none}.viewer-message{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;text-align:center;color:var(--text-2)}.paper{background:#fffdf8;color:#1b1d24;border-radius:var(--r-m);padding:18px 18px 16px;border:1px solid var(--border);box-shadow:var(--shadow-s);font-size:13px;line-height:1.45}.paper-loading{color:#7a7f8c;text-align:center;padding:18px 0}.paper-header{display:flex;flex-direction:column;margin-left:34%;overflow-wrap:anywhere}.paper-title{text-align:center;font-weight:700;letter-spacing:.06em;margin:18px 0 10px}.paper-body{text-indent:2em;margin:0;overflow-wrap:anywhere}.paper-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:18px}.paper-sign{display:flex;flex-direction:column;align-items:center;min-width:120px;color:#9aa0ad;border-top:1px solid #c9ccd4;padding-top:2px;font-size:11px}.paper-sign small{color:#1b1d24;font-size:12px}@media(max-width:400px){.paper-header{margin-left:18%}.paper{font-size:12.5px}}.signature{display:flex;flex-direction:column;gap:8px}.signature-paper{position:relative;height:170px;border-radius:var(--r-m);background:#fffdf8;border:1.5px dashed #c5cad6;overflow:hidden}.signature-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.signature-hint{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;gap:8px;color:#a1a6b3;font-weight:600;pointer-events:none}.signature-line{position:absolute;left:24px;right:24px;bottom:34px;border-bottom:1px solid #d3d7e0;pointer-events:none}.signature .link-button{align-self:flex-start}.signature .link-button:disabled{opacity:.4}.paper-subtitle{text-align:center;margin:-6px 0 10px;overflow-wrap:anywhere}.paper-body+.paper-body{margin-top:2px}.visa-preview{display:flex;flex-direction:column;gap:2px;align-self:flex-start;min-width:200px;max-width:100%;padding:12px 14px;border-radius:var(--r-m);background:#fffdf8;color:#1b1d24;border:1px solid var(--border);font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}.visa-preview b{letter-spacing:.04em}.visa-line{display:flex;flex-direction:column;align-items:center;margin-top:18px;padding-top:2px;border-top:1px solid #c9ccd4;color:#9aa0ad;font-size:11px}.visa-line small{color:#1b1d24;font-size:12px}.detail-hero.teal:before{background:linear-gradient(90deg,var(--teal),#5fd4c8)}.detail-sub{color:var(--text-2);font-size:15px;overflow-wrap:anywhere}.notice-progress{display:flex;flex-direction:column;gap:6px;color:var(--text-2);font-size:14px}.notice-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.sign-statement{margin:0;line-height:1.5;overflow-wrap:anywhere}.pick-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.doc-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;margin-bottom:14px;border-radius:var(--r-l);background:var(--surface-3)}.doc-tabs button{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:9px 2px 8px;border-radius:var(--r-m);color:var(--text-2);font-size:clamp(10px,2.95vw,13px);font-weight:600;letter-spacing:-.01em}.doc-tabs button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-tabs button svg{width:20px;height:20px}.doc-tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-s)}.doc-tab-count{position:absolute;top:5px;right:8px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--warning);color:#fff;font-size:11px;line-height:18px;text-align:center}.row-wrap>.chip{white-space:normal;text-align:left;max-width:100%;padding-block:7px;line-height:1.3}.letter-number{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 2px}.letter-number .num{font-size:30px;font-weight:700;letter-spacing:-.01em}.trash-row{flex-wrap:wrap;align-items:flex-start}.trash-row .grow{min-width:220px;display:flex;flex-direction:column;gap:4px}.trash-actions{display:flex;gap:8px;flex-wrap:wrap}.trash-row .title,.trash-row .sub{white-space:normal;flex-wrap:wrap;overflow-wrap:anywhere}.invite-link{padding:12px 14px;border-radius:var(--r-m);background:var(--surface-2);border:1px solid var(--border);font-size:14px;overflow-wrap:anywhere;user-select:all}.revenue-hero .big{font-size:34px;font-weight:800;letter-spacing:-.03em;margin:6px 0 4px}.revenue-bars{display:flex;align-items:flex-end;gap:3px;height:120px;padding:6px 0 0}.revenue-bars .bar{flex:1;min-width:4px;border-radius:3px 3px 0 0;background:var(--primary);cursor:pointer;border:0;padding:0}.revenue-bars .bar.off{background:var(--border);height:6px;cursor:default}.revenue-bars .bar.missing{background:transparent;border:1.5px dashed var(--danger);height:100%}.revenue-bars .bar.future{background:var(--surface-2, var(--border));opacity:.45;height:6px;cursor:default}.revenue-bars .bar.none{background:var(--text-3);height:6px}.revenue-axis{display:flex;justify-content:space-between;font-size:12px;color:var(--text-3);margin-top:6px}.revenue-net{width:100%;border-collapse:collapse;font-size:15px}.revenue-net td{padding:7px 0;border-bottom:1px solid var(--border)}.revenue-net td:last-child{text-align:right;white-space:nowrap}.revenue-net tr.total td{font-weight:750;border-bottom:none}.month-switch{display:flex;align-items:center;gap:8px}.days-off{display:grid;gap:6px}.days-off .row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:var(--r-m);background:var(--surface-2, var(--bg))}.motivation-meta{justify-content:space-between}.motivation-list{display:flex;flex-direction:column;gap:14px}.motivation-card{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--r-l);background:var(--surface)}.motivation-head{display:flex;align-items:center;gap:10px}.motivation-head>div{flex:1;min-width:0}.motivation-head strong{display:block}.motivation-head span{font-size:13px;color:var(--text-3)}.motivation-tier{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;font-size:13px;color:var(--text-2)}.motivation-coefs{display:grid;gap:8px}.motivation-coefs .row{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:8px;align-items:center;font-size:14px}.motivation-add{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:8px;align-items:center}@media(max-width:480px){.motivation-add{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.motivation-add .button{grid-column:1 / -1}}.motivation-result,.breakdown-body{display:grid;gap:6px;padding:12px;border-radius:var(--r-m);background:var(--surface-2);font-size:14px}.motivation-result .row,.breakdown-body .row{display:flex;justify-content:space-between;gap:12px}.motivation-result .row b,.breakdown-body .row b{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}.motivation-result .total,.breakdown-body .total{padding-top:6px;border-top:1px solid var(--border);font-weight:750}.breakdown-group{margin-top:4px;font-size:12px;color:var(--text-3);text-transform:uppercase;letter-spacing:.03em}.breakdown{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.breakdown-body{align-self:stretch}.scheme-tiers{display:grid;gap:8px}.scheme-tiers .row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 40px;gap:8px;align-items:center}
