/* ????????????????? */
:root{--bg:#f3f4f6;--card:#fff;--text:#1a1a2e;--text2:#475569;--text3:#94a3b8;--inp-bg:#fafbfd;--inp-bd:#e2e8f0;--hov:#f1f5f9;--hov2:#f8faff;--acc:#4f46e5;--acc2:#818cf8;--acc-bg:#eef2ff;--acc-bd:#c7d2fe;--task-bg:#fff;--task-bd:#e8ecf4;--tog-bg:#e2e8f0;--sh:0 2px 12px rgba(15,23,42,.07),0 1px 3px rgba(15,23,42,.05);--ov:rgba(15,23,42,.3);--prio-high:#ef4444;--task-time-recur-fg:#3b82f6;--task-time-recur-chip-bg:#eff6ff;--task-time-recur-chip-bd:color-mix(in srgb,#3b82f6 18%,#e0e7ff)}
.dark{--bg:#0f172a;--card:#1e293b;--text:#f1f5f9;--text2:#cbd5e1;--text3:#64748b;--inp-bg:#0f172a;--inp-bd:#334155;--hov:#334155;--hov2:#1e3048;--acc:#818cf8;--acc2:#a5b4fc;--acc-bg:rgba(129,140,248,.12);--acc-bd:rgba(129,140,248,.3);--task-bg:#1e293b;--task-bd:rgba(255,255,255,.08);--tog-bg:#334155;--sh:0 2px 8px rgba(0,0,0,.2);--ov:rgba(0,0,0,.5);--task-time-recur-fg:#93c5fd;--task-time-recur-chip-bg:rgba(59,130,246,.16);--task-time-recur-chip-bd:rgba(147,197,253,.32)}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}
html{height:100%;font-size:87.5%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei UI","Microsoft YaHei","Noto Sans SC","Source Han Sans SC",sans-serif}
body{font-family:inherit;background:var(--bg);min-height:100vh;height:100%;color:var(--text);transition:background-color .45s ease,color .45s ease;-webkit-tap-highlight-color:transparent;font-size:14px}
.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:var(--bg)}.loading-screen .ls-icon{font-size:3rem;animation:lsPulse 1.5s ease infinite}.loading-screen .ls-text{color:var(--text3);font-size:.9rem}@keyframes lsPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.auth-screen{min-height:100vh;display:none;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#eef2ff 0%,#c7d2fe 60%,#a5b4fc 100%)}.dark .auth-screen{background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 50%,#312e81 100%)}.auth-card{background:var(--card);border-radius:24px;padding:40px 34px;width:100%;max-width:460px;box-shadow:0 20px 60px rgba(79,70,229,.12)}.auth-logo{text-align:center;margin-bottom:24px}.auth-logo .logo-icon{font-size:2.8rem;margin-bottom:4px}.auth-logo h1{font-size:1.7rem;font-weight:700;color:var(--acc);letter-spacing:3px}.auth-logo p{font-size:.85rem;color:var(--text3);margin-top:3px}.auth-tabs{display:flex;background:var(--tog-bg);border-radius:14px;padding:4px;margin-bottom:24px}.auth-tab{flex:1;padding:10px;border:none;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .25s;color:var(--text3);background:0 0;text-align:center}.auth-tab.active{background:var(--card);color:var(--acc);box-shadow:var(--sh)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field label{font-size:.82rem;color:var(--text2);font-weight:500;display:block;margin-bottom:5px}.auth-field input{width:100%;border:1.5px solid var(--inp-bd);border-radius:12px;padding:12px 16px;font-size:.93rem;color:var(--text);outline:0;transition:all .2s;background:var(--inp-bg)}.auth-field input:focus{border-color:var(--acc2);background:var(--card);box-shadow:0 0 0 3px rgba(129,140,248,.12)}.avatar-pick{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.avatar-opt{width:38px;height:38px;border-radius:50%;border:2.5px solid var(--inp-bd);cursor:pointer;font-size:1.15rem;display:flex;align-items:center;justify-content:center;transition:all .2s;background:var(--inp-bg)}.avatar-opt:hover{border-color:var(--acc2);transform:scale(1.1)}.avatar-opt.sel{border-color:var(--acc);background:var(--acc-bg)}.auth-submit{background:var(--acc);border:none;color:#fff;padding:13px;border-radius:14px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .25s;letter-spacing:1px;margin-top:2px}.auth-submit:hover{opacity:.92;transform:translateY(-1px)}.auth-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-error{color:#ef4444;font-size:.82rem;text-align:center;min-height:20px;font-weight:500}.auth-error.info{color:var(--acc)}.auth-divider{display:flex;align-items:center;gap:12px;margin:2px 0}.auth-divider span{font-size:.76rem;color:var(--text3);white-space:nowrap}.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--inp-bd)}.guest-btn{background:var(--hov);border:1.5px solid var(--inp-bd);color:var(--text2);padding:11px;border-radius:14px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;width:100%}.guest-btn:hover{border-color:var(--acc-bd);color:var(--acc);background:var(--acc-bg)}.pw-wrap{position:relative}.pw-wrap input{padding-right:40px!important}.pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:0 0;border:none;cursor:pointer;font-size:1rem;color:var(--text3);padding:2px}
.app-wrap{display:none}.app-wrap.show{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;height:100%;background:var(--bg);transition:background-color .45s ease}.app{max-width:1200px;margin:0 auto;padding:8px 18px max(12px,env(safe-area-inset-bottom));width:100%;box-sizing:border-box;flex:1;display:flex;flex-direction:column;min-height:0}#appMain.show .app:has(#taskMode:not(.hidden)){max-width:none}.app:has(.multi-bar.show){padding-bottom:max(72px,calc(52px + env(safe-area-inset-bottom)))}.site-header{flex-shrink:0;width:100%;box-sizing:border-box;background:transparent;border:none;box-shadow:none;padding:max(10px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 6px max(18px,env(safe-area-inset-left))}.dark .site-header{background:transparent;border:none;box-shadow:none}.site-header-inner{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:9px 14px;width:100%;max-width:none;margin:0;box-sizing:border-box;background:var(--card);border-radius:14px;border:1px solid rgba(0,0,0,.04);box-shadow:0 4px 20px rgba(0,0,0,.03);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;touch-action:none;-webkit-touch-callout:none;transition:background-color .45s ease,border-color .45s ease,box-shadow .45s ease}.dark .site-header-inner{border:1px solid rgba(255,255,255,.07);box-shadow:0 4px 24px rgba(0,0,0,.28)}.header-mid{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto;max-width:100%;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.header-mid::-webkit-scrollbar{display:none}.header-end{display:flex;align-items:center;flex-shrink:0;margin-left:auto;min-width:0}.header-tools{position:relative;display:inline-flex;align-items:center;gap:10px;flex-shrink:0;min-width:0;flex-wrap:wrap;padding-left:0;margin-left:10px;border-left:none}.sync-status-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mode-toggle{position:relative;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:2px;border-radius:12px;background:transparent}.mode-toggle-active-bg{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:10px;background:#ede9fe;z-index:0;pointer-events:none;opacity:0;transition:transform .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),opacity .2s ease;will-change:transform,width}.mode-toggle-active-bg.no-transition{transition:none!important}.dark .mode-toggle-active-bg{background:rgba(139,92,246,.22)}.mode-btn{position:relative;z-index:1;padding:7px 12px;border:none;background:transparent;cursor:pointer;font-size:1.02rem;font-weight:500;color:#666;border-radius:10px;font-family:inherit;display:inline-flex;align-items:center;gap:6px;line-height:1.25;letter-spacing:-.01em;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .2s,font-weight .15s,background .15s,transform .15s ease-in-out}.mode-btn:active{transform:scale(.95)}.mode-btn .nav-ph-ico{flex-shrink:0;width:1em;height:1em;font-size:1.05rem;line-height:1;font-style:normal;font-weight:400;display:inline-flex;align-items:center;justify-content:center;color:currentColor;vertical-align:-.08em}.header-utility-ico{flex-shrink:0;width:1em;height:1em;font-size:1.05rem;line-height:1;font-style:normal;font-weight:400;display:inline-flex;align-items:center;justify-content:center;color:currentColor;vertical-align:-.08em}.mode-btn.active{color:#5b21b6;font-weight:600}.dark .mode-btn{color:#b8c4d0}.dark .mode-btn.active{color:#ddd6fe}.mode-btn:hover:not(.active){color:#334155;background:#f1f5f9}.dark .mode-btn:hover:not(.active){color:#e2e8f0;background:rgba(148,163,184,.12)}.icon-btn{width:36px;height:36px;border:none;border-radius:12px;background:transparent;color:#64748b;cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .15s ease-in-out,background .18s ease,color .18s ease;flex-shrink:0;box-sizing:border-box;padding:0;line-height:0;outline:none}@media(hover:hover) and (pointer:fine){.icon-btn:hover{color:#0f172a;transform:scale(1.05)}.dark .icon-btn:hover{color:#f1f5f9}}.icon-btn:focus-visible{box-shadow:0 0 0 2px var(--card),0 0 0 4px #6366f1}.dark .icon-btn:focus-visible{box-shadow:0 0 0 2px var(--card),0 0 0 4px #818cf8}.icon-btn:active{transform:scale(.95)}#darkBtn.icon-btn--theme{margin-right:0;overflow:hidden;position:relative}#darkBtn .dark-btn-ico{display:flex;align-items:center;justify-content:center;will-change:transform,opacity}.dark-btn-ico.dark-ico-exit{animation:darkIcoExit .2s cubic-bezier(.4,0,.2,1) forwards}.dark-btn-ico.dark-ico-enter{animation:darkIcoEnter .2s cubic-bezier(.4,0,.2,1) forwards}@keyframes darkIcoExit{to{opacity:0;transform:translateY(14px) rotate(90deg)}}@keyframes darkIcoEnter{from{opacity:0;transform:translateY(-14px) rotate(-90deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
.user-menu{position:relative;flex-shrink:0}.user-btn{display:flex;align-items:center;justify-content:center;gap:0;padding:2px;border:none;border-radius:50%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .15s ease-in-out,opacity .15s ease;outline:none;color:inherit;min-width:36px;min-height:36px;box-sizing:border-box}.user-btn:hover{opacity:.92}.user-btn:focus-visible{box-shadow:0 0 0 2px var(--card),0 0 0 4px #6366f1;border-radius:50%}.user-btn:active{transform:scale(.96)}@media(hover:hover) and (pointer:fine){.user-btn:hover{transform:scale(1.04)}.user-btn:active{transform:scale(.96)}}.dark .user-btn:focus-visible{box-shadow:0 0 0 2px var(--card),0 0 0 4px #818cf8}.user-avatar-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.user-status-dot{position:absolute;right:-3px;bottom:-3px;width:14px;height:14px;border-radius:50%;border:2.5px solid var(--card);box-sizing:border-box;pointer-events:none;transition:background-color .35s ease,box-shadow .35s ease}.dark .user-status-dot{border-color:var(--card)}.user-status-dot--online{background:#10b981;box-shadow:0 0 0 1px rgba(16,185,129,.25)}.user-status-dot--saved{background:#10b981;animation:statusDotPulse .6s ease}.user-status-dot--saving{background:#f59e0b;animation:statusDotPulse 1s ease infinite}.user-status-dot--error{background:#ef4444}.user-status-dot--offline{background:#ef4444;box-shadow:0 0 0 1px rgba(239,68,68,.22)}.dark .user-status-dot--offline{background:#f87171;box-shadow:0 0 0 1px rgba(248,113,113,.28)}@keyframes statusDotPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;box-shadow:inset 0 1px 2px rgba(255,255,255,.2)}.user-avatar svg{display:block;stroke:#fff!important}.user-dropdown{position:absolute;top:calc(100% + 5px);right:0;background:var(--card);border:1.5px solid var(--inp-bd);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.12);min-width:220px;z-index:100;display:none;overflow:hidden}.user-dropdown.show{display:block}.ud-mask{display:none;position:fixed;inset:0;background:var(--ov);z-index:99;backdrop-filter:blur(2px)}.ud-mask.show{display:block}.ud-header{padding:14px 16px;border-bottom:1px solid var(--task-bd);display:flex;align-items:center;gap:10px}.ud-avatar{width:40px;height:40px;border-radius:50%;background:var(--acc-bg);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;color:var(--acc)}.ud-avatar svg{stroke:currentColor}.ud-info .ud-name{font-size:.92rem;font-weight:600;color:var(--text)}.ud-info .ud-email{font-size:.76rem;color:var(--text3);margin-top:1px}.ud-item{padding:11px 16px;cursor:pointer;transition:all .15s;font-size:.88rem;color:var(--text2);display:flex;align-items:center;gap:8px}.ud-item:hover{background:var(--hov);color:var(--text)}.ud-item.danger{color:#ef4444}.ud-item.danger:hover{background:#fef2f2}.ud-divider{height:1px;background:var(--task-bd)}.ud-stat{padding:10px 16px;font-size:.78rem;color:var(--text3);display:flex;justify-content:space-between}.ud-stat .uds-val{font-weight:600;color:var(--acc)}.ud-close{display:none;position:absolute;top:10px;right:10px;width:30px;height:30px;border:none;border-radius:8px;background:var(--hov);color:var(--text3);cursor:pointer;font-size:.9rem;align-items:center;justify-content:center}
.sidebar-mask{position:fixed;inset:0;background:rgba(0,0,0,.32);z-index:80;opacity:0;visibility:hidden;transition:opacity .3s;backdrop-filter:blur(2px)}.sidebar-mask.open{opacity:1;visibility:visible}.sidebar{position:fixed;top:0;left:0;width:380px;max-width:calc(100vw - 24px);height:100vh;background:var(--card);z-index:81;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;box-shadow:4px 0 24px rgba(0,0,0,.08);padding:22px}.sidebar.open{transform:translateX(0)}.sb-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sb-head h3{font-size:1.15rem;font-weight:600}.sb-close{width:32px;height:32px;border:none;border-radius:8px;background:var(--hov);color:var(--text3);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.sb-close:hover{background:var(--acc-bg);color:var(--acc)}.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cal-nav h2{font-size:1.1rem;font-weight:600}.cal-nav-btns{display:flex;gap:4px}.cal-btn{width:36px;height:36px;border:none;border-radius:8px;background:var(--hov);color:var(--text3);cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center}.cal-btn:hover{background:var(--acc-bg);color:var(--acc)}.cal-btn.today-btn{width:auto;padding:0 16px;font-size:.85rem;font-weight:500}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-head{text-align:center;font-size:.85rem;color:var(--text3);padding:4px 0 8px;font-weight:600}.cal-day{text-align:center;padding:7px 0 16px;border-radius:10px;font-size:1rem;cursor:pointer;transition:all .15s;position:relative;color:var(--text2);min-height:46px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.cal-day:hover{background:var(--hov)}.cal-day.other{color:var(--text3);opacity:.45}.cal-day.today{color:var(--acc);font-weight:700;background:var(--acc-bg)}.cal-day.selected{background:var(--acc);color:#fff;font-weight:600}.cal-day.weekend{color:#e879a0}.cal-day.selected.weekend,.cal-day.selected.today{color:#fff}.cal-cnt{font-size:.64rem;color:var(--text3);position:absolute;bottom:2px;left:0;right:0;text-align:center;line-height:1}.cal-day.selected .cal-cnt{color:rgba(255,255,255,.75)}.streak-badge{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;padding:7px 18px;border-radius:20px;font-size:.88rem;font-weight:600;margin-top:14px;box-shadow:0 2px 10px rgba(245,158,11,.3)}.streak-badge.cold{background:linear-gradient(135deg,var(--text3),#64748b);box-shadow:none}.sb-qnav{display:flex;gap:4px;margin-top:14px}.sb-qnav button{flex:1;border:1.5px solid var(--task-bd);background:var(--task-bg);color:var(--text3);padding:9px;border-radius:10px;cursor:pointer;font-size:.88rem;transition:all .2s;text-align:center}.sb-qnav button:hover{border-color:var(--acc-bd);color:var(--acc)}.sb-qnav button.qn-active{border-color:var(--acc2);color:var(--acc);background:var(--acc-bg);font-weight:600}
.search-wrap{position:relative;margin-bottom:12px;display:none}.search-wrap.open{display:block}.search-input{width:100%;border:1.5px solid var(--inp-bd);border-radius:12px;padding:12px 16px 12px 40px;font-size:.95rem;color:var(--text);background:var(--card);outline:0;transition:all .2s}.search-input:focus{border-color:var(--acc2);box-shadow:0 0 0 3px rgba(129,140,248,.12)}.search-icon{position:absolute;left:13px;top:13px;font-size:1rem;color:var(--text3);pointer-events:none}.search-results{background:var(--card);border:1.5px solid var(--inp-bd);border-radius:12px;margin-top:5px;max-height:280px;overflow-y:auto;box-shadow:var(--sh)}.sr-item{padding:11px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--task-bd);display:flex;justify-content:space-between;align-items:center}.sr-item:last-child{border-bottom:none}.sr-item:hover{background:var(--hov)}.sr-item .sr-text{font-size:.9rem;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-item .sr-text.sr-done{text-decoration:line-through;color:var(--text3)}.sr-item .sr-date{font-size:.78rem;color:var(--acc);font-weight:500;flex-shrink:0;margin-left:8px}
.task-card{background:var(--card);border-radius:16px;padding:13px 17px;box-shadow:var(--sh);min-height:75vh;display:flex;flex-direction:column;transition:background-color .45s ease;flex:1;min-height:0;overflow-x:hidden}#taskMode .task-main-col>.task-card:has(.list-panel){overflow-x:visible}#taskMode.task-mode-layout{display:flex;flex-direction:row;flex:1;min-height:0;align-items:stretch;gap:10px}#taskMode .task-main-col{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}#taskMode .task-main-col>.task-card{flex:1;min-height:0}.task-dash-col{width:248px;flex-shrink:0;display:flex;flex-direction:column;gap:14px;align-self:stretch;min-height:0;overflow:hidden;box-sizing:border-box}.task-dash-col .dash-overview+.dash-focus{margin-top:4px}#taskMode .task-dash-col .dash-card.dash-overview{flex-shrink:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}#taskMode .task-dash-col .dash-card.dash-overview .dash-ring-wrap{flex-shrink:1;min-height:0}#taskMode .task-dash-col .dash-card.dash-focus{flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column}#taskMode .task-dash-col .dash-card.dash-focus .ft-ring-wrap{flex-shrink:1;min-height:0}.dash-card{background:var(--card);border-radius:12px;padding:10px 12px 12px;box-shadow:var(--sh);border:1px solid var(--task-bd);box-sizing:border-box}.dash-drag-handle{cursor:grab;opacity:.5;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:1px 4px 1px 0;user-select:none;-webkit-user-select:none;color:var(--text3,#94a3b8)}.dash-drag-handle svg{display:block;opacity:.95}.dash-drag-handle:active{cursor:grabbing}.dash-card.dash-dragging{opacity:.55}.dash-card.drag-dash-over{outline:2px dashed var(--acc,#818cf8);outline-offset:-4px}.dash-hd{display:flex;align-items:center;gap:6px;margin-bottom:8px}.dash-hd-ico{font-size:.88rem;line-height:1;opacity:.88;display:inline-flex;align-items:center;justify-content:center}.dash-hd-ico svg{display:block;width:16px;height:16px;flex-shrink:0}.dash-hd-tit{font-size:.88rem;font-weight:700;color:var(--text);flex:1;min-width:0}.dash-hd-meta,.dash-hd-hint{font-size:.72rem;color:var(--text2);font-weight:600;white-space:nowrap}.dash-hd-hint{font-weight:500}.dash-ring-wrap{position:relative;width:108px;height:108px;margin:0 auto 6px}.dash-ring-svg{width:100%;height:100%;display:block}.dash-ring-bg{stroke:#e8e4ff}.dark .dash-ring-bg{stroke:rgba(139,92,246,.25)}.dash-ring-prog{stroke:#5B4EE8;transition:stroke-dashoffset .45s ease}.dash-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.dash-pct{font-size:1.15rem;font-weight:800;color:var(--text);line-height:1.1}.dash-pct-sub{font-size:.72rem;color:var(--text2);margin-top:2px;font-weight:500}.dash-pill{text-align:center;padding:5px 9px;border-radius:999px;font-size:.74rem;font-weight:600;margin-top:5px}.dash-pill--purple{background:color-mix(in srgb,#5B4EE8 22%,transparent);color:#3730a3}.dark .dash-pill--purple{background:color-mix(in srgb,var(--acc) 26%,transparent);color:#c4b5fd}.dash-pill-num{font-weight:800}.dash-prio-rows{display:flex;flex-direction:column;gap:6px}.dash-prio-row{display:flex;align-items:center;gap:6px;font-size:.76rem}.dash-prio-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dash-prio-lab{width:22px;font-weight:700;color:var(--text)}.dash-prio-bar-wrap{flex:1;height:7px;background:var(--hov);border-radius:100px;overflow:hidden;min-width:0}.dash-prio-bar{height:100%;border-radius:100px;transition:width .35s ease;min-width:0}.dash-prio-cnt{min-width:18px;text-align:right;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.dash-ov-top{display:flex;flex-direction:row;align-items:center;gap:10px;margin-bottom:8px}.dash-overview .dash-ov-top{align-items:center}.dash-overview .dash-ov-right{min-height:92px;justify-content:center}.dash-overview .dash-ring-wrap{width:92px;height:92px;margin:0;flex-shrink:0;align-self:center}.dash-overview .dash-ring-wrap .dash-pct{font-size:1rem;font-weight:800;color:#5B4EE8}.dark .dash-overview .dash-ring-wrap .dash-pct{color:#a5b4fc}.dash-ov-right{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:4px}.dash-ov-count{font-size:1.35rem;font-weight:800;color:var(--text);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.dash-ov-count .dash-ov-slash{font-weight:700;color:var(--text2);font-size:1.05rem}.dash-ov-count-sub{font-size:.72rem;font-weight:600;color:var(--text2)}.dash-ov-bar-wrap{height:5px;border-radius:100px;background:color-mix(in srgb,#5B4EE8 18%,transparent);overflow:hidden}.dark .dash-ov-bar-wrap{background:color-mix(in srgb,var(--acc) 22%,transparent)}.dash-ov-bar{height:100%;width:0;border-radius:100px;background:#5B4EE8;transition:width .4s ease}.dark .dash-ov-bar{background:var(--acc)}.dash-ov-prio-grid{display:grid;grid-template-columns:1fr;gap:7px;margin-top:2px}.dash-ov-prio-card{border-radius:10px;padding:7px 8px;display:flex;flex-direction:column;gap:5px;min-width:0;box-sizing:border-box}.dash-ov-prio-card--high{--ov-prio:#ef4444;background:rgba(254,226,226,.55)}.dark .dash-ov-prio-card--high{background:color-mix(in srgb,var(--ov-prio) 22%,transparent)}.dash-ov-prio-row1{display:flex;flex-direction:row;align-items:center;gap:5px;min-width:0}.dash-ov-prio-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--ov-prio);align-self:center}.dash-ov-prio-tit{font-size:.68rem;font-weight:700;color:var(--text);flex:1;min-width:0;line-height:1.2;display:flex;align-items:center}.dash-ov-prio-num{font-size:1.05rem;font-weight:800;color:var(--ov-prio);line-height:1.2;font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.dash-ov-prio-barw{height:4px;border-radius:100px;background:color-mix(in srgb,var(--ov-prio) 15%,var(--card));overflow:hidden}.dark .dash-ov-prio-barw{background:color-mix(in srgb,var(--ov-prio) 28%,transparent)}.dash-ov-prio-fill{height:100%;width:0;border-radius:100px;background:var(--ov-prio);transition:width .35s ease;min-width:0}.dash-ov-prio-hint{font-size:.6rem;font-weight:500;color:color-mix(in srgb,var(--ov-prio) 45%,var(--text2));line-height:1.2}.dark .dash-ov-prio-hint{color:color-mix(in srgb,var(--ov-prio) 35%,var(--text2))}.dash-focus{padding-bottom:11px}.dash-focus-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.dash-focus-top-l{display:flex;align-items:center;gap:6px;min-width:0}.dash-focus-set{flex-shrink:0;border:none;background:0 0;font:inherit;font-size:.68rem;font-weight:600;color:var(--text2);cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:8px}.dash-focus-set-ico{display:inline-flex;align-items:center;justify-content:center;color:inherit}.dash-focus-set-ico svg{display:block;flex-shrink:0}.dash-focus-set:hover{color:var(--acc);background:var(--acc-bg)}.dash-focus-set-txt{min-width:2em;display:inline-block;text-align:right}.ft-card-body{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ft-view{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ft-view-timer{align-items:stretch}.ft-view-timer .ft-stats{margin-top:auto}.ft-view-timer .ft-status{margin-bottom:2px}.ft-view-timer .ft-ring-wrap{margin-bottom:12px}.ft-view-settings{min-height:0}.ft-view-settings .ft-set-panel{margin-top:0;margin-bottom:0;flex:1 1 auto;min-height:0;justify-content:center;gap:12px;padding:12px 10px}.ft-set-fields{display:flex;flex-direction:column;gap:9px}.ft-view-settings .ft-set-save{margin-top:6px;width:100%;box-sizing:border-box;padding:9px 12px;border-radius:9px}.ft-tabs{display:flex;background:var(--hov);border-radius:11px;padding:4px;gap:3px;margin-bottom:10px}.ft-tab{flex:1;border:none;background:transparent;font:inherit;font-size:.68rem;font-weight:600;color:var(--text2);padding:7px 4px;border-radius:8px;cursor:pointer;line-height:1.2;transition:color .15s ease,box-shadow .2s ease,background .15s ease}.ft-tab.active{background:var(--card);color:var(--acc);box-shadow:0 1px 5px rgba(79,70,229,.12),0 0 0 1px color-mix(in srgb,var(--acc) 10%,transparent)}.dark .ft-tab.active{box-shadow:0 2px 10px rgba(0,0,0,.3),0 0 0 1px color-mix(in srgb,var(--acc) 18%,transparent)}.ft-ring-wrap{position:relative;width:118px;height:118px;margin:6px auto 14px}.ft-ring-svg{width:100%;height:100%;display:block}.ft-ring-bg{stroke:color-mix(in srgb,var(--acc) 16%,var(--task-bd))}.ft-ring-prog{stroke:var(--acc);transition:stroke-dashoffset .3s linear}.ft-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.ft-time{font-size:1.32rem;font-weight:800;color:var(--text);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}.ft-status{font-size:.72rem;color:var(--text2);font-weight:600;margin-top:4px}.ft-task-pick{width:100%;display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:11px;border:1px solid color-mix(in srgb,var(--acc) 22%,var(--task-bd));background:color-mix(in srgb,var(--acc-bg) 38%,var(--card));cursor:pointer;font:inherit;text-align:left;margin-bottom:6px;box-sizing:border-box;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.ft-task-pick:hover{border-color:color-mix(in srgb,var(--acc) 42%,var(--inp-bd));background:color-mix(in srgb,var(--acc-bg) 58%,var(--card));box-shadow:0 1px 4px rgba(15,23,42,.07)}.dark .ft-task-pick:hover{box-shadow:0 2px 8px rgba(0,0,0,.22)}.ft-task-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);flex-shrink:0}.ft-task-label{flex:1;min-width:0;font-size:.75rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}.ft-task-chev{color:var(--text2);flex-shrink:0;line-height:0;display:inline-flex;align-items:center;justify-content:center}.ft-task-chev svg{display:block}.ft-dots-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:2px;margin-bottom:16px}.ft-dots{display:flex;align-items:center;gap:5px}.ft-dot{width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--acc) 22%,var(--hov));transition:transform .15s ease,background .15s ease}.ft-dot.on{background:var(--acc)}.ft-dot.cur{width:8px;height:8px;box-shadow:0 0 0 2px color-mix(in srgb,var(--acc) 38%,transparent)}.ft-dots-meta{font-size:.68rem;color:var(--text2);font-weight:600;letter-spacing:.02em}.ft-ctrls{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:8px;padding-top:2px}.ft-btn{border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font:inherit;transition:transform .12s,filter .12s}.ft-btn .ft-ctrl-ico{display:block;flex-shrink:0}.ft-btn-main .ft-ico-play,.ft-btn-main .ft-ico-pause{display:flex;align-items:center;justify-content:center;line-height:0}.ft-btn:active{transform:scale(.96)}.ft-btn-ghost{width:36px;height:36px;border-radius:50%;background:var(--card);border:1.5px solid var(--task-bd);color:var(--text2);font-size:1rem;line-height:1}.ft-btn-ghost:hover{border-color:var(--acc-bd);color:var(--acc)}.ft-btn-main{width:46px;height:46px;border-radius:50%;background:var(--acc);color:#fff;font-size:1.05rem;box-shadow:0 4px 14px color-mix(in srgb,var(--acc) 42%,transparent);transition:background .25s ease,box-shadow .25s ease,filter .12s}.ft-btn-main:hover{filter:brightness(1.06)}.ft-btn-main.ft-running{background:#f97316;box-shadow:0 4px 16px rgba(249,115,22,.48)}.ft-btn-main.ft-running:hover{filter:brightness(1.05)}.dark .ft-btn-main.ft-running{background:#fb923c;box-shadow:0 4px 18px rgba(251,146,60,.4)}.ft-stats{display:flex;justify-content:space-between;text-align:center;gap:4px;margin-top:12px;padding:11px 8px 9px;border-radius:11px;background:color-mix(in srgb,var(--hov) 75%,var(--card));border:1px solid color-mix(in srgb,var(--task-bd) 55%,transparent)}.dark .ft-stats{background:color-mix(in srgb,var(--hov) 45%,transparent);border-color:var(--task-bd);box-shadow:none}.ft-stat{flex:1;min-width:0;padding:2px 4px}.ft-stat:not(:last-child){border-right:1px solid color-mix(in srgb,var(--task-bd) 55%,transparent)}.dark .ft-stat:not(:last-child){border-right-color:color-mix(in srgb,var(--task-bd) 45%,transparent)}.ft-stat b{display:block;font-size:.98rem;color:var(--text);font-weight:800;line-height:1.15;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ft-stat span{display:block;font-size:.64rem;color:var(--text2);font-weight:600;margin-top:5px;line-height:1.3;letter-spacing:.03em;opacity:.9}.ft-set-panel{padding:9px;background:var(--hov);border-radius:10px;display:flex;flex-direction:column;gap:7px;border:1px solid color-mix(in srgb,var(--task-bd) 40%,transparent)}.ft-set-panel label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.66rem;font-weight:600;color:var(--text2)}.ft-set-panel input{width:54px;padding:4px 5px;border:1px solid var(--inp-bd);border-radius:6px;font:inherit;font-size:.75rem;background:var(--card);color:var(--text)}.ft-set-save{border:none;background:var(--acc);color:#fff;font-weight:700;font-size:.7rem;padding:7px 10px;border-radius:8px;cursor:pointer}.ft-pick-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;margin:10px 0}.ft-pick-item{display:block;width:100%;text-align:left;padding:9px 10px;border-radius:8px;border:1px solid var(--task-bd);background:var(--card);font:inherit;font-size:.84rem;cursor:pointer;color:var(--text)}.ft-pick-item:hover{border-color:var(--acc-bd);background:var(--acc-bg)}.ft-pick-actions{display:flex;flex-direction:row;gap:8px;margin-top:4px}.ft-pick-actions .m-sheet-btn{flex:1;min-width:0}.ft-pick-actions .ft-pick-deselect{background:#7b80f7;color:#fff;border:none;box-shadow:none;border-radius:6px;font-weight:700;text-align:center}.ft-pick-actions .ft-pick-deselect:hover{filter:brightness(1.06)}.ft-pick-actions .ft-pick-deselect:active{transform:scale(.985)}.dash-week-strip{display:flex;justify-content:space-between;gap:5px;padding-bottom:0;box-sizing:border-box}.dash-week-foot{margin-top:6px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--task-bd) 72%,transparent)}.dash-week-foot-inner{font-size:.68rem;color:var(--text2);text-align:center;line-height:1.5;font-weight:600;letter-spacing:.02em}.dash-week-foot--empty{color:var(--text3);font-weight:500}.dwf-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 5px}.dwf-k{font-weight:600;color:var(--text3);font-size:.65rem}.dwf-num{font-weight:800;font-variant-numeric:tabular-nums;color:var(--text);font-size:.78rem}.dwf-num.dwf-done{color:#16a34a}.dwf-num.dwf-pend{color:#ea580c}.dwf-u{font-size:.62rem;color:var(--text3);font-weight:600;margin-left:1px}.dwf-dotsep{color:var(--text3);opacity:.55;font-weight:400;padding:0 1px}.dash-card.dash-week{flex-shrink:0;padding-bottom:8px;box-sizing:border-box}.dash-card.dash-week .dash-hd{margin-bottom:6px}.dash-wd{flex:1;min-width:0;text-align:center;padding:4px 1px 6px;border-radius:8px;cursor:pointer;transition:background .15s;border:none;background:transparent;font:inherit;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-sizing:border-box}.dash-wd:hover{background:var(--hov)}.dash-wd-sel{background:#5B4EE8!important;color:#fff!important}.dash-wd-lab{font-size:.68rem;color:var(--text2);font-weight:600;margin-bottom:2px;display:block}.dash-wd-sel .dash-wd-lab{color:rgba(255,255,255,.95)}.dash-wd-num{font-size:.76rem;font-weight:700;color:var(--text);display:block;line-height:1.15}.dash-wd-sel .dash-wd-num{color:#fff}.dash-wd-dots{display:flex;align-items:center;justify-content:center;gap:3px;min-height:7px;margin-top:2px;flex-shrink:0}.dash-wd-dot{display:block;border-radius:50%;flex-shrink:0}.dash-wd-dot--today{display:none;width:5px;height:5px;background:var(--acc)}.dash-wd-today .dash-wd-dot--today{display:block}.dash-wd-sel.dash-wd-today .dash-wd-dot--today{background:#fff}.dash-wd-dot--task{width:4px;height:4px;background:var(--acc);opacity:.92}.dash-wd-dot--task.dash-wd-dot--done{background:#22c55e;opacity:1}.dash-wd-sel .dash-wd-dot--task{background:rgba(255,255,255,.92);opacity:1}.dash-wd-sel .dash-wd-dot--task.dash-wd-dot--done{background:#bbf7d0}@media(max-width:960px){#taskMode.task-mode-layout{flex-direction:column;gap:12px}.task-dash-col{width:100%;max-height:none;position:static;top:auto;overflow:visible;order:2;padding-bottom:0}#taskMode .task-dash-col .dash-card.dash-overview{flex-shrink:0;overflow:visible}#taskMode .task-dash-col .dash-card.dash-overview{display:block}#taskMode .task-dash-col .dash-card.dash-focus{flex:none;overflow:visible;display:flex;flex-direction:column}}.date-nav{display:flex;align-items:center;gap:10px;margin-bottom:6px}#taskMode .task-main-col>.task-card>.date-nav{margin-left:-17px;margin-right:-17px;width:calc(100% + 34px);box-sizing:border-box;padding-left:10px;padding-right:17px}#kanbanMode>.task-card>.date-nav{margin-left:-17px;margin-right:-17px;width:calc(100% + 34px);box-sizing:border-box;padding-left:10px;padding-right:17px}.date-nav-h3-ico{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text2);pointer-events:none}.date-nav-h3-ico svg{width:1.1em;height:1.1em;display:block;stroke:currentColor}.date-nav h3:hover .date-nav-h3-ico{color:var(--acc)}.date-nav h3{flex:0 1 auto;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;min-width:0;max-width:100%;color:var(--text)}.date-nav h3:hover{color:var(--acc)}.nav-arrow{width:36px;height:36px;border:1.5px solid var(--inp-bd);border-radius:10px;background:var(--card);color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;transition:all .2s;font-weight:600}.nav-arrow:hover{border-color:var(--acc);color:var(--acc);background:var(--acc-bg)}.today-link{font-size:.85rem;color:#fff;cursor:pointer;padding:6px 16px;border-radius:18px;background:var(--acc);white-space:nowrap;font-weight:600;border:none;flex-shrink:0;transition:all .2s;box-shadow:0 2px 6px rgba(79,70,229,.2)}.today-link:hover{background:var(--acc2);box-shadow:0 4px 12px rgba(79,70,229,.3);transform:translateY(-1px)}.date-nav{gap:6px;margin-bottom:6px}.date-nav h3{font-size:1rem;gap:4px}.nav-arrow{width:32px;height:32px;font-size:.8rem}.today-link{padding:5px 12px;font-size:.78rem}.date-nav-chevron{display:inline-flex;align-items:center;flex-shrink:0;color:var(--text3)}.date-nav-chevron svg{display:block}.view-sub{display:inline-flex;margin-left:auto;flex-shrink:0;align-items:stretch;border-radius:18px;overflow:hidden;border:1.5px solid color-mix(in srgb,#7B61FF 30%,#dfdaf5);background:#fff;box-shadow:0 2px 8px rgba(123,97,255,.1),0 0 1px rgba(123,97,255,.14);min-width:0}.vs-btn{flex:1;position:relative;padding:8px 16px;font-size:.78rem;font-weight:600;cursor:pointer;margin:0;border:none;-webkit-appearance:none;appearance:none;background:#fff;color:#999;transition:background .2s,color .2s,font-weight .2s;white-space:nowrap;text-align:center;font-family:inherit}.vs-btn+.vs-btn{box-shadow:inset 1px 0 0 color-mix(in srgb,#7B61FF 28%,#fff)}.vs-btn.active{background:#7B61FF;color:#fff;font-weight:700}.dark .view-sub{border:1.5px solid color-mix(in srgb,var(--acc2) 48%,transparent);background:var(--card);box-shadow:0 2px 12px rgba(0,0,0,.22),0 0 0 1px color-mix(in srgb,var(--acc2) 18%,transparent);filter:none}.dark .vs-btn{background:var(--card);color:#94a3b8}.dark .vs-btn+.vs-btn{box-shadow:inset 1px 0 0 color-mix(in srgb,var(--acc2) 32%,transparent)}.dark .vs-btn.active{background:#7B61FF;color:#fff;font-weight:700}
.task-stats{display:flex;gap:14px;font-size:.88rem;color:var(--text3);margin-bottom:6px;flex-wrap:wrap}.task-stats .s{display:flex;align-items:center;gap:4px}.task-stats .s i{width:8px;height:8px;border-radius:50%;display:block}.task-stats .s i.ip{background:#f59e0b}.task-stats .s i.id{background:#22c55e}.progress-wrap{margin-bottom:8px}.progress-label{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text2);margin-bottom:8px;font-weight:500}.progress-label span:last-child,.progress-label .progress-pct{color:#5B4EE8;font-weight:700;font-size:.9rem}.progress-track{height:6px;background:#e8e4ff;border-radius:100px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,#5B4EE8,#9B8FF5);transition:width .4s}
.add-box{background:var(--inp-bg);border:1.5px solid var(--task-bd);border-radius:14px;padding:14px 16px;margin-bottom:14px}.add-box-row1{display:flex;gap:8px;margin-bottom:8px}.add-box-row1 input[type="text"]{flex:1;min-width:0;border:1.5px solid var(--inp-bd);border-radius:10px;padding:11px 16px;font-size:.93rem;color:var(--text);outline:0;background:var(--card);transition:border-color .2s}.add-box-row1 input[type="text"]:focus{border-color:var(--acc2);box-shadow:0 0 0 3px rgba(129,140,248,.08)}.add-box-row1 button{background:var(--acc);border:none;color:#fff;padding:11px 20px;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;white-space:nowrap;flex-shrink:0;letter-spacing:.5px}.add-box-row1 button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 14px rgba(79,70,229,.25)}.add-box-row2{display:flex;gap:6px;overflow:hidden;max-height:0;opacity:0;transition:max-height .22s ease,opacity .2s ease,margin-top .2s ease;margin-top:0}.add-box-row2.expanded{max-height:80px;opacity:1;margin-top:8px}.opt-chip{display:flex;align-items:center;gap:4px;background:var(--card);border:1.5px solid var(--inp-bd);border-radius:10px;padding:0 8px;flex:1;min-width:0;transition:border-color .2s}.opt-chip:focus-within{border-color:var(--acc2)}.opt-chip .oc-icon{font-size:.82rem;flex-shrink:0;line-height:1}.opt-chip .oc-label{font-size:.72rem;color:var(--text3);flex-shrink:0;white-space:nowrap;display:none}.opt-chip input[type="time"],.opt-chip select,.opt-chip input[type="number"]{border:none;background:transparent;padding:9px 2px;font-size:.85rem;color:var(--text2);outline:0;cursor:pointer;width:100%;min-width:0;font-family:inherit}.opt-chip input[type="number"]{-moz-appearance:textfield}.opt-chip input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none}.opt-chip select{padding-right:0}
.batch-bar{display:flex;flex-direction:column;gap:0;margin-bottom:10px;-webkit-user-select:none;user-select:none}.action-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-bottom:10px}.filter-divider{height:1px;background:#EBEBEB;margin:8px 0}.batch-btn{border:1.5px solid var(--inp-bd);background:var(--card);color:var(--text3);padding:6px 13px;border-radius:10px;cursor:pointer;font-size:.8rem;transition:all .2s;white-space:nowrap}.batch-btn:hover{border-color:var(--acc-bd);color:var(--acc);background:var(--acc-bg)}.batch-btn.danger:hover{border-color:#fca5a5;color:#ef4444;background:#fef2f2}.batch-btn.on{border-color:var(--acc2);color:var(--acc);background:var(--acc-bg);font-weight:600}.sort-combo{display:inline-flex;border:1.5px solid var(--inp-bd);border-radius:10px;overflow:hidden;background:var(--card)}.sort-combo .sc-action{border:none;background:0 0;color:var(--text3);padding:6px 11px;cursor:pointer;font-size:.8rem;font-family:inherit;transition:all .15s;border-right:1px solid var(--inp-bd);white-space:nowrap}.sort-combo .sc-action:hover{color:var(--acc);background:var(--acc-bg)}.sort-combo .sc-action svg{margin-right:4px}.sort-combo .sc-gear{border:none;background:0 0;color:var(--text3);padding:6px 10px;cursor:pointer;font-size:.85rem;transition:all .15s;margin-left:0}.sort-combo .sc-gear:hover{color:var(--acc);background:var(--acc-bg)}.sort-wrap{position:relative;display:inline-flex}.sort-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:var(--card);border:1.5px solid var(--inp-bd);border-radius:12px;box-shadow:0 10px 36px rgba(0,0,0,.1);min-width:200px;z-index:50;display:none;overflow:hidden}.sort-dropdown.show{display:block}.sd-title{padding:10px 14px 6px;font-size:.74rem;color:var(--text3);font-weight:500;text-transform:uppercase;letter-spacing:1px}.sd-item{padding:10px 14px;cursor:pointer;transition:all .15s;font-size:.85rem;color:var(--text2);display:flex;align-items:center;gap:8px}.sd-item:hover{background:var(--hov);color:var(--text)}.sd-item.sd-active{color:var(--acc);font-weight:600;background:var(--acc-bg)}.sd-item .sd-check{margin-left:auto;font-size:.78rem;color:var(--acc);opacity:0}.sd-item.sd-active .sd-check{opacity:1}.sd-item .sd-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sd-divider{height:1px;background:var(--task-bd);margin:3px 0}.tag-filter-wrap{position:relative;display:inline-flex}
.filters{display:block;margin-bottom:12px;padding:0;position:relative;background:transparent;border:none;box-shadow:none;overflow:visible}.batch-bar{overflow:visible}.filter-dd{position:relative;width:100%}.filter-dd-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:1.5px solid var(--task-bd);border-radius:12px;background:var(--card);color:var(--text);font-size:.84rem;font-weight:600;cursor:pointer;text-align:left;box-shadow:var(--sh);font-family:inherit;transition:border-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.filter-dd-btn:hover{border-color:var(--acc-bd)}.filter-dd-btn.open{border-color:var(--acc2)}.filter-dd-btn .fdd-ico{font-size:1rem;line-height:0;opacity:1;display:inline-flex;align-items:center;justify-content:center}.filter-dd-btn .fdd-ico svg{display:block;width:15px;height:15px;color:var(--text3);flex-shrink:0}.filter-dd-btn .fdd-chev{margin-left:auto;font-size:.65rem;color:var(--text3);transition:transform .2s;flex-shrink:0}.filter-dd-btn.open .fdd-chev{transform:rotate(180deg)}.filter-dd-btn .fdd-sub{flex:1;min-width:0;font-size:.78rem;font-weight:500;color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}.filter-dd-btn .fdd-sub .fc-label{color:var(--text3);font-weight:500}.filter-dd-btn .fdd-sub .fc-all{color:#6B4EFF;font-weight:700;font-size:.82rem}.filter-dd-btn .fdd-sub .fc-pending{font-size:.82rem;font-weight:700;color:#f97316;line-height:1.4}.filter-dd-btn .fdd-sub .fc-pending.fc-zero{color:var(--text3);font-weight:400}.filter-dd-btn .fdd-sub .fc-done{font-size:.76rem;font-weight:600;color:var(--acc)}.filter-dd-btn .fdd-sub .fc-done.fc-zero{color:#BBBBBB;font-weight:400}.filter-dd-btn .fdd-sub .fc-sep{color:#E0E0E0;font-weight:300;margin:0 1px;user-select:none}.filter-dd-panel{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:85;background:var(--card);border:1.5px solid var(--task-bd);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.14);max-height:min(70vh,360px);overflow-y:auto;padding:6px 0}.filter-dd-panel.open{display:block}.filter-dd-row{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;font-size:.84rem;color:var(--text2);transition:background .12s;border:none;background:transparent;width:100%;text-align:left;font-family:inherit;-webkit-tap-highlight-color:transparent}.filter-dd-row:hover{background:var(--hov)}.filter-dd-row .fdd-chk{width:20px;height:20px;border-radius:6px;border:2px solid var(--inp-bd);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:transparent;transition:all .15s;box-sizing:border-box}.filter-dd-row .fdd-chk.on{background:var(--acc);border-color:var(--acc);color:#fff}.filter-dd-row .fdd-lbl{flex:1;min-width:0;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.filter-dd-row .filter-ico-freeze{flex-shrink:0;opacity:.9}.filter-dd-row .filter-cnt{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:auto;font-size:.62rem;font-weight:700;border-radius:999px;line-height:1;box-sizing:border-box;flex-shrink:0}.filter-dd-row .filter-cnt--zero{background:var(--hov);color:var(--text3)}.filter-dd-row .filter-cnt--has{background:var(--acc);color:#fff}.filter-dd-row.fp-high .fdd-lbl{color:var(--prio-high)}.filter-dd-row.fp-high .filter-cnt--has{background:var(--prio-high);color:#fff}
.tasks{display:flex;flex-direction:column;gap:5px;flex:1}
.list-panel{display:flex;flex-direction:column;flex:1;min-height:0;margin-top:2px;margin-left:-17px;margin-right:-17px;margin-bottom:-12px;width:calc(100% + 34px);max-width:none;box-sizing:border-box;background:transparent;border:none;border-radius:0;box-shadow:none;overflow:visible}
.dark .list-panel{box-shadow:none}
.list-panel .batch-bar{position:relative!important;z-index:30!important;margin-bottom:0!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important}
.batch-bar-row{--bar-pill-h:38px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box}
.batch-bar-left{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1 0 auto;min-width:max-content}
.batch-bar-left .add-split,.batch-bar-left .filter-seg{height:var(--bar-pill-h);min-height:var(--bar-pill-h);max-height:var(--bar-pill-h);box-sizing:border-box}
.batch-bar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;position:relative}
.add-split{display:inline-flex;align-items:stretch;border-radius:999px;overflow:visible;background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 2px 8px rgba(124,58,237,.28),0 5px 18px rgba(124,58,237,.14),0 1px 0 rgba(255,255,255,.12) inset;position:relative;flex-shrink:0;isolation:isolate;box-sizing:border-box}
.add-split::after{content:'';position:absolute;left:0;right:0;top:100%;height:10px;z-index:59;pointer-events:auto}
.add-split-main{display:inline-flex;align-items:center;gap:3px;border:none;background:transparent;color:#fff;font-weight:700;font-size:.9rem;line-height:1.2;letter-spacing:.02em;padding:0 6px 0 8px;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}
.add-split-main:hover{filter:brightness(1.06)}
.add-split-div{width:1px;align-self:stretch;background:rgba(255,255,255,.55);margin:7px 0;flex-shrink:0}
.add-split-chev{display:inline-flex;align-items:center;justify-content:center;width:26px;min-width:26px;border:none;background:transparent;color:#fff;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;border-radius:0 999px 999px 0}
.add-split-chev:hover{background:rgba(0,0,0,.1)}
.add-split-panel{position:absolute;top:calc(100% + 4px);left:0;width:100%;min-width:0;box-sizing:border-box;background:var(--card);border:1.5px solid var(--inp-bd);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.12);padding:6px;display:none;z-index:60}
.add-split-panel.open{display:block}
.add-split-form-open .add-split-panel{display:none!important}
@media(hover:hover) and (pointer:fine){.add-split:not(.add-split-form-open):hover .add-split-panel,.add-split:not(.add-split-form-open):focus-within .add-split-panel{display:block}}
.add-split-item{display:block;width:100%;text-align:left;border:none;background:transparent;padding:10px 14px;font-size:.86rem;color:var(--text);cursor:pointer;border-radius:8px;font-family:inherit}
.add-split-item:hover{background:var(--hov)}
.filter-seg-host{margin-bottom:0!important}
.batch-bar .filters.filter-seg-host{display:flex!important;align-items:center!important;min-height:0}
.filter-seg{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:999px;background:linear-gradient(180deg,#f1f5f9 0%,#eef2f7 100%);border:1px solid #e2e8f0;flex-shrink:0;box-sizing:border-box;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 1px 2px rgba(15,23,42,.04)}
.dark .filter-seg{background:linear-gradient(180deg,rgba(255,255,255,.09) 0%,rgba(255,255,255,.05) 100%);border-color:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 1px 3px rgba(0,0,0,.25)}
.filter-seg-btn{display:inline-flex;align-items:center;gap:5px;border:none;border-radius:999px;padding:5px 11px;font-size:.9rem;line-height:1.2;font-weight:600;letter-spacing:.02em;font-family:inherit;cursor:pointer;background:transparent;color:var(--text2);transition:background .15s,box-shadow .15s,color .15s,border-color .15s;-webkit-tap-highlight-color:transparent}
.filter-seg-btn:not(.is-active):hover{background:rgba(255,255,255,.65);color:var(--text)}
.dark .filter-seg-btn:not(.is-active){color:var(--text3)}
.dark .filter-seg-btn:not(.is-active):hover{background:rgba(255,255,255,.07);color:var(--text2)}
.filter-seg-btn.is-active{background:#fff;color:#5b21b6;box-shadow:0 1px 2px rgba(91,33,182,.1),0 2px 10px rgba(15,23,42,.06);border:1px solid rgba(124,58,237,.16)}
.dark .filter-seg-btn.is-active{background:rgba(30,27,75,.72);color:#ddd6fe;border-color:rgba(167,139,250,.28);box-shadow:0 2px 12px rgba(0,0,0,.4)}
.filter-seg-label{white-space:nowrap;line-height:1.2}
.filter-seg-badge{min-width:20px;height:20px;line-height:20px;text-align:center;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:0;background:#e2e8f0;color:#64748b;padding:0 5px;box-sizing:border-box;border:1px solid rgba(148,163,184,.35)}
.filter-seg-badge--on{background:rgba(109,40,217,.12);color:#5b21b6;border-color:rgba(124,58,237,.22)}
.dark .filter-seg-badge{background:rgba(255,255,255,.1);color:var(--text3);border-color:rgba(255,255,255,.12)}
.dark .filter-seg-btn.is-active .filter-seg-badge--on{background:rgba(167,139,250,.2);color:#e9d5ff;border-color:rgba(196,181,253,.35)}
.sort-wrap{position:relative;display:inline-flex;align-items:center}
.batch-ico-btn{width:40px;height:40px;border-radius:12px;border:none;background:#f3f4f6;color:#475569;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s,color .15s;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.batch-bar-row .batch-ico-btn{width:var(--bar-pill-h);height:var(--bar-pill-h);min-width:var(--bar-pill-h);border-radius:11px}
.batch-ico-btn:hover{background:#e2e8f0;color:#1e293b}
.batch-ico-btn.open,.batch-ico-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--acc) 40%,transparent);outline-offset:1px}
.batch-ico-btn.on{background:color-mix(in srgb,var(--acc) 16%,var(--hov));color:var(--acc)}
.dark .batch-ico-btn.on{background:color-mix(in srgb,var(--acc) 22%,transparent);color:var(--acc2)}
.dark .batch-ico-btn{background:rgba(255,255,255,.08);color:var(--text2)}
