:root{--bg:#f4f6fa;--card:#fff;--sidebar:#fff;--sidebar-2:#f2f4f8;--sidebar-text:#5c6370;--text:#191c22;--muted:#5f6674;--placeholder:#6b7280;--icon-muted:#8b93a1;--line:#e8ebf1;--line-2:#f1f3f7;--accent:#0ea08f;--accent-strong:#0b8577;--accent-deep:#096b60;--accent-soft:#e4f6f3;--done:#0a7f47;--danger:#ef4444;--danger-soft:#fdecec;--danger-text:#b42318;--ok-text:#0a7f47;--ok-soft:#ecfdf3;--warn-text:#92400e;--warn-soft:#fef3c7;--radius:16px;--radius-lg:20px;--fs-2xs:10px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:14px;--fs-xl:15.5px;--fs-2xl:17px;--r-xs:6px;--r-sm:8px;--r-md:11px;--r-lg:var(--radius);--r-xl:var(--radius-lg);--r-pill:999px;--curr:"zł";--curr-pad:25px;--shadow-sm:0 1px 2px #171d330a, 0 4px 14px -4px #171d330f;--shadow-md:0 6px 26px -6px #171d331a;--shadow-lg:0 24px 60px -16px #171d3329}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{height:100%}:where(button,a,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}body{font-family:var(--font-body), system-ui, sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}.font-display{font-family:var(--font-display), sans-serif}.md-del,.tk-del,.st-del,.cl-del,.fn-del,.wl-del,.pn-del,.jn-del,.hb-del,.dt-del,.wo-del,.ms-del{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-sm);opacity:.45;background:0 0;border:none;flex:none;padding:5px;transition:opacity .13s,background .13s,color .13s;display:inline-flex}.md-del svg,.tk-del svg,.st-del svg,.cl-del svg,.fn-del svg,.wl-del svg,.pn-del svg,.jn-del svg,.hb-del svg,.dt-del svg,.wo-del svg,.ms-del svg{width:15px;height:15px}.wl-del,.pn-del,.dt-del{justify-self:center}.jn-del{opacity:1}.md-del:hover,.tk-del:hover,.st-del:hover,.cl-del:hover,.fn-del:hover,.wl-del:hover,.pn-del:hover,.jn-del:hover,.hb-del:hover,.dt-del:hover,.wo-del:hover,.ms-del:hover{opacity:1;color:var(--danger-text);background:var(--danger-soft)}@media (hover:none){.md-del,.tk-del,.st-del,.cl-del,.fn-del,.wl-del,.pn-del,.jn-del,.hb-del,.dt-del,.wo-del,.ms-del,.tk-subadd{opacity:.55}}.row-mv{flex:none;gap:1px;display:inline-flex}.row-mv button{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-sm);opacity:0;background:0 0;border:none;justify-content:center;align-items:center;min-width:24px;min-height:24px;padding:4px;transition:opacity .13s,background .13s,color .13s;display:inline-flex}.row-mv svg{width:14px;height:14px}.row-mv button:hover:not(:disabled){color:var(--accent-strong);background:var(--accent-soft)}.row-mv button:disabled{cursor:default}.pn-row:hover .row-mv button:not(:disabled),.pn-row:focus-within .row-mv button:not(:disabled),.st-row:hover .row-mv button:not(:disabled),.st-row:focus-within .row-mv button:not(:disabled){opacity:.8}@media (hover:none){.row-mv button:not(:disabled){opacity:.7}}.sort-grip{color:var(--icon-muted);cursor:grab;border-radius:var(--r-xs);opacity:.45;background:0 0;border:none;flex:none;padding:3px;transition:opacity .13s,color .13s;display:inline-flex;position:relative}.sort-grip:after{content:"";position:absolute;inset:-2px}.sort-grip svg{width:15px;height:15px}.sort-grip:active{cursor:grabbing}.sort-grip:hover{opacity:1;color:var(--accent-strong)}[data-sortable]:hover>.sort-grip,[data-sortable]:focus-within>.sort-grip{opacity:1}@media (hover:none){.sort-grip{opacity:.55}}[data-sortable].is-dragging{opacity:.35}[data-sortable].is-drop-before{box-shadow:0 -2px 0 var(--accent), var(--shadow-sm)}.is-drop-zone{outline:2px dashed var(--accent);outline-offset:2px;border-radius:var(--r-md)}.tk-btn,.st-btn,.cl-btn,.fn-btn,.wl-btn,.pn-btn,.jn-btn,.gl-btn,.hb-btn,.dt-btn,.wo-btn,.ms-btn{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:var(--fs-md);border-radius:var(--r-md);align-items:center;gap:7px;padding:9px 14px;font-weight:700;transition:border-color .14s,background .14s,color .14s,transform 50ms;display:inline-flex}.tk-btn svg,.st-btn svg,.cl-btn svg,.fn-btn svg,.wl-btn svg,.pn-btn svg,.jn-btn svg,.gl-btn svg,.hb-btn svg,.dt-btn svg,.wo-btn svg,.ms-btn svg{width:15px;height:15px}.tk-btn:hover:not(:disabled),.st-btn:hover:not(:disabled),.cl-btn:hover:not(:disabled),.fn-btn:hover:not(:disabled),.wl-btn:hover:not(:disabled),.pn-btn:hover:not(:disabled),.jn-btn:hover:not(:disabled),.gl-btn:hover:not(:disabled),.hb-btn:hover:not(:disabled),.dt-btn:hover:not(:disabled),.wo-btn:hover:not(:disabled),.ms-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.tk-btn:active:not(:disabled),.st-btn:active:not(:disabled),.cl-btn:active:not(:disabled),.fn-btn:active:not(:disabled),.wl-btn:active:not(:disabled),.pn-btn:active:not(:disabled),.jn-btn:active:not(:disabled),.gl-btn:active:not(:disabled),.hb-btn:active:not(:disabled),.dt-btn:active:not(:disabled),.wo-btn:active:not(:disabled),.ms-btn:active:not(:disabled){transform:translateY(1px)}.tk-btn:disabled,.st-btn:disabled,.cl-btn:disabled,.fn-btn:disabled,.wl-btn:disabled,.pn-btn:disabled,.jn-btn:disabled,.gl-btn:disabled,.hb-btn:disabled,.dt-btn:disabled,.wo-btn:disabled,.ms-btn:disabled{opacity:.5;cursor:default}.zl{align-items:center;min-width:0;display:inline-flex;position:relative}.zl>input{width:100%;padding-right:var(--curr-pad)}.fn-form .zl>input,.fn-sum-edit .zl>input,.pn-add .zl>input,.wl-add .zl>input,.wl-gen .zl>input,.wl-sched-add .zl>input{padding-right:var(--curr-pad)}.zl:after{content:var(--curr);pointer-events:none;font-size:var(--fs-sm);color:var(--placeholder);font-weight:600;position:absolute;right:8px}.zl:focus-within:after{color:var(--muted)}.zl.grow{flex:1}.fn-form .zl{width:104px}.fn-trow .zl,.pn-row .zl,.wl-trow .zl,.wl-sched-row .zl{width:100%}.fn-sum-edit .zl{flex:1;min-width:110px;max-width:160px}.fn-sum-edit .zl>input{width:100%;min-width:0;max-width:none}.pn-add .zl{width:88px}.wl-add .zl{width:168px}.wl-gen .zl,.wl-sched-add .zl{width:96px}.wl-add .zl>input,.wl-gen .zl>input,.wl-sched-add .zl>input{width:100%}.cpick{flex:none;display:inline-flex;position:relative}.cpick-btn{cursor:pointer;border-radius:var(--r-sm);color:var(--catc,var(--icon-muted));background:color-mix(in srgb, var(--catc,var(--line-2)) 13%, #fff);border:1px solid #0000;padding:4px;transition:background .13s,border-color .13s;display:inline-flex}.cpick-btn svg{width:17px;height:17px}.cpick-btn:hover,.cpick-btn[aria-expanded=true]{background:color-mix(in srgb, var(--catc,var(--line-2)) 22%, #fff);border-color:color-mix(in srgb, var(--catc,var(--line)) 45%, #fff)}.cpick-menu{z-index:20;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);background:#fff;grid-template-columns:repeat(4,1fr);gap:6px;padding:7px;display:grid;position:absolute;top:calc(100% + 4px);left:0}.cpick-swatch{cursor:pointer;border-radius:var(--r-xs);border:2px solid #0000;width:26px;height:26px;padding:0;transition:transform .1s;box-shadow:inset 0 0 0 1px #0000001a}.cpick-swatch:hover{transform:scale(1.12)}.cpick-swatch.on{border-color:var(--text);box-shadow:inset 0 0 0 2px #fff}.cpick-swatch:focus-visible,.cpick-none:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cpick-none{cursor:pointer;border-radius:var(--r-xs);border:1px solid var(--line);color:var(--muted);font:inherit;font-size:var(--fs-xs);background:#fff;grid-column:1/-1;padding:6px 8px;font-weight:700}.cpick-none:hover{border-color:var(--icon-muted);color:var(--text)}.cpick-none.on{border-color:var(--text);color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.dpick{flex:none;display:inline-flex;position:relative}.dpick-btn{cursor:pointer;min-height:24px;color:var(--icon-muted);font:inherit;font-size:var(--fs-xs);border-radius:var(--r-sm);opacity:.45;background:0 0;border:1px solid #0000;align-items:center;gap:4px;padding:3px 5px;font-weight:700;transition:opacity .13s,background .13s,color .13s,border-color .13s;display:inline-flex}.dpick-btn svg{flex:none;width:15px;height:15px}.tk-row:hover .dpick-btn,.tk-row:focus-within .dpick-btn{opacity:1}.tk-row .dpick-menu{left:auto;right:0}.dpick-btn:hover{color:var(--accent-strong);background:var(--accent-soft)}.dpick-btn.on{opacity:1;color:var(--accent-strong);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 32%, #fff)}.dpick-btn.on svg{width:13px;height:13px}@media (hover:none){.dpick-btn{opacity:.8}}.dpick-menu{z-index:20;border:1px solid var(--line);border-radius:var(--r-md);min-width:152px;box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;gap:2px;padding:5px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.dpick-menu button{text-align:left;cursor:pointer;color:var(--text);font:inherit;font-size:var(--fs-md);border-radius:var(--r-sm);background:0 0;border:none;padding:7px 9px;font-weight:600}.dpick-menu button:hover{background:var(--accent-soft);color:var(--accent-strong)}.dpick-menu button.off{color:var(--muted)}.dpick-menu button.off:hover{background:var(--danger-soft);color:var(--danger)}.dpick-menu label{font-size:var(--fs-xs);color:var(--muted);align-items:center;gap:6px;padding:3px 9px 5px;font-weight:700;display:flex}.dpick-menu label input{border:1px solid var(--line);border-radius:var(--r-xs);min-width:0;font:inherit;font-size:var(--fs-sm);color:var(--text);background:#fff;flex:1;padding:4px 5px}.dpick-menu label input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.md-loading,.tk-loading,.st-loading,.cl-loading,.fn-loading,.wl-loading,.pn-loading,.jn-loading,.gl-loading,.hb-loading,.dt-loading,.wo-loading,.ms-loading{color:var(--muted);text-align:center;padding:48px 0;animation:1.6s ease-in-out infinite soft-pulse}.md-empty,.tk-empty,.st-empty,.cl-empty,.fn-empty,.wl-empty,.pn-empty,.dt-empty,.wo-empty,.ms-empty{color:var(--muted);font-size:var(--fs-md);text-align:center;border:1px dashed var(--line);border-radius:var(--r-md);background:#fff6;padding:14px 10px}.cl-empty,.fn-empty{padding:16px 10px}.md-empty,.st-empty,.tk-empty{padding:18px 10px}.login-body{background:radial-gradient(900px 500px at 15% -10%, var(--accent-soft) 0%, transparent 55%), var(--bg);place-items:center;min-height:100vh;display:grid}.login-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(390px,92vw);box-shadow:var(--shadow-lg);flex-direction:column;gap:15px;padding:34px 30px 30px;display:flex}.login-logo{align-items:center;gap:11px;margin-bottom:2px;display:flex}.login-logo .name{font-family:var(--font-display);letter-spacing:-.5px;font-size:22px;font-weight:700}.login-card h1{font-family:var(--font-display);letter-spacing:-.6px;margin:6px 0 0;font-size:24px}.login-sub{color:var(--muted);font-size:var(--fs-lg);margin:-6px 0 6px}label.fld{font-size:var(--fs-md);color:#454b57;flex-direction:column;gap:7px;font-weight:600;display:flex}.field{border:1.5px solid var(--line);color:var(--text);border-radius:var(--r-md);font-size:var(--fs-xl);background:#fbfbfc;padding:12px 13px;transition:border-color .15s,box-shadow .15s,background .15s}.field:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);background:#fff;outline:none}.btn{cursor:pointer;border-radius:var(--r-md);font-size:var(--fs-xl);color:#fff;background:var(--accent-strong);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:700;transition:background .15s,transform 50ms;display:inline-flex}.btn:hover{background:var(--accent-deep)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:default}.btn svg{width:17px;height:17px}.linklike{color:var(--accent-strong);cursor:pointer;font-family:inherit;font-size:var(--fs-lg);background:0 0;border:none;padding:0;font-weight:600;text-decoration:none}.linklike:hover{text-decoration:underline}.alert{background:var(--danger-soft);color:var(--danger-text);border-radius:var(--r-md);font-size:var(--fs-md);border:1px solid #f6c9c9;padding:10px 13px;font-weight:500}.app{min-height:100dvh;display:flex}.sidebar{background:var(--sidebar);width:252px;color:var(--sidebar-text);z-index:20;border-right:1px solid var(--line);flex-direction:column;flex:none;height:100dvh;padding:18px 14px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{border-bottom:1px solid var(--line-2);align-items:center;gap:11px;margin-bottom:6px;padding:6px 8px 18px;display:flex}.sidebar .brand .name{font-family:var(--font-display);color:var(--text);letter-spacing:-.4px;font-size:19px;font-weight:700}.nav{flex-direction:column;gap:3px;margin-top:10px;display:flex}.nav-scroll{scrollbar-width:thin;scrollbar-color:#d6dae2 transparent;flex:1;min-height:0;padding-right:2px;overflow-y:auto}.nav-label{font-size:var(--fs-xs);letter-spacing:1.3px;text-transform:uppercase;color:var(--muted);padding:14px 10px 6px;font-weight:700}.nav-item{color:#4d5462;border-radius:var(--r-md);width:100%;font-size:var(--fs-lg);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-weight:600;transition:background .14s,color .14s;display:flex}.nav-item svg{opacity:.8;flex:none;width:19px;height:19px}.nav-item:hover{background:var(--sidebar-2);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong)}.nav-item.active svg{opacity:1;color:var(--accent)}.nav-item .chev{opacity:.6;width:15px;height:15px;margin-left:auto;transition:transform .16s}.nav-item.active .chev{color:currentColor}.nav-item .chev.open{transform:rotate(180deg)}.nav-sub{flex-direction:column;gap:2px;margin:2px 0 4px;padding-left:24px;display:flex}.nav-subitem{text-align:left;color:#6a7280;border-radius:var(--r-sm);width:100%;font-size:var(--fs-lg);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;padding:8px 10px 8px 16px;font-weight:600;transition:background .14s,color .14s;display:block;position:relative;overflow:hidden}.nav-subitem:before{content:"";background:var(--nav-dot,#d4d9e1);border-radius:50%;width:6px;height:6px;transition:background .14s;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.nav-subitem:hover{background:var(--sidebar-2);color:var(--text)}.nav-subitem.active{background:var(--accent-soft);color:var(--accent-strong)}.nav-subitem.active:before{background:var(--nav-dot,var(--accent))}.sidebar-foot{border-top:1px solid var(--line-2);margin-top:auto;padding-top:12px}.avatar{border-radius:var(--r-md);background:linear-gradient(135deg, var(--accent), #22d3c0);color:#04352f;width:34px;height:34px;font-weight:800;font-size:var(--fs-lg);flex:none;place-items:center;display:grid}.logout,.settings-link{color:#6a7280;cursor:pointer;border-radius:var(--r-md);width:100%;font-size:var(--fs-lg);background:0 0;border:none;align-items:center;gap:9px;padding:10px 12px;font-weight:600;transition:background .14s,color .14s;display:flex}.logout svg,.settings-link svg{width:17px;height:17px}.logout:hover{background:var(--danger-soft);color:var(--danger-text)}.settings-link:hover{background:var(--accent-soft);color:var(--accent-strong)}.main{flex-direction:column;flex:1;min-width:0;margin-left:252px;display:flex}.topbar{z-index:10;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:14px clamp(20px,3.5vw,44px);display:flex;position:sticky;top:0}.topbar h1{font-family:var(--font-display);letter-spacing:-.7px;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:25px;overflow:hidden}.topbar-right{flex:none;align-items:center;gap:12px;margin-left:auto;display:flex}.topbar-date{color:var(--muted);font-size:var(--fs-md);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.topbar-date b{color:var(--text);font-weight:700}.topbar-date:first-letter{text-transform:uppercase}@media (max-width:600px){.topbar-date{display:none}}.content{width:100%;padding:26px clamp(20px,3.5vw,44px) 70px}.content:focus{outline:none}.skip-link{z-index:60;background:var(--card);color:var(--accent-strong);border:1px solid var(--accent);border-radius:var(--r-md);font-size:var(--fs-lg);box-shadow:var(--shadow-md);padding:10px 14px;font-weight:700;text-decoration:none;transition:top .12s;position:fixed;top:-60px;left:10px}.skip-link:focus{top:10px}.empty{text-align:center;color:var(--muted);background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px dashed #dfe3ea;padding:64px 20px}.empty .big{font-family:var(--font-display);color:var(--text);letter-spacing:-.3px;margin-bottom:7px;font-size:19px}.center-screen{min-height:100dvh;color:var(--muted);place-items:center;display:grid}.add-go{border-radius:var(--r-sm);cursor:pointer;background:var(--accent-soft);width:30px;height:30px;color:var(--accent-strong);border:none;flex:none;align-self:center;place-items:center;transition:background .13s,color .13s,transform 50ms;display:grid}.add-go svg{width:15px;height:15px}.add-go:hover{background:var(--accent);color:#fff}.add-go:active{transform:translateY(1px)}.add-go:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.is-reloading{opacity:.45;pointer-events:none;transition:opacity .15s}.md-check,.tk-check,.st-check,.cl-check,.pn-check,.dt-check,.wo-check,.md-drag,.wo-mv{position:relative}.md-check:after,.tk-check:after,.st-check:after,.cl-check:after,.pn-check:after,.dt-check:after,.wo-check:after{content:"";position:absolute;inset:-3px}.md-drag:after,.wo-mv:after{content:"";position:absolute;inset:-2px}.is-bad,.is-bad:focus,.is-bad:hover{border-color:var(--danger)!important;box-shadow:0 0 0 2px var(--danger-soft)!important;background:var(--danger-soft)!important}.stale-bar{background:var(--danger-soft);border-radius:var(--r-md);color:#8e1b16;font-size:var(--fs-md);border:1px solid #f3c7c4;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;display:flex}.stale-ico{flex:none;width:18px;height:18px}.stale-msg{flex:auto}.stale-bar button{border-radius:var(--r-sm);color:#8e1b16;font:inherit;cursor:pointer;background:#fff;border:1px solid #e9b7b3;flex:none;align-items:center;gap:6px;padding:6px 12px;font-weight:600;display:inline-flex}.stale-bar button svg{width:15px;height:15px}.stale-bar button:hover:not(:disabled){background:#fff5f4}.stale-bar button:disabled{opacity:.55;cursor:default}.boot-err{text-align:center;max-width:380px;padding:24px}.boot-err .big{font-family:var(--font-display);color:var(--text);letter-spacing:-.3px;margin-bottom:7px;font-size:19px}.boot-err p{font-size:var(--fs-lg);margin:0 0 16px;line-height:1.5}@keyframes soft-pulse{50%{opacity:.4}}.md-loading,.tk-loading,.st-loading,.cl-loading,.fn-loading,.wl-loading{animation:1.6s ease-in-out infinite soft-pulse}.toast-live{z-index:50;pointer-events:none;justify-items:center;display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.toast{color:#fff;border-radius:var(--r-md);max-width:min(560px,100vw - 32px);font-size:var(--fs-lg);box-shadow:var(--shadow-lg);pointer-events:auto;background:#1f2430;align-items:center;gap:10px;padding:12px 14px 12px 18px;font-weight:500;animation:.22s ease-out toast-in;display:flex}.toast.is-err{background:#8e1b16;padding-left:14px}.toast-ico{flex:none;width:18px;height:18px}.toast-msg{flex:auto}.toast-action{color:#fff;border-radius:var(--r-sm);font:inherit;cursor:pointer;background:#ffffff29;border:0;flex:none;padding:6px 12px;font-weight:600}.toast-action:hover{background:#ffffff47}.toast-close{border-radius:var(--r-xs);color:#fff;opacity:.75;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:26px;height:26px;display:grid}.toast-close svg{width:15px;height:15px}.toast-close:hover{opacity:1;background:#ffffff29}.toast :focus-visible{outline-offset:2px;outline:2px solid #fff}@keyframes cfm-in{0%{opacity:0;transform:translateY(4px)scale(.97)}}.cfm{z-index:60;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);min-width:176px;max-width:min(320px,100vw - 16px);box-shadow:var(--shadow-lg);gap:9px;padding:11px 12px;animation:.14s ease-out cfm-in;display:grid;position:fixed;top:0;left:0}.cfm-msg{font-size:var(--fs-md);overflow-wrap:anywhere;font-weight:600;line-height:1.45}.cfm-btns{justify-content:flex-end;gap:8px;display:flex}.cfm-no,.cfm-yes{cursor:pointer;border-radius:var(--r-sm);min-height:32px;font-size:var(--fs-sm);padding:6px 13px;font-weight:700;transition:background .13s,border-color .13s,color .13s}.cfm-no{border:1px solid var(--line);background:var(--card);color:var(--muted)}.cfm-no:hover{border-color:var(--icon-muted);color:var(--text)}.cfm-yes{border:1px solid var(--danger);background:var(--danger);color:#fff}.cfm-yes:hover{background:var(--danger-text);border-color:var(--danger-text)}@media (max-width:900px){.sidebar{width:68px;padding:16px 10px}.sidebar .brand .name,.nav-label,.nav-item .label,.logout .label,.settings-link .label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav-item .chev,.nav-sub{display:none}.sidebar .brand{justify-content:center}.nav-item{justify-content:center;padding:12px}.logout,.settings-link{justify-content:center}.main{margin-left:68px}.topbar{padding:12px 16px}.topbar h1{font-size:21px}.content{padding:18px 14px 56px}}.md-loaderr{color:var(--muted);text-align:center;justify-items:center;gap:12px;padding:48px 0;display:grid}.md-linklike,.wl-linklike,.hb-linklike,.jn-linklike{font:inherit;color:var(--accent-strong);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.md-view{flex-direction:column;gap:18px;display:flex}.md-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.md-range{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.md-nav{align-items:center;gap:8px;display:flex}.md-arrow{border-radius:var(--r-md);cursor:pointer;border:1px solid var(--line);background:var(--card);color:#565d69;place-items:center;width:36px;height:36px;transition:border-color .14s,background .14s,color .14s,transform 50ms;display:grid}.md-arrow svg{width:17px;height:17px}.md-arrow:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.md-arrow:active{transform:translateY(1px)}.md-today-btn{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:var(--fs-md);border-radius:var(--r-md);padding:8px 15px;font-weight:700;transition:border-color .14s,background .14s,color .14s}.md-today-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.md-today-btn:disabled{opacity:.45;cursor:default}.md-board{grid-template-columns:1fr 1.16fr 1fr;align-items:start;gap:16px;display:grid}.md-col{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;min-height:260px;padding:14px 14px 12px;transition:border-color .16s,box-shadow .16s,background .16s;display:flex}.md-col.is-past{background:#f4f5f7}.md-col.is-past .md-col-title{color:var(--muted)}.md-col.is-past .md-card{background:#fbfbfc}.md-col.is-today{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-md)}.md-col.md-col-over{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 45%, #fff)}.md-col-head{align-items:baseline;gap:8px;display:flex}.md-col-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.md-col.is-today .md-col-title{color:var(--accent-strong)}.md-col-date{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:600}.md-count{font-size:var(--fs-sm);color:var(--muted);background:var(--line-2);border-radius:var(--r-xl);font-variant-numeric:tabular-nums;margin-left:auto;padding:2px 9px;font-weight:700}.md-col.is-past .md-count{background:#e7e9ed}.md-list{flex-direction:column;flex:1;gap:8px;min-height:56px;display:flex}.md-card{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;align-items:center;gap:8px;padding:8px 9px;transition:border-color .14s,box-shadow .14s,opacity .14s;display:flex}.md-card:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.md-col .md-card.md-dragging{opacity:.35}.md-drop-before{box-shadow:0 -2px 0 var(--accent), var(--shadow-sm)}.md-card.md-done .md-check{opacity:.9}.md-drag{color:var(--icon-muted);cursor:grab;border-radius:var(--r-xs);flex:none;padding:3px;display:inline-flex}.md-drag:active{cursor:grabbing}.md-drag svg{width:15px;height:15px}.md-card:hover .md-drag{color:var(--muted);background:var(--line-2)}.md-check{border-radius:var(--r-xs);border:2px solid var(--icon-muted);cursor:pointer;background:#fff;flex:none;place-items:center;width:21px;height:21px;padding:0;transition:background .14s,border-color .14s;display:grid}.md-check svg{color:#fff;opacity:0;width:13px;height:13px;transition:opacity .12s}.md-check:hover{border-color:var(--accent)}.md-check.done{background:var(--done);border-color:var(--done)}.md-check.done svg{opacity:1}.md-title{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;flex:1;padding:3px 5px;font-weight:500}.md-title:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.md-done-text{color:var(--muted);text-decoration:line-through}.md-card:hover .md-del,.md-card:focus-within .md-del{opacity:1}.md-time{color:var(--accent-strong);flex:none;align-items:center;gap:3px;display:inline-flex}.md-time svg{flex:none;width:13px;height:13px}.md-time input{border:1px solid color-mix(in srgb, var(--accent) 32%, #fff);border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-strong);font:inherit;font-size:var(--fs-sm);cursor:pointer;font-variant-numeric:tabular-nums;padding:2px 4px;font-weight:700}.md-time input:focus{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.md-time input::-webkit-calendar-picker-indicator{cursor:pointer}.md-card.md-done .md-time{opacity:.55}.md-time-x{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;flex:none;padding:3px;transition:color .13s,background .13s;display:inline-flex}.md-time-x svg{width:11px;height:11px}.md-time-x:hover{color:var(--text);background:var(--line-2)}.md-time-add{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-sm);opacity:.45;background:0 0;border:none;flex:none;justify-content:center;align-items:center;min-width:24px;min-height:24px;padding:4px;transition:opacity .13s,background .13s,color .13s;display:inline-flex}.md-time-add svg{width:15px;height:15px}.md-card:hover .md-time-add,.md-card:focus-within .md-time-add{opacity:1}.md-time-add:hover{color:var(--accent-strong);background:var(--accent-soft)}@media (hover:none){.md-time-add{opacity:.85;padding:6px}.md-time-add svg{width:16px;height:16px}}.md-move{flex:none;gap:1px;display:inline-flex}.md-mv{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-sm);opacity:.45;background:0 0;border:none;justify-content:center;align-items:center;min-width:24px;min-height:24px;padding:4px;transition:opacity .13s,background .13s,color .13s;display:inline-flex}.md-mv svg{width:14px;height:14px}.md-card:hover .md-move .md-mv,.md-card:focus-within .md-move .md-mv{opacity:1}.md-mv:hover{color:var(--accent-strong);background:var(--accent-soft)}@media (hover:none){.md-mv{opacity:.85;padding:6px}.md-mv svg{width:16px;height:16px}}.md-rollover{cursor:pointer;border:1px solid color-mix(in srgb, var(--accent) 32%, #fff);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-md);border-radius:var(--r-md);justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-weight:700;transition:background .13s;display:inline-flex}.md-rollover svg{width:14px;height:14px}.md-rollover:hover{background:#d7f2ee}.md-add{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;align-items:center;gap:8px;padding:2px 4px 2px 12px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex}.md-add input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);background:0 0;border:none;flex:1;padding:8px 0}.md-add input:focus{outline:none}.md-add input::placeholder{color:var(--placeholder)}.md-add:focus-within{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}.md-rec{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px 14px 12px;display:flex}.md-rec-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.md-rec-head>svg{width:17px;height:17px;color:var(--accent-strong);flex:none;align-self:center}.md-rec-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.md-rec-head .md-count{color:var(--accent-strong);background:var(--accent-soft);margin-left:auto}.md-rec-hint{color:var(--muted);font-size:var(--fs-md);text-align:center;border:1px dashed var(--line);border-radius:var(--r-md);padding:14px 12px}.md-rec-tools{flex:none;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.md-rec-tools .md-count{margin-left:0}.md-rec-new{cursor:pointer;white-space:nowrap;border:1px solid color-mix(in srgb, var(--accent) 32%, #fff);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-md);border-radius:var(--r-md);flex:none;align-items:center;gap:6px;padding:7px 12px;font-weight:700;transition:background .13s;display:inline-flex}.md-rec-new svg{width:14px;height:14px}.md-rec-new:hover{background:#d7f2ee}.md-recform{border:1.5px solid color-mix(in srgb, var(--accent) 32%, var(--line));border-radius:var(--r-md);background:color-mix(in srgb, var(--accent-soft) 35%, #fff);flex-direction:column;gap:9px;padding:12px;display:flex}.md-recform .md-add{background:#fff;border-style:solid}.md-recform-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.md-recform-l{font-size:var(--fs-xs);letter-spacing:.8px;text-transform:uppercase;color:var(--muted);flex:none;min-width:86px;font-weight:700}.md-rec-mode{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;align-items:center;gap:2px;padding:3px;display:inline-flex}.md-rec-mode button{color:var(--muted);font-size:var(--fs-sm);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 11px;font-weight:700;transition:background .13s,color .13s,box-shadow .13s}.md-rec-mode button:hover{color:var(--text)}.md-rec-mode button.on{background:var(--accent-strong);color:#fff}.md-step{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;align-items:center;gap:2px;padding:3px;display:inline-flex}.md-step button{width:27px;height:27px;color:var(--muted);border-radius:var(--r-xs);cursor:pointer;background:0 0;border:0;flex:none;font-size:17px;font-weight:700;line-height:1;transition:background .12s,color .12s}.md-step button:hover{background:var(--accent-soft);color:var(--accent-strong)}.md-step input{width:42px;font:inherit;font-size:var(--fs-xl);text-align:center;color:var(--text);font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:0;font-weight:700}.md-step input:focus{outline:none}.md-step input::-webkit-outer-spin-button{appearance:none;margin:0}.md-step input::-webkit-inner-spin-button{appearance:none;margin:0}.md-step .u{font-size:var(--fs-sm);color:var(--muted);padding-right:4px;font-weight:600}.md-recform-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.md-recform-add{cursor:pointer;background:var(--accent-strong);border:1px solid var(--accent-strong);color:#fff;font-size:var(--fs-md);border-radius:var(--r-md);align-items:center;gap:7px;padding:8px 15px;font-weight:700;transition:background .13s,border-color .13s;display:inline-flex}.md-recform-add svg{width:14px;height:14px}.md-recform-add:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.md-recform-close{cursor:pointer;border:1px solid var(--line);color:var(--muted);font-size:var(--fs-md);border-radius:var(--r-md);background:#fff;margin-left:auto;padding:8px 14px;font-weight:700;transition:border-color .13s,color .13s}.md-recform-close:hover{border-color:var(--accent);color:var(--accent-strong)}.md-rec-list{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;overflow:hidden}.md-rec-row{grid-template-columns:21px minmax(0,1fr) 200px 62px;grid-template-areas:"check main rule act";align-items:center;gap:12px;padding:9px 12px;transition:background .12s;display:grid}.md-rec-row+.md-rec-row{border-top:1px solid var(--line)}.md-rec-row:hover{background:var(--line-2)}.md-rec-row.is-active{box-shadow:inset 3px 0 0 var(--accent)}.md-rec-row>.md-check{grid-area:check}.md-rec-main{flex-direction:column;grid-area:main;gap:1px;min-width:0;display:flex}.md-rec-main .md-title{text-overflow:ellipsis;width:100%;padding:2px 5px}.md-rec-row.is-waiting .md-title{color:var(--muted)}.md-rec-state{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;padding-left:5px;font-weight:600}.md-rec-state b{color:var(--accent-strong);font-weight:700}.md-rec-rule{grid-area:rule;align-items:center;min-width:0;display:flex}.md-rec-act{grid-area:act;justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.md-rec-every{color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;align-items:center;gap:5px;font-weight:600;display:inline-flex}.md-rec-every input{border:1px solid var(--line);border-radius:var(--r-xs);width:44px;font:inherit;font-size:var(--fs-md);text-align:center;color:var(--text);font-variant-numeric:tabular-nums;background:#fbfbfc;padding:3px 5px;font-weight:700}.md-rec-every input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.md-rec-refresh{cursor:pointer;border-radius:var(--r-sm);border:1px solid var(--line);width:28px;height:28px;color:var(--accent-strong);background:#fff;flex:none;place-items:center;transition:background .13s,border-color .13s,transform 50ms;display:grid}.md-rec-refresh svg{width:15px;height:15px}.md-rec-refresh:hover{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.md-rec-refresh:active{transform:translateY(1px)}.md-wd{align-items:center;gap:3px;display:inline-flex}.md-wd-chip{border:1px solid var(--line);color:var(--muted);font-size:var(--fs-xs);border-radius:var(--r-sm);cursor:pointer;text-align:center;background:#fff;min-width:34px;padding:6px;font-weight:700;line-height:1;transition:background .12s,border-color .12s,color .12s}.md-wd-chip:hover:not(.on){border-color:var(--accent);color:var(--accent-strong)}.md-wd-chip.on{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.md-wd-mini .md-wd-chip{min-width:25px;font-size:var(--fs-2xs);padding:5px 3px}@media (max-width:900px){.md-board{grid-template-columns:minmax(0,1fr)}.md-col.is-today{order:-1}.md-col.is-past{order:2}.md-col{min-width:0;min-height:0}.md-rec-row{grid-template-columns:21px minmax(0,1fr) 62px;grid-template-areas:"check main act"".rule rule";row-gap:7px}.md-rec-tools{width:100%;margin-left:0}.md-rec-new{margin-left:auto}.md-recform-l{min-width:0}}.tk-view{flex-direction:column;gap:18px;display:flex}.tk-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.tk-chips{scrollbar-width:thin;gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.tk-chip{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);color:var(--muted);font:inherit;font-size:var(--fs-md);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:7px;padding:6px 13px;display:inline-flex}.tk-chip-dot{background:var(--chipc,#d4d9e1);border-radius:50%;flex:none;width:9px;height:9px}.tk-chip:hover{border-color:color-mix(in srgb, var(--chipc,var(--accent)) 45%, var(--line));color:var(--text)}.tk-chip.on{border-color:var(--chipc,var(--accent));background:color-mix(in srgb, var(--chipc,var(--accent)) 10%, #fff);color:color-mix(in srgb, var(--chipc,var(--accent-strong)) 85%, #000);font-weight:600}.tk-heading{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.tk-actions{flex-wrap:wrap;gap:8px;display:flex}.tk-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.tk-btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.tk-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.tk-form input{border:1.5px solid var(--line);border-radius:var(--r-md);min-width:200px;font:inherit;font-size:var(--fs-lg);color:var(--text);background:#fbfbfc;flex:1;padding:9px 12px;transition:border-color .15s,box-shadow .15s,background .15s}.tk-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.tk-form select{border:1.5px solid var(--line);border-radius:var(--r-md);font:inherit;font-size:var(--fs-lg);color:var(--text);background:#fbfbfc;max-width:220px;padding:9px 10px}.tk-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.tk-cat,.tk-cat-lists{flex-direction:column;gap:10px;display:flex}.tk-cat-lists .tk-list{border-left:4px solid var(--catc,var(--line))}.tk-cat-head{border-left:4px solid var(--catc,var(--line-2));border-radius:var(--r-xs);align-items:center;gap:8px;padding:5px 4px 5px 9px;display:flex}.tk-cat-name{min-width:0;color:var(--text);font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;border-radius:var(--r-sm);background:0 0;border:none;flex:1;padding:3px 6px;font-weight:700}.tk-cat-name:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.tk-cat-count{font-size:var(--fs-sm);color:var(--muted);background:var(--line-2);border-radius:var(--r-xl);white-space:nowrap;font-variant-numeric:tabular-nums;padding:2px 9px;font-weight:700}.tk-mini{cursor:pointer;border:1px dashed var(--line);color:var(--muted);font-size:var(--fs-sm);border-radius:var(--r-sm);white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:5px 10px;font-weight:700;transition:border-color .14s,background .14s,color .14s;display:inline-flex}.tk-mini svg{width:13px;height:13px}.tk-mini:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft);border-style:solid}.tk-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.tk-list-head{align-items:center;gap:8px;display:flex}.tk-list-name{min-width:0;color:var(--text);font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.3px;border-radius:var(--r-sm);background:0 0;border:none;flex:1;padding:3px 6px;font-weight:700}.tk-list-name:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.tk-count{font-size:var(--fs-sm);color:var(--muted);background:var(--line-2);border-radius:var(--r-xl);white-space:nowrap;font-variant-numeric:tabular-nums;padding:2px 9px;font-weight:700}.tk-items,.tk-task-group{flex-direction:column;gap:6px;display:flex}.tk-row{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;align-items:center;gap:8px;padding:7px 9px;transition:border-color .14s,box-shadow .14s;display:flex}.tk-row:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.tk-row.tk-sub{background:#fbfbfc;margin-left:34px;padding:5px 8px}.tk-check{border-radius:var(--r-xs);border:2px solid var(--icon-muted);cursor:pointer;background:#fff;flex:none;place-items:center;width:21px;height:21px;padding:0;transition:background .14s,border-color .14s;display:grid}.tk-check svg{color:#fff;opacity:0;width:13px;height:13px;transition:opacity .12s}.tk-check:hover{border-color:var(--accent)}.tk-check.done{background:var(--done);border-color:var(--done)}.tk-check.done svg{opacity:1}.tk-title{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;flex:1;padding:3px 5px;font-weight:500}.tk-title:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.tk-done-text{color:var(--muted);text-decoration:line-through}.tk-subadd,.tk-del{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-sm);opacity:.45;background:0 0;border:none;flex:none;padding:5px;transition:opacity .13s,background .13s,color .13s;display:inline-flex}.tk-subadd svg{width:15px;height:15px}.tk-row:hover .tk-subadd,.tk-row:focus-within .tk-subadd,.tk-row:hover .tk-del,.tk-row:focus-within .tk-del,.tk-list-head:hover .tk-del,.tk-list-head:focus-within .tk-del,.tk-cat-head:hover .tk-del,.tk-cat-head:focus-within .tk-del{opacity:1}.tk-subadd:hover{color:var(--accent-strong);background:var(--accent-soft)}.tk-hide{cursor:pointer;border:1px solid var(--line);color:var(--muted);font:inherit;font-size:var(--fs-xs);border-radius:var(--r-xl);background:#fff;flex:none;min-height:24px;padding:3px 9px;font-weight:700;transition:border-color .13s,background .13s,color .13s}.tk-hide:hover{border-color:var(--accent);color:var(--accent-strong)}.tk-hide.on{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 32%, #fff);color:var(--accent-strong)}.tk-add{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;align-items:center;gap:8px;padding:2px 4px 2px 12px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex}.tk-add input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);background:0 0;border:none;flex:1;padding:8px 0}.tk-add input:focus{outline:none}.tk-add input::placeholder{color:var(--placeholder)}.tk-add:focus-within{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}.tk-add.tk-add-sub{margin-left:34px}@media (max-width:900px){.tk-row.tk-sub,.tk-add.tk-add-sub{margin-left:20px}}.st-view{flex-direction:column;gap:16px;display:flex}.st-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.st-heading{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.st-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.st-btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.st-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.st-form input{border:1.5px solid var(--line);border-radius:var(--r-md);min-width:200px;font:inherit;font-size:var(--fs-lg);color:var(--text);background:#fbfbfc;flex:1;padding:9px 12px;transition:border-color .15s,box-shadow .15s,background .15s}.st-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.st-chips{flex-wrap:wrap;gap:6px;display:flex}.st-chip{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:var(--fs-md);border-radius:var(--r-xl);text-overflow:ellipsis;white-space:nowrap;max-width:220px;padding:6px 13px;font-weight:700;transition:border-color .13s,background .13s,color .13s;overflow:hidden}.st-chip:hover:not(.active){border-color:var(--accent);color:var(--accent-strong)}.st-chip.active{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.st-strat-head{align-items:center;gap:8px;padding:2px 2px 0;display:flex}.st-strat-head>svg{width:18px;height:18px;color:var(--accent-strong);flex:none}.st-strat-name{min-width:0;color:var(--text);font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;border-radius:var(--r-sm);background:0 0;border:none;flex:1;padding:3px 6px;font-weight:700}.st-strat-name:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.st-count{font-size:var(--fs-sm);color:var(--muted);background:var(--line-2);border-radius:var(--r-xl);white-space:nowrap;font-variant-numeric:tabular-nums;padding:2px 9px;font-weight:700}.st-board{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.st-side{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:12px;display:flex}.st-stage-list{flex-direction:column;gap:6px;display:flex}.st-stage-item{align-items:center;gap:2px;min-width:0;display:flex}.st-stage-item .st-stage{flex:1;min-width:0}.st-stage-mv{flex-direction:column;flex:none;gap:1px;display:flex}.st-stage-mv button{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-xs);opacity:.45;background:0 0;border:none;padding:3px;transition:opacity .13s,background .13s,color .13s;display:inline-flex}.st-stage-mv button svg{width:13px;height:13px}.st-stage-item:hover .st-stage-mv button,.st-stage-item:focus-within .st-stage-mv button{opacity:1}.st-stage-mv button:hover:not(:disabled){color:var(--accent-strong);background:var(--accent-soft)}.st-stage-mv button:disabled{opacity:.25;cursor:default}@media (hover:none){.st-stage-mv button{opacity:.8;padding:5px}}.st-stage{text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-md);width:100%;font:inherit;font-size:var(--fs-lg);color:var(--text);background:#fff;align-items:center;gap:9px;padding:9px 10px;font-weight:600;transition:border-color .14s,background .14s,box-shadow .14s;display:flex}.st-stage:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.st-stage.active{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.st-stage-name{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;line-height:1.3;display:-webkit-box;overflow:hidden}.st-stage-num{border-radius:var(--r-xs);background:var(--line-2);width:22px;height:22px;color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-weight:800;display:grid}.st-stage.active .st-stage-num{background:var(--accent);color:#fff}.st-stage-num-big{border-radius:var(--r-sm);width:28px;height:28px;font-size:var(--fs-md);background:var(--accent);color:#fff}.st-detail{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;min-height:260px;padding:14px;display:flex}.st-detail-empty{margin:auto 0}.st-detail-head{align-items:center;gap:9px;display:flex}.st-stage-title{min-width:0;color:var(--text);font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;border-radius:var(--r-sm);background:0 0;border:none;flex:1;padding:3px 6px;font-weight:700}.st-stage-title:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.st-desc{resize:vertical;border:1.5px solid var(--line);border-radius:var(--r-md);width:100%;min-height:170px;color:var(--text);font:inherit;font-size:var(--fs-lg);background:#fbfbfc;padding:11px 13px;line-height:1.55;transition:border-color .15s,box-shadow .15s,background .15s}.st-desc:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.st-desc::placeholder{color:var(--placeholder)}.st-desc-err{border-radius:var(--r-sm);color:#8a2020;font-size:var(--fs-md);background:#fdecec;border:1.5px solid #e9b7b7;flex-wrap:wrap;align-items:center;gap:8px;margin-top:-2px;padding:8px 11px;display:flex}.st-desc-err button{color:#8a2020;border-radius:var(--r-xs);font:inherit;cursor:pointer;background:#fff;border:1px solid #c98c8c;padding:3px 9px;font-weight:700}.st-desc-err button:hover{background:#fff5f5}.st-points{flex-direction:column;gap:6px;display:flex}.st-points-head{font-size:var(--fs-xs);letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:2px;font-weight:700}.st-row{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;align-items:center;gap:8px;padding:7px 9px;transition:border-color .14s,box-shadow .14s;display:flex}.st-row:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.st-check{border-radius:var(--r-xs);border:2px solid var(--icon-muted);cursor:pointer;background:#fff;flex:none;place-items:center;width:21px;height:21px;padding:0;transition:background .14s,border-color .14s;display:grid}.st-check svg{color:#fff;opacity:0;width:13px;height:13px;transition:opacity .12s}.st-check:hover{border-color:var(--accent)}.st-check.done{background:var(--done);border-color:var(--done)}.st-check.done svg{opacity:1}.st-title{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;flex:1;padding:3px 5px;font-weight:500}.st-title:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.st-done-text{color:var(--muted);text-decoration:line-through}.st-row:hover .st-del,.st-row:focus-within .st-del,.st-strat-head:hover .st-del,.st-strat-head:focus-within .st-del,.st-detail-head:hover .st-del,.st-detail-head:focus-within .st-del{opacity:1}.st-add{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;align-items:center;gap:8px;padding:2px 4px 2px 12px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex}.st-add input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);background:0 0;border:none;flex:1;padding:8px 0}.st-add input:focus{outline:none}.st-add input::placeholder{color:var(--placeholder)}.st-add:focus-within{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}@media (max-width:900px){.st-board{grid-template-columns:minmax(0,1fr)}.st-detail{min-width:0;min-height:0}.st-stages{min-width:0}}.cl-view{flex-direction:column;gap:16px;display:flex}.cl-month,.cl-gantt{flex-direction:column;gap:14px;display:flex}.cl-mode{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;align-self:flex-start;align-items:center;gap:2px;padding:3px;display:inline-flex}.cl-mode button{color:var(--muted);font-size:var(--fs-md);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:7px 14px;font-weight:700;transition:background .13s,color .13s,box-shadow .13s}.cl-mode button:hover{color:var(--text)}.cl-mode button.on{color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff}.cl-cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.cl-cal-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.cl-cal-title:first-letter{text-transform:uppercase}.cl-nav{align-items:center;gap:8px;display:flex}.cl-arrow{border-radius:var(--r-md);cursor:pointer;border:1px solid var(--line);background:var(--card);color:#565d69;place-items:center;width:36px;height:36px;transition:border-color .14s,background .14s,color .14s,transform 50ms;display:grid}.cl-arrow svg{width:17px;height:17px}.cl-arrow:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.cl-arrow:active{transform:translateY(1px)}.cl-today-btn{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:var(--fs-md);border-radius:var(--r-md);padding:8px 15px;font-weight:700;transition:border-color .14s,background .14s,color .14s}.cl-today-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.cl-today-btn:disabled{opacity:.45;cursor:default}.cl-grid-head{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cl-wd{text-align:center;font-size:var(--fs-xs);letter-spacing:.8px;text-transform:uppercase;color:var(--muted);padding:2px 0;font-weight:700}.cl-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cl-day{text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);min-height:86px;font:inherit;flex-direction:column;align-items:stretch;gap:4px;padding:7px 8px;transition:border-color .14s,box-shadow .14s,background .14s;display:flex}.cl-day:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.cl-day.is-wknd{background:#fafbfc}.cl-day.is-out{opacity:.55}.cl-day.is-today{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:0 0 0 2px var(--accent-soft)}.cl-day.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cl-day-num{font-size:var(--fs-md);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:800}.cl-day.is-today .cl-day-num{color:var(--accent-strong)}.cl-chips{flex-direction:column;gap:3px;min-width:0;display:flex}.cl-chip{font-size:var(--fs-xs);color:var(--text);background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:var(--r-xs);text-overflow:ellipsis;white-space:nowrap;padding:2px 6px;font-weight:600;overflow:hidden}.cl-chip.done{color:var(--muted);background:var(--line-2);border-left-color:#cdd2da;text-decoration:line-through}.cl-more{font-size:var(--fs-xs);color:var(--muted);padding-left:2px;font-weight:700}.cl-day-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.cl-day-head{align-items:baseline;gap:8px;display:flex}.cl-day-title{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.3px;text-transform:capitalize;font-weight:700}.cl-day-date{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:600}.cl-count{font-size:var(--fs-sm);color:var(--muted);background:var(--line-2);border-radius:var(--r-xl);font-variant-numeric:tabular-nums;margin-left:auto;padding:2px 9px;font-weight:700}.cl-row{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;align-items:center;gap:8px;padding:7px 9px;transition:border-color .14s,box-shadow .14s;display:flex}.cl-row:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.cl-check{border-radius:var(--r-xs);border:2px solid var(--icon-muted);cursor:pointer;background:#fff;flex:none;place-items:center;width:21px;height:21px;padding:0;transition:background .14s,border-color .14s;display:grid}.cl-check svg{color:#fff;opacity:0;width:13px;height:13px;transition:opacity .12s}.cl-check:hover{border-color:var(--accent)}.cl-check.done{background:var(--done);border-color:var(--done)}.cl-check.done svg{opacity:1}.cl-title{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;flex:1;padding:3px 5px;font-weight:500}.cl-title:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.cl-done-text{color:var(--muted);text-decoration:line-through}.cl-row:hover .cl-del,.cl-row:focus-within .cl-del,.cl-g-side:hover .cl-del,.cl-g-side:focus-within .cl-del{opacity:1}.cl-add{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;align-items:center;gap:8px;padding:2px 4px 2px 12px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex}.cl-add input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);background:0 0;border:none;flex:1;padding:8px 0}.cl-add input:focus{outline:none}.cl-add input::placeholder{color:var(--placeholder)}.cl-add:focus-within{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}.cl-g-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.cl-g-scroll{scrollbar-width:thin;overflow-x:auto}.cl-g-inner{flex-direction:column;display:flex}.cl-g-hrow,.cl-g-row{align-items:stretch;display:flex}.cl-g-side{z-index:2;background:var(--card);border-right:1px solid var(--line);flex-direction:column;flex:none;justify-content:center;gap:2px;width:230px;padding:4px 8px 4px 2px;display:flex;position:sticky;left:0}.cl-g-side-top{align-items:center;gap:6px;display:flex}.cl-g-side-dates{color:var(--muted);font-size:var(--fs-xs);align-items:center;gap:3px;padding-left:20px;display:flex}.cl-g-corner{min-height:22px}.cl-g-corner-days{font-size:var(--fs-xs);letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-weight:700}.cl-g-track{flex:none;display:flex;position:relative}.cl-g-months{border-bottom:1px solid var(--line-2)}.cl-g-month{font-size:var(--fs-xs);letter-spacing:.6px;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--line-2);white-space:nowrap;text-overflow:ellipsis;flex:none;padding:3px 0 3px 8px;font-weight:700;overflow:hidden}.cl-g-dayhead{text-align:center;border-left:1px solid var(--line-2);flex-direction:column;flex:none;width:30px;padding:3px 0 5px;line-height:1.15;display:flex}.cl-g-dayhead .n{font-size:var(--fs-sm);color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.cl-g-dayhead .w{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:600}.cl-g-dayhead.is-wknd .n{color:var(--muted)}.cl-g-dayhead.is-today{background:var(--accent-soft);border-radius:var(--r-xs) var(--r-xs) 0 0}.cl-g-dayhead.is-today .n{color:var(--accent-strong)}.cl-g-cells{min-height:40px}.cl-g-cell{border-left:1px solid var(--line-2);flex:none;width:30px}.cl-g-cell.is-wknd{background:#f7f8fa}.cl-g-cell.is-today{background:var(--accent-soft)}.cl-g-row:not(:last-child) .cl-g-cell{border-bottom:1px solid var(--line-2)}.cl-g-hint-empty{color:var(--muted);font-size:var(--fs-md);max-width:620px;padding:12px}.cl-g-dot{border-radius:var(--r-xs);cursor:pointer;border:none;flex:none;width:14px;height:14px;padding:0;transition:transform .1s,box-shadow .13s;display:block}.cl-g-dot:hover,.cpick-btn:hover .cl-g-dot{box-shadow:0 0 0 3px var(--line-2);transform:scale(1.15)}.cl-g-name{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-md);border-radius:var(--r-xs);background:0 0;border:none;flex:1;padding:3px 4px;font-weight:600}.cl-g-name:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.cl-g-date{border-radius:var(--r-xs);min-width:0;color:var(--muted);font:inherit;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:1px solid #0000;flex:1 1 0;padding:1px 2px;font-weight:600}.cl-g-date:hover{border-color:var(--line);color:var(--text);background:#fff}.cl-g-date:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);color:var(--text);background:#fff;outline:none}.cl-g-bar{border-radius:var(--r-sm);cursor:grab;height:26px;box-shadow:var(--shadow-sm);touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-width:18px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.cl-g-bar:hover{filter:brightness(1.06)}.cl-g-bar.dragging{cursor:grabbing;filter:brightness(1.1);box-shadow:var(--shadow-md);z-index:3}.cl-g-bar-label{color:#fff;font-size:var(--fs-xs);pointer-events:none;text-shadow:0 1px 2px #0000002e;font-weight:700}.cl-g-h{cursor:ew-resize;touch-action:none;justify-content:center;align-items:center;width:10px;display:flex;position:absolute;top:0;bottom:0}.cl-g-h:before{content:"";position:absolute;inset:-6px -8px}@media (hover:none){.cl-g-h{width:16px}}.cl-g-h:after{content:"";border-radius:var(--r-xs);opacity:0;background:#ffffffbf;width:3px;height:12px;transition:opacity .12s}.cl-g-bar:hover .cl-g-h:after,.cl-g-bar.dragging .cl-g-h:after{opacity:1}.cl-g-h-l{border-radius:var(--r-sm) 0 0 var(--r-sm);left:0}.cl-g-h-r{border-radius:0 8px 8px 0;right:0}.cl-day-cnt{display:none}@media (max-width:900px){.cl-day{min-height:52px;padding:5px 6px}.cl-chips{display:none}.cl-day-cnt{border-radius:var(--r-md);background:var(--accent-soft);min-width:19px;height:19px;color:var(--accent-strong);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;align-self:flex-start;place-items:center;padding:0 5px;font-weight:800;display:inline-grid}}.fn-view{flex-direction:column;gap:14px;display:flex}.fn-summary{grid-template-columns:1fr 1fr 1.4fr;gap:12px;display:grid}.fn-sum{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.fn-sum-head{align-items:center;gap:9px;margin-bottom:3px;display:flex}.fn-sum-head .ic{border-radius:var(--r-md);background:var(--line-2);width:34px;height:34px;color:var(--muted);flex:none;place-items:center;display:grid}.fn-sum-head .ic svg{width:17px;height:17px}.fn-sum.is-income .fn-sum-head .ic{background:var(--ok-soft);color:var(--ok-text)}.fn-sum.is-expense .fn-sum-head .ic{background:var(--danger-soft);color:var(--danger-text)}.fn-sum.is-balance .fn-sum-head .ic{background:var(--accent-soft);color:var(--accent-strong)}.fn-sum .l{font-size:var(--fs-xs);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-weight:700}.fn-sum .v{font-family:var(--font-display);letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.fn-sum .s{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:600}.fn-sum.is-income .v{color:var(--ok-text)}.fn-sum.is-expense .v{color:var(--danger-text)}.fn-sum.is-balance{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.fn-sum.is-balance .v{color:var(--accent-strong)}.fn-sum.is-balance.neg .v{color:var(--danger-text)}.fn-edit-btn{cursor:pointer;border:1px solid var(--line);color:var(--muted);font-size:var(--fs-sm);border-radius:var(--r-sm);background:#fff;margin-left:auto;padding:3px 11px;font-weight:700;transition:border-color .14s,background .14s,color .14s}.fn-edit-btn:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.fn-anchor-del{cursor:pointer;font:inherit;font-size:var(--fs-sm);color:var(--accent-strong);background:0 0;border:none;margin-left:8px;padding:0;font-weight:700;text-decoration:underline}.fn-anchor-del:hover{color:var(--accent-deep)}.fn-anchor-warn{color:var(--danger-text);margin-top:2px;font-style:normal;font-weight:700;display:block}.fn-anchor-hint{color:var(--muted);margin-top:2px;font-style:normal;font-weight:600;display:block}.fn-sum-edit{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.fn-sum-edit-l{font-size:var(--fs-sm);color:var(--muted);flex:1 0 100%;font-weight:600}.fn-start-mode{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;flex-wrap:wrap;flex:1 0 100%;align-items:center;gap:2px;padding:3px;display:flex}.fn-start-mode button{color:var(--muted);cursor:pointer;font-size:var(--fs-sm);border-radius:var(--r-sm);white-space:nowrap;background:0 0;border:none;flex:auto;padding:6px 10px;font-weight:700;transition:background .13s,color .13s,box-shadow .13s}.fn-start-mode button:hover{color:var(--text)}.fn-start-mode button.on{color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff}.fn-start-hint{font-size:var(--fs-sm);color:var(--muted);flex:1 0 100%;margin:0;line-height:1.4}.fn-sum-edit input{text-align:right;border:1.5px solid var(--line);border-radius:var(--r-sm);min-width:110px;max-width:160px;font:inherit;font-size:var(--fs-lg);color:var(--text);font-variant-numeric:tabular-nums;background:#fbfbfc;flex:1;padding:6px 9px;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s}.fn-sum-edit input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.fn-sum-edit input:disabled{opacity:.5;cursor:not-allowed;background:var(--line-2)}.fn-sum-edit .fn-btn{font-size:var(--fs-sm);padding:6px 11px}.fn-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.fn-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.fn-title:first-letter{text-transform:uppercase}.fn-nav{align-items:center;gap:8px;display:flex}.fn-arrow{border-radius:var(--r-md);cursor:pointer;border:1px solid var(--line);background:var(--card);color:#565d69;place-items:center;width:36px;height:36px;transition:border-color .14s,background .14s,color .14s,transform 50ms;display:grid}.fn-arrow svg{width:17px;height:17px}.fn-arrow:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.fn-arrow:active{transform:translateY(1px)}.fn-today-btn{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:var(--fs-md);border-radius:var(--r-md);padding:8px 15px;font-weight:700;transition:border-color .14s,background .14s,color .14s}.fn-today-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.fn-today-btn:disabled{opacity:.45;cursor:default}.fn-nav .fn-btn-cats{border-left-width:1px;margin-left:6px;padding:8px 14px}.fn-btn-cats.on{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.fn-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.fn-form input{border:1.5px solid var(--line);border-radius:var(--r-md);font:inherit;font-size:var(--fs-lg);color:var(--text);background:#fbfbfc;padding:8px 10px;transition:border-color .15s,box-shadow .15s,background .15s}.fn-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.fn-form-name{flex:1;min-width:170px}.fn-form-amount{text-align:right;font-variant-numeric:tabular-nums;width:104px}.fn-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.fn-btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.fn-catpick{min-width:0;max-width:100%;display:inline-flex;position:relative}.fn-cat-chip,.fn-cat-opt{cursor:pointer;font:inherit;font-size:var(--fs-xs);white-space:normal;overflow-wrap:anywhere;text-align:left;border-radius:var(--r-xl);max-width:100%;color:color-mix(in srgb, var(--chipc,var(--muted)) 82%, #000);background:color-mix(in srgb, var(--chipc,var(--line-2)) 20%, #fff);border:1px solid color-mix(in srgb, var(--chipc,var(--line)) 42%, #fff);align-items:center;gap:6px;padding:5px 11px;font-weight:700;transition:background .13s,border-color .13s,box-shadow .13s;display:inline-flex}.fn-cat-dot{background:var(--chipc,var(--icon-muted));border-radius:50%;flex:none;width:8px;height:8px}.fn-cat-lbl{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fn-form .fn-cat-chip{font-size:var(--fs-md);padding:8px 13px}.fn-cat-chip:hover,.fn-cat-chip[aria-expanded=true]{background:color-mix(in srgb, var(--chipc,var(--line-2)) 30%, #fff)}.fn-cat-chip.none{color:var(--muted);border-style:dashed;border-color:var(--line);background:0 0}.fn-cat-chip.none svg{width:13px;height:13px}.fn-cat-chip.none:hover{color:var(--accent-strong);border-color:var(--accent);background:var(--accent-soft)}.fn-cat-menu{z-index:20;border:1px solid var(--line);border-radius:var(--r-md);min-width:190px;max-width:280px;box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;align-items:flex-start;gap:5px;max-height:280px;padding:7px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.fn-cat-opt.on{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--chipc,var(--text)) 60%, #fff)}.fn-cat-opt:hover{background:color-mix(in srgb, var(--chipc,var(--line-2)) 32%, #fff)}.fn-cat-opt-off{cursor:pointer;text-align:left;border-radius:var(--r-xs);border:1px dashed var(--line);width:100%;color:var(--muted);font:inherit;font-size:var(--fs-xs);background:#fff;padding:5px 9px;font-weight:700}.fn-cat-opt-off:hover{border-color:var(--icon-muted);color:var(--text)}.fn-cat-menu-empty{color:var(--muted);font-size:var(--fs-sm);white-space:normal;padding:4px 6px}.fn-kind{border-radius:var(--r-sm);flex:none;place-items:center;width:26px;height:26px;display:inline-grid}.fn-kind svg{width:15px;height:15px}.fn-kind.income{color:var(--ok-text);background:var(--ok-soft)}.fn-kind.expense{color:var(--danger-text);background:var(--danger-soft)}.fn-kind-btn{cursor:pointer;border:none;padding:0;transition:transform .1s,box-shadow .13s}.fn-kind-btn:hover{box-shadow:0 0 0 3px var(--line-2);transform:scale(1.1)}.fn-cats{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.fn-cats-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.fn-cats-title{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;font-weight:700}.fn-cats-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fn-cats-add>input{border:1.5px solid var(--line);border-radius:var(--r-md);min-width:170px;font:inherit;font-size:var(--fs-lg);color:var(--text);background:#fbfbfc;flex:1;padding:8px 10px;transition:border-color .15s,box-shadow .15s,background .15s}.fn-cats-add>input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.fn-kind-toggle{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;align-items:center;gap:2px;padding:3px;display:inline-flex}.fn-kind-toggle button{color:var(--muted);font-size:var(--fs-md);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;padding:6px 11px;font-weight:700;transition:background .13s,color .13s,box-shadow .13s;display:inline-flex}.fn-kind-toggle button svg{width:13px;height:13px}.fn-kind-toggle button.inc.on{background:var(--ok-soft);color:var(--ok-text);box-shadow:var(--shadow-sm)}.fn-kind-toggle button.exp.on{background:var(--danger-soft);color:var(--danger-text);box-shadow:var(--shadow-sm)}.fn-cats-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px;display:grid}.fn-cat-row{border:1px solid var(--line);border-radius:var(--r-md);border-left:4px solid var(--catc,var(--line-2));background:#fff;align-items:center;gap:8px;padding:5px 8px;transition:border-color .14s,box-shadow .14s;display:flex}.fn-cat-row:hover{box-shadow:var(--shadow-sm)}.fn-cat-name{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;flex:1;padding:3px 5px;font-weight:600}.fn-cat-name:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.fn-stats{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.fn-stats-body{grid-template-columns:196px minmax(0,1fr);align-items:center;gap:20px;display:grid}.fn-donut{justify-self:center;width:196px;height:196px;position:relative}.fn-donut svg{width:100%;height:100%;display:block}.fn-donut circle{cursor:default;transition:opacity .14s}.fn-donut circle.dim{opacity:.22}.fn-donut-c{text-align:center;pointer-events:none;place-content:center;gap:1px;padding:0 26px;display:grid;position:absolute;inset:0}.fn-donut-c .l{font-size:var(--fs-xs);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.fn-donut-c .v{font-family:var(--font-display);letter-spacing:-.4px;font-variant-numeric:tabular-nums;font-size:19px;font-weight:700}.fn-donut-c .p{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.fn-legend{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.fn-legend li{border-radius:var(--r-sm);grid-template-columns:10px minmax(0,1fr) auto 52px;align-items:center;gap:4px 9px;padding:6px 9px;transition:background .13s;display:grid}.fn-legend li.on{background:var(--line-2)}.fn-legend-dot{background:var(--chipc,var(--icon-muted));border-radius:3px;width:10px;height:10px}.fn-legend-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-md);font-weight:600;overflow:hidden}.fn-legend-val{font-size:var(--fs-md);font-variant-numeric:tabular-nums;font-weight:700}.fn-legend-pct{text-align:right;font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.fn-legend-bar{background:var(--line-2);border-radius:3px;grid-column:2/-1;height:5px;overflow:hidden}.fn-legend-bar i{background:var(--chipc,var(--icon-muted));border-radius:3px;height:100%;display:block}.fn-table{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:8px 10px 10px;display:flex}.fn-thead,.fn-trow{grid-template-columns:118px minmax(140px,1fr) minmax(110px,180px) 58px 118px 34px;align-items:center;gap:8px;display:grid}.fn-thead{padding:6px 8px 4px}.fn-thead span{font-size:var(--fs-xs);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-weight:700}.fn-thead .c{text-align:center}.fn-thead .r{text-align:right;padding-right:8px}.fn-trow{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;padding:5px 8px;transition:border-color .14s,box-shadow .14s}.fn-trow:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.fn-trow .fn-kind{justify-self:center}.fn-tdate{font:inherit;font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:var(--r-xs);cursor:pointer;background:0 0;border:1px solid #0000;width:100%;min-width:0;padding:3px 4px;font-weight:700;transition:border-color .13s,background .13s,color .13s}.fn-tdate:hover{border-color:var(--line);color:var(--text);background:#fbfbfc}.fn-tdate:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;color:var(--text)}.fn-tdate::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}.fn-tdate:hover::-webkit-calendar-picker-indicator{opacity:1}.fn-tname{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;padding:3px 5px;font-weight:500}.fn-tname:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.fn-trow .fn-catpick{justify-self:start}.fn-tamount{text-align:right;border-radius:var(--r-sm);width:100%;font:inherit;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;padding:4px 8px;font-weight:700;transition:border-color .14s,box-shadow .14s,background .14s}.fn-tamount.income{color:var(--ok-text)}.fn-tamount.expense{color:var(--danger-text)}.fn-tamount:hover{border-color:var(--line);background:#fbfbfc}.fn-tamount:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.fn-trow:hover .fn-del,.fn-trow:focus-within .fn-del,.fn-cat-row:hover .fn-del,.fn-cat-row:focus-within .fn-del{opacity:1}@media (max-width:900px){.fn-summary{grid-template-columns:1fr}.fn-thead{display:none}.fn-thead+.fn-empty{margin-top:4px}.fn-trow{grid-template-columns:108px minmax(80px,1fr) 30px 96px 30px;row-gap:4px}.fn-trow .fn-catpick{grid-column:1/-1}.fn-cats-list,.fn-stats-body{grid-template-columns:1fr}}.wl-view{flex-direction:column;gap:14px;display:flex}.wl-summary{grid-template-columns:1fr 1fr 1.2fr;gap:12px;display:grid}.wl-sum{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.wl-sum-head{align-items:center;gap:9px;margin-bottom:3px;display:flex}.wl-sum-head .ic{border-radius:var(--r-md);background:var(--line-2);width:34px;height:34px;color:var(--muted);flex:none;place-items:center;display:grid}.wl-sum-head .ic svg{width:17px;height:17px}.wl-sum.is-assets .wl-sum-head .ic{background:var(--ok-soft);color:var(--ok-text)}.wl-sum.is-debts .wl-sum-head .ic{background:var(--danger-soft);color:var(--danger-text)}.wl-sum.is-net .wl-sum-head .ic{background:var(--accent-soft);color:var(--accent-strong)}.wl-sum .l{font-size:var(--fs-xs);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-weight:700}.wl-sum .v{font-family:var(--font-display);letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.wl-sum .s{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:600}.wl-sum.is-assets .v{color:var(--ok-text)}.wl-sum.is-debts .v{color:var(--danger-text)}.wl-sum.is-net{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.wl-sum.is-net .v{color:var(--accent-strong)}.wl-sum.is-net.neg .v{color:var(--danger-text)}.wl-break{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:9px;padding:11px 14px;display:flex}.wl-bar{border-radius:var(--r-sm);background:var(--line-2);height:12px;display:flex;overflow:hidden}.wl-bar i{min-width:3px;height:100%;display:block}.wl-legend{flex-wrap:wrap;gap:4px 8px;display:flex}.wl-leg{cursor:pointer;color:var(--text);font-size:var(--fs-md);border-radius:var(--r-sm);background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:4px 9px;font-weight:600;transition:border-color .13s,background .13s;display:inline-flex}.wl-leg:hover{border-color:var(--line);background:#fbfbfc}.wl-leg .v{font-variant-numeric:tabular-nums;font-weight:700}.wl-leg.debt .v{color:var(--danger-text)}.wl-leg .pct{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;font-weight:700}.wl-dot{border-radius:var(--r-xs);flex:none;width:10px;height:10px}.wl-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.wl-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.wl-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.wl-btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.wl-new{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.wl-tpl-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.wl-tpl{text-align:left;cursor:pointer;border:1.5px solid var(--line);border-radius:var(--r-md);background:#fbfbfc;flex-direction:column;gap:3px;padding:9px 11px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex}.wl-tpl b{font-size:var(--fs-md);color:var(--text)}.wl-tpl span{font-size:var(--fs-sm);color:var(--muted);line-height:1.35}.wl-tpl:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.wl-tpl.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-soft) 60%, #fff)}.wl-tpl.on b{color:var(--accent-strong)}.wl-new-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wl-new-row>input{border:1.5px solid var(--line);border-radius:var(--r-md);min-width:200px;font:inherit;font-size:var(--fs-lg);color:var(--text);background:#fbfbfc;flex:1;padding:9px 11px;transition:border-color .15s,box-shadow .15s,background .15s}.wl-new-row>input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.wl-section{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;scroll-margin-top:90px;display:flex}.wl-sec-head{align-items:center;gap:9px;display:flex}.wl-sec-name{min-width:60px;color:var(--text);font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;border-radius:var(--r-sm);background:0 0;border:none;flex:0 auto;padding:3px 6px;font-weight:700}.wl-sec-name:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.wl-sec-tpl{font-size:var(--fs-xs);letter-spacing:.5px;text-transform:uppercase;color:var(--muted);background:var(--line-2);border-radius:var(--r-xl);white-space:nowrap;padding:3px 9px;font-weight:700}.wl-sec-sum{font-weight:800;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;margin-left:auto}.wl-sec-sum.debt{color:var(--danger-text)}.wl-scroll{flex-direction:column;gap:4px;display:flex;overflow-x:auto}.wl-thead,.wl-trow{align-items:center;gap:8px;display:grid}.wl-thead.tpl-quantity,.wl-trow.tpl-quantity{grid-template-columns:minmax(150px,1.4fr) 92px 116px 116px 120px 108px 34px;min-width:790px}.wl-value{text-align:right;font-size:var(--fs-md);color:var(--muted);font-variant-numeric:tabular-nums;padding:5px 7px;font-weight:600}.wl-value.strong{color:var(--text);font-weight:700}.wl-value.est{color:var(--placeholder);font-weight:600}.wl-thead.tpl-property,.wl-trow.tpl-property{grid-template-columns:minmax(150px,1.4fr) 130px 116px 116px 108px 34px;min-width:700px}.wl-thead.tpl-simple,.wl-trow.tpl-simple{grid-template-columns:minmax(160px,1fr) 132px 34px;min-width:380px}.wl-thead.tpl-loan,.wl-trow.tpl-loan{grid-template-columns:minmax(150px,1.3fr) 116px 104px 96px 120px 108px 34px;min-width:780px}.wl-thead{align-items:end;padding:4px 8px 2px}.wl-thead span{overflow-wrap:anywhere;min-width:0;font-size:var(--fs-xs);letter-spacing:.5px;text-transform:uppercase;color:var(--muted);flex-direction:column;font-weight:700;line-height:1.2;display:flex}.wl-thead span.r{text-align:right;align-items:flex-end;padding-right:8px}.wl-thead span.c{text-align:center;align-items:center}.wl-thead span i{letter-spacing:0;text-transform:none;color:var(--placeholder);font-size:10px;font-style:normal;font-weight:600}.wl-trow{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;padding:5px 8px;transition:border-color .14s,box-shadow .14s}.wl-trow:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.wl-loanwrap{flex-direction:column;gap:4px;display:flex}.wl-namecell{grid-template-columns:21px minmax(0,1fr);align-items:center;column-gap:4px;min-width:0;display:grid}.wl-namecell>.wl-grip{grid-row:span 2}.wl-namecell>.wl-iname,.wl-namecell>.wl-inote{grid-column:2}.wl-tbody{flex-direction:column;gap:4px;display:flex}.wl-iname{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;padding:2px 5px;font-weight:600}.wl-iname:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.wl-inote{min-width:0;color:var(--muted);font:inherit;font-size:var(--fs-sm);border-radius:var(--r-xs);background:0 0;border:none;padding:1px 5px}.wl-inote::placeholder{color:var(--placeholder)}.wl-inote:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);color:var(--text);outline:none}.wl-money{text-align:right;border-radius:var(--r-sm);width:100%;font:inherit;font-size:var(--fs-md);color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;padding:4px 8px;font-weight:600;transition:border-color .14s,box-shadow .14s,background .14s}.wl-money.strong{font-weight:700}.wl-money.mid{text-align:center}input.wl-money:hover{border-color:var(--line);background:#fbfbfc}input.wl-money:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}span.wl-money{display:inline-block}.wl-auto{color:var(--danger-text)}.wl-idate{border-radius:var(--r-sm);color:var(--text);font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;padding:4px 6px;transition:border-color .14s,background .14s}.wl-idate:hover{border-color:var(--line);background:#fbfbfc}.wl-idate:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.wl-result{text-align:right;font-size:var(--fs-md);font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:4px;font-weight:700}.wl-result.pos{color:var(--ok-text)}.wl-result.neg{color:var(--danger-text)}.wl-result.none{color:var(--muted);font-weight:600}.wl-inst{text-align:center;font-size:var(--fs-md);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.wl-sched-btn{cursor:pointer;border:1px dashed var(--line);color:var(--muted);font-size:var(--fs-sm);border-radius:var(--r-sm);white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:4px;padding:5px 8px;font-weight:700;transition:border-color .13s,background .13s,color .13s;display:inline-flex}.wl-sched-btn svg{width:13px;height:13px}.wl-sched-btn .chev{transition:transform .15s}.wl-sched-btn .chev.open{transform:rotate(180deg)}.wl-sched-btn:hover,.wl-sched-btn.on{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft);border-style:solid}.wl-sched{border:1px dashed var(--line);border-radius:var(--r-md);background:#ffffff80;flex-direction:column;gap:4px;min-width:520px;padding:9px 10px;display:flex}.wl-sched-head,.wl-sched-row{grid-template-columns:30px 150px 112px minmax(110px,1fr) 34px;align-items:center;gap:8px;display:grid}.wl-sched-head{padding:0 8px}.wl-sched-head span{letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.wl-sched-sum{font-size:var(--fs-md);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:1px 2px 4px;font-weight:600;display:flex}.wl-sched-sum b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:800}.wl-sched-sum .bad{color:var(--danger-text);font-weight:800}.wl-sched-sum .ok{color:var(--ok-text);font-weight:800}.wl-sched-sum .wl-linklike{margin-left:auto}.wl-sched-more{border:1px solid var(--line);cursor:pointer;border-radius:var(--r-sm);font:inherit;font-size:var(--fs-sm);color:var(--accent-strong);background:#fff;align-self:center;padding:4px 12px;font-weight:700}.wl-sched-more:hover{background:var(--accent-soft);border-color:var(--accent)}.wl-gen-sum{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.wl-gen-sum.bad{color:var(--danger-text)}.wl-sched-row{border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;padding:3px 8px}.wl-sched-row.next{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.wl-sched-row.overdue{background:var(--danger-soft);border-color:#f0a9a2}.wl-sched-row.overdue .no{color:var(--danger-text)}.wl-sched-row.paid{opacity:.6}.wl-sched-row.paid .wl-money{text-decoration:line-through}.wl-sched-row .no{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.wl-sched-row input[type=date],.wl-sched-add input[type=date],.wl-gen input[type=date]{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;background:#fbfbfc;padding:4px 7px}.wl-sched-row input[type=date]{background:0 0;border-color:#0000}.wl-sched-row input[type=date]:hover{border-color:var(--line);background:#fbfbfc}.wl-sched-row input[type=date]:focus,.wl-sched-add input[type=date]:focus,.wl-gen input[type=date]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.wl-paid{font-size:var(--fs-sm);color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;font-weight:600;display:inline-flex}.wl-paid input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.wl-gen,.wl-sched-add{font-size:var(--fs-md);color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;padding:3px 2px;font-weight:600;display:flex}.wl-gen input,.wl-sched-add input:not([type=date]){border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font:inherit;font-size:var(--fs-md);text-align:right;font-variant-numeric:tabular-nums;background:#fbfbfc;padding:5px 8px}.wl-gen input:focus,.wl-sched-add input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.wl-gen .w-s{width:56px}.wl-gen .w-m,.wl-sched-add .w-m{width:96px}.wl-gen .wl-btn,.wl-sched-add .wl-btn{font-size:var(--fs-sm);padding:6px 11px}.wl-add{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff73;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.wl-add input{border:1.5px solid var(--line);border-radius:var(--r-md);font:inherit;font-size:var(--fs-md);color:var(--text);background:#fbfbfc;padding:8px 10px;transition:border-color .15s,box-shadow .15s,background .15s}.wl-add input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.wl-add-name{flex:1;min-width:170px}.wl-add-num{text-align:right;font-variant-numeric:tabular-nums;width:168px}.wl-trow:hover .wl-del,.wl-trow:focus-within .wl-del,.wl-sec-head:hover .wl-del,.wl-sec-head:focus-within .wl-del,.wl-sched-row:hover .wl-del,.wl-sched-row:focus-within .wl-del{opacity:1}@media (max-width:900px){.wl-summary{grid-template-columns:1fr}.wl-add-num,.wl-add .zl{width:128px}.wl-sched{min-width:480px}}.pn-view{flex-direction:column;gap:14px;display:flex}.pn-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.pn-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.pn-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.pn-btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.pn-new{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.pn-new>input{border:1.5px solid var(--line);border-radius:var(--r-md);min-width:220px;font:inherit;font-size:var(--fs-lg);color:var(--text);background:#fbfbfc;flex:1;padding:9px 11px;transition:border-color .15s,box-shadow .15s,background .15s}.pn-new>input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.pn-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pn-cols-toggle{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;align-items:center;gap:2px;padding:3px;display:inline-flex}.pn-cols-toggle button{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;place-items:center;padding:6px 10px;transition:background .13s,color .13s,box-shadow .13s;display:grid}.pn-cols-toggle button svg{width:17px;height:17px;display:block}.pn-cols-toggle button:hover{color:var(--text)}.pn-cols-toggle button.on{color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff}.pn-grid{grid-template-columns:repeat(auto-fill,minmax(max(340px,50% - 7px),1fr));align-items:start;gap:14px;display:grid}.pn-grid[data-cols="3"]{grid-template-columns:repeat(auto-fill,minmax(max(340px,33.3333% - 9.33333px),1fr))}.pn-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.pn-box-head{align-items:center;gap:8px;display:flex}.pn-box-name{min-width:0;color:var(--text);font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;border-radius:var(--r-sm);background:0 0;border:none;flex:1;padding:3px 6px;font-weight:700}.pn-box-name:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.pn-count{font-size:var(--fs-sm);color:var(--muted);background:var(--line-2);border-radius:var(--r-xl);white-space:nowrap;font-variant-numeric:tabular-nums;padding:2px 9px;font-weight:700}.pn-rows{flex-direction:column;gap:4px;display:flex}.pn-row{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;grid-template-columns:21px 24px minmax(0,1fr) 96px 30px;align-items:center;gap:8px;padding:5px 8px;transition:border-color .14s,box-shadow .14s,opacity .14s;display:grid}.pn-row:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.pn-check{border-radius:var(--r-xs);border:1.5px solid var(--icon-muted);cursor:pointer;color:#0000;background:#fff;flex:none;place-items:center;width:21px;height:21px;transition:border-color .13s,background .13s,color .13s;display:grid}.pn-check svg{width:12px;height:12px}.pn-check:hover{border-color:var(--accent)}.pn-row.done .pn-check{background:var(--done);border-color:var(--done);color:#fff}.pn-namecell{flex-direction:column;gap:0;min-width:0;display:flex}.pn-iname{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;padding:2px 5px;font-weight:600}.pn-iname:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.pn-inote{min-width:0;color:var(--muted);font:inherit;font-size:var(--fs-sm);border-radius:var(--r-xs);background:0 0;border:none;padding:1px 5px}.pn-inote::placeholder{color:var(--placeholder)}.pn-inote:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);color:var(--text);outline:none}.pn-meta{align-items:center;gap:2px;padding:1px 3px 0;display:flex}.pn-date{font:inherit;font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:var(--r-sm);cursor:pointer;opacity:.6;background:0 0;border:1px solid #0000;min-width:0;padding:2px 4px;font-weight:700;transition:opacity .13s,border-color .13s,background .13s,color .13s}.pn-row:hover .pn-date,.pn-row:focus-within .pn-date{opacity:1}.pn-date:hover{border-color:var(--line);color:var(--text);background:#fbfbfc}.pn-date:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;color:var(--text)}.pn-date.on{opacity:1;color:var(--accent-strong);background:var(--accent-soft)}.pn-date::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;margin-left:2px}.pn-date:hover::-webkit-calendar-picker-indicator{opacity:1}.pn-date-off{cursor:pointer;width:20px;height:20px;color:var(--icon-muted);border-radius:var(--r-xs);opacity:.55;background:0 0;border:none;flex:none;place-items:center;transition:opacity .13s,color .13s,background .13s;display:grid}.pn-date-off svg{width:12px;height:12px}.pn-row:hover .pn-date-off,.pn-row:focus-within .pn-date-off{opacity:1}.pn-date-off:hover{color:var(--danger-text);background:var(--danger-soft)}@media (hover:none){.pn-date,.pn-date-off{opacity:.85}}.pn-row.done .pn-iname,.pn-row.done .pn-amount{color:var(--muted);text-decoration:line-through}.pn-amount{text-align:right;border-radius:var(--r-sm);width:100%;font:inherit;font-size:var(--fs-md);color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;padding:4px 8px;font-weight:700;transition:border-color .14s,box-shadow .14s,background .14s}.pn-amount::placeholder{color:var(--placeholder);font-weight:500}.pn-amount:hover{border-color:var(--line);background:#fbfbfc}.pn-amount:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.pn-add{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff73;align-items:center;gap:6px;padding:4px 6px;display:flex}.pn-add:focus-within{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}.pn-add input{font:inherit;font-size:var(--fs-md);color:var(--text);background:0 0;border:none;min-width:0;padding:6px}.pn-add input:focus{outline:none}.pn-add input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-xs)}.pn-add-name{flex:1}.pn-add-amount{text-align:right;font-variant-numeric:tabular-nums;width:88px}.pn-foot{border-top:1px solid var(--line-2);align-items:baseline;gap:8px;margin-top:2px;padding:9px 4px 1px;display:flex}.pn-foot-l{font-size:var(--fs-xs);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-weight:700}.pn-foot-total{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}.pn-foot-noprice{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.pn-foot-left{font-size:var(--fs-sm);color:var(--accent-strong);background:var(--accent-soft);border-radius:var(--r-xl);font-variant-numeric:tabular-nums;margin-left:auto;padding:3px 10px;font-weight:700}.pn-foot-left.zero{color:var(--ok-text);background:var(--ok-soft)}.pn-row:hover .pn-del,.pn-row:focus-within .pn-del,.pn-box-head:hover .pn-del,.pn-box-head:focus-within .pn-del{opacity:1}@media (max-width:900px){.pn-grid,.pn-grid[data-cols="3"]{grid-template-columns:minmax(0,1fr)}.pn-cols-toggle{display:none}.pn-row{grid-template-columns:24px minmax(0,1fr) 84px 30px}.pn-row>.sort-grip{display:none}}.jn-view{flex-direction:column;gap:14px;display:flex}.jn-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.jn-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.jn-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.jn-btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.jn-ed{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px 16px;scroll-margin-top:90px;display:flex}.jn-ed-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.jn-date{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.jn-date:first-letter{text-transform:uppercase}.jn-jump-wrap{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:7px;margin-left:auto;font-weight:600;display:inline-flex}.jn-jump{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;background:#fbfbfc;padding:6px 8px;transition:border-color .15s,box-shadow .15s,background .15s}.jn-jump:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.jn-m1{--mc:#b42318;--ms:#fdecec}.jn-m2{--mc:#b45309;--ms:#fdf0dc}.jn-m3{--mc:#4b5563;--ms:#eef0f4}.jn-m4{--mc:#0b8577;--ms:#e4f6f3}.jn-m5{--mc:#15803d;--ms:#e7f7ec}.jn-mood{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.jn-mood-l{font-size:var(--fs-xs);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-weight:700}.jn-mood-scale{flex-wrap:wrap;align-items:stretch;gap:6px;display:flex}.jn-mood-btn{border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--card);cursor:pointer;width:80px;color:var(--icon-muted);flex-direction:column;justify-content:flex-start;align-items:center;gap:5px;padding:8px 4px 7px;transition:color .13s,background .13s,border-color .13s;display:flex}.jn-mood-btn svg{width:26px;height:26px}.jn-mood-btn .t{font-size:var(--fs-2xs);color:var(--muted);text-align:center;font-weight:700;line-height:1.2}.jn-mood-btn .t:first-letter{text-transform:uppercase}.jn-mood-btn:hover:not(:disabled){color:var(--mc);background:var(--ms);border-color:color-mix(in srgb, var(--mc) 45%, var(--line))}.jn-mood-btn:hover:not(:disabled) .t{color:var(--mc)}.jn-mood-btn.on{color:var(--mc);background:var(--ms);border-color:var(--mc);box-shadow:inset 0 0 0 1px var(--mc)}.jn-mood-btn.on .t{color:var(--mc)}.jn-mood-btn:disabled{opacity:.45;cursor:default}.jn-mood-clear{font-size:var(--fs-sm)}.jn-mood-pill{min-width:0;max-width:100%;color:var(--mc);background:var(--ms);border-radius:var(--r-pill);font-size:var(--fs-xs);align-items:center;gap:5px;padding:3px 9px 3px 6px;font-weight:700;display:inline-flex}.jn-mood-pill svg{flex:none;width:15px;height:15px}.jn-mood-pill .t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jn-mood-pill .t:first-letter{text-transform:uppercase}.jn-ta{resize:vertical;border:1.5px solid var(--line);border-radius:var(--r-md);width:100%;min-height:400px;color:var(--text);font:inherit;font-size:var(--fs-lg);background:#fbfbfc;padding:14px 16px;line-height:1.7;transition:border-color .15s,box-shadow .15s,background .15s}.jn-ta:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.jn-ta::placeholder{color:var(--placeholder)}.jn-ta-loading{min-height:400px;color:var(--muted);font-size:var(--fs-md);border:1.5px dashed var(--line);border-radius:var(--r-md);place-items:center;animation:1.6s ease-in-out infinite soft-pulse;display:grid}.jn-foot{flex-wrap:wrap;align-items:center;gap:10px;min-height:18px;display:flex}.jn-status{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.jn-status.ok{color:var(--ok-text)}.jn-count{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.jn-close{margin-left:auto}.jn-hist-head{flex-wrap:wrap;align-items:center;gap:12px;padding-top:2px;display:flex}.jn-ynav{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex:none;align-items:center;gap:2px;padding:3px;display:inline-flex;position:relative}.jn-arrow{border-radius:var(--r-sm);cursor:pointer;color:#565d69;background:0 0;border:0;place-items:center;width:30px;height:30px;transition:background .13s,color .13s;display:grid}.jn-arrow svg{width:16px;height:16px}.jn-arrow:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-strong)}.jn-arrow:disabled{opacity:.28;cursor:default}.jn-ycur{cursor:pointer;color:var(--text);font:inherit;font-family:var(--font-display);font-size:var(--fs-xl);font-variant-numeric:tabular-nums;border-radius:var(--r-sm);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;min-width:84px;padding:4px 8px;font-weight:700;transition:background .13s,color .13s;display:inline-flex}.jn-ycur svg{width:13px;height:13px;color:var(--icon-muted)}.jn-ycur:hover{background:var(--accent-soft);color:var(--accent-strong)}.jn-ycur:hover svg{color:var(--accent-strong)}.jn-ymenu{z-index:40;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);min-width:100%;max-height:264px;box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow:auto}.jn-yopt{cursor:pointer;color:var(--text);font:inherit;font-size:var(--fs-md);white-space:nowrap;text-align:left;border-radius:var(--r-sm);font-variant-numeric:tabular-nums;background:0 0;border:0;align-items:center;gap:14px;padding:7px 10px;font-weight:700;transition:background .13s,color .13s;display:flex}.jn-yopt .c{font-size:var(--fs-xs);color:var(--muted);margin-left:auto;font-weight:600}.jn-yopt:hover:not(.on){background:var(--accent-soft);color:var(--accent-strong)}.jn-yopt.on{background:var(--accent-strong);color:#fff}.jn-yopt.on .c{color:#ffffffc7}.jn-hist-sum{font-size:var(--fs-md);color:var(--muted);font-weight:600}.jn-hist-sum b{color:var(--text);font-variant-numeric:tabular-nums}.jn-year-now{margin-left:auto;padding:7px 13px}.jn-history{flex-direction:column;gap:14px;display:flex}.jn-month{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.jn-month-head{background:var(--line-2);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px 14px;display:flex}.jn-month-head .m{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:-.2px;font-weight:700}.jn-month-head .m:first-letter{text-transform:uppercase}.jn-month-head .c{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.jn-month-mood{margin-left:auto;display:inline-flex}.jn-row{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr) 122px 20px;align-items:center;gap:12px;padding:11px 14px;transition:background .12s;display:grid}.jn-row+.jn-row{border-top:1px solid var(--line)}.jn-row:hover{background:var(--line-2)}.jn-row.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent-strong)}.jn-day{font-family:var(--font-display);font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;font-weight:700}.jn-row.today .jn-day{color:var(--accent-strong)}.jn-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.jn-row-top{align-items:center;gap:7px;min-width:0;display:flex}.jn-row-top b{font-size:var(--fs-md);color:var(--text)}.jn-row-top b:first-letter{text-transform:uppercase}.jn-tag{font-size:var(--fs-2xs);letter-spacing:.6px;text-transform:uppercase;color:var(--accent-strong);background:var(--accent-soft);border-radius:var(--r-pill);padding:2px 7px;font-weight:700}.jn-snip{color:var(--muted);font-size:var(--fs-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.jn-row-mood{min-width:0;display:inline-flex}.jn-row-edit{color:var(--icon-muted);opacity:0;justify-self:end;transition:opacity .13s,color .13s;display:inline-flex}.jn-row-edit svg{width:14px;height:14px}.jn-row:hover .jn-row-edit,.jn-row:focus-visible .jn-row-edit{opacity:1;color:var(--accent-strong)}@media (hover:none){.jn-row-edit{opacity:.5}}@media (max-width:900px){.jn-ta,.jn-ta-loading{min-height:300px}}@media (max-width:720px){.jn-row{grid-template-columns:30px minmax(0,1fr) auto 18px;gap:9px;padding:10px 12px}.jn-row-mood .jn-mood-pill .t{display:none}.jn-row-mood .jn-mood-pill{padding:4px 6px}.jn-mood-btn{width:64px}.jn-year-now{margin-left:0}}.gl-view{flex-direction:column;gap:14px;display:flex}.gl-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.gl-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.gl-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.gl-btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.gl-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:14px 16px 16px;display:flex}.gl-f-title{border:none;border-bottom:2px solid var(--line);color:var(--text);font:inherit;font-family:var(--font-display);font-size:var(--fs-xl);background:0 0;padding:7px 2px;font-weight:700}.gl-f-title:focus{border-bottom-color:var(--accent);outline:none}.gl-f-title::placeholder{color:var(--placeholder);font-weight:600}.gl-f-grid{flex-wrap:wrap;gap:12px 14px;display:flex}.gl-f-field{flex-direction:column;gap:5px;min-width:0;display:flex}.gl-f-field>span{font-size:var(--fs-2xs);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-weight:700}.gl-f-field>span i{text-transform:none;letter-spacing:0;opacity:.8;font-style:normal;font-weight:600}.gl-f-field select,.gl-f-field input{border-radius:var(--r-md);color:var(--text);font:inherit;font-size:var(--fs-md);background:#fff;border:1.5px solid #cfd6e2;min-width:0;padding:9px 11px;font-weight:600;transition:border-color .14s,box-shadow .14s;box-shadow:inset 0 1px 2px #171d330d}.gl-f-field select:hover,.gl-f-field input:hover{border-color:var(--accent)}.gl-f-field select{cursor:pointer}.gl-f-field input{width:186px}.gl-f-field input[type=date]{font-variant-numeric:tabular-nums;cursor:pointer;width:168px}.gl-f-field select:focus,.gl-f-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.gl-f-field .zl>input{text-align:right;padding-right:25px}.gl-f-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gl-f-go{cursor:pointer;border:1px solid var(--accent-strong);background:var(--accent-strong);color:#fff;font:inherit;font-size:var(--fs-md);border-radius:var(--r-md);padding:10px 18px;font-weight:700;transition:background .14s,border-color .14s}.gl-f-go:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.gl-f-close{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--muted);font:inherit;font-size:var(--fs-md);border-radius:var(--r-md);padding:10px 16px;font-weight:700;transition:border-color .14s,color .14s}.gl-f-close:hover{border-color:var(--accent);color:var(--accent-strong)}.gl-main{background:linear-gradient(168deg, var(--accent-soft) 0%, #f6fcfb 34%, var(--card) 72%);border:1px solid var(--line);border-top:3px solid var(--accent-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:11px;padding:16px 20px 18px;display:flex}.gl-main.is-done{border-top-color:var(--done);background:linear-gradient(168deg, var(--ok-soft) 0%, #f7fdfa 34%, var(--card) 72%)}.gl-main-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.gl-badge{font-size:var(--fs-2xs);letter-spacing:1.4px;text-transform:uppercase;color:var(--accent-strong);font-weight:800}.gl-main.is-done .gl-badge{color:var(--done)}.gl-main-title{width:100%;color:var(--text);font:inherit;font-family:var(--font-display);letter-spacing:-.6px;border-radius:var(--r-xs);background:0 0;border:none;padding:2px 5px;font-size:26px;font-weight:800}.gl-main-prog{flex-wrap:wrap;align-items:center;gap:16px;padding-left:5px;display:flex}.gl-main-pct{font-family:var(--font-display);letter-spacing:-1.4px;color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1}.gl-main.is-done .gl-main-pct{color:var(--done)}.gl-main .gl-meta{padding-left:5px}.gl-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px;display:flex}.gl-box-head{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.gl-box-title{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;font-weight:700}.gl-box-head .c{font-size:var(--fs-sm);color:var(--muted);background:var(--line-2);border-radius:var(--r-xl);padding:2px 8px;font-weight:800}.gl-cards{flex-direction:column;gap:10px;display:flex}.gl-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:9px;padding:11px 12px;transition:box-shadow .14s;display:flex}.gl-card:hover{box-shadow:var(--shadow-sm);border-color:var(--accent-soft)}.gl-card-top{align-items:center;gap:8px;display:flex}.gl-card-title{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;flex:1;padding:3px 5px;font-weight:700}.gl-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.gl-card.is-done .gl-card-title{color:var(--muted)}.gl-rows{flex-direction:column;display:flex}.gl-row{grid-template-columns:20px minmax(0,1fr) auto 28px;align-items:center;gap:10px;padding:9px 4px;transition:background .12s;display:grid}.gl-row+.gl-row{border-top:1px solid var(--line)}.gl-row:hover{background:var(--line-2)}.gl-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.gl-row-title{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-md);border-radius:var(--r-xs);background:0 0;border:none;padding:2px 5px;font-weight:600}.gl-row.is-done .gl-row-title{color:var(--muted)}.gl-row-prog{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.gl-row-bar{align-items:center;gap:7px;width:118px;display:inline-flex}.gl-bar{border-radius:var(--r-pill);background:var(--line-2);height:9px;display:block;overflow:hidden;box-shadow:inset 0 1px 2px #171d330d}.gl-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--accent) 0%, var(--accent-deep) 100%);min-width:3px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);display:block}.gl-bar.lg{height:13px}.gl-bar.mini{flex:1;height:6px}.gl-bar.done i{background:linear-gradient(90deg, #16a34a 0%, var(--done) 100%)}.gl-bar.warn i{background:linear-gradient(90deg,#f59e0b 0%,#b45309 100%)}.gl-pct{font-size:var(--fs-md);color:var(--accent-strong);font-variant-numeric:tabular-nums;flex:none;font-weight:800}.gl-card.is-done .gl-pct,.gl-row.is-done .gl-pct{color:var(--done)}.gl-vals{align-items:center;gap:8px;min-width:0;display:inline-flex}.gl-lab{font-size:var(--fs-2xs);letter-spacing:.8px;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-weight:800}.gl-cur{text-align:right;border-radius:var(--r-sm);width:126px;font:inherit;font-size:var(--fs-md);color:var(--text);font-variant-numeric:tabular-nums;cursor:pointer;background:#fff;border:1.5px solid #cfd6e2;padding:7px 11px;font-weight:800;transition:border-color .14s,background .14s,box-shadow .14s;box-shadow:inset 0 1px 2px #171d330f}.gl-cur.big{font-size:var(--fs-xl);width:150px;padding:10px 13px}.gl-cur::placeholder{color:var(--placeholder);font-weight:600}.gl-cur:hover{border-color:var(--accent);background:var(--accent-soft)}.gl-cur:focus{cursor:text;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.gl-of{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;font-weight:700}.gl-state{cursor:pointer;white-space:nowrap;color:var(--muted);font:inherit;font-size:var(--fs-sm);border-radius:var(--r-pill);background:#fff;border:1.5px solid #cfd6e2;align-items:center;gap:6px;padding:7px 15px;font-weight:700;transition:border-color .14s,color .14s,background .14s,box-shadow .14s;display:inline-flex;box-shadow:inset 0 1px 2px #171d330d}.gl-state:before{content:"";opacity:.5;border:1.5px solid;border-radius:50%;width:13px;height:13px}.gl-state:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.gl-state.done{background:var(--ok-soft);color:var(--ok-text);box-shadow:none;border-color:#0000}.gl-state.done:before{opacity:1;border-style:solid;border-width:0 1.5px 1.5px 0;border-radius:0;width:5px;height:9px;transform:rotate(45deg)translate(-1px,-1px)}.gl-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gl-chip{white-space:nowrap;font-size:var(--fs-sm);color:var(--muted);font-weight:700}.gl-chip.done{color:var(--ok-text)}.gl-chip.over{color:var(--danger-text)}.gl-chip.warn{color:var(--warn-text)}.gl-chip.muted{opacity:.8;font-weight:600}.gl-meta>.gl-chip+.gl-chip:before{content:"·";color:var(--icon-muted);margin-right:10px;font-weight:700}.gl-main-title:hover:not(:focus),.gl-card-title:hover:not(:focus),.gl-row-title:hover:not(:focus){box-shadow:inset 0 -2px 0 var(--accent)}.gl-main-title:focus,.gl-card-title:focus,.gl-row-title:focus{box-shadow:0 0 0 2px var(--accent);background:#fff;outline:none}.gl-menu{flex:none;display:inline-flex;position:relative}.gl-menu-btn{cursor:pointer;border-radius:var(--r-sm);width:28px;height:28px;color:var(--icon-muted);opacity:.5;background:0 0;border:none;place-items:center;padding:0;transition:opacity .13s,color .13s,background .13s;display:grid}.gl-menu-btn svg{width:16px;height:16px}.gl-menu-btn:hover,.gl-menu-btn.on{opacity:1;color:var(--accent-strong);background:var(--accent-soft)}.gl-card:hover .gl-menu-btn,.gl-card:focus-within .gl-menu-btn,.gl-main:hover .gl-menu-btn,.gl-main:focus-within .gl-menu-btn,.gl-row:hover .gl-menu-btn,.gl-row:focus-within .gl-menu-btn{opacity:1}@media (hover:none){.gl-menu-btn{opacity:.6}}.gl-menu-pop,.dt-menu-pop{z-index:40;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);min-width:188px;box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;padding:7px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.gl-menu-l{font-size:var(--fs-2xs);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);padding:3px 8px;font-weight:700}.gl-menu-opt,.dt-menu-opt{cursor:pointer;color:var(--text);font:inherit;font-size:var(--fs-md);text-align:left;border-radius:var(--r-sm);white-space:nowrap;background:0 0;border:0;padding:8px 10px;font-weight:600;transition:background .13s,color .13s}.gl-menu-opt:hover:not(.on),.dt-menu-opt:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-strong)}.gl-menu-opt.on{background:var(--accent-strong);color:#fff;font-weight:700}.gl-menu-opt.danger:hover,.dt-menu-opt.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger-text)}.dt-menu-opt:disabled{opacity:.4;cursor:default}.dt-menu-pop{max-width:min(290px,100vw - 40px)}.dt-menu-opt{white-space:normal;overflow-wrap:anywhere;line-height:1.3}.gl-menu-sep{background:var(--line);height:1px;margin:5px 2px}@media (max-width:760px){.gl-row{grid-template-columns:20px minmax(0,1fr) 28px;grid-template-areas:"grip main menu"".prog prog";row-gap:8px}.gl-row>.sort-grip{grid-area:grip}.gl-row-main{grid-area:main}.gl-row-prog{grid-area:prog;justify-content:flex-start}.gl-row>.gl-menu{grid-area:menu}.gl-f-field{flex:100%}.gl-f-field input,.gl-f-field select{width:100%}.gl-main-title{font-size:21px}.gl-main-pct{font-size:32px}}.hb-view{flex-direction:column;gap:14px;display:flex}.hb-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.hb-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.hb-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.hb-btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.hb-new{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.hb-new input{border:1.5px solid var(--line);border-radius:var(--r-md);min-width:210px;font:inherit;font-size:var(--fs-lg);color:var(--text);background:#fbfbfc;flex:1;padding:9px 11px;transition:border-color .15s,box-shadow .15s,background .15s}.hb-new input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.hb-new-arrow{width:17px;height:17px;color:var(--muted);flex:none}.hb-sec{flex-direction:column;gap:8px;display:flex}.hb-sec-head{align-items:baseline;gap:10px;padding:2px 4px 0;display:flex}.hb-sec-head .m{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:-.2px;font-weight:700}.hb-sec-head .c{font-size:var(--fs-sm);color:var(--muted);background:var(--line-2);border-radius:var(--r-xl);font-variant-numeric:tabular-nums;padding:2px 9px;font-weight:700}.hb-listbox{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.hb-item{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;flex-direction:column;gap:6px;padding:11px 13px;transition:border-color .14s,box-shadow .14s;display:flex}.hb-item:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.hb-item{position:relative}.hb-grip{position:absolute;top:8px;left:2px}.hb-item>.hb-cols{padding-left:14px}.hb-cols{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.hb-col{flex-direction:column;gap:4px;min-width:0;display:flex}.hb-lbl{letter-spacing:1.1px;text-transform:uppercase;white-space:nowrap;padding-left:4px;font-size:10px;font-weight:700}.hb-lbl.bad{color:var(--danger-text)}.hb-lbl.good{color:var(--ok-text)}.hb-arrow-cell{place-items:center;height:100%;padding-top:14px;display:grid}.hb-arrow{width:18px;height:18px;color:var(--muted);flex:none}.hb-ta{resize:none;border-radius:var(--r-md);width:100%;min-width:0;font:inherit;font-size:var(--fs-lg);border:1px solid #0000;padding:9px 12px;font-weight:600;line-height:1.45;transition:border-color .14s,box-shadow .14s,background .14s;display:block;overflow:hidden}.hb-ta.bad{background:var(--danger-soft);color:var(--danger-text)}.hb-ta.good{background:var(--ok-soft);color:var(--ok-text)}.hb-ta.good::placeholder{color:var(--placeholder);font-weight:500}.hb-ta.good:placeholder-shown{border:1px dashed var(--line);background:0 0}.hb-ta.good:placeholder-shown:hover{background:#f4fdf8;border-color:#a7d8bc}.hb-ta:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.hb-ta.note{color:var(--muted);font-size:var(--fs-md);border-radius:var(--r-xs);background:0 0;padding:2px 6px;font-weight:500}.hb-ta.note::placeholder{color:var(--placeholder)}.hb-ta.note:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);color:var(--text);border-color:#0000}.hb-meta{align-self:start;align-items:center;gap:8px;margin-top:22px;display:flex}.hb-streak{font-size:var(--fs-md);color:var(--accent-strong);background:var(--accent-soft);border-radius:var(--r-xl);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:5px;padding:5px 13px;font-weight:800;display:inline-flex}.hb-streak svg{width:14px;height:14px}.hb-streak.hot{color:#b45309;background:var(--warn-soft)}.hb-reset{border-radius:var(--r-sm);cursor:pointer;border:1px solid var(--line);width:30px;height:30px;color:var(--muted);background:#fff;flex:none;place-items:center;transition:border-color .13s,background .13s,color .13s;display:grid}.hb-reset svg{width:14px;height:14px}.hb-reset:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.hb-item:hover .hb-del,.hb-item:focus-within .hb-del{opacity:1}.hb-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px 14px 12px;display:flex}.hb-box-head{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.hb-box-head>svg{width:17px;height:17px;color:var(--accent-strong);flex:none}.hb-box-title{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;font-weight:700}.hb-box-sub{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.hb-box-head .c{font-size:var(--fs-sm);color:var(--muted);background:var(--line-2);border-radius:var(--r-xl);font-variant-numeric:tabular-nums;padding:2px 9px;font-weight:700}.hb-box-btn{margin-left:auto}.hb-hint{font-size:var(--fs-md);color:var(--muted);padding:0 4px 2px;line-height:1.55}.hb-ch-grid{flex-direction:column;gap:12px;display:flex}.hb-ch{--hb-ch-rail:29px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px 16px 12px;transition:border-color .13s,box-shadow .13s;display:flex}.hb-ch:hover{box-shadow:var(--shadow-md);border-color:#dfe2e7}.hb-ch:hover .hb-del,.hb-ch:focus-within .hb-del{opacity:1}.hb-ch.done{border-color:#b7e4c9}.hb-ch-top{align-items:flex-start;gap:8px;display:flex}.hb-ch-ic{border-radius:var(--r-sm);background:var(--accent-soft);width:28px;height:28px;color:var(--accent-strong);flex:none;place-items:center;margin-top:2px;display:grid}.hb-ch-ic svg{width:16px;height:16px}.hb-ta.hb-ch-title{min-width:0;font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;flex:1;padding:4px 8px;font-weight:700}.hb-ta.hb-ch-title:hover{border-color:var(--line)}.hb-ch-main{padding-left:var(--hb-ch-rail);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.hb-ch-hero{flex-direction:column;gap:1px;min-width:0;display:flex}.hb-ch-days{align-items:baseline;gap:8px;display:flex}.hb-ch-days b{font-family:var(--font-display);color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:46px;font-weight:800;line-height:1.05}.hb-ch-days>span{font-size:var(--fs-xl);color:var(--muted);font-weight:700}.hb-ch-days svg{color:#b45309;align-self:center;width:20px;height:20px}.hb-ch-days.hot b{color:#b45309}.hb-ch-days.done b,.hb-ch-days.done svg{color:var(--ok-text)}.hb-ch-cap{font-size:var(--fs-md);color:var(--muted);font-weight:600}.hb-ch-ctl{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hb-mode-toggle{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;align-items:center;gap:2px;padding:3px;display:inline-flex}.hb-mode-toggle button{cursor:pointer;font:inherit;font-size:var(--fs-sm);color:var(--muted);border-radius:var(--r-sm);background:0 0;border:0;padding:6px 12px;font-weight:700;transition:background .13s,color .13s}.hb-mode-toggle button:hover{color:var(--text)}.hb-mode-toggle button.on{color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff}.hb-ch-goal{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:6px;font-weight:700;display:inline-flex}.hb-ch-goal input{border:1.5px solid var(--line);border-radius:var(--r-sm);width:64px;font:inherit;font-size:var(--fs-md);text-align:center;color:var(--text);font-variant-numeric:tabular-nums;background:#fff;padding:6px 8px;font-weight:700}.hb-ch-goal input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.hb-ch-bar{padding-left:var(--hb-ch-rail);align-items:center;gap:10px;display:flex}.hb-ch-bar .t{border-radius:var(--r-xl);background:var(--line-2);flex:1;min-width:0;height:10px;overflow:hidden}.hb-ch-bar i{border-radius:inherit;background:var(--accent-strong);height:100%;transition:width .2s;display:block}.hb-ch-bar>span{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.hb-ch.done .hb-ch-bar i{background:var(--ok-text)}.hb-ch-meta{padding-left:var(--hb-ch-rail);font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:600;display:flex}.hb-ch-best{color:#b45309;background:var(--warn-soft);border-radius:var(--r-xl);align-items:center;gap:4px;padding:2px 9px;font-weight:700;display:inline-flex}.hb-ch-best svg{width:12px;height:12px}.hb-ch-add{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;align-items:center;gap:8px;padding:2px 4px 2px 12px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex}.hb-ch-add input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);background:0 0;border:none;flex:1;padding:8px 0}.hb-ch-add input:focus{outline:none}.hb-ch-add input::placeholder{color:var(--placeholder)}.hb-ch-add:focus-within{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}@media (max-width:900px){.hb-cols{grid-template-columns:1fr;gap:6px}.hb-arrow-cell{height:auto;padding-top:0}.hb-arrow{transform:rotate(90deg)}.hb-meta{align-self:end;margin-top:2px}.hb-ch{--hb-ch-rail:0px}.hb-ch-main{align-items:flex-start;gap:10px}.hb-ch-days b{font-size:38px}}.dt-view,.dt-sub{flex-direction:column;gap:14px;display:flex}.dt-sub[hidden]{display:none}.dt-mode{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:2px;max-width:100%;padding:3px;display:flex}.dt-mode button{color:var(--muted);cursor:pointer;font-size:var(--fs-md);border-radius:var(--r-sm);white-space:nowrap;background:0 0;border:none;padding:7px 15px;font-weight:700;transition:background .13s,color .13s,box-shadow .13s}.dt-mode button.on{color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff}.dt-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.dt-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.dt-title:first-letter{text-transform:uppercase}.dt-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dt-arrow{border-radius:var(--r-md);cursor:pointer;border:1px solid var(--line);background:var(--card);color:#565d69;place-items:center;width:34px;height:34px;transition:border-color .14s,background .14s,color .14s,transform 50ms;display:grid}.dt-arrow svg{width:16px;height:16px}.dt-arrow:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.dt-arrow:active{transform:translateY(1px)}.dt-today{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:var(--fs-md);border-radius:var(--r-md);padding:8px 14px;font-weight:700;transition:border-color .14s,background .14s,color .14s}.dt-today:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.dt-today:disabled{opacity:.45;cursor:default}.dt-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.dt-btn-primary:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.dt-hero{background:linear-gradient(168deg, var(--accent-soft) 0%, #f6fcfb 34%, var(--card) 72%);border:1px solid var(--line);border-top:3px solid var(--accent-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:10px;padding:15px 20px 17px;display:flex}.dt-hero.is-over{border-top-color:var(--danger);background:linear-gradient(168deg, var(--danger-soft) 0%, snow 34%, var(--card) 72%)}.dt-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dt-hero-l{font-size:var(--fs-2xs);letter-spacing:1.4px;text-transform:uppercase;color:var(--accent-strong);font-weight:800}.dt-hero.is-over .dt-hero-l{color:var(--danger-text)}.dt-hero-main{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.dt-hero-v{font-family:var(--font-display);letter-spacing:-1.4px;color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1}.dt-hero-v i{font-style:normal;font-size:var(--fs-xl);letter-spacing:0;margin-left:7px;font-weight:700}.dt-hero.is-over .dt-hero-v{color:var(--danger-text)}.dt-hero-s{font-size:var(--fs-md);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.dt-link{cursor:pointer;color:var(--accent-strong);font:inherit;font-size:var(--fs-sm);text-underline-offset:3px;background:0 0;border:none;padding:2px 0;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}.dt-link:hover{color:var(--accent-deep)}.dt-goal-err{color:var(--danger-text);font-size:var(--fs-sm);margin-top:2px;font-weight:600;line-height:1.35}.dt-goal-edit{flex-direction:column;gap:6px;margin-top:2px;display:flex}.dt-goal-row{align-items:center;gap:6px;display:flex}.dt-goal-row .n{width:64px;font-size:var(--fs-sm);color:var(--muted);flex:none;font-weight:700}.dt-goal-row .dash{color:var(--muted);font-weight:700}.dt-goal-row .u{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.dt-goal-row input{text-align:right;border:1.5px solid var(--line);border-radius:var(--r-sm);width:74px;min-width:0;font:inherit;font-size:var(--fs-md);color:var(--text);font-variant-numeric:tabular-nums;background:#fbfbfc;padding:5px 8px;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s}.dt-goal-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.dt-goal-btns{gap:6px;margin-top:2px;display:flex}.dt-goal-btns .dt-btn{font-size:var(--fs-sm);padding:6px 11px}.dt-macros{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;display:grid}.dt-macro{flex-direction:column;gap:3px;min-width:0;display:flex}.dt-macro .n{font-size:var(--fs-2xs);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-weight:800}.dt-macro .v{font-size:var(--fs-md);color:var(--text);font-variant-numeric:tabular-nums;font-weight:800}.dt-macro .v i{color:var(--muted);font-style:normal;font-weight:600}.dt-macro .dt-bar i{background:var(--icon-muted)}.dt-macro.ok .v{color:var(--ok-text)}.dt-macro.ok .dt-bar i{background:var(--ok-text)}.dt-macro.low .v{color:var(--warn-text)}.dt-macro.low .dt-bar i{background:#d97706}.dt-macro.high .v{color:var(--danger-text)}.dt-macro.high .dt-bar i{background:var(--danger)}.dt-bar{border-radius:var(--r-pill);background:var(--line-2);height:8px;margin-top:4px;overflow:hidden}.dt-bar i{border-radius:inherit;background:var(--accent);height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);display:block}.dt-bar.over i{background:var(--danger)}.dt-bar.mini{height:5px;margin-top:2px}.dt-meals{flex-direction:column;gap:12px;display:flex}.dt-meal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.dt-meal-head{align-items:center;gap:8px;padding:0 2px 2px;display:flex}.dt-meal-head .m{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;font-weight:700}.dt-meal-name{min-width:60px;color:var(--text);font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;border-radius:var(--r-sm);background:0 0;border:none;flex:1;padding:2px 6px;font-weight:700}.dt-meal-name:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.dt-meal-head .kc{font-size:var(--fs-sm);color:var(--accent-strong);background:var(--accent-soft);border-radius:var(--r-xl);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;margin-left:auto;padding:2px 10px;font-weight:800}.dt-meal-name+.kc{margin-left:0}.dt-meal-head .mc{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-weight:700}.dt-meal-name.as-text{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;padding:3px 5px;font-weight:700}.dt-menu{flex:none;display:inline-flex;position:relative}.dt-meal-head>.dt-menu{margin-left:auto}.dt-meal-head .kc~.dt-menu,.dt-meal-head .mc~.dt-menu{margin-left:0}.dt-menu-btn{cursor:pointer;border-radius:var(--r-sm);width:28px;height:28px;color:var(--icon-muted);opacity:.5;background:0 0;border:none;place-items:center;padding:0;transition:opacity .13s,color .13s,background .13s;display:grid}.dt-menu-btn svg{width:16px;height:16px}.dt-menu-btn:hover,.dt-menu-btn.on{opacity:1;color:var(--accent-strong);background:var(--accent-soft)}.dt-row:hover .dt-menu-btn,.dt-row:focus-within .dt-menu-btn,.dt-prow:hover .dt-menu-btn,.dt-prow:focus-within .dt-menu-btn,.dt-meal-head:hover .dt-menu-btn,.dt-meal-head:focus-within .dt-menu-btn{opacity:1}@media (hover:none){.dt-menu-btn{opacity:.6}}.dt-meal.is-other{border-style:dashed}.dt-meal-add{border:1.5px dashed var(--line);border-radius:var(--radius-lg);background:#ffffff73;flex-direction:column;gap:7px;padding:12px 14px;transition:border-color .14s,background .14s;display:flex}.dt-meal-add:focus-within{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}.dt-meal-add-line{align-items:center;gap:8px;display:flex}.dt-meal-add input{border-radius:var(--r-sm);min-width:0;font:inherit;font-size:var(--fs-lg);color:var(--text);background:#fff;border:1.5px solid #cfd6e2;flex:1;padding:8px 10px;transition:border-color .14s,box-shadow .14s;box-shadow:inset 0 1px 2px #171d330d}.dt-meal-add input:hover{border-color:var(--accent)}.dt-meal-add input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.dt-hint{font-size:var(--fs-sm);color:var(--muted);white-space:normal;overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.45}.dt-save-box{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.dt-glabel{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;align-items:center;gap:8px;padding:0 2px 8px;font-weight:700;display:flex}.dt-glabel .c{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--muted);background:var(--line-2);border-radius:var(--r-pill);padding:2px 8px;font-weight:800}.dt-row{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;flex-direction:column;gap:2px;padding:4px 8px 5px;transition:border-color .14s,box-shadow .14s;display:flex;position:relative}.dt-rows{flex-direction:column;gap:6px;display:flex}.dt-row:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.dt-row.is-open{border-color:var(--accent-soft)}.dt-row-top{grid-template-columns:20px minmax(0,1fr) minmax(0,auto) auto;align-items:center;gap:8px 10px;display:grid}.dt-row-acts{flex:none;align-items:center;gap:2px;display:inline-flex}.dt-edit{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-sm);opacity:.45;background:0 0;border:none;flex:none;padding:5px;transition:opacity .13s,background .13s,color .13s;display:inline-flex}.dt-edit svg{width:15px;height:15px}.dt-edit:hover,.dt-edit.on{opacity:1;color:var(--accent-strong);background:var(--accent-soft)}@media (hover:none){.dt-edit{opacity:.55}}.dt-edit-btns{flex:none;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.dt-edit-btns .dt-btn{font-size:var(--fs-sm);padding:6px 13px}.dt-mac.qty input{width:66px}.dt-sel{font:inherit;font-size:var(--fs-md);color:var(--text);cursor:pointer;border-radius:var(--r-sm);background:#fff;border:1.5px solid #cfd6e2;flex:none;max-width:100%;padding:6px 7px;font-weight:700;transition:border-color .14s,box-shadow .14s}.dt-sel:hover{border-color:var(--accent)}.dt-sel:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.dt-f-pair{align-items:center;gap:6px;min-width:0;display:inline-flex}.dt-f-pair .dt-gnum{flex:none;width:62px}.dt-f-pair .dt-sel{flex:auto;min-width:0}.dt-grow>.dt-sel.wide{width:100%;font-size:var(--fs-sm)}.dt-form .dt-sel{font-size:var(--fs-lg);border:1.5px solid var(--line);background:#fbfbfc;padding:8px 10px}.dt-form .dt-sel:hover,.dt-form .dt-sel:focus{border-color:var(--accent);background:#fff}.dt-form .dt-f-pair .dt-f-qty{width:74px}.dt-row-detail{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;padding:9px 4px 2px 28px;display:flex}.dt-mac{font-size:var(--fs-2xs);align-items:center;gap:5px;font-weight:800;display:inline-flex}.dt-mac span{letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.dt-mac.kcal span{color:var(--accent-strong)}.dt-mac.kcal input{width:62px}.dt-mac input{text-align:right;border-radius:var(--r-sm);width:52px;color:var(--text);font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;background:#fff;border:1.5px solid #cfd6e2;padding:5px 7px;font-weight:700;transition:border-color .14s,box-shadow .14s;box-shadow:inset 0 1px 2px #171d330d}.dt-mac input:hover{border-color:var(--accent)}.dt-mac input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.dt-mac-sum{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-weight:700}.dt-row-data{min-width:0;font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:2px 8px;font-weight:700;display:flex}.dt-row-data span+span:before{content:"· ";color:var(--icon-muted)}.dt-row-data .kc{font-size:var(--fs-md);font-weight:800}.dt-row-data .none{opacity:.75;font-weight:600}.dt-row-name{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;padding:3px 5px;font-weight:600}.dt-row-name:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.dt-btn-mini{font-size:var(--fs-sm);padding:6px 11px}.dt-btn-mini.on{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.dt-pick{flex:none;display:inline-flex;position:relative}.dt-pick-pop{z-index:40;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);width:400px;max-width:min(400px,100vw - 48px);max-height:340px;box-shadow:var(--shadow-lg);flex-direction:column;gap:4px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.dt-pick-search{border-radius:var(--r-sm);font:inherit;font-size:var(--fs-md);color:var(--text);background:#fff;border:1.5px solid #cfd6e2;width:100%;padding:8px 10px}.dt-pick-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.dt-pick-list{flex-direction:column;gap:2px;display:flex}.dt-pick-row{cursor:pointer;text-align:left;border-radius:var(--r-sm);width:100%;font:inherit;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 9px;transition:background .13s;display:flex}.dt-pick-row b{min-width:0;font-size:var(--fs-md);color:var(--text);overflow-wrap:anywhere;flex:auto;font-weight:600}.dt-pick-row em{font-style:normal;font-size:var(--fs-2xs);letter-spacing:.6px;text-transform:uppercase;color:var(--muted);background:var(--line-2);border-radius:var(--r-pill);flex:none;padding:2px 8px;font-weight:800}.dt-pick-row i{font-style:normal;font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;flex:100%;font-weight:700}.dt-pick-row:hover{background:var(--accent-soft)}.dt-pick-row:hover b,.dt-pick-row:hover i{color:var(--accent-strong)}.dt-pick-empty{font-size:var(--fs-sm);color:var(--muted);overflow-wrap:anywhere;padding:6px 9px;font-weight:600;line-height:1.45}.dt-drop{border:1.5px dashed var(--accent);border-radius:var(--r-md);text-align:center;font-size:var(--fs-sm);color:var(--accent-strong);background:var(--accent-soft);padding:11px 10px;font-weight:700}.dt-rows:empty{display:none}.dt-flab{flex-direction:column;gap:4px;min-width:0;display:inline-flex}.dt-flab>span{font-size:var(--fs-2xs);letter-spacing:.8px;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-weight:800}.dt-flab.grow{flex:190px}.dt-flab.grow input{width:100%}.dt-f-go{align-self:flex-end}.dt-save{cursor:pointer;font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:7px;font-weight:700;display:inline-flex}.dt-save input{width:16px;height:16px;accent-color:var(--accent-strong);cursor:pointer}.dt-save:hover{color:var(--accent-strong)}.dt-add{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff73;flex-direction:column;gap:8px;padding:7px 9px;display:flex}.dt-add:focus-within{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}.dt-add-line{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.dt-add-line>input{font:inherit;font-size:var(--fs-md);color:var(--text);background:0 0;border:none;min-width:0;padding:5px 4px}.dt-add-line>input:focus{outline:none}.dt-add-line>input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-xs)}.dt-add-name{flex:1;min-width:150px}.dt-add-qty{text-align:right;font-variant-numeric:tabular-nums;border-radius:var(--r-sm);width:66px;font-weight:700;box-shadow:inset 0 1px 2px #171d330d;background:#fff!important;border:1.5px solid #cfd6e2!important;padding:5px 7px!important}.dt-add-prev{font-size:var(--fs-xs);color:var(--accent-strong);font-variant-numeric:tabular-nums;padding:0 2px;font-weight:800;line-height:1.4}.dt-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:flex-end;gap:8px 10px;padding:10px 12px;display:flex}.dt-form input:not([type=date]){border:1.5px solid var(--line);border-radius:var(--r-md);font:inherit;font-size:var(--fs-lg);color:var(--text);background:#fbfbfc;padding:8px 10px;transition:border-color .15s,box-shadow .15s,background .15s}.dt-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.dt-f-name{flex:1;min-width:190px}.dt-f-qty{text-align:right;font-variant-numeric:tabular-nums;width:84px}.dt-f-unit{width:88px}.dt-f-date{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:6px;font-weight:600;display:inline-flex}.dt-f-date input,.dt-pdate{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;background:#fbfbfc;padding:6px 8px;transition:border-color .15s,box-shadow .15s,background .15s}.dt-f-date input:focus,.dt-pdate:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.dt-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:10px 12px}.dt-scroll{flex-direction:column;gap:4px;display:flex;overflow-x:auto}.dt-thead.pantry,.dt-prow{grid-template-columns:minmax(180px,1.4fr) 118px 62px 130px 130px 104px 32px;align-items:center;gap:8px;min-width:840px;display:grid}.dt-thead.products,.dt-grow{grid-template-columns:minmax(190px,1.4fr) 168px 74px 66px 66px 66px 116px 32px;align-items:center;gap:8px;min-width:880px;display:grid}.dt-gbody{flex-direction:column;gap:4px;display:flex}.dt-grow{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;padding:5px 8px;transition:border-color .14s,box-shadow .14s}.dt-grow:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.dt-gname{align-items:center;gap:6px;min-width:0;display:flex}.dt-gname input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;flex:1;padding:3px 5px;font-weight:600}.dt-gname input:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.dt-gnum{text-align:right;border-radius:var(--r-sm);width:100%;color:var(--text);font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;background:#fff;border:1.5px solid #cfd6e2;padding:5px 7px;font-weight:700;transition:border-color .14s,box-shadow .14s;box-shadow:inset 0 1px 2px #171d330d}.dt-gnum:hover{border-color:var(--accent)}.dt-gnum:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.dt-f-mac{text-align:right;font-variant-numeric:tabular-nums;width:64px}.dt-thead{padding:2px 8px}.dt-thead span{font-size:var(--fs-xs);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-weight:700}.dt-prow{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;padding:5px 8px;transition:border-color .14s,box-shadow .14s}.dt-prow:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.dt-prow.is-low{border-left:3px solid #f59e0b;padding-left:6px}.dt-prow.is-soon{background:#fffbeb;border-color:#fde68a;border-left-style:solid;border-left-width:3px;padding-left:6px}.dt-prow.is-expired{border-left:3px solid var(--danger);background:snow;padding-left:6px}.dt-pname{align-items:center;gap:6px;min-width:0;display:flex}.dt-pname input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;flex:1;padding:3px 5px;font-weight:600}.dt-pname input:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.dt-exp{font-size:var(--fs-xs);border-radius:var(--r-xl);white-space:nowrap;flex:none;padding:2px 8px;font-weight:800}.dt-exp.bad{background:var(--danger-soft);color:var(--danger-text)}.dt-exp.warn,.dt-exp.low{background:var(--warn-soft);color:#b45309}.dt-pqty{align-items:center;gap:4px;display:flex}.dt-pqty input,.dt-pmin{text-align:right;border-radius:var(--r-xs);width:100%;max-width:70px;color:var(--text);font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;padding:3px 6px;font-weight:700}.dt-pqty input:hover,.dt-pmin:hover{border-color:var(--line);background:#fbfbfc}.dt-pqty input:focus,.dt-pmin:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.dt-pqty .u{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;font-weight:600}.dt-pdate{background:0 0;border-color:#0000}.dt-pdate:hover{border-color:var(--line);background:#fbfbfc}.dt-shoplist{flex-direction:column;gap:4px;display:flex}.dt-srow{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;grid-template-columns:21px 26px minmax(0,1fr) 96px 156px 30px;align-items:center;gap:8px;padding:5px 8px;transition:border-color .14s,box-shadow .14s,opacity .14s;display:grid}.dt-srow:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.dt-srow.done{opacity:.6}.dt-srow.done .dt-sname{color:var(--muted);text-decoration:line-through}.dt-check{border-radius:var(--r-xs);border:1.5px solid var(--icon-muted);cursor:pointer;color:#0000;background:#fff;flex:none;place-items:center;width:21px;height:21px;transition:border-color .13s,background .13s,color .13s;display:grid}.dt-check svg{width:12px;height:12px}.dt-check:hover{border-color:var(--accent)}.dt-check.on{background:var(--done);border-color:var(--done);color:#fff}.dt-sname{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;padding:3px 5px;font-weight:600}.dt-sname:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.dt-sqty{text-align:right;border-radius:var(--r-xs);width:100%;color:var(--muted);font:inherit;font-size:var(--fs-sm);background:0 0;border:1px solid #0000;padding:3px 6px;font-weight:600}.dt-sqty:hover{border-color:var(--line);background:#fbfbfc}.dt-sqty:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);color:var(--text);background:#fff;outline:none}.dt-srow .dt-btn-mini{white-space:nowrap;justify-content:center;width:100%}.dt-row:hover .dt-edit,.dt-row:focus-within .dt-edit,.dt-prow:hover .dt-del,.dt-prow:focus-within .dt-del,.dt-row:hover .dt-del,.dt-row:focus-within .dt-del,.dt-prow:hover .dt-del,.dt-prow:focus-within .dt-del,.dt-srow:hover .dt-del,.dt-srow:focus-within .dt-del,.dt-meal-head:hover .dt-del,.dt-meal-head:focus-within .dt-del{opacity:1}@media (max-width:900px){.dt-macros{grid-template-columns:1fr;gap:8px}.dt-hero-v{font-size:32px}.dt-row-top{grid-template-columns:20px minmax(0,1fr) auto;grid-template-areas:"grip name acts"".data data";row-gap:5px}.dt-row-top>.sort-grip{grid-area:grip}.dt-row-name{grid-area:name}.dt-row-data{text-align:left;grid-area:data;justify-content:flex-start}.dt-row-acts{grid-area:acts}.dt-edit-btns{margin-left:0}.dt-row-detail{padding-left:4px}.dt-mac-sum{white-space:normal;margin-left:0}.dt-srow{grid-template-columns:21px 26px minmax(0,1fr) 84px 30px;grid-template-areas:"grip check name qty del""push push push push push";row-gap:6px}.dt-srow>.sort-grip{grid-area:grip}.dt-srow>.dt-check{grid-area:check}.dt-srow>.dt-sname{grid-area:name}.dt-srow>.dt-sqty{grid-area:qty}.dt-srow>.dt-btn-mini{grid-area:push}.dt-srow>.dt-del{grid-area:del}.dt-meal-head .mc{display:none}.dt-add-name{flex:100%}.dt-pick-pop{width:min(360px,100vw - 40px)}.dt-mode button{font-size:var(--fs-sm);padding:7px 12px}}.md-shop-grid{flex-direction:column;gap:6px;display:flex}.md-shop-row{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;align-items:center;gap:9px;padding:7px 9px;transition:border-color .14s,box-shadow .14s,opacity .14s;display:flex}.md-shop-row:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.md-shop-row.done{opacity:.62}.md-shop-qty{text-align:right;border-radius:var(--r-xs);width:104px;color:var(--muted);font:inherit;font-size:var(--fs-sm);background:0 0;border:1px solid #0000;flex:none;padding:4px 8px;font-weight:700}.md-shop-qty::placeholder{color:var(--placeholder);font-weight:600}.md-shop-qty:hover{border-color:var(--line);background:#fbfbfc}.md-shop-qty:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);color:var(--text);background:#fff;outline:none}.md-shop-row.done .md-shop-qty{text-decoration:line-through}.md-add input.md-add-qty{text-align:right;width:104px;font-size:var(--fs-md);color:var(--muted);flex:none;font-weight:700}@media (max-width:560px){.md-shop-qty,.md-add input.md-add-qty{width:76px}}.wo-view{flex-direction:column;gap:14px;display:flex}.wo-mode{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:2px;padding:3px;display:inline-flex}.wo-mode button{color:var(--muted);cursor:pointer;font-size:var(--fs-md);border-radius:var(--r-sm);white-space:nowrap;background:0 0;border:none;padding:7px 15px;font-weight:700;transition:background .13s,color .13s,box-shadow .13s}.wo-mode button.on{color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff}.wo-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.wo-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.wo-title:first-letter{text-transform:uppercase}.wo-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wo-arrow{border-radius:var(--r-md);cursor:pointer;border:1px solid var(--line);background:var(--card);color:#565d69;place-items:center;width:34px;height:34px;transition:border-color .14s,background .14s,color .14s,transform 50ms;display:grid}.wo-arrow svg{width:16px;height:16px}.wo-arrow:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.wo-arrow:active{transform:translateY(1px)}.wo-today{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:var(--fs-md);border-radius:var(--r-md);padding:8px 14px;font-weight:700;transition:border-color .14s,background .14s,color .14s}.wo-today:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.wo-today:disabled{opacity:.45;cursor:default}.wo-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.wo-btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.wo-btn-done{background:var(--done);border-color:var(--done);color:#fff}.wo-btn-done:hover{background:var(--done);border-color:var(--done);color:#fff;opacity:.9}.wo-plan-head:hover .wo-del,.wo-plan-head:focus-within .wo-del,.wo-ex-row:hover .wo-del,.wo-ex-row:focus-within .wo-del,.wo-day-sess:hover .wo-del,.wo-day-sess:focus-within .wo-del{opacity:1}.wo-mv{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;flex:none;padding:4px;transition:background .13s,color .13s;display:inline-flex}.wo-mv svg{width:13px;height:13px}.wo-mv:hover:not(:disabled){color:var(--accent-strong);background:var(--accent-soft)}.wo-mv:disabled{opacity:.25;cursor:default}.wo-plans{flex-direction:column;gap:12px;display:flex}.wo-plan{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.wo-plan-head{align-items:center;gap:8px;padding:0 2px 2px;display:flex}.wo-dot{cursor:pointer;border:none;border-radius:50%;flex:none;width:16px;height:16px;box-shadow:inset 0 0 0 2px #ffffff8c}.wo-plan-name{min-width:0;color:var(--text);font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;border-radius:var(--r-sm);background:0 0;border:none;flex:1;padding:4px 7px;font-weight:700}.wo-plan-name:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.wo-plan-count{color:var(--muted);font-size:var(--fs-sm);flex:none;font-weight:700}.wo-ex-list{flex-direction:column;gap:5px;display:flex}.wo-ex-row{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 8px;transition:border-color .14s,box-shadow .14s;display:flex}.wo-ex-row:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.wo-ex-name{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-lg);border-radius:var(--r-xs);background:0 0;border:none;flex:160px;padding:3px 5px;font-weight:600}.wo-ex-name:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);outline:none}.wo-ex-namecell{flex-direction:column;flex:160px;gap:1px;min-width:0;display:flex}.wo-ex-namecell .wo-ex-name{flex:none;width:100%}.wo-ex-note{width:100%;color:var(--muted);font:inherit;font-size:var(--fs-sm);border-radius:var(--r-xs);cursor:text;background:0 0;border:none;padding:2px 6px}.wo-ex-note::placeholder{color:var(--placeholder)}.wo-ex-note:hover:not(:focus){background:var(--line-2)}.wo-ex-note:focus{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);color:var(--text);outline:none}.wo-note{border:1px dashed var(--line);width:min(560px,100%);color:var(--muted);font:inherit;font-size:var(--fs-md);border-radius:var(--r-sm);cursor:text;background:0 0;margin-top:4px;padding:5px 9px;display:block}.wo-note::placeholder{color:var(--placeholder)}.wo-note:hover:not(:focus){background:#fbfbfc}.wo-note:focus{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);color:var(--text);background:#fff;outline:none}.wo-log-note{border:1px dashed var(--line);width:100%;color:var(--text);font:inherit;font-size:var(--fs-md);border-radius:var(--r-sm);resize:vertical;background:0 0;min-height:46px;padding:8px 10px}.wo-log-note::placeholder{color:var(--placeholder)}.wo-log-note:focus{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.wo-equip{cursor:pointer;font-size:var(--fs-xs);letter-spacing:.3px;border-radius:var(--r-xl);white-space:nowrap;text-transform:uppercase;border:1px solid #0000;flex:none;padding:3px 9px;font-weight:800;transition:filter .13s}span.wo-equip{cursor:default}.wo-equip:hover{filter:brightness(.94)}.wo-equip.is-barbell{color:#4f46e5;background:#eef2ff}.wo-equip.is-dumbbell{background:var(--ok-soft);color:var(--ok-text)}.wo-equip.is-cable{background:var(--warn-soft);color:#b45309}.wo-equip.is-body{color:#be185d;background:#fce7f3}.wo-ex-target{flex:none;align-items:center;gap:3px;display:inline-flex}.wo-ex-target i,.wo-add .x{color:var(--muted);font-style:normal;font-size:var(--fs-sm);font-weight:700}.wo-ex-target input{text-align:center;border-radius:var(--r-xs);width:42px;color:var(--text);font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;padding:3px 4px;font-weight:700}.wo-ex-target input:hover{border-color:var(--line);background:#fbfbfc}.wo-ex-target input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.wo-ex-step{color:var(--muted);font-size:var(--fs-xs);flex:none;align-items:center;gap:4px;font-weight:700;display:inline-flex}.wo-ex-step input{text-align:right;border-radius:var(--r-xs);width:46px;color:var(--text);font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;padding:3px 4px;font-weight:700}.wo-ex-step input:hover{border-color:var(--line);background:#fbfbfc}.wo-ex-step input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.wo-plan-add{border:1.5px dashed var(--line);border-radius:var(--radius-lg);background:#ffffff80;align-items:center;gap:9px;padding:10px 13px;display:flex}.wo-plan-add input{min-width:0;font:inherit;font-size:var(--fs-lg);color:var(--text);background:0 0;border:none;flex:1}.wo-plan-add input:focus{outline:none}.wo-plan-add:focus-within{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}.wo-add{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff80;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.wo-add-name{min-width:0;font:inherit;font-size:var(--fs-md);color:var(--text);background:0 0;border:none;flex:200px;padding:3px 5px}.wo-add-name:focus{outline:none}.wo-add-name:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-xs)}.wo-add-equip{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;flex:none;gap:2px;padding:2px;display:inline-flex}.wo-add-equip button{color:var(--muted);cursor:pointer;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.3px;border-radius:var(--r-xs);background:0 0;border:none;padding:4px 8px;font-weight:800;transition:background .13s,color .13s,box-shadow .13s}.wo-add-equip button.on{background:var(--accent-soft);color:var(--accent-strong);box-shadow:var(--shadow-sm)}.wo-add-int{text-align:center;border:1px solid var(--line);border-radius:var(--r-sm);width:46px;color:var(--text);font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;background:#fff;padding:4px;font-weight:600}.wo-add-int:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.wo-prog{cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:12px 14px;transition:border-color .14s,box-shadow .14s;display:flex}.wo-prog:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:var(--shadow-sm)}.wo-prog-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.wo-prog-sub{color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:5px;padding-left:7px;font-weight:600;display:flex}.wo-prog-day{color:#fff;font-size:var(--fs-xs);border-radius:var(--r-xs);white-space:nowrap;padding:2px 8px;font-weight:800}.wo-prog-cnt{color:var(--muted);font-size:var(--fs-sm);font-weight:700}.wo-btn-open{font-size:var(--fs-md);flex:none;padding:7px 12px}.wo-btn-open svg{width:13px;height:13px}.wo-prog:hover .wo-del,.wo-prog:focus-within .wo-del{opacity:1}.wo-crumb{cursor:pointer;color:var(--muted);font:inherit;font-size:var(--fs-sm);background:0 0;border:none;align-items:center;gap:4px;padding:0 0 4px;font-weight:700;transition:color .13s;display:inline-flex}.wo-crumb svg{width:13px;height:13px}.wo-crumb:hover{color:var(--accent-strong)}.wo-day-add-rows{flex-direction:column;gap:6px;display:flex}.wo-grid-head{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.wo-grid-head span{text-align:center;font-size:var(--fs-xs);letter-spacing:.6px;text-transform:uppercase;color:var(--muted);font-weight:800}.wo-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.wo-day{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);cursor:pointer;text-align:left;flex-direction:column;align-items:stretch;gap:4px;min-height:74px;padding:6px;transition:border-color .13s,box-shadow .13s,background .13s;display:flex;position:relative}.wo-day-pick{border-radius:inherit;cursor:pointer;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.wo-day .n,.wo-day .chips{pointer-events:none;position:relative}.wo-day .chips .wo-chip{pointer-events:auto}.wo-day:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.wo-day.out{opacity:.45;background:#fff6}.wo-day.today{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:var(--accent-soft)}.wo-day.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.wo-day .n{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:800}.wo-day.today .n{color:var(--accent-strong)}.wo-day .chips{flex-direction:column;gap:3px;display:flex}.wo-chip{text-align:left;color:#fff;min-width:0;font-family:inherit;font-size:var(--fs-xs);border-radius:var(--r-xs);white-space:normal;overflow-wrap:anywhere;cursor:pointer;border:0;align-items:center;gap:4px;padding:2.5px 7px;font-weight:800;transition:filter .12s,opacity .12s;display:inline-flex}.wo-chip i{opacity:.82;font-variant-numeric:tabular-nums;flex:none;font-style:normal;font-weight:800}.wo-chip:hover{filter:brightness(.92)}.wo-chip.done{opacity:.58}.wo-chip svg{flex:none;width:10px;height:10px}.wo-daypanel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:9px;padding:12px 14px;display:flex}.wo-daypanel header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.wo-daypanel header .d{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700}.wo-day-list{flex-direction:column;gap:6px;display:flex}.wo-day-sess{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;align-items:center;gap:9px;padding:7px 9px;transition:border-color .14s,box-shadow .14s,opacity .14s;display:flex}.wo-day-sess:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.wo-day-sess.done{opacity:.68}.wo-check{border-radius:var(--r-xs);border:1.5px solid var(--icon-muted);cursor:pointer;color:#0000;background:#fff;flex:none;place-items:center;width:21px;height:21px;transition:border-color .13s,background .13s,color .13s;display:grid}.wo-check svg{width:12px;height:12px}.wo-check:hover{border-color:var(--accent)}.wo-check.on{background:var(--done);border-color:var(--done);color:#fff}.wo-day-name{text-align:left;cursor:pointer;min-width:0;font:inherit;font-size:var(--fs-lg);background:0 0;border:none;flex:1;padding:2px 4px;font-weight:700}.wo-btn-log{font-size:var(--fs-sm);padding:6px 11px}.wo-day-add{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wo-day-add>span{color:var(--muted);font-size:var(--fs-sm);font-weight:700}.wo-day-add-h{color:var(--muted);font-size:var(--fs-xs);font-weight:700}.wo-time{color:var(--muted);flex:none;align-items:center;gap:4px;display:inline-flex}.wo-time svg{width:13px;height:13px}.wo-time input{border-radius:var(--r-sm);color:var(--muted);font:inherit;font-size:var(--fs-sm);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;padding:3px 5px;font-weight:700}.wo-time input:hover{border-color:var(--line);background:#fbfbfc}.wo-time input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);color:var(--text);background:#fff;outline:none}.wo-time input::-webkit-calendar-picker-indicator{cursor:pointer}.wo-time-x{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;flex:none;padding:4px;transition:color .13s,background .13s;display:inline-flex}.wo-time-x svg{width:12px;height:12px}.wo-time-x:hover{color:var(--text);background:var(--line-2)}.wo-plan-chip{cursor:pointer;border-radius:var(--r-xl);font-size:var(--fs-sm);background:#fff;border:1.5px dashed;align-items:center;gap:5px;padding:4px 12px;font-weight:700;transition:background .13s,filter .13s;display:inline-flex}.wo-plan-chip svg{width:12px;height:12px}.wo-plan-chip:hover{filter:brightness(.95);background:#fbfbfc}.wo-log{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.wo-log-head{border-left:4px solid var(--accent);align-items:flex-start;gap:10px;padding:2px 0 2px 11px;display:flex}.wo-log-head>div{flex:1;min-width:0}.wo-log-head .t{font-family:var(--font-display);letter-spacing:-.2px;font-size:16px;font-weight:700}.wo-log-head .s{color:var(--muted);font-size:var(--fs-sm);margin-top:2px}.wo-close{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;flex:none;padding:6px;transition:background .13s,color .13s;display:inline-flex}.wo-close svg{width:15px;height:15px}.wo-close:hover{color:var(--text);background:var(--line-2)}.wo-log-ex{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;flex-direction:column;gap:7px;padding:8px 10px;display:flex}.wo-log-ex-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wo-log-ex-head .n{font-size:var(--fs-lg);font-weight:700}.wo-log-ex-head .tgt{color:var(--muted);font-size:var(--fs-sm);background:var(--line-2);border-radius:var(--r-xl);font-variant-numeric:tabular-nums;padding:2px 9px;font-weight:700}.wo-exname{cursor:pointer;color:var(--text);font:inherit;border-radius:var(--r-sm);text-align:left;background:0 0;border:none;align-items:center;gap:5px;padding:2px 6px 2px 4px;transition:background .13s;display:inline-flex}.wo-exname:hover{background:var(--line-2)}.wo-exname .cv{color:var(--icon-muted);transition:transform .15s;display:inline-flex}.wo-exname .cv svg{width:14px;height:14px}.wo-exname .cv.on{color:var(--accent-strong);transform:rotate(180deg)}.wo-cnt{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted);background:var(--line-2);border-radius:var(--r-xl);flex:none;padding:2px 9px;font-weight:800}.wo-cnt.full{background:var(--ok-soft);color:var(--ok-text)}.wo-prev{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:5px;display:flex}.wo-prev .lb{color:var(--muted);font-weight:600}.wo-prev-b{background:var(--line-2);color:var(--muted);cursor:pointer;font:inherit;border-radius:var(--r-xl);border:1px solid #0000;padding:2px 8px;font-weight:700;transition:background .13s,color .13s,border-color .13s}.wo-prev-b:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.wo-slot{cursor:pointer;color:var(--muted);border:1.5px dashed var(--line);font:inherit;font-size:var(--fs-md);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;background:0 0;align-items:center;gap:5px;padding:4px 10px;font-weight:700;transition:background .13s,border-color .13s,color .13s;display:inline-flex}.wo-slot i{opacity:.55;font-style:normal;font-size:var(--fs-xs)}.wo-slot:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);border-style:solid}.wo-slot.is-blank{cursor:default;opacity:.55}.wo-slot.is-blank:hover{border-color:var(--line);color:var(--muted);background:0 0;border-style:dashed}.wo-expanel{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);flex-direction:column;gap:8px;padding:8px 10px;display:flex}.wo-expanel-tabs{align-items:center;gap:2px;display:flex}.wo-expanel-tabs button{cursor:pointer;color:var(--muted);font:inherit;font-size:var(--fs-sm);border-radius:var(--r-sm);background:0 0;border:none;padding:4px 11px;font-weight:700;transition:background .13s,color .13s}.wo-expanel-tabs button:hover{background:var(--line-2);color:var(--text)}.wo-expanel-tabs button.on{background:var(--accent-soft);color:var(--accent-strong)}.wo-expanel-tabs .cnt{color:var(--muted);font-size:var(--fs-sm);margin-left:auto;font-weight:600}.wo-expanel-hist{flex-direction:column;gap:2px;display:flex}.wo-sum{flex-direction:column;gap:12px;display:flex}.wo-sum-prs{flex-direction:column;gap:6px;display:flex}.wo-sum-pr{background:var(--warn-soft);color:var(--warn-text);border-radius:var(--r-sm);font-size:var(--fs-md);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:7px;padding:7px 12px;font-weight:600;display:flex;box-shadow:inset 0 0 0 1.5px #f0b429}.wo-sum-pr svg{flex:none;align-self:center;width:14px;height:14px}.wo-sum-pr.is-best{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1.5px var(--accent)}.wo-sum-line{color:var(--muted);font-size:var(--fs-md);font-weight:600}.wo-sum-line b{color:var(--text);font-variant-numeric:tabular-nums}.wo-sum-foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wo-sets{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wo-set{background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-md);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;align-items:center;gap:5px;padding:4px 6px 4px 10px;font-weight:700;display:inline-flex}.wo-set i{opacity:.55;font-style:normal;font-size:var(--fs-xs)}.wo-set-edit{min-height:24px;color:inherit;font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;align-items:center;gap:5px;padding:0;font-weight:700;display:inline-flex}.wo-set-edit:hover{text-decoration:underline}.wo-set.is-pr{background:var(--warn-soft);color:var(--warn-text);box-shadow:inset 0 0 0 1.5px #f0b429}.wo-set.is-pr .pr{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:3px;font-weight:800;display:inline-flex}.wo-set.is-pr .pr svg{width:12px;height:12px}.wo-beat{white-space:nowrap;font-size:var(--fs-sm);color:var(--warn-text);background:var(--warn-soft);border-radius:var(--r-xl);font-variant-numeric:tabular-nums;align-items:center;gap:4px;margin-left:auto;padding:2px 9px;font-weight:800;display:inline-flex}.wo-beat svg{width:12px;height:12px}.wo-set.is-edit{box-shadow:0 0 0 2px var(--accent);background:#fff;gap:4px;padding:3px 4px 3px 8px}.wo-set.is-edit input{border:1px solid var(--line);border-radius:var(--r-xs);color:var(--text);font:inherit;font-size:var(--fs-md);text-align:center;font-variant-numeric:tabular-nums;background:#fff;padding:3px 5px;font-weight:700}.wo-set.is-edit input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.wo-set.is-edit input.w{width:58px}.wo-set.is-edit input.r{width:46px}.wo-set button{color:inherit;opacity:.75;cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;padding:5px;transition:opacity .12s,background .12s;display:inline-flex}.wo-set button svg{width:14px;height:14px}.wo-set button:hover{opacity:1;background:#00000012}.wo-set-add{align-items:center;gap:4px;display:inline-flex}.wo-set-add i{color:var(--muted);font-style:normal;font-size:var(--fs-sm);font-weight:700}.wo-set-add input{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font:inherit;font-size:var(--fs-md);text-align:center;font-variant-numeric:tabular-nums;background:#fff;padding:4px 6px;font-weight:700}.wo-set-add input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.wo-set-add input.w{width:62px}.wo-set-add input.r{width:52px}.wo-bump{border:1px solid var(--line);border-radius:var(--r-xs);width:24px;height:26px;color:var(--muted);font-size:var(--fs-lg);cursor:pointer;background:#fff;flex:none;place-items:center;font-weight:800;transition:border-color .13s,color .13s,background .13s;display:grid}.wo-bump:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.wo-select{cursor:pointer;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);min-width:240px;max-width:100%;color:var(--text);font:inherit;font-size:var(--fs-md);padding:8px 10px;font-weight:600}.wo-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.wo-stat-cards{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.wo-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:3px;padding:12px 14px;display:flex}.wo-stat .h{font-size:var(--fs-xs);letter-spacing:.7px;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;margin-bottom:3px;font-weight:800;display:flex}.wo-stat .ic{border-radius:var(--r-sm);background:var(--accent-soft);width:26px;height:26px;color:var(--accent-strong);flex:none;place-items:center;display:grid}.wo-stat .ic svg{width:14px;height:14px}.wo-stat .v{font-family:var(--font-display);letter-spacing:-.4px;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.wo-stat .s{color:var(--muted);font-size:var(--fs-sm);font-weight:600}.wo-stat.up .v{color:var(--ok-text)}.wo-stat.up .ic{background:var(--ok-soft);color:var(--ok-text)}.wo-chart-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.wo-chart-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.wo-metric{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;gap:2px;padding:2px;display:inline-flex}.wo-metric button{color:var(--muted);cursor:pointer;font-size:var(--fs-sm);border-radius:var(--r-xs);white-space:nowrap;background:0 0;border:none;padding:5px 11px;font-weight:700;transition:background .13s,color .13s,box-shadow .13s}.wo-metric button.on{background:var(--accent-soft);color:var(--accent-strong);box-shadow:var(--shadow-sm)}.wo-chart-ex{color:var(--muted);font-size:var(--fs-sm);font-weight:700}.wo-chart-scroll{overflow-x:auto}.wo-chart{width:100%;min-width:480px;height:auto;display:block}.wo-chart .grid{stroke:var(--line-2);stroke-width:1px}.wo-chart .ylab{fill:var(--muted);text-anchor:end;font-variant-numeric:tabular-nums;font-size:10px}.wo-chart .xlab{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.wo-chart .area{fill:var(--accent-soft);opacity:.7;stroke:none}.wo-chart .line{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.wo-chart .pt{fill:#fff;stroke:var(--accent);stroke-width:2px}.wo-chart .pt:hover{fill:var(--accent)}.wo-hist{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.wo-hist-title{font-size:var(--fs-xs);letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:800}.wo-hist-row{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;flex-wrap:wrap;align-items:baseline;gap:12px;padding:6px 10px;display:flex}.wo-hist-row .d{font-size:var(--fs-md);font-variant-numeric:tabular-nums;flex:none;font-weight:700}.wo-hist-row .sets{min-width:140px;color:var(--text);font-size:var(--fs-md);font-variant-numeric:tabular-nums;flex:1;font-weight:600}.wo-hist-row .agg{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;flex:none;font-weight:600}.wo-today-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:9px;padding:12px 14px;display:flex}.wo-today-h,.wo-start-h{font-size:var(--fs-xs);letter-spacing:.7px;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;font-weight:800;display:flex}.wo-today-h svg,.wo-start-h svg{width:14px;height:14px;color:var(--accent-strong)}.wo-sess-time{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;background:var(--line-2);border-radius:var(--r-xl);flex:none;align-items:center;gap:4px;padding:2px 9px;font-weight:800;display:inline-flex}.wo-sess-time svg{width:12px;height:12px}.wo-startwrap{flex-direction:column;gap:10px;display:flex}.wo-start-sub{color:var(--muted);font-size:var(--fs-sm);margin-top:-4px;font-weight:600}.wo-start-group{flex-direction:column;gap:7px;display:flex}.wo-start-prog{font-size:var(--fs-sm);color:var(--muted);font-weight:800}.wo-start-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.wo-start-card{cursor:pointer;text-align:left;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font:inherit;color:var(--text);flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;transition:border-color .14s,box-shadow .14s,transform 50ms;display:flex}.wo-start-card:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.wo-start-card:active:not(:disabled){transform:translateY(1px)}.wo-start-card:disabled{opacity:.6;cursor:default}.wo-start-card .n{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;font-weight:700}.wo-start-card .m{color:var(--muted);font-size:var(--fs-sm);font-weight:600}.wo-start-card .l{color:var(--muted);font-size:var(--fs-xs);font-weight:600}.wo-start-card .go{color:var(--accent-strong);background:var(--accent-soft);font-size:var(--fs-sm);border-radius:var(--r-xl);align-items:center;gap:5px;margin-top:6px;padding:5px 12px;font-weight:800;display:inline-flex}.wo-start-card .go svg{width:13px;height:13px}.wo-start-card .go.cont{background:var(--warn-soft);color:var(--warn-text)}@media (max-width:900px){.wo-stat-cards{grid-template-columns:1fr 1fr}.wo-day{min-height:58px}.wo-chip{padding:2px 5px;font-size:9.5px}.wo-beat{margin-left:0}.wo-exname{flex:100%}.wo-start-cards{grid-template-columns:1fr 1fr}.wo-day-sess{flex-wrap:wrap}.wo-day-sess .wo-day-name{flex:140px}}@media (max-width:560px){.wo-start-cards{grid-template-columns:1fr}}.ms-view{flex-direction:column;gap:14px;display:flex}.ms-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.3px;font-weight:700}.ms-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ms-arrow{border-radius:var(--r-md);cursor:pointer;border:1px solid var(--line);background:var(--card);color:#565d69;place-items:center;width:34px;height:34px;transition:border-color .14s,background .14s,color .14s,transform 50ms;display:grid}.ms-arrow svg{width:16px;height:16px}.ms-arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.ms-arrow:active{transform:translateY(1px)}.ms-arrow:disabled{opacity:.4;cursor:default}.ms-date{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);color:var(--text);font:inherit;font-size:var(--fs-md);padding:7px 9px;font-weight:600}.ms-date:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.ms-today{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:var(--fs-md);border-radius:var(--r-md);padding:8px 14px;font-weight:700;transition:border-color .14s,background .14s,color .14s}.ms-today:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.ms-today:disabled{opacity:.45;cursor:default}.ms-custom:hover .ms-del,.ms-custom:focus-within .ms-del,.ms-hist-row:hover .ms-del,.ms-hist-row:focus-within .ms-del{opacity:1}.ms-cards{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.ms-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:3px;padding:12px 14px;display:flex}.ms-card .h{font-size:var(--fs-xs);letter-spacing:.7px;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;margin-bottom:3px;font-weight:800;display:flex}.ms-card .ic{border-radius:var(--r-sm);background:var(--accent-soft);width:26px;height:26px;color:var(--accent-strong);flex:none;place-items:center;display:grid}.ms-card .ic svg{width:14px;height:14px}.ms-card .v{font-family:var(--font-display);letter-spacing:-.4px;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.ms-card .s{color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:flex}.ms-card .s em{font-style:normal}.ms-delta{font-style:normal;font-weight:800;font-size:var(--fs-xs);border-radius:var(--r-xl);background:var(--line-2);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding:1px 8px}.ms-delta.up{background:var(--warn-soft);color:#b45309}.ms-delta.dn{background:var(--ok-soft);color:var(--ok-text)}.ms-delta.flat{background:var(--line-2);color:var(--muted)}.ms-entry{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:13px 15px;display:flex}.ms-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.ms-group{flex-direction:column;gap:7px;display:flex}.ms-group-t{font-size:var(--fs-xs);letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:800}.ms-group-t .sub{letter-spacing:0;text-transform:none;color:var(--muted);opacity:.8;margin-left:6px;font-weight:600}.ms-fields{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:6px;display:grid}.ms-field{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 11px;transition:border-color .14s,box-shadow .14s,background .14s;display:flex}.ms-field:hover{box-shadow:var(--shadow-sm);border-color:#dfe2e7}.ms-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ms-field.has{background:color-mix(in srgb, var(--accent-soft) 45%, #fff)}.ms-field .n{min-width:86px;font-size:var(--fs-md);color:var(--text);flex-direction:column;flex:auto;gap:1px;font-weight:700;display:flex}.ms-field .n .nm{overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.ms-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:5px;display:inline-block}.ms-field .n .prev{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.ms-field .in{flex:none;align-items:baseline;gap:4px;display:inline-flex}.ms-field input{text-align:right;width:58px;color:var(--text);font:inherit;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;background:0 0;border:none;padding:2px 0;font-weight:700}.ms-field input:focus{outline:none}.ms-field input::placeholder{color:var(--placeholder);font-weight:600}.ms-field .u{color:var(--muted);font-size:var(--fs-xs);font-weight:700}.ms-defname,.ms-defunit{border-radius:var(--r-xs);background:0 0;border:1px solid #0000;transition:border-color .13s,background .13s}.ms-field input.ms-defname{text-align:left;width:100%;min-width:0;font-size:var(--fs-md);padding:1px 3px}.ms-field input.ms-defunit{text-align:left;width:40px;font-size:var(--fs-xs);color:var(--muted);padding:1px 3px}.ms-defname:hover,.ms-defunit:hover{border-color:var(--line);background:#fbfbfc}.ms-defname:focus-visible,.ms-defunit:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ms-custom{grid-column:span 2;align-items:center;gap:2px;min-width:0;display:flex}.ms-custom .ms-field{flex:1;min-width:0}.ms-adddef{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff80;align-items:center;gap:8px;padding:6px 10px;display:flex}.ms-adddef input{font:inherit;font-size:var(--fs-md);color:var(--text);background:0 0;border:none;padding:3px 4px}.ms-adddef input:focus{outline:none}.ms-adddef input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-xs)}.ms-adddef input.n{flex:1;min-width:0}.ms-adddef input.u{text-align:center;border-left:1px solid var(--line);flex:none;width:76px}.ms-chart-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.ms-chart-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ms-chart-bar .ic{border-radius:var(--r-sm);background:var(--accent-soft);width:28px;height:28px;color:var(--accent-strong);flex:none;place-items:center;display:grid}.ms-chart-bar .ic svg{width:15px;height:15px}.ms-select{cursor:pointer;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);min-width:200px;color:var(--text);font:inherit;font-size:var(--fs-md);padding:7px 10px;font-weight:600}.ms-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.ms-chart-scroll{overflow-x:auto}.ms-chart{width:100%;min-width:520px;height:auto;display:block}.ms-chart .grid{stroke:var(--line-2);stroke-width:1px}.ms-chart .zero{stroke:var(--icon-muted);stroke-width:1.4px}.ms-chart .goal{stroke:var(--icon-muted);stroke-width:1.6px;stroke-dasharray:6 5}.ms-chart .goallab{fill:var(--muted);font-size:12px;font-weight:700}.ms-chart .ylab{fill:var(--muted);text-anchor:end;font-variant-numeric:tabular-nums;font-size:12px}.ms-chart .xlab{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.ms-chart .area{fill:var(--accent-soft);opacity:.7;stroke:none}.ms-chart .line{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.ms-chart .line.dashed{stroke-width:2px;stroke-dasharray:7 5}.ms-chart .pt{fill:#fff;stroke:var(--accent);stroke-width:2px}.ms-chart .pt:hover{fill:currentColor}.ms-hist{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.ms-hist-title{font-size:var(--fs-xs);letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:800}.ms-hist-row{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;align-items:baseline;gap:10px;padding:6px 10px;display:flex}.ms-hist-date{cursor:pointer;border-radius:var(--r-xs);font:inherit;font-size:var(--fs-md);color:var(--accent-strong);font-variant-numeric:tabular-nums;background:0 0;border:none;flex:none;padding:2px 4px;font-weight:700;transition:background .13s}.ms-hist-date:hover{background:var(--accent-soft)}.ms-hist-row .vals{flex-wrap:wrap;flex:1;gap:4px 10px;min-width:0;display:flex}.ms-hist-row .vals i{color:var(--muted);font-style:normal;font-size:var(--fs-sm);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.ms-hist-row .vals b{color:var(--text);font-weight:700}.ms-hist-more{border:1px solid var(--line);cursor:pointer;border-radius:var(--r-sm);font:inherit;font-size:var(--fs-md);color:var(--accent-strong);background:#fff;align-self:center;margin-top:2px;padding:6px 14px;font-weight:700;transition:background .13s,border-color .13s}.ms-hist-more:hover{background:var(--accent-soft);border-color:var(--accent)}.ms-mode{border:1.5px dashed var(--line);border-radius:var(--r-md);background:#ffffff8c;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:2px;max-width:100%;padding:3px;display:flex}.ms-mode button{color:var(--muted);cursor:pointer;font-size:var(--fs-md);border-radius:var(--r-sm);white-space:nowrap;background:0 0;border:none;padding:7px 15px;font-weight:700;transition:background .13s,color .13s,box-shadow .13s}.ms-mode button.on{color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff}.ms-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;align-self:flex-start}.ms-btn-primary:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.ms-link{cursor:pointer;color:var(--accent-strong);font:inherit;font-size:var(--fs-sm);text-underline-offset:3px;background:0 0;border:none;align-self:flex-start;padding:2px 0;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}.ms-link:hover{color:var(--accent-deep)}.ms-hero{background:linear-gradient(168deg, var(--accent-soft) 0%, #f6fcfb 34%, var(--card) 72%);border:1px solid var(--line);border-top:3px solid var(--accent-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:10px;padding:15px 20px 17px;display:flex}.ms-hero.is-done{border-top-color:var(--done);background:linear-gradient(168deg, var(--ok-soft) 0%, #f7fdfa 34%, var(--card) 72%)}.ms-hero-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ms-hero-l{font-size:var(--fs-2xs);letter-spacing:1.4px;text-transform:uppercase;color:var(--accent-strong);font-weight:800}.ms-hero-main{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.ms-hero-v{font-family:var(--font-display);letter-spacing:-1.4px;color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1}.ms-hero-v i{font-style:normal;font-size:var(--fs-xl);letter-spacing:0;margin-left:7px;font-weight:700}.ms-hero-s{font-size:var(--fs-md);color:var(--muted);max-width:62ch;font-weight:600;line-height:1.45}.ms-hero-s b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:800}.ms-goalline{flex-direction:column;gap:5px;display:flex}.ms-goalline-t{font-size:var(--fs-md);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;font-weight:600;display:flex}.ms-goalline-t b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:800}.ms-bar{border-radius:var(--r-pill);background:var(--line-2);height:9px;overflow:hidden}.ms-bar i{border-radius:inherit;background:var(--accent);height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);display:block}.ms-band{font-style:normal;font-weight:800;font-size:var(--fs-xs);border-radius:var(--r-xl);background:var(--line-2);color:var(--muted);white-space:nowrap;padding:1px 8px}.ms-band.ok{background:var(--ok-soft);color:var(--ok-text)}.ms-band.warn{background:var(--warn-soft);color:var(--warn-text)}.ms-band.bad{background:var(--danger-soft);color:var(--danger-text)}.ms-band.low{color:#3730a3;background:#eef2ff}.ms-card .s em{overflow-wrap:anywhere;font-style:normal;line-height:1.4}.ms-sec{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:14px 16px 16px;display:flex}.ms-sec-head{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.ms-sec-head .ic{border-radius:var(--r-sm);background:var(--accent-soft);width:30px;height:30px;color:var(--accent-strong);flex:none;place-items:center;display:grid}.ms-sec-head .ic svg{width:16px;height:16px}.ms-sec-head .t{flex-direction:column;flex:1;gap:2px;min-width:200px;display:flex}.ms-sec-title{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.2px;font-weight:700}.ms-sec-sub{font-size:var(--fs-sm);color:var(--muted);overflow-wrap:anywhere;font-weight:600;line-height:1.45}.ms-kcal-two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ms-kcal-big{border:1px solid var(--line);border-radius:var(--r-md);background:#fff9;flex-direction:column;gap:2px;padding:11px 13px;display:flex}.ms-kcal-big.is-main{border-color:var(--accent);background:var(--accent-soft)}.ms-kcal-big .n{font-size:var(--fs-2xs);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-weight:800}.ms-kcal-big .v{font-family:var(--font-display);letter-spacing:-.8px;font-variant-numeric:tabular-nums;font-size:27px;font-weight:800}.ms-kcal-big .v i{font-style:normal;font-size:var(--fs-md);letter-spacing:0;color:var(--muted);margin-left:6px;font-weight:700}.ms-kcal-big.is-main .v{color:var(--accent-strong)}.ms-kcal-big .s{font-size:var(--fs-sm);color:var(--muted);font-weight:600;line-height:1.4}.ms-targets{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ms-target{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);flex-direction:column;gap:6px;padding:12px 13px 13px;display:flex}.ms-target.is-main{border-color:var(--accent);box-shadow:var(--shadow-sm)}.ms-target.is-warn{border-color:#f4c99a}.ms-target .n{font-size:var(--fs-2xs);letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:800}.ms-target .v{font-family:var(--font-display);letter-spacing:-.7px;font-variant-numeric:tabular-nums;font-size:25px;font-weight:800}.ms-target .v i{font-style:normal;font-size:var(--fs-sm);letter-spacing:0;color:var(--muted);margin-left:6px;font-weight:700}.ms-target.is-main .v{color:var(--accent-strong)}.ms-target .s{font-size:var(--fs-sm);color:var(--muted);font-weight:600;line-height:1.4}.ms-target-go{font-size:var(--fs-sm);justify-content:center;margin-top:auto;padding:7px 11px}.ms-paces{flex-wrap:wrap;gap:4px;display:flex}.ms-paces button{border:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;font-size:var(--fs-xs);border-radius:var(--r-pill);background:#fff;padding:4px 9px;font-weight:700;transition:border-color .13s,background .13s,color .13s}.ms-paces button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.ms-warn{font-size:var(--fs-sm);color:var(--warn-text);background:var(--warn-soft);border-radius:var(--r-sm);padding:6px 9px;font-weight:600;line-height:1.4}.ms-act{flex-direction:column;gap:5px;display:flex}.ms-act-h{font-size:var(--fs-xs);letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:800}.ms-act-row{text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-md);width:100%;font:inherit;color:var(--text);background:#fff;align-items:center;gap:12px;padding:8px 12px;transition:border-color .13s,background .13s;display:flex}.ms-act-row:hover{border-color:var(--accent);background:var(--accent-soft)}.ms-act-row.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent-strong)}.ms-act-row .n{min-width:0;font-size:var(--fs-md);flex-direction:column;flex:1;gap:1px;font-weight:700;display:flex}.ms-act-row .n em{font-style:normal;font-size:var(--fs-sm);color:var(--muted);font-weight:600;line-height:1.35}.ms-act-row .m{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-weight:700}.ms-act-row .v{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;flex:none;font-weight:800}.ms-note{font-size:var(--fs-sm);color:var(--muted);font-weight:600;line-height:1.5}.ms-hint{font-size:var(--fs-sm);color:var(--accent-strong);background:var(--accent-soft);border-radius:var(--r-sm);padding:7px 10px;font-weight:600;line-height:1.45}.ms-verdict{font-size:var(--fs-lg);font-weight:700;line-height:1.45}.ms-prof{border:1px dashed var(--line);border-radius:var(--r-md);background:#fff9;flex-direction:column;gap:9px;padding:12px 13px;display:flex}.ms-prof-t{font-size:var(--fs-xs);letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:800}.ms-prof-t .sub{letter-spacing:0;text-transform:none;opacity:.85;margin-left:6px;font-weight:600}.ms-prof-grid{grid-template-columns:repeat(auto-fit,minmax(178px,1fr));align-items:end;gap:10px 14px;display:grid}.ms-prof-f{flex-direction:column;gap:4px;min-width:0;display:flex}.ms-prof-f .l{font-size:var(--fs-sm);color:var(--muted);font-weight:700}.ms-prof-f .l em{color:var(--accent-strong);font-style:normal;font-weight:700}.ms-prof-f .ms-date{width:100%}.ms-prof-f .ms-metric{align-self:start}.ms-unitfield{align-items:center;gap:5px;min-width:0;display:flex}.ms-unitfield input{text-align:right;border:1.5px solid var(--line);border-radius:var(--r-sm);width:100%;min-width:0;font:inherit;font-size:var(--fs-md);color:var(--text);font-variant-numeric:tabular-nums;background:#fbfbfc;padding:6px 9px;font-weight:700;transition:border-color .15s,box-shadow .15s,background .15s}.ms-unitfield input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.ms-unitfield i{font-style:normal;font-size:var(--fs-sm);color:var(--muted);font-weight:700}.ms-metric{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.ms-metric button{color:var(--muted);cursor:pointer;font:inherit;font-size:var(--fs-sm);border-radius:var(--r-xs);white-space:nowrap;background:0 0;border:none;padding:6px 12px;font-weight:700;transition:background .13s,color .13s,box-shadow .13s}.ms-metric button.on{background:var(--accent-soft);color:var(--accent-strong);box-shadow:var(--shadow-sm)}.ms-periods{flex-wrap:wrap;gap:4px;margin-left:auto;display:inline-flex}.ms-periods button{border:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;font-size:var(--fs-sm);border-radius:var(--r-pill);background:#fff;padding:5px 11px;font-weight:700;transition:border-color .13s,background .13s,color .13s}.ms-periods button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.ms-chips{flex-wrap:wrap;gap:5px;display:flex}.ms-chip{cursor:pointer;border:1px solid var(--line);color:var(--muted);font:inherit;font-size:var(--fs-sm);border-radius:var(--r-pill);background:#fff;align-items:center;gap:6px;padding:5px 11px;font-weight:700;transition:border-color .13s,background .13s,color .13s;display:inline-flex}.ms-chip.on{border-color:var(--chipc,var(--accent));color:var(--chipc,var(--accent-strong));background:color-mix(in srgb, var(--chipc,var(--accent)) 12%, #fff)}.ms-legend{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;font-weight:700;display:flex}.ms-legend span{font-variant-numeric:tabular-nums;align-items:center;gap:7px;display:inline-flex}.ms-legend b{border-radius:2px;flex:none;width:12px;height:4px}.ms-legend b.dash{background-blend-mode:screen;background-image:repeating-linear-gradient(90deg,#fff 0 2px,#0000 2px 5px)}.ms-prog{gap:14px}.ms-prog-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ms-prog .ms-select{width:100%;max-width:420px}.ms-prog .ms-cards{gap:10px}.ms-prog .ms-card{padding:10px 12px}.ms-chart{max-height:340px}.ms-legend em{flex:100%;font-style:normal;font-weight:600;line-height:1.45}@media (max-width:900px){.ms-cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ms-card{min-width:0}.ms-fields{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}.ms-kcal-two,.ms-targets{grid-template-columns:1fr}.ms-hero-v{font-size:32px}.ms-periods{margin-left:0}.ms-act-row{flex-wrap:wrap}.ms-act-row .n{flex:100%}.ms-prof-row .n{width:100%}}@keyframes check-pop{0%{transform:scale(.55)}55%{transform:scale(1.22)}to{transform:scale(1)}}.md-check.done svg,.tk-check.done svg,.st-check.done svg,.cl-check.done svg,.dt-check.on svg,.wo-check.on svg,.pn-row.done .pn-check svg{animation:.22s ease-out check-pop}.md-title,.tk-cat-name,.tk-list-name,.tk-title,.st-strat-name,.st-stage-title,.st-title,.cl-title,.cl-g-name,.fn-cat-name,.fn-tname,.wl-sec-name,.wl-iname,.wl-inote,.pn-box-name,.pn-iname,.pn-inote,.gl-main-title,.gl-card-title,.gl-row-title,.dt-meal-name,.dt-row-name,.dt-sname,.ms-field input,.wo-plan-name,.wo-ex-name{cursor:text;border-radius:var(--r-xs);transition:background .12s}.md-title:hover:not(:focus),.tk-cat-name:hover:not(:focus),.tk-list-name:hover:not(:focus),.tk-title:hover:not(:focus),.st-strat-name:hover:not(:focus),.st-stage-title:hover:not(:focus),.st-title:hover:not(:focus),.cl-title:hover:not(:focus),.cl-g-name:hover:not(:focus),.fn-cat-name:hover:not(:focus),.fn-tname:hover:not(:focus),.wl-sec-name:hover:not(:focus),.wl-iname:hover:not(:focus),.wl-inote:hover:not(:focus),.pn-box-name:hover:not(:focus),.pn-iname:hover:not(:focus),.pn-inote:hover:not(:focus),.gl-main-title:hover:not(:focus),.gl-card-title:hover:not(:focus),.gl-row-title:hover:not(:focus),.dt-meal-name:hover:not(:focus),.dt-row-name:hover:not(:focus),.dt-sname:hover:not(:focus),.wo-plan-name:hover:not(:focus),.wo-ex-name:hover:not(:focus){background:var(--line-2)}.view-stat{color:var(--muted);font-size:var(--fs-md);font-variant-numeric:tabular-nums;margin-top:3px;font-weight:700}.view-stat b{color:var(--text);font-weight:800}.md-rec,.fn-cats,.gl-sub,.wo-hist,.ms-hist{border:none;border-top:1px solid var(--line);box-shadow:none;background:#ffffff8c;border-radius:0;padding:12px 6px 6px}.md-rec-title,.gl-sub .gl-box-title{font-size:var(--fs-lg)}.md-rec-head>svg,.gl-sub .gl-box-head>svg{width:15px;height:15px}.md-col{box-shadow:none}.md-col.is-today{box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-md)}.fn-sum,.wl-sum{box-shadow:none}.fn-sum.is-balance,.wl-sum.is-net{box-shadow:var(--shadow-md)}.fn-sum.is-balance .v,.wl-sum.is-net .v{font-size:25px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:560px){.fn-nav,.wl-sec-head{flex-wrap:wrap}.wl-sec-name{flex:120px}.wl-sec-sum{margin-left:auto}.wl-sched{min-width:440px}.tk-cat-head{flex-wrap:wrap}.tk-cat-name{flex:140px}.tk-list-head{flex-wrap:wrap}.tk-list-name{flex:140px}.gl-of{white-space:normal}.gl-chip{white-space:normal;overflow-wrap:anywhere}}@media (hover:none){.pn-date{min-height:24px}.pn-date-off{width:24px;height:24px}}.login-info{background:var(--ok-soft);color:var(--ok-text);border-radius:var(--r-md);font-size:var(--fs-md);border:1px solid #b8e6c9;padding:10px 13px;font-weight:500;line-height:1.45}.login-foot{text-align:center;color:var(--muted);font-size:13.5px}.login-signup{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}button.avatar{cursor:pointer;font:inherit;font-weight:800;font-size:var(--fs-lg);border:none;transition:box-shadow .14s,transform 50ms}button.avatar:hover{box-shadow:0 0 0 3px var(--accent-soft)}button.avatar:active{transform:translateY(1px)}.su-overlay{z-index:70;background:#171d3373;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.su-modal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(720px,100%);height:min(600px,100%);box-shadow:var(--shadow-lg);flex-direction:column;animation:.16s ease-out su-pop;display:flex;overflow:hidden}@keyframes su-pop{0%{opacity:0;transform:translateY(8px)scale(.985)}}.su-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.su-head h2{font-family:var(--font-display);letter-spacing:-.4px;margin:0;font-size:19px}.su-x{color:var(--icon-muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:6px;transition:background .13s,color .13s;display:inline-flex}.su-x svg{width:17px;height:17px}.su-x:hover{background:var(--line-2);color:var(--text)}.su-body{flex:1;min-height:0;display:flex}.su-nav{border-right:1px solid var(--line-2);background:var(--sidebar-2);flex-direction:column;flex:none;gap:3px;width:186px;padding:12px 10px;display:flex;overflow-y:auto}.su-nav-item{text-align:left;cursor:pointer;width:100%;color:var(--sidebar-text);font:inherit;font-size:var(--fs-md);border-radius:var(--r-md);background:0 0;border:none;align-items:center;gap:9px;padding:9px 11px;font-weight:600;transition:background .14s,color .14s;display:flex}.su-nav-item svg{flex:none;width:16px;height:16px}.su-nav-item span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.su-nav-item:hover{color:var(--text);background:#fff}.su-nav-item.active{background:var(--accent-soft);color:var(--accent-strong)}.su-content{flex:1;min-width:0;padding:18px 20px 22px;overflow-y:auto}.su-content section{flex-direction:column;gap:12px;display:flex}.su-card{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff9;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.su-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.su-lab{font-size:var(--fs-md);color:#454b57;min-width:56px;font-weight:700}.su-val{min-width:0;font-size:var(--fs-lg);overflow-wrap:anywhere;flex:1;font-weight:600}.su-btn{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:var(--fs-md);border-radius:var(--r-md);align-items:center;gap:7px;padding:9px 14px;font-weight:700;transition:border-color .14s,background .14s,color .14s,transform 50ms;display:inline-flex}.su-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.su-btn:active:not(:disabled){transform:translateY(1px)}.su-btn:disabled{opacity:.5;cursor:default}.su-inline{align-items:center;gap:9px;display:flex}.su-grow{flex:1;min-width:0}.su-form{border-top:1px dashed var(--line);flex-direction:column;gap:12px;max-width:420px;padding-top:12px;display:flex}.su-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.su-hint{font-size:var(--fs-sm);color:var(--muted);margin:0;font-weight:600;line-height:1.45}.su-pwd{align-items:center;display:flex;position:relative}.su-pwd .field{width:100%;padding-right:42px}.su-eye{cursor:pointer;color:var(--icon-muted);border-radius:var(--r-sm);background:0 0;border:none;padding:5px;transition:background .13s,color .13s;display:inline-flex;position:absolute;right:8px}.su-eye svg{width:17px;height:17px}.su-eye:hover{color:var(--text);background:var(--line-2)}.su-plan{border:1px solid var(--accent);border-radius:var(--r-lg);background:var(--accent-soft);flex-direction:column;gap:8px;padding:16px 18px;display:flex}.su-plan-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.su-plan-name{font-family:var(--font-display);letter-spacing:-.6px;color:var(--accent-strong);font-size:24px;font-weight:800}.su-badge{font-size:var(--fs-2xs);letter-spacing:.8px;text-transform:uppercase;color:var(--accent-strong);border:1px solid var(--accent);border-radius:var(--r-pill);background:#fff;padding:3px 9px;font-weight:800}.su-plan p{font-size:var(--fs-md);color:var(--text);margin:0;font-weight:600;line-height:1.5}select.field{cursor:pointer}.su-nav-sep{background:var(--line);flex:none;height:1px;margin:8px 4px}.su-nav-item.danger:hover,.su-nav-item.danger.active{background:var(--danger-soft);color:var(--danger-text)}.su-danger{background:snow;border-color:#f0c9c9}.su-danger-h{font-size:var(--fs-lg);color:var(--danger-text);font-weight:800}.su-danger .su-form{border-top-color:#f0c9c9}.su-actions-left{justify-content:flex-start}.su-btn-danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger-text);background:var(--danger-soft)}.su-btn-red{background:#c22a2a}.su-btn-red:hover:not(:disabled){background:#a82020}.su-word{color:var(--danger-text);letter-spacing:.5px}.su-opts{flex-direction:column;gap:7px;display:flex}.su-opt{text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-md);font:inherit;color:var(--text);background:#fff;flex-direction:column;gap:3px;padding:10px 13px;transition:border-color .13s,background .13s,box-shadow .13s;display:flex}.su-opt b{font-size:var(--fs-md);font-weight:700}.su-opt span{font-size:var(--fs-sm);color:var(--muted);font-weight:600;line-height:1.4}.su-opt:hover{border-color:var(--accent);background:var(--accent-soft)}.su-opt.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent-strong)}@media (max-width:640px){.su-body{flex-direction:column}.su-nav{border-right:none;border-bottom:1px solid var(--line-2);flex-direction:row;width:100%;padding:8px 10px;overflow:auto hidden}.su-nav-item{flex:none;width:auto}.su-nav-sep{display:none}}
