@font-face{font-family:Heebo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/heebo-hebrew-wght-normal-BPH8bhzJ.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Heebo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/heebo-math-wght-normal-9gsQVfT-.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,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+1EE??}@font-face{font-family:Heebo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/heebo-symbols-wght-normal-CDk8D5aH.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,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+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,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+1F0??,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+1F7??,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+1FB??}@font-face{font-family:Heebo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/heebo-latin-ext-wght-normal-D5vEfs3i.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Heebo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/heebo-latin-wght-normal-CXdlclQD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Frank Ruhl Libre Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/frank-ruhl-libre-hebrew-wght-normal-DI6KQ-EX.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Frank Ruhl Libre Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/frank-ruhl-libre-latin-ext-wght-normal-Cm9sFwa3.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Frank Ruhl Libre Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/frank-ruhl-libre-latin-wght-normal-gL3h_YCz.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Heebo Variable", "Heebo", system-ui, sans-serif;--display:"Frank Ruhl Libre Variable", "Frank Ruhl Libre", "Heebo Variable", serif;--r:22px;--r-sm:14px;--bg:#f3ede2;--bg2:#ebe3d4;--surface:#fffdf8;--surface2:#f7f2e8;--ink:#1d1a14;--ink2:#575042;--muted:#8a8272;--line:#1d1a141a;--line2:#1d1a142e;--accent:#d9481f;--accent-ink:#fff;--accent-soft:#d9481f1a;--pine:#1f6f5c;--gold:#e9a93b;--good:#1f8a70;--good-soft:#1f8a7021;--warn:#c77a0a;--warn-soft:#e9a93b33;--bad:#c8321f;--bad-soft:#c8321f1a;--info:#3466b0;--info-soft:#3466b01a;--c-income:#1f8a70;--c-expense:#e2572b;--shadow:0 1px 2px #3c280a0d, 0 8px 28px -12px #3c280a2e;--shadow-lg:0 24px 70px -20px #28190559;--sky1:#bfe3f2;--sky2:#fbe6c6;--wall:#f1e2c9;--wall2:#e3cfae;--wall-line:#5a3c1429;--win-off:#9db7c4;--win-on:#ffd66b;--win-late:#f29a4a;--win-bad:#6e7f8b;--orb:#ffcf5c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0c0e1a;--bg2:#121528;--surface:#171a2b;--surface2:#1e2238;--ink:#f3efe4;--ink2:#c4c1cf;--muted:#8e8ca0;--line:#ffffff14;--line2:#ffffff29;--accent:#ff7a4d;--accent-ink:#1a0d06;--accent-soft:#ff7a4d24;--pine:#58d6b0;--gold:#ffc857;--good:#4ccba4;--good-soft:#4ccba424;--warn:#ffc857;--warn-soft:#ffc85724;--bad:#ff7b6b;--bad-soft:#ff7b6b24;--info:#8db4ff;--info-soft:#8db4ff21;--c-income:#229c7b;--c-expense:#dc6236;--shadow:0 1px 0 #ffffff08 inset, 0 10px 30px -14px #0009;--shadow-lg:0 30px 80px -20px #000c;--sky1:#141a3d;--sky2:#33214f;--wall:#232846;--wall2:#1a1e38;--wall-line:#ffffff12;--win-off:#2d3355;--win-on:#ffc857;--win-late:#ff8f4d;--win-bad:#171a30;--orb:#f4f0dd;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;min-height:100dvh;margin:0;font-size:15.5px;line-height:1.5}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(900px 500px at 85% -10%,#e9a93b38,#0000 60%),radial-gradient(700px 500px at 0 100%,#1f6f5c1a,#0000 60%);position:fixed;inset:0}[data-theme=dark] body:before{background:radial-gradient(900px 500px at 85% -10%,#785aff33,#0000 60%),radial-gradient(700px 500px at 0 100%,#ff7a4d14,#0000 60%)}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;margin:0;font-weight:800;line-height:1.15}h1{font-size:clamp(26px,5vw,34px)}h2{font-size:21px}h3{font-size:17px}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;display:inline-block}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:11.5px}.pos{color:var(--good)}.neg{color:var(--bad)}.grow{flex:1;min-width:0}.hide{display:none!important}.row{align-items:center;gap:10px;display:flex}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.col{flex-direction:column;gap:12px;display:flex}.ell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}::selection{background:var(--gold);color:#1d1a14}.app{grid-template-columns:1fr;min-height:100dvh;display:grid}.side{display:none}.main{min-width:0;padding:0 16px calc(104px + env(safe-area-inset-bottom));width:100%;max-width:1180px;margin:0 auto}.topbar{padding:calc(12px + env(safe-area-inset-top)) 0 10px;z-index:20;align-items:center;gap:10px;display:flex;position:sticky;top:0}.topbar:before{content:"";background:linear-gradient(var(--bg) 60%, transparent);z-index:-1;position:absolute;inset:0 -16px}.logo{font-family:var(--display);letter-spacing:-.02em;align-items:center;gap:9px;font-size:25px;font-weight:900;display:flex}.logo-mark{background:var(--ink);width:30px;height:30px;box-shadow:0 0 0 0 var(--gold);border-radius:9px;flex:none;position:relative}.logo-mark:before{content:"";background:linear-gradient(160deg, #ffe08a, var(--gold) 55%, #f08a3c);border-radius:3px;position:absolute;inset:6px;box-shadow:0 0 14px #ffc857b3}.logo-mark:after{content:"";background:linear-gradient(var(--ink), var(--ink)) 50% 0 / 2px 100% no-repeat, linear-gradient(var(--ink), var(--ink)) 0 50% / 100% 2px no-repeat;position:absolute;inset:6px}[data-theme=dark] .logo-mark{background:#05060d}[data-theme=dark] .logo-mark:after{background:linear-gradient(#05060d,#05060d) 50% 0/2px 100% no-repeat,linear-gradient(#05060d,#05060d) 0/100% 2px no-repeat}.icon-btn{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;transition:transform .15s;display:grid;position:relative}.icon-btn:active{transform:scale(.93)}.icon-btn .dot{top:8px;background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:9px;height:9px;position:absolute;inset-inline-end:8px}.avatar{background:var(--ink);width:42px;height:42px;color:var(--bg);border-radius:14px;flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.avatar.sm{border-radius:12px;width:36px;height:36px;font-size:13px}.avatar.soft{background:var(--surface2);color:var(--ink2);border:1px solid var(--line)}.tabbar{inset-inline:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.4);border:1px solid var(--line);height:66px;box-shadow:var(--shadow-lg);border-radius:26px;grid-template-columns:repeat(5,1fr);align-items:center;padding:0 6px;display:grid;position:fixed}.tabbar a,.tabbar button{color:var(--muted);border-radius:18px;justify-items:center;gap:2px;padding:8px 0;font-size:11px;font-weight:500;transition:color .2s;display:grid}.tabbar .on{color:var(--ink);font-weight:700}.tabbar .on svg{stroke:var(--accent)}.tabbar .on:after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;margin-top:50px;position:absolute}@media (width>=960px){.app{grid-template-columns:252px 1fr}.side{border-inline-end:1px solid var(--line);background:color-mix(in srgb, var(--surface) 55%, transparent);flex-direction:column;gap:4px;height:100dvh;padding:22px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.side .logo{padding:4px 10px 18px}.side a.nav{color:var(--ink2);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;font-weight:500;transition:background .15s;display:flex}.side a.nav:hover{background:var(--line)}.side a.nav.on{background:var(--ink);color:var(--bg);font-weight:700}.side a.nav.on svg{stroke:var(--gold)}.side .sep{color:var(--muted);padding:14px 12px 4px;font-size:11.5px;font-weight:600}.tabbar{display:none}.main{padding:0 32px 60px}.topbar .logo{display:none}.topbar{padding-top:18px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px}.card.flat{box-shadow:none}.card.pad0{padding:0;overflow:hidden}.card-h{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.grid{gap:14px;display:grid}.g2,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.auto{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}@media (width>=760px){.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.md2{grid-template-columns:repeat(2,minmax(0,1fr))}.md-3-2{grid-template-columns:3fr 2fr}}.page-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin:6px 0 16px;display:flex}.page-h .sub{color:var(--muted);margin-top:3px;font-size:14px}.section{margin-top:22px}@media (width<=759px){.g3>.span-m{grid-column:1/-1}}.section>h2,.section>.card-h{margin-bottom:12px}.btn{background:var(--surface);border:1px solid var(--line2);white-space:nowrap;border-radius:15px;justify-content:center;align-items:center;gap:8px;height:46px;padding:0 18px;font-weight:600;transition:transform .12s,background .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;pointer-events:none}.btn.primary{background:var(--ink);color:var(--bg);border-color:#0000}.btn.accent{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 22px -8px var(--accent);border-color:#0000}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--line)}.btn.danger{color:var(--bad);border-color:var(--bad-soft);background:var(--bad-soft)}.btn.sm{border-radius:12px;height:36px;padding:0 12px;font-size:13.5px}.btn.block{width:100%}.fab{inset-inline-start:18px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:25;background:var(--accent);height:56px;color:var(--accent-ink);box-shadow:0 14px 30px -10px var(--accent);border-radius:20px;align-items:center;gap:8px;padding:0 20px 0 22px;font-weight:700;transition:transform .15s;display:inline-flex;position:fixed}.fab:active{transform:scale(.94)}@media (width>=960px){.fab{height:46px;box-shadow:0 8px 22px -8px var(--accent);border-radius:15px;position:static}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.label{color:var(--ink2);font-size:13px;font-weight:600}.field .req{color:var(--accent)}.input,select.input,textarea.input{border:1px solid var(--line2);background:var(--surface2);appearance:none;border-radius:14px;outline:none;width:100%;min-width:0;height:48px;padding:0 14px;transition:border-color .15s,box-shadow .15s}textarea.input{resize:vertical;height:auto;min-height:92px;padding:12px 14px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%238a8272' stroke-width='2'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-position:14px;background-repeat:no-repeat;padding-inline-end:34px}input[type=date].input,input[type=time].input,input[type=month].input{text-align:right}.input.ltr{text-align:right;direction:ltr}.search{flex:1;min-width:160px;position:relative}.search svg{inset-inline-start:13px;color:var(--muted);pointer-events:none;position:absolute;top:50%;translate:0 -50%}.search .input{background:var(--surface);height:44px;padding-inline-start:40px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filters select.input,.filters input.input{background-color:var(--surface);flex:0 auto;width:auto;max-width:100%;height:44px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .full{grid-column:1/-1}.switch{border:1px solid var(--line2);background:var(--surface2);cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:500;display:flex}.switch input{appearance:none;background:var(--line2);cursor:pointer;border-radius:99px;flex:none;width:46px;height:28px;margin:0;transition:background .2s;position:relative}.switch input:after{content:"";top:3px;background:#fff;border-radius:50%;width:22px;height:22px;transition:inset-inline-start .2s;position:absolute;inset-inline-start:3px;box-shadow:0 1px 3px #0000004d}.switch input:checked{background:var(--good)}.switch input:checked:after{inset-inline-start:21px}.seg{background:var(--surface);border:1px solid var(--line);scrollbar-width:none;border-radius:15px;gap:2px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg button{color:var(--muted);white-space:nowrap;border-radius:11px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.seg button.on{background:var(--ink);color:var(--bg)}.seg.fill{display:flex}.seg.fill button{flex:1;justify-content:center}.seg .cnt{opacity:.7;font-variant-numeric:tabular-nums;font-size:11.5px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line2);background:var(--surface2);border-radius:99px;padding:8px 14px;font-size:14px;font-weight:500;transition:all .15s}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.badge{background:var(--line);color:var(--ink2);white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.good{background:var(--good-soft);color:var(--good)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.list{flex-direction:column;display:flex}.item{border-bottom:1px solid var(--line);text-align:start;align-items:center;gap:12px;width:100%;padding:13px 16px;transition:background .12s;display:flex}.item:last-child{border-bottom:0}button.item:hover,a.item:hover,.item[role=button]:hover{background:var(--line)}.item[role=button]{cursor:pointer}.item .t{font-weight:600}.item .s{color:var(--muted);font-size:13px}.item .amt{font-size:16px;font-weight:700}.ic{background:var(--surface2);border:1px solid var(--line);width:40px;height:40px;color:var(--ink2);border-radius:13px;flex:none;place-items:center;display:grid}.ic.good{background:var(--good-soft);color:var(--good);border-color:#0000}.ic.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.ic.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.ic.info{background:var(--info-soft);color:var(--info);border-color:#0000}.ic.accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}.empty{text-align:center;color:var(--muted);justify-items:center;gap:10px;padding:44px 20px;display:grid}.empty .art{background:var(--surface2);border:1px dashed var(--line2);width:72px;height:72px;color:var(--ink2);border-radius:24px;place-items:center;display:grid}.empty b{color:var(--ink);font-family:var(--display);font-size:18px}.skel{border-radius:var(--r);background:linear-gradient(100deg, var(--line) 30%, transparent 50%, var(--line) 70%) 0 0 / 200% 100%;min-height:90px;animation:1.3s linear infinite sk}@keyframes sk{to{background-position:-200% 0}}.progress{background:var(--line);border-radius:99px;height:10px;overflow:hidden}.progress i{background:linear-gradient(90deg, var(--gold), var(--accent));border-radius:99px;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);display:block}.kv{grid-template-columns:auto 1fr;gap:6px 16px;font-size:14.5px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:500}.banner{background:var(--warn-soft);text-align:start;border:1px solid #0000;border-radius:16px;align-items:center;gap:12px;width:100%;padding:12px 16px;font-weight:500;display:flex}.banner.info{background:var(--info-soft)}.backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f0a0573;justify-content:center;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}[data-theme=dark] .backdrop{background:#0009}.sheet{background:var(--surface);width:100%;max-width:620px;max-height:94dvh;box-shadow:var(--shadow-lg);border:1px solid var(--line);border-bottom:0;border-radius:28px 28px 0 0;flex-direction:column;animation:.32s cubic-bezier(.2,.9,.25,1) up;display:flex}.sheet.wide{max-width:860px}.sheet-h{align-items:center;gap:10px;padding:18px 20px 12px;display:flex}.sheet-h:before{content:"";background:var(--line2);border-radius:9px;width:40px;height:4px;position:absolute;top:8px;left:50%;translate:-50%}.sheet{position:relative}.sheet-b{overscroll-behavior:contain;flex:1;padding:6px 20px 20px;overflow-y:auto}.sheet-f{padding:12px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:10px;display:flex}.sheet-f .btn.primary,.sheet-f .btn.accent{flex:1}@media (width>=700px){.backdrop{align-items:center;padding:24px}.sheet{border-bottom:1px solid var(--line);border-radius:28px;max-height:88dvh;animation-name:pop}.sheet-h:before{display:none}}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:0;transform:translateY(60px)}}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(10px)}}.toasts{top:calc(14px + env(safe-area-inset-top));z-index:90;pointer-events:none;justify-items:center;gap:8px;width:max-content;max-width:calc(100vw - 28px);display:grid;position:fixed;left:50%;translate:-50%}.toast{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:16px;align-items:center;gap:9px;padding:11px 18px;font-size:14.5px;font-weight:600;animation:.3s cubic-bezier(.2,.9,.25,1.2) drop;display:flex}.toast.err{background:var(--bad);color:#fff}@keyframes drop{0%{opacity:0;transform:translateY(-24px)scale(.94)}}.hero{background:linear-gradient(170deg, var(--sky1), var(--sky2));border:1px solid var(--line);isolation:isolate;border-radius:30px;gap:8px;min-height:300px;padding:22px 20px 0;display:grid;position:relative;overflow:hidden}.hero .orb{top:26px;background:var(--orb);width:54px;height:54px;box-shadow:0 0 60px 14px color-mix(in srgb, var(--orb) 50%, transparent);z-index:-1;border-radius:50%;animation:9s ease-in-out infinite float;position:absolute;inset-inline-end:34px}[data-theme=dark] .hero .orb{box-shadow:inset -12px -6px #cfc9b0,0 0 50px 6px #f4f0dd40}.hero .stars{z-index:-2;opacity:0;background-image:radial-gradient(1.2px 1.2px at 12% 22%,#fff,#0000),radial-gradient(1px 1px at 28% 60%,#fff,#0000),radial-gradient(1.4px 1.4px at 44% 14%,#fff,#0000),radial-gradient(1px 1px at 63% 38%,#fff,#0000),radial-gradient(1.2px 1.2px at 78% 70%,#fff,#0000),radial-gradient(1px 1px at 90% 20%,#fff,#0000),radial-gradient(1px 1px at 6% 78%,#fff,#0000),radial-gradient(1.3px 1.3px at 55% 82%,#fff,#0000);animation:4s ease-in-out infinite alternate twinkle;position:absolute;inset:0}[data-theme=dark] .hero .stars{opacity:.8}.hero .cloud{z-index:-1;filter:blur(.4px);background:#ffffffb3;border-radius:99px;height:22px;animation:40s linear infinite drift;position:absolute}.hero .cloud:before{content:"";bottom:30%;background:inherit;border-radius:99px;width:46%;height:170%;position:absolute;inset-inline-start:22%}[data-theme=dark] .hero .cloud{background:#ffffff0f}@keyframes float{50%{transform:translateY(8px)}}@keyframes twinkle{to{opacity:.35}}@keyframes drift{0%{transform:translate(60px)}to{transform:translate(-120vw)}}.hero-txt{color:#2b2110}[data-theme=dark] .hero-txt{color:var(--ink)}.hero-txt .hello{opacity:.75;font-size:14px;font-weight:500}.hero-txt .big{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(38px,9vw,54px);font-weight:900;line-height:1.05}.hero-txt .cap{opacity:.75;font-size:13.5px;font-weight:500}.hero-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.hero-chips span{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff8c;border:1px solid #fff9;border-radius:99px;align-items:center;gap:6px;padding:5px 11px;font-size:12.5px;font-weight:600;display:inline-flex}[data-theme=dark] .hero-chips span{background:#ffffff12;border-color:#ffffff1a}@media (width>=760px){.hero{grid-template-columns:1fr auto;align-items:end;padding:30px 34px 0}.hero-txt{align-self:center;padding-bottom:30px}}.bld-wrap{align-self:end;justify-items:center;display:grid}.bld{filter:drop-shadow(0 -6px 30px #0000001f);width:min(100%,330px);min-width:230px;padding:0;position:relative}.bld .roof{background:var(--wall2);border:1px solid var(--wall-line);border-radius:5px 5px 0 0;height:12px;margin:0 -7px;position:relative}.bld .roof:before{content:"";bottom:100%;background:var(--wall2);border-radius:3px 3px 0 0;width:26px;height:16px;position:absolute;inset-inline-start:18%}.bld .roof:after{content:"";bottom:100%;background:var(--wall2);width:2px;height:26px;box-shadow:-5px 4px 0 -.5px var(--wall2), 5px 8px 0 -.5px var(--wall2);position:absolute;inset-inline-end:22%}.bld .body{background:linear-gradient(90deg, var(--wall2), var(--wall) 12%, var(--wall) 88%, var(--wall2));border-inline:1px solid var(--wall-line);padding:8px 12px 0}.bld .flr{border-bottom:1px solid var(--wall-line);gap:8px;padding:6px 0 7px;display:grid;position:relative}.bld .flr .fno{inset-inline-start:-30px;opacity:.55;text-align:center;width:16px;font-size:10.5px;font-weight:700;position:absolute;top:50%;translate:0 -50%}.win{aspect-ratio:1.25;background:var(--win-off);border:2px solid var(--wall2);max-height:44px;animation:.6s both lit;animation-delay:calc(var(--i) * 45ms + .2s);border-radius:5px 5px 2px 2px;width:100%;min-width:0;transition:transform .15s,filter .2s;position:relative}.win:before{content:"";background:linear-gradient(var(--wall2), var(--wall2)) 50% 0 / 2px 100% no-repeat;opacity:.8;position:absolute;inset:0}.win:after{content:"";inset-inline:-3px;background:var(--wall2);border-radius:2px;height:3px;position:absolute;bottom:-4px}.win:hover{z-index:2;transform:scale(1.1)}.win.on_time{background:linear-gradient(170deg, #fff0b8, var(--win-on));box-shadow:0 0 16px 1px color-mix(in srgb, var(--win-on) 55%, transparent)}.win.late{background:linear-gradient(170deg, #ffc48a, var(--win-late));box-shadow:0 0 12px 0 color-mix(in srgb, var(--win-late) 45%, transparent)}.win.unpaid{background:var(--win-bad)}.win.unpaid i{top:3px;z-index:1;background:#ff5a47;border-radius:50%;width:6px;height:6px;animation:1.8s infinite pulse;position:absolute;inset-inline-end:3px;box-shadow:0 0 6px #ff5a47}.win.mine{outline:2px solid var(--accent);outline-offset:2px}.win.dim{opacity:.55}@keyframes lit{0%{background:var(--win-off);box-shadow:none;filter:brightness(.7)}}@keyframes pulse{50%{opacity:.35}}.bld .ground{place-items:end center;height:40px;display:grid;position:relative}.bld .door{background:var(--wall2);border:2px solid var(--wall-line);border-bottom:0;border-radius:8px 8px 0 0;width:34px;height:30px;position:relative}.bld .door:after{content:"";background:color-mix(in srgb, var(--win-on) 60%, transparent);border-radius:4px 4px 0 0;position:absolute;inset:4px 4px 0}.bld .plate{inset-inline-end:12px;opacity:.6;font-size:10.5px;font-weight:700;position:absolute;bottom:8px}.legend{color:var(--ink2);flex-wrap:wrap;align-items:center;gap:14px;font-size:12.5px;display:flex}.legend i{vertical-align:-1px;border-radius:4px;width:11px;height:11px;margin-inline-end:5px;display:inline-block}.stat{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);text-align:start;gap:4px;padding:16px;transition:transform .15s;display:grid;position:relative;overflow:hidden}a.stat:hover,button.stat:hover{transform:translateY(-2px)}.stat .k{color:var(--muted);align-items:center;gap:7px;font-size:13px;font-weight:500;display:flex}.stat .v{font-family:var(--display);font-size:27px;font-weight:800;line-height:1.1}.stat .d{color:var(--muted);font-size:12.5px}.ring{--p:0;background:conic-gradient(var(--accent) calc(var(--p) * 1%), var(--line) 0);border-radius:50%;flex:none;place-items:center;width:92px;height:92px;display:grid;position:relative}.ring:before{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:9px}.ring b{font-family:var(--display);font-size:22px;position:relative}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart text{fill:var(--muted);font-size:11px;font-family:var(--font)}.chart .gl{stroke:var(--line);stroke-width:1px}.chart .hit{fill:#0000}.chart .hit:hover{fill:var(--line)}.tip{z-index:5;pointer-events:none;background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lg);white-space:nowrap;border-radius:12px;gap:2px;padding:8px 12px;font-size:12.5px;display:grid;position:absolute;translate:-50% -110%}.tip b{font-size:13px}.tip i{border-radius:3px;width:8px;height:8px;margin-inline-end:6px;display:inline-block}.tbl-wrap{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:start;color:var(--muted);border-bottom:1px solid var(--line2);white-space:nowrap;background:var(--surface);padding:11px 14px;font-size:12.5px;font-weight:600;position:sticky;top:0}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px}.tbl tr:last-child td{border-bottom:0}.tbl tfoot td{border-top:2px solid var(--line2);background:var(--surface2);font-weight:800}.tbl .n{text-align:end;white-space:nowrap}.matrix{grid-template-columns:minmax(56px,1.4fr) repeat(12,minmax(17px,1fr));align-items:center;gap:3px;display:grid}@media (width<=520px){.matrix .cell{border-radius:5px}.matrix .cell svg{width:10px;height:10px}.matrix .apt{font-size:12.5px}.card.tight{padding:12px 10px}}@media (width>=760px){.matrix{gap:5px}}.matrix .mh{color:var(--muted);text-align:center;font-size:11.5px;font-weight:600}.matrix .mh.cur{color:var(--accent)}.matrix .apt{text-align:start;white-space:nowrap;padding:4px 0;font-size:13.5px;font-weight:600}.cell{aspect-ratio:1;background:var(--line);border-radius:8px;place-items:center;width:100%;max-height:34px;font-size:10px;display:grid}.cell.on_time{background:var(--good);color:#fff}.cell.late{background:var(--gold);color:#3a2a05}.cell.unpaid{background:var(--bad-soft);box-shadow:inset 0 0 0 1.5px var(--bad);color:var(--bad)}.cell.future{box-shadow:inset 0 0 0 1px var(--line2);background:0 0}.cell.none{background:0 0}.cell.part{background:repeating-linear-gradient(135deg, var(--bad-soft) 0 4px, transparent 4px 8px)}.cal{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal .dow{text-align:center;color:var(--muted);padding:4px 0;font-size:12px;font-weight:600}.cal .day{aspect-ratio:1;border:1px solid #0000;border-radius:13px;align-content:center;place-items:center;gap:3px;font-size:14.5px;font-weight:600;display:grid;position:relative}.cal .day.out{opacity:.3}.cal .day:hover{background:var(--line)}.cal .day.today{border-color:var(--accent);color:var(--accent)}.cal .day.sel{background:var(--ink);color:var(--bg)}.cal .dots{gap:2px;height:5px;display:flex}.cal .dots i{background:var(--accent);border-radius:50%;width:5px;height:5px}.cal .day.sel .dots i{background:var(--gold)}.pm{grid-template-columns:minmax(96px,auto) repeat(9,minmax(34px,1fr));align-items:center;gap:3px;min-width:560px;font-size:13px;display:grid}.pm .ph{color:var(--muted);text-align:center;padding-bottom:4px;font-size:10.5px;font-weight:600;line-height:1.2}.pm button{background:var(--line);color:#0000;border-radius:9px;place-items:center;height:32px;transition:all .12s;display:grid}.pm button.on{background:var(--ink);color:var(--bg)}.pm button:disabled{cursor:default}.auth{grid-template-columns:1fr;min-height:100dvh;display:grid}.auth-art{display:none}.auth-form{align-content:center;gap:18px;width:100%;max-width:460px;margin:0 auto;padding:28px 22px;display:grid}@media (width>=900px){.auth{grid-template-columns:1.1fr 1fr}.auth-art{background:linear-gradient(170deg, var(--sky1), var(--sky2));isolation:isolate;place-items:end center;padding:60px 40px 0;display:grid;position:relative;overflow:hidden}.auth-art .hero-txt{top:60px;max-width:380px;position:absolute;inset-inline-start:56px}.auth-art .bld{width:320px}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){z-index:9;animation:.55s cubic-bezier(.4,0,.2,1) reveal}@keyframes reveal{0%{clip-path:circle(0 at var(--tx,50%) var(--ty,0%))}to{clip-path:circle(150vmax at var(--tx,50%) var(--ty,0%))}}.enter>*{animation:.45s cubic-bezier(.2,.8,.2,1) backwards rise}.enter>:nth-child(2){animation-delay:50ms}.enter>:nth-child(3){animation-delay:.1s}.enter>:nth-child(4){animation-delay:.15s}.enter>:nth-child(n+5){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-new(root){transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}.print-only{display:none}.paper{color:#111;background:#fff;border:1px solid #ddd;border-radius:18px;max-width:720px;margin:0 auto 16px;padding:28px}.paper h2{color:#111}.paper .muted,.paper .kv dt{color:#666}.paper .stamp{font-family:var(--display);border:2px solid #111;border-radius:12px;padding:6px 14px;font-size:20px;font-weight:900}.paper.void{opacity:.6}.paper.void .stamp{color:#b00;border-color:#b00}@media print{@page{margin:14mm}body{color:#000;font-size:12px;background:#fff!important}body:before{display:none}.side,.topbar,.tabbar,.fab,.no-print,.toasts{display:none!important}.app{display:block}.main{max-width:none;padding:0}.card,.tbl-wrap,.stat{box-shadow:none;background:#fff;border-color:#ccc}.tbl th{color:#333;background:#fff;position:static}.tbl tfoot td{background:#f2f2f2}.print-only{display:block}.paper{break-inside:avoid;border:1px solid #999;margin-bottom:10mm}.cell{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
