.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;border:1px solid var(--line);border-radius:var(--radius);padding:0 var(--space-4);background:var(--bg-elev);color:var(--ink);cursor:pointer;white-space:nowrap}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-ghost{background:transparent;border-color:transparent;height:32px;padding:0 var(--space-2);color:var(--muted)}.btn:disabled{color:var(--disabled);cursor:not-allowed;opacity:.7}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-4)}.field span{color:var(--muted);font-size:var(--font-size-small);letter-spacing:.04em;text-transform:uppercase}.field input,.field select{height:38px;border:1px solid var(--line);border-radius:var(--radius);padding:0 var(--space-3);background:var(--bg-elev);color:var(--ink)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:var(--space-5)}.auth-card{width:min(100%,var(--auth-card-width));background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-6) var(--space-5)}.auth-card .btn-primary{width:100%;margin-top:var(--space-2)}.auth-card p{margin:var(--space-4) 0 0;color:var(--muted);font-size:var(--font-size-small)}.auth-brand{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-2)}.error{color:var(--danger);font-size:var(--font-size-small);margin-bottom:var(--space-3)}.boot{min-height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.boot-mark{font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin-bottom:var(--space-2)}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.app-shell.is-collapsed{grid-template-columns:0 minmax(0,1fr)}.app-shell.is-collapsed .sidebar{visibility:hidden;overflow:hidden;width:0;padding:0;border:0}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--line);padding:14px 12px 12px;display:flex;flex-direction:column;gap:8px}.side-scroll,.sidebar{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.side-scroll{flex:1 1;min-height:0;overflow:auto}.side-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.brand-wrap{position:relative;min-width:0}.brand{display:flex;gap:8px;align-items:center;min-width:0;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer}.brand:hover{background:rgba(255,255,255,.05)}.side-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:5;min-width:180px;padding:6px;border-radius:8px;background:var(--bg-elev);box-shadow:0 8px 24px rgba(0,0,0,.35);display:flex;flex-direction:column}.side-menu a,.side-menu button{border:0;background:transparent;color:var(--ink);text-align:left;text-decoration:none;font:inherit;padding:8px 10px;border-radius:6px;cursor:pointer}.side-menu a:hover,.side-menu button:hover{background:rgba(255,255,255,.08)}.side-menu-projects{top:28px;right:0;left:auto}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface-4);color:var(--ink);font-size:13px;font-weight:600}.brand strong{display:block;font-size:14px;font-weight:600}.nav-tag{margin:2px 8px 0;color:var(--muted);font-size:13px}.sidebar nav{display:flex;flex-direction:column;gap:1px}.nav-item{display:flex;justify-content:flex-start;align-items:center;gap:10px;color:var(--ink);min-height:34px;padding:0 8px;border:0;border-radius:6px;background:transparent;font:inherit;font-size:13px;text-align:left;cursor:pointer;width:100%}.nav-item svg{flex:0 0 auto;color:var(--muted)}.nav-item:hover{background:rgba(255,255,255,.05);text-decoration:none}.nav-item.is-active{background:var(--surface-active);font-weight:600}.nav-item.is-active,.nav-item.is-active svg{color:var(--accent-ink)}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{margin-left:auto;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:1.2rem;text-align:right}.nav-count.is-muted{color:var(--muted)}.nav-count.is-accent{color:var(--accent);font-weight:600}.nav-item.is-active .nav-count.is-accent{color:var(--ink)}.nav-section-row{position:relative;display:flex;align-items:center;margin-top:14px}.nav-section-row .nav-section{margin:0}.nav-fav,.nav-more{border:0;background:transparent;color:var(--muted);cursor:pointer;width:24px;height:24px;border-radius:4px}.nav-fav{opacity:0}.nav-project{position:relative;display:flex;align-items:center}.nav-project.is-dragging{height:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden;pointer-events:none;opacity:0}.nav-project:focus-within .nav-fav,.nav-project:hover .nav-fav{opacity:1}.nav-project .nav-item{flex:1 1;min-width:0}.nav-section{display:flex;align-items:center;gap:6px;width:100%;margin:18px 0 4px;padding:4px 8px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}.nav-chevron{width:12px;height:12px;display:inline-block;background:currentColor;color:var(--muted);-webkit-clip-path:polygon(30% 20%,30% 80%,78% 50%);clip-path:polygon(30% 20%,30% 80%,78% 50%)}.nav-chevron.is-open{transform:rotate(90deg)}.nav-add,.nav-button{color:var(--muted)}.nav-button{width:100%;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer}.proj-hash{width:18px;flex:0 0 auto;text-align:center;font-weight:700;font-size:15px;line-height:1}.side-add{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--danger);font:inherit;font-weight:600;cursor:pointer}.side-add:hover{background:rgba(255,255,255,.04)}.side-add-plus{width:20px;height:20px;border:1.6px solid;border-radius:50%;display:grid;place-items:center}.side-search{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;border:0;background:transparent;color:var(--muted);font:inherit;text-align:left;cursor:pointer;border-radius:6px}.side-search:hover{background:rgba(255,255,255,.04);color:var(--ink)}.search-scrim{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.45);display:flex;justify-content:center;padding-top:12vh}.search-pop{width:min(560px,calc(100vw - 32px));max-height:70vh;display:flex;flex-direction:column;border-radius:12px;background:var(--bg-elev);box-shadow:0 16px 48px rgba(0,0,0,.4);overflow:hidden}.search-pop input{height:48px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:0 16px;font:inherit;outline:none}.search-list{overflow:auto;padding:6px}.search-list button{width:100%;display:flex;justify-content:space-between;gap:12px;border:0;background:transparent;color:var(--ink);text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;font:inherit}.search-list button.is-active,.search-list button:hover{background:rgba(255,255,255,.08)}.search-list em{color:var(--muted);font-style:normal;font-size:12px;flex:0 0 auto}.search-empty{margin:8px 10px;color:var(--muted)}.proj-crumb{color:var(--muted);font-size:13px}.proj-desc input{width:100%;border:0;background:transparent;color:var(--muted);font:inherit;padding:0 0 12px;outline:none}.proj-section{margin-top:18px;display:flex;flex-direction:column}.proj-section:last-child{flex:1 1}.proj-section:last-child>.section-gap,.td-list>.section-gap:last-child{flex:1 1;min-height:160px}.proj-section-head{display:flex;gap:8px;align-items:center}.td-list{flex:1 1}.td-list,[data-drop-list]{display:flex;flex-direction:column}[data-drop-list]{min-height:12px}.section-gap{display:flex;align-items:flex-start;min-height:48px;opacity:0}.section-gap:focus-within,.section-gap:hover{opacity:1}.section-gap button{position:relative;width:100%;border:0;background:transparent;color:var(--accent,#c43a31);font:inherit;font-size:13px;cursor:pointer;padding:8px 0}.section-gap button:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid color-mix(in srgb,var(--accent,#c43a31) 45%,transparent)}.section-gap button span{position:relative;padding:0 12px;background:var(--bg)}.section-editor input{width:100%;border:0;border-bottom:1px solid var(--line,#ddd);background:transparent;color:var(--ink);font:inherit;font-size:16px;font-weight:700;padding:8px 0;outline:none}.section-editor div{display:flex;gap:8px;margin:8px 0 12px}.kanban-col h2 .section-name,.kanban-col h2 input,.proj-section-head .section-name,.proj-section-head input{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;padding:0;outline:none;text-align:left}.kanban-col h2 .section-name,.proj-section-head .section-name{cursor:text}.proj-section-head span{color:var(--muted);font-size:12px}.proj-section-head button,.td-add{border:0;background:transparent;color:var(--muted);cursor:pointer;font:inherit}.proj-status{position:fixed;top:0;right:0;width:min(320px,100vw);height:100vh;padding:16px;background:var(--bg-elev);border-left:1px solid var(--line);z-index:20;overflow:auto}.proj-status section,.proj-status-head{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.proj-status-head{flex-direction:row;justify-content:space-between;align-items:center}.proj-status h2{margin:0;font-size:14px}.proj-status button{border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font:inherit}.proj-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.proj-bar span{display:block;height:100%;background:var(--accent)}.side-foot{border-top:1px solid var(--line);padding-top:8px}.project-add{padding:4px 8px 8px}.project-add input{width:100%;height:32px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);padding:0 8px}.project-add-actions{display:flex;gap:4px;margin-top:6px}.side-scrim{display:none}.due-chips{display:flex;flex-wrap:wrap;gap:6px}.quick-add{width:min(560px,100%);background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;padding:var(--space-4)}.quick-add input{width:100%;height:40px;border:0;background:transparent;color:var(--ink);font-size:16px;margin-bottom:12px}.quick-add-meta{display:flex;gap:8px;align-items:center;margin-top:12px}.quick-add-meta select{height:32px}.due-chips button,.quick-add-meta select{background:var(--surface-3);color:var(--ink);border:1px solid var(--line)}.due-chips button{border-radius:999px;padding:4px 8px;cursor:pointer;font-size:12px;text-transform:none;letter-spacing:0}.workspace{min-width:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.sidebar-reopen{display:none}.app-shell.is-collapsed .sidebar-reopen:not(.sidebar-mobile-open),.sidebar-mobile-open{display:grid;position:-webkit-sticky;position:sticky;top:12px;margin:12px 0 0 16px;width:32px;height:32px;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.sidebar-mobile-open,.sidebar-toggle.sidebar-mobile-close{display:none}.fab-add,.sidebar-toggle{width:32px;height:32px;display:grid;place-items:center;border:0;cursor:pointer}.sidebar-toggle{border-radius:6px;background:transparent;color:var(--muted)}.sidebar-toggle:hover{background:rgba(255,255,255,.06);color:var(--ink)}.fab-add{border-radius:50%;background:var(--accent);color:var(--accent-ink)}.fab-add:hover{filter:brightness(1.08)}.header{display:flex;justify-content:space-between;align-items:center;padding:14px var(--space-6);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-elev) 72%,transparent)}.header-date{text-transform:capitalize}.header-date,.header-meta{font-size:var(--font-size-small)}.header-meta{display:flex;align-items:center;gap:var(--space-2);color:var(--muted)}.main{max-width:none;padding:0;flex:1 1;display:flex;flex-direction:column}.empty{color:var(--muted);max-width:36rem;margin:0}.toolbar{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:flex-end}.toolbar .field{margin-bottom:0;flex:1 1;min-width:11rem}.list{border-top:1px solid var(--line)}.row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:10px 0;border-bottom:1px solid var(--line)}.row-title{font-weight:500}.row-meta{font-size:var(--font-size-small)}.lede,.row-meta{color:var(--muted)}.lede{max-width:40rem;margin:0 0 var(--space-5)}.week{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));grid-template-rows:40px minmax(560px,72vh);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-elev);-webkit-user-select:none;-moz-user-select:none;user-select:none}.week-gutter,.week-head{padding:10px 8px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.week-hours{position:relative;border-right:1px solid var(--line)}.week-hour{font-family:var(--font-mono);font-size:10px;color:var(--muted);padding-left:6px}.week-day{position:relative;border-right:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent,transparent calc(100% / 14 - 1px),var(--line) calc(100% / 14 - 1px),var(--line) calc(100% / 14));cursor:crosshair}.week-drag{background:color-mix(in srgb,var(--accent) 22%,transparent);pointer-events:none;z-index:1}.week-block,.week-drag{position:absolute;left:3px;right:3px}.week-block{border:0;border-radius:3px;background:var(--accent);color:var(--accent-ink);font-size:11px;line-height:1.3;text-align:left;padding:4px 6px;overflow:hidden;z-index:2}.week-block.is-selected{box-shadow:inset 0 0 0 1px var(--ink)}.week-block.is-overlay{background:color-mix(in srgb,var(--muted) 28%,transparent);color:var(--ink);pointer-events:none}.habit-today{display:flex;flex-wrap:wrap;gap:var(--space-2)}.habit-chip{border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);padding:6px 12px;cursor:pointer}.habit-chip span{color:var(--muted);margin-left:6px;font-family:var(--font-mono);font-size:11px}.habit-chip.is-done{background:var(--accent);border-color:var(--accent)}.habit-chip.is-done,.habit-chip.is-done span{color:var(--accent-ink)}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-5) 0}.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);padding:var(--space-5) var(--space-4)}.stat-value{font-family:var(--font-mono);font-size:28px;font-weight:500;letter-spacing:-.04em}.stat-label{color:var(--muted);font-size:var(--font-size-small);margin-top:4px}.guide{border:1px solid var(--line);padding:var(--space-4);margin-bottom:var(--space-5);background:var(--bg-elev)}.guide ol{margin:var(--space-3) 0 0;padding-left:1.15rem}.capture{display:flex;gap:var(--space-3);align-items:flex-end;margin-bottom:var(--space-5)}.capture .field{flex:1 1;margin:0}.pin-today{display:flex;align-items:center;gap:8px;height:38px;color:var(--muted);font-size:var(--font-size-small);white-space:nowrap}.day-feed{max-width:44rem}.now-panel{border-color:var(--accent)}.day-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}.day-grid,.panel{margin-bottom:var(--space-4)}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);background:var(--bg-elev)}.panel h2{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.footnote{color:var(--muted);font-size:var(--font-size-small)}.tree{display:flex;flex-direction:column;gap:var(--space-4);margin:var(--space-5) 0}.tree-area{border-left:2px solid var(--accent);padding-left:var(--space-4)}.tree-goal{margin:var(--space-3) 0 0 var(--space-3)}.tree-project{margin:6px 0 0 var(--space-4);color:var(--muted);font-size:var(--font-size-small)}.tree-title{font-weight:500}.week-layout{display:grid;grid-template-columns:196px minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4);align-items:start}.unscheduled{border:1px solid var(--line);padding:var(--space-3);background:var(--bg-elev);position:-webkit-sticky;position:sticky;top:72px}.unscheduled h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.unscheduled-item{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--bg);margin-bottom:6px;padding:8px 10px;cursor:pointer;border-radius:var(--radius)}.unscheduled-item.is-picked{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg))}.settings-block{margin-top:var(--space-6);max-width:32rem}.td-head{margin-bottom:18px}.td-date{margin:0 0 2px;color:var(--muted);font-size:13px;text-transform:capitalize}.td-head h1{margin:0;font-size:26px;font-weight:700;letter-spacing:.22px;line-height:35px}.td-sum{display:flex;gap:14px;margin:6px 0 0;color:var(--muted);font-size:13px}.today-page:not(.is-wide) .td{max-width:744px}.today-page .td-sum>span{display:inline-flex;align-items:center;gap:5px}.today-page .today-overdue .td-group-head{border-bottom:1px solid var(--line);padding-inline:0}.today-overdue-toggle{position:relative;display:inline-flex;align-items:center;padding:2px 0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.today-overdue-toggle svg{position:absolute;right:calc(100% + 10px)}.today-overdue-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.today-overdue .scheduler{inset:calc(100% + 6px) 0 auto auto;width:min(300px,calc(100vw - 32px))}.today-row-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.today-row-meta .td-sub{min-width:0;flex-wrap:wrap;gap:4px 8px}.today-task-project{display:inline-flex;align-items:center;gap:6px;max-width:45%;margin-left:auto;color:var(--muted);font-size:var(--font-size-small);text-decoration:none}.today-task-project:hover{text-decoration:underline}.today-task-project span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-task-project i,.today-task-project svg{flex:none}.today-task-project i{width:6px;height:6px;border-radius:50%}@media (max-width:900px){.today-overdue-toggle{gap:4px}.today-overdue-toggle svg{position:static}}.td-empty{margin:28px 0 12px;color:var(--muted)}.td-empty p{margin:0 0 4px}.td-empty p:first-child{color:var(--ink);font-size:16px}.td-group{margin-bottom:8px}.td-group-head{display:flex;justify-content:space-between;align-items:center;padding:10px 4px 6px}.td-group-head h2{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;line-height:20px;letter-spacing:0;color:var(--ink)}.td-group.is-overdue .td-group-head h2,.td-reschedule{color:var(--danger)}.td-reschedule{border:0;background:none;cursor:pointer;font-size:13px}.td-row{position:relative;display:flex;gap:8px;align-items:flex-start;min-height:40px;padding:8px 4px 10px;border-radius:0;border-bottom:1px solid var(--line)}.td-row:hover{background:transparent}.kanban-card.is-dragging,.td-row.is-dragging{height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden;pointer-events:none}.drag-gap{pointer-events:none;border-radius:8px;background:color-mix(in srgb,var(--ink) 6%,transparent);margin:2px 0;transition:height .12s ease}.drag-ghost{position:fixed;z-index:90;pointer-events:none;display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border-radius:10px;background:var(--bg-elev,#fff);color:var(--ink);box-shadow:0 16px 40px rgb(0 0 0/28%),0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent);transform:rotate(1.5deg)}.drag-ghost .td-check{position:static;flex:0 0 auto}.drop-line{position:fixed;z-index:85;height:2px;border-radius:2px;background:var(--accent);pointer-events:none}.drop-line:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--accent)}body.is-task-dragging,body.is-task-dragging *{cursor:-webkit-grabbing!important;cursor:grabbing!important}.td-grip{cursor:-webkit-grab;position:absolute;left:-22px;top:9px;width:18px;height:22px;border:0;padding:0;background:transparent;color:var(--muted);cursor:grab;opacity:0;display:grid;place-items:center}.td-row:focus-within .td-grip,.td-row:hover .td-grip{opacity:1}.td-hover-actions{display:flex;align-items:center;flex:0 0 auto;margin-left:auto;opacity:0;pointer-events:none;background:var(--bg);z-index:2}.td-row:focus-within .td-hover-actions,.td-row:hover .td-hover-actions{opacity:1;pointer-events:auto}.td-hover-actions .task-menu-wrap>button,.td-hover-actions>button{width:28px;height:28px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;border-radius:4px;cursor:pointer}.td-hover-actions .task-menu-wrap>button:hover,.td-hover-actions>button:hover{background:rgba(255,255,255,.08);color:var(--ink-2)}.td-row:has(.td-open:hover) .td-hover-actions{opacity:0;pointer-events:none}.td-hover-actions>button.td-edit{position:relative}.td-edit-tip{display:none;position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);align-items:center;gap:6px;height:24px;padding:0 8px;border-radius:6px;background:var(--surface-4);color:var(--ink);font-size:12px;font-weight:400;white-space:nowrap;z-index:5;pointer-events:none;box-shadow:0 4px 16px rgba(0,0,0,.28)}.td-edit:focus-visible .td-edit-tip,.td-edit:hover .td-edit-tip{display:inline-flex}.td-edit-tip kbd{display:inline-grid;place-items:center;min-width:18px;height:16px;padding:0 4px;border-radius:3px;background:var(--surface-3);color:var(--ink-2);font:11px/16px var(--font-sans)}.td-row.is-done .td-title{text-decoration:line-through;color:var(--muted)}.td-row.is-leaving{animation:task-leave .22s ease forwards}@keyframes task-leave{to{opacity:0;transform:translateX(6px)}}.td-check{width:18px;height:18px;margin-top:2px;border-radius:50%;border:1.5px solid var(--check-color,var(--muted));background:transparent;cursor:pointer;padding:0;flex:0 0 auto;--check-color:var(--p4)}.td-check.p1{--check-color:var(--p1)}.td-check.p2{--check-color:var(--p2)}.td-check.p3{--check-color:var(--p3)}.td-check.p4{--check-color:var(--p4)}button.td-check.is-on,button.td-check:hover{border-color:var(--check-color);background:var(--check-color)}button.td-check.is-on:after,button.td-check:hover:after{content:"";display:block;width:4px;height:7px;margin:2px auto 0;border:solid var(--accent-ink);border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}.td-check.is-ghost{display:inline-block;margin-top:6px;opacity:.45;pointer-events:none}.td-body{flex:1 1;min-width:0}.td-line{position:relative;display:flex;align-items:center;gap:8px;min-height:22px;width:100%}.td-open{position:relative;flex:1 1;min-width:0;background:none}.td-sub{display:flex;align-items:center;gap:8px;min-height:18px}.td-title{font-weight:400;font-size:14px;line-height:20px;min-width:0}.td-line .td-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.td-chips,.td-line .proj-pill{margin-left:auto}.td-chips{display:inline-flex;align-items:center;gap:6px}.due-anchor{position:relative;display:inline-flex}.scheduler-layer{position:fixed;z-index:70;width:min(300px,calc(100vw - 16px));overflow:auto;border-radius:10px;box-shadow:0 12px 32px rgb(0 0 0/45%)}.scheduler-layer .scheduler{position:static;width:100%;box-shadow:none}.scheduler-query{display:flex;align-items:center;gap:4px;padding:2px 8px 8px;border-bottom:1px solid var(--line)}.scheduler-query input{min-width:0;flex:1 1;padding:7px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);color:var(--ink);font:inherit}.scheduler-message{margin:6px 12px;overflow-wrap:anywhere}.task-due-button:hover,.task-due-button[aria-expanded=true]{background:var(--bg-elev)}.due-pop,.scheduler{position:absolute;top:24px;left:0;z-index:30;width:280px;padding:8px 0;border-radius:10px;background:var(--bg);border:1px solid var(--line);box-shadow:0 12px 32px rgba(0,0,0,.45);color:var(--ink)}.due-pop{display:flex;flex-direction:column}.due-pop button,.scheduler-footer,.scheduler-sub button{border:0;background:none;color:inherit;text-align:left;padding:8px 12px;font-size:13px;cursor:pointer;width:100%}.due-pop button:hover,.scheduler-footer:hover,.scheduler-item:hover,.scheduler-sub button:hover,.scheduler-week button:hover{background:rgba(255,255,255,.06)}.scheduler-suggestions{display:flex;flex-direction:column}.scheduler-item{display:grid;grid-template-columns:28px 1fr auto;align-items:center;grid-gap:8px;gap:8px;width:100%;border:0;background:none;color:inherit;padding:6px 12px;cursor:pointer;font-size:14px}.scheduler-item em{font-style:normal;color:var(--muted);font-size:13px;text-transform:capitalize}.scheduler hr{border:0;border-top:1px solid var(--line);margin:6px 0}.scheduler-head{display:flex;justify-content:space-between;align-items:center;padding:4px 12px 8px;font-size:14px;text-transform:capitalize}.scheduler-head button{width:24px;height:24px;border:0;background:none;color:var(--ink-2);cursor:pointer}.scheduler-head button:disabled{opacity:.35;cursor:default}.scheduler-week,.scheduler-weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.scheduler-weekdays span{text-align:center;color:var(--muted);font-size:11px;padding-bottom:4px}.scheduler-scroll{max-height:220px;overflow:auto;padding:0 6px}.scheduler-month{padding:10px 6px 4px;font-size:13px;text-transform:capitalize}.scheduler-week button,.scheduler-week span{height:28px;border:0;background:none;color:var(--ink);font-size:13px}.scheduler-week button.is-weekend{color:var(--muted)}.scheduler-week button.is-today{color:var(--accent);font-weight:700}.scheduler-week button.is-on{background:var(--accent);color:var(--accent-ink);border-radius:50%}.scheduler-sub label{display:flex;gap:8px;padding:6px 12px}.scheduler-sub input{background:transparent;color:inherit;border:1px solid var(--line);border-radius:6px;height:28px}button.chip{border:0;background:none;font:inherit;cursor:pointer}.chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 2px;color:var(--muted);font-size:12px;line-height:20px}.chip.is-today{color:var(--due-today)}.chip.is-deadline{color:var(--danger)}.chip.is-label{color:var(--muted)}.chip.is-overdue{color:var(--danger)}.proj-pill i{width:8px;height:8px;border-radius:50%;display:inline-block}.td-notes{color:var(--muted);font-size:12px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-flag{width:24px;height:24px;margin-top:0;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0;display:grid;place-items:center;flex:0 0 auto;border-radius:4px}.td-flag:hover{background:rgba(255,255,255,.06)}.td-flag.is-quiet{opacity:0}.td-flag.is-quiet:focus-visible,.td-row:hover .td-flag.is-quiet{opacity:1}.td-meta{color:var(--muted);font-size:12px;margin-top:2px}.td-meta.is-overdue{color:var(--danger)}.td-add{display:flex;gap:8px;align-items:flex-start;margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--bg-elev)}.td-add input,.td-composer select{border:0;background:transparent;color:var(--ink)}.td-add input{width:100%;height:32px}.td-add>input{width:auto}.td-add>input,.td-composer-fields{flex:1 1;min-width:0}.td-composer-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}.td-composer-tools input,.td-composer-tools select{height:28px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);padding:0 6px;font-size:12px}.td-add-btn{display:flex;align-items:center;align-self:flex-start;gap:8px;width:auto;min-height:32px;margin-top:8px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600}.td-add-btn:hover{background:rgba(255,255,255,.04);color:var(--accent)}.td-add-plus{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}.td-add-section{margin-top:0}.td-add-section .td-add-plus{background:transparent;color:var(--muted)}.td-add-section:hover{color:var(--ink)}.td-inbox,.td-page{max-width:none;margin:0;flex:1 1;display:flex;flex-direction:column}.td-viewbar{min-height:56px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;grid-gap:8px;gap:8px;padding:0 12px;background:var(--bg)}.td-viewbar-start{min-width:0;display:flex;align-items:center;padding-left:8px}.td-inbox .td,.td-page .td{max-width:800px;margin:7px auto 0;padding:0 16px 64px;overflow:visible;flex:1 1;display:flex;flex-direction:column;width:100%}.td-page.is-wide .td{margin:7px 0 0;padding:0 24px 64px}.td-page>.td:first-child{margin-top:28px}.td-content-split{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;flex:1 1}.td-content-split .proj-status{position:-webkit-sticky;position:sticky;top:0;width:auto;height:auto;max-height:100dvh;min-height:100%;background:var(--bg)}.td-content-split .proj-status section{padding:12px;border:1px solid var(--line);border-radius:12px}.td-titleblock{margin-bottom:12px}.project-title,.project-title-input{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;text-align:left}.project-title{cursor:text}.proj-menu .is-danger{color:var(--danger)}.td-inbox .td h1,.td-page .td h1,.td-titleblock h1{margin:0;font-size:26px;font-weight:700;line-height:35px;letter-spacing:.22px}.td-head-actions{position:relative;height:56px}.td-head-actions,.td-head-icon{display:flex;align-items:center}.td-head-icon{width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:var(--ink-2);cursor:pointer;justify-content:center;padding:0;text-decoration:none;font-weight:600}.td-head-icon:hover{background:rgba(255,255,255,.08);color:var(--ink-2)}.td-head-icon.is-label{width:auto;padding:0 12px;font-size:13px;line-height:32px;font-weight:600;color:var(--ink-2)}.td-head-glyph{display:flex;margin:0 6px 0 -6px}.td-head-icon.is-on{background:rgba(255,255,255,.08);color:var(--ink-2)}.td-list .td-row{border-bottom:1px solid var(--line);border-radius:0;padding:8px 4px 10px}.td-list .td-row:hover{background:transparent}.td-notes.is-wrap{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:18px;overflow:hidden}.td-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.td-view-wrap{position:relative}.view-drawer{position:fixed;top:0;right:0;z-index:40;width:min(320px,100%);height:100dvh;padding:16px 16px 24px;overflow:auto;background:var(--bg);border-left:1px solid var(--line);box-shadow:-8px 0 32px rgba(0,0,0,.28)}.view-options-popover{position:absolute;top:calc(100% - 6px);right:0;width:min(320px,calc(100vw - 24px));height:auto;max-height:calc(100dvh - 106px);border:1px solid var(--line);border-radius:12px}.agenda-column-head,.agenda-toolbar,.agenda-week-nav{display:flex;align-items:center;gap:8px}.agenda-toolbar{justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.agenda-week-nav{gap:2px}.agenda-jump{position:relative}.agenda-jump summary{cursor:pointer;padding:6px}.agenda-jump>:not(summary){position:absolute;top:100%;z-index:24;min-width:172px;padding:8px;background:var(--bg-elev);border:1px solid var(--line);border-radius:8px}.agenda-move{-webkit-margin-start:auto;margin-inline-start:auto}.agenda-move>:not(summary){right:0}.agenda-column-head h2{flex:1 1}.cal-add-date{border:0;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;-webkit-margin-start:4px;margin-inline-start:4px}.cal-add-date:hover{color:var(--ink);background:var(--bg-elev)}.view-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:13px}.view-block h3,.view-drawer h3{margin:16px 0 8px;font-size:13px;font-weight:600;color:var(--ink)}.view-layouts{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px;margin-bottom:12px}.view-layout{height:64px;border:1px solid var(--line);background:transparent;border-radius:8px;cursor:pointer;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px}.view-layout.is-on{color:var(--ink);border-color:var(--line-strong);background:rgba(255,255,255,.04)}.view-toggle{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.view-switch{width:36px;height:20px;border-radius:99px;background:var(--surface-4);position:relative;display:inline-flex;align-items:center}.view-switch input{opacity:0;width:100%;height:100%;margin:0;cursor:pointer;position:absolute;inset:0}.view-switch:after{content:"";width:16px;height:16px;border-radius:50%;background:var(--muted);margin-left:2px;transition:transform .16s ease,background .16s ease}.view-switch.is-on{background:var(--accent)}.view-switch.is-on:after{transform:translateX(16px);background:var(--accent-ink)}.view-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:13px}.view-row select{min-width:132px;height:32px;border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);border-radius:8px;padding:0 8px}.proj-menu{position:absolute;right:0;top:36px;z-index:45;min-width:220px;padding:6px;background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.35)}.proj-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);font-size:13px;padding:8px 10px;border-radius:6px;cursor:pointer}.proj-menu button:hover{background:rgba(255,255,255,.06)}.comment-form textarea{width:100%;min-height:72px;margin-bottom:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg-elev);color:var(--ink);padding:8px;resize:none}.comment-list{list-style:none;margin:16px 0 0;padding:0}.comment-list li{padding:10px 0;border-bottom:1px solid var(--line)}.comment-list p{margin:0 0 4px;font-size:13px}.comment-list time,.td-pri{color:var(--muted);font-size:12px}.td-pri{border:0;background:transparent}.kanban{display:flex;gap:8px;overflow-x:auto;align-items:flex-start;padding:4px 0 24px;min-height:420px}.filter-presets{margin-bottom:16px}.filter-presets button[aria-pressed=true]{border-color:var(--accent);color:var(--ink)}.saved-filters{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.filter-directory{list-style:none;padding:0;margin:0}.filter-directory a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 8px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.filter-directory a:hover{background:var(--bg-elev)}.filter-directory a span{color:var(--muted);flex:none;font-size:var(--font-size-small)}.saved-filters .filter-presets button{max-width:100%;overflow-wrap:anywhere}.saved-filter-result-head,.saved-filters-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:8px}.saved-filter-editor h3,.saved-filter-result-head h2,.saved-filters-head h2{margin:0;font-size:var(--font-size-section);overflow-wrap:anywhere}.saved-filter-editor p,.saved-filter-result-head code{color:var(--muted);overflow-wrap:anywhere}.saved-filter-editor{display:grid;grid-gap:12px;gap:12px;padding:16px;background:var(--bg-elev);border-radius:12px;max-width:36rem}.comment-meta,.saved-filter-actions,.saved-filter-favorite{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.saved-filter-favorite input{accent-color:var(--accent)}.server-comments{margin-top:16px;min-width:0}.comment-meta{color:var(--muted);font-size:var(--font-size-small)}.server-comments .comment-list p{white-space:pre-wrap;overflow-wrap:anywhere}.legacy-comments,.recurrence-editor{margin-block:8px}.recurrence-editor input{width:100%}.task-table-scroll{overflow-x:auto}.task-table-name{display:flex;align-items:center;gap:8px}.cal-block,.cal-chip,.task-table-name .td-open{overflow-wrap:anywhere}.cal-block.is-done,.cal-chip.is-done{text-decoration:line-through}.kanban-col{flex:0 0 280px;display:flex;flex-direction:column;gap:6px;min-height:80px;padding:0 6px}.kanban-col h2{display:flex;align-items:center;justify-content:space-between;margin:0 4px 2px;font-size:14px;font-weight:700}.kanban-col h2 span{color:var(--muted);font-size:12px;font-weight:500}.kanban-card{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--bg-elev,#fff);box-shadow:0 1px 1px rgb(0 0 0/4%);padding:10px 12px;cursor:-webkit-grab;cursor:grab;color:var(--ink)}.kanban-card .td-check{position:static;flex:0 0 auto;margin-top:1px}.kanban-add{flex:0 0 220px;padding-top:4px}.td-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.td-col{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3);background:var(--bg-elev)}.td-col h2{margin:0 0 var(--space-3);font-size:13px}.cal{display:flex;flex-direction:column;min-height:640px}.cal-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cal-bar button,.cal-mode button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:8px;height:32px;padding:0 10px}.cal-bar strong{font-size:16px}.cal-mode{margin-left:auto;display:flex}.cal-mode button.is-on{background:color-mix(in srgb,var(--ink) 8%,transparent)}.cal-body{display:flex;gap:12px;min-height:0;flex:1 1}.cal-undated{flex:0 0 200px}.cal-undated h2{margin:0 0 8px;font-size:13px}.cal-block,.cal-chip,.cal-undated button{display:block;width:100%;text-align:left;border:0;border-radius:6px;background:color-mix(in srgb,var(--accent) 16%,var(--bg-elev));color:var(--ink);padding:4px 8px;margin-bottom:4px;cursor:-webkit-grab;cursor:grab;font-size:12px}.cal-week{flex:1 1;min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}.cal-allday,.cal-head{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr))}.cal-allday>div,.cal-head div{border-left:1px solid var(--line);padding:6px;min-height:36px}.cal-head div{display:flex;flex-direction:column;align-items:center;font-size:12px;color:var(--muted)}.cal-head b{color:var(--ink);font-size:16px}.cal-head .is-today b{background:var(--accent);color:var(--accent-ink);border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.cal-allday{font-size:11px;color:var(--muted)}.cal-allday,.cal-scroll{border-top:1px solid var(--line)}.cal-scroll{overflow:auto;max-height:640px}.cal-grid{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));position:relative}.cal-col>div,.cal-hours div{height:48px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.cal-col{position:relative;border-left:1px solid var(--line)}.cal-block{position:absolute;left:2px;right:2px;height:40px;z-index:1}.cal-block b{display:block;font-size:10px}.cal-now{position:absolute;left:0;right:0;height:2px;background:var(--accent);z-index:2;pointer-events:none}.cal-month{flex:1 1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.cal-month-day,.cal-month-name{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:28px;padding:4px;font-size:12px}.cal-month-day{min-height:96px}.cal-month-day.is-out{color:var(--muted)}.cal-month-day.is-today span{background:var(--accent);color:var(--accent-ink);border-radius:50%;padding:2px 6px}.td-cal-day h2{font-size:12px;margin:0 0 8px}.td-cal-item{display:block;width:100%;text-align:left;border:0;background:color-mix(in srgb,var(--accent) 12%,transparent);margin-bottom:4px;padding:4px 6px;font-size:12px;cursor:pointer;color:var(--ink)}.td-table{width:100%;border-collapse:collapse}.td-table td,.td-table th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);font-size:13px}.td-table th{color:var(--muted);font-weight:500}.td-open{display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer;padding:0}.td-open:hover{text-decoration:none}.td-open.td-line{display:flex;width:100%}.task-scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:40;display:grid;place-items:center;padding:24px}.task-win{width:min(960px,calc(100vw - 48px));max-height:min(90vh,880px);overflow:hidden;background:var(--bg);border-radius:10px;display:flex;flex-direction:column;box-shadow:0 18px 48px rgba(0,0,0,.55);color:var(--ink)}.task-win-bar{display:flex;justify-content:flex-end;align-items:center;min-height:44px;padding:4px 8px;flex-shrink:0}.task-win-rule{border:0;border-top:1px solid var(--line);margin:0}.task-crumb{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-size:13px;text-decoration:none;margin:0 0 18px 4px}.task-hash{color:var(--danger);font-weight:700}.task-crumb:hover{color:var(--ink)}.task-win-actions{display:flex;align-items:center;gap:0}.task-ico{width:32px;height:32px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;border-radius:6px;cursor:pointer}.task-ico:hover:not(:disabled){background:var(--bg);color:var(--ink)}.task-ico:disabled{opacity:.35;cursor:default}.task-ico-close:hover{color:var(--danger);background:transparent}.task-win-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;min-height:480px;overflow:hidden;flex:1 1}.task-win-error{margin:8px 20px 0;overflow-wrap:anywhere}.task-win-main{padding:20px 24px 16px 20px;display:flex;flex-direction:column;min-height:0;overflow:auto}.task-overview{display:flex;gap:12px;align-items:flex-start}.task-overview-main{flex:1 1;min-width:0}.task-title{font-size:22px;line-height:1.3;font-weight:700;color:var(--ink);padding:0}.task-notes,.task-title{width:100%;border:0;background:transparent}.task-notes{min-height:48px;margin:6px 0 8px;resize:none;color:var(--muted);font-size:14px;line-height:1.45}.task-subs{margin:8px 0 0 36px}.task-add-sub{display:inline-flex;align-items:center;gap:8px;border:0;background:none;color:var(--muted);font-size:13px;cursor:pointer;padding:6px 0}.task-add-sub:hover{color:var(--accent)}.task-sub-open{border:0;background:none;cursor:pointer;text-align:left;color:var(--ink)}.task-comments{margin:16px 0 0 36px}.task-comment-row{margin:0 0 8px;font-size:13px;color:var(--ink)}.task-comment{display:flex;gap:10px;align-items:center;margin-top:auto;padding-top:16px}.task-comment-open{display:none}.task-comment input{flex:1 1;height:36px;border:0;padding:0;background:transparent;color:var(--ink);font-size:14px}.task-comment input::placeholder{color:var(--muted)}.task-avatar{width:30px;height:30px;border-radius:50%;background:var(--muted);color:var(--accent-ink);display:grid;place-items:center;font-size:12px;flex-shrink:0}.task-win-side{border-left:1px solid var(--line);background:var(--bg);padding:4px 0 16px;overflow:auto}.task-chip-row{display:flex;flex-wrap:wrap;padding:2px 16px 0}.task-chip,.task-chip-row{gap:6px;align-items:center}.task-chip{display:inline-flex;border:0;border-radius:6px;background:var(--bg-elev);color:var(--ink);font-size:13px;padding:3px 8px;cursor:pointer}.task-chip span,.task-side-plus{color:var(--muted)}.task-side-plus{width:28px;height:28px;margin-left:8px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;border-radius:6px}.task-side-plus:hover:not(:disabled){color:var(--ink);background:var(--bg-elev)}.task-side-plus:disabled{cursor:default}.task-side-block{padding:10px 8px 12px;border-bottom:1px solid var(--line)}.task-side-label{font-size:12px;color:var(--muted);margin:0 0 4px 8px}.task-side-btn{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;border:0;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;border-radius:6px;padding:4px 8px;text-align:left}.task-side-btn.has-value{color:var(--ink)}.task-side-btn span{flex:1 1}.task-side-btn svg:last-child{color:var(--disabled);margin-left:auto}.task-side-btn:hover{background:var(--bg)}.task-side-pop,.task-side-select{margin:6px 8px 0}.task-side-select{width:calc(100% - 16px);height:32px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}.task-side-pop{display:flex;flex-direction:column;gap:2px}.task-side-pop button{border:0;background:none;text-align:left;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--ink)}.task-side-pop button:hover{background:var(--bg)}.task-side-pop input[type=date]{height:32px;border:1px solid var(--line);border-radius:6px;margin-top:4px;background:var(--bg);color:var(--ink)}.task-menu-wrap{position:relative}.task-menu{position:absolute;right:0;top:36px;width:280px;background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;padding:8px 0;z-index:30;box-shadow:0 12px 32px rgba(26,23,19,.16)}.task-menu-meta{margin:0;padding:8px 14px 10px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}.task-menu button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:none;text-align:left;padding:8px 14px;cursor:pointer;color:var(--ink);font-size:14px}.task-menu button:hover{background:var(--bg)}.task-menu button.is-danger{color:var(--danger)}.task-menu kbd{font-size:11px;color:var(--muted);font-family:var(--font-mono)}.task-menu hr{border:0;border-top:1px solid var(--line);margin:6px 0}.task-activity{margin:16px 0 0 30px;padding:12px;border:1px solid var(--line);border-radius:var(--radius)}.task-activity p{margin:6px 0;color:var(--muted);font-size:13px}.task-win-main .server-comments{margin-top:20px;padding-top:8px;border-top:1px solid var(--line)}.task-win-main .server-comments .comment-meta,.task-win-main .server-comments .empty{color:var(--muted);font-size:13px}.task-win-main .comment-list{list-style:none;margin:8px 0;padding:0}.task-win-main .comment-list li{display:grid;grid-template-columns:32px 1fr;grid-gap:4px 10px;gap:4px 10px;margin:0 0 14px}.task-win-main .comment-list li:before{content:"К";grid-row:1/span 2;width:32px;height:32px;border-radius:50%;background:var(--surface-4);color:var(--accent-ink);display:grid;place-items:center;font-size:13px;font-weight:700}.task-win-main .comment-form textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:8px 12px}.task-win-main .comment-form .btn-primary{background:transparent;color:var(--ink-2);border:0;padding:6px 0}@media print{.add-task,.header,.sidebar,.task-scrim,.td-add,.td-view-wrap{display:none!important}}.td{max-width:800px}@media (max-width:960px){.td-content-split{grid-template-columns:minmax(0,1fr)}.td-content-split .proj-status{position:fixed;width:min(300px,calc(100vw - 24px));height:100dvh;min-height:0;z-index:35}.app-shell,.app-shell.is-collapsed{grid-template-columns:minmax(0,1fr)}.app-shell.is-collapsed .sidebar,.sidebar{position:fixed;z-index:30;width:min(var(--sidebar-width),calc(100% - 44px));height:100dvh;padding:14px 12px 12px;visibility:hidden;transform:translateX(-105%);transition:transform .18s ease;box-shadow:12px 0 40px rgba(0,0,0,.35)}.app-shell.is-mobile-open .sidebar{transform:translateX(0);visibility:visible}.app-shell.is-mobile-open .side-scrim{display:block;position:fixed;inset:0;z-index:25;border:0;background:rgba(0,0,0,.45);cursor:pointer}.app-shell.is-collapsed .sidebar-reopen:not(.sidebar-mobile-open),.sidebar-toggle:not(.sidebar-mobile-close){display:none}.sidebar-mobile-open,.sidebar-toggle.sidebar-mobile-close{display:grid}.main{padding:0}.cal-body{flex-direction:column}.cal-body .cal-undated{flex:auto}.cal-body .cal-month,.cal-body .cal-week{overflow-x:auto;width:100%}.cal-body .cal-month{grid-template-columns:repeat(7,minmax(84px,1fr))}.cal-week>*{min-width:560px}.day-grid,.stat-grid,.week-layout{grid-template-columns:1fr}.task-win-body{display:block;min-height:0;overflow:auto}.task-win-main,.task-win-side{overflow:visible}.task-win-side{border-left:0;border-top:1px solid var(--line)}}.tc{background:var(--surface-3);border-radius:16px;box-shadow:0 10px 28px rgba(0,0,0,.48);padding:12px 12px 10px}.tc-inline{margin-top:12px;max-width:720px}.tc-scrim{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:24px}.tc-float{position:relative;z-index:61;width:min(960px,calc(100vw - 48px));min-height:520px;max-height:min(88vh,820px);overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto 1fr;background:var(--bg);border-radius:10px;box-shadow:0 18px 48px rgba(0,0,0,.55);padding:0}.tc-sheet-chrome{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:8px;min-height:44px;padding:6px 10px}.tc-float .tc-head{grid-column:1;padding:4px 28px 24px;display:block}.tc-title-row{display:flex;gap:12px;align-items:flex-start}.tc-title-row .tc-fields{flex:1 1}.tc-crumb{display:flex;align-items:center;gap:6px;margin:0 0 16px;color:var(--ink-2);font-size:13px}.tc-float .tc-fields input{height:auto;font-size:22px;font-weight:700;padding:0}.tc-float .tc-bar{grid-column:2;grid-row:2;margin:0;border-left:1px solid var(--line);padding:0}.tc-float .tc-chips{flex-direction:column;flex-wrap:nowrap;gap:0}.tc-float .tc-pop-anchor{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:10px 16px 12px;border-bottom:1px solid var(--line)}.tc-float .tc-rail-project{order:1}.tc-float .tc-rail-due{order:2}.tc-float .tc-rail-deadline{order:3}.tc-float .tc-rail-prio{order:4}.tc-float .tc-rail-labels{order:5}.tc-rail-label{color:var(--muted);font-size:12px}.tc-float .tc-chip{border:0;height:auto;padding:2px 0;justify-content:flex-start;color:var(--ink)}.tc-float .tc-chip:disabled{color:var(--muted);cursor:default}.tc-float .tc-pop{position:static;max-width:none;width:100%;margin-top:6px;box-shadow:none}.tc-float .error{grid-column:1/-1;margin:0 16px 12px}.tc-sheet-chrome .tc-submit{width:auto;min-width:0;height:32px;padding:0 12px;border-radius:6px;background:var(--accent);color:var(--accent-ink);border:0;font-size:13px;font-weight:600}.tc-sheet-chrome .tc-submit:disabled{opacity:.45}.tc-sheet-chrome .tc-cancel:hover{color:var(--danger)}@media (max-width:960px){.tc.tc-float{left:12px;width:min(540px,calc(100vw - 24px))}.tc-inline{position:relative}.tc .tc-pop-anchor{position:static}.tc .tc-pop{left:0;max-width:100%;overflow:auto}}.tc-head{display:flex;gap:8px;align-items:flex-start}.tc-fields{position:relative;flex:1 1;min-width:0;padding:2px 4px 0}.tc-mention{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:6;display:flex;flex-direction:column;padding:4px;border-radius:8px;background:var(--bg-elev);box-shadow:0 8px 24px rgba(0,0,0,.35)}.tc-mention button{border:0;background:transparent;color:var(--ink);text-align:left;padding:6px 8px;border-radius:6px;cursor:pointer}.tc-mention button:hover{background:rgba(255,255,255,.08)}.tc-fields input,.tc-fields textarea{width:100%;border:0;background:transparent;color:var(--ink);resize:none;outline:none}.tc-fields input{height:26px;font-size:14px;font-weight:600;letter-spacing:-.01em}.tc-fields input::placeholder{font-weight:400;color:var(--muted)}.tc-fields textarea{min-height:22px;font-size:13px;color:var(--muted);line-height:1.35}.tc-fields textarea:focus{color:var(--ink)}.tc-bar{margin-top:8px}.tc-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.tc-pop-anchor{position:relative}.tc-chip,.tc-pop-anchor{display:inline-flex;align-items:center}.tc-chip{gap:5px;height:28px;padding:0 8px;border:1px solid var(--line-strong);border-radius:6px;background:transparent;color:var(--ink-2);font-size:13px;cursor:pointer}.tc-chip.is-today{color:var(--due-today);border-color:color-mix(in srgb,var(--due-today) 45%,var(--line));background:color-mix(in srgb,var(--due-today) 14%,transparent)}.tc-chip.is-overdue{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,#3a3a3a)}.tc-chip.p1{color:var(--p1)}.tc-chip.p2{color:var(--p2)}.tc-chip.p3{color:var(--p3)}.tc-cancel:hover,.tc-chip:hover,.tc-clear:hover{background:rgba(255,255,255,.05)}.tc-cancel,.tc-clear{border:0;background:transparent;color:var(--muted);cursor:pointer}.tc-clear{width:22px;height:22px;margin-left:2px;border-radius:4px}.tc-cancel{width:28px;height:28px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.tc-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding-top:2px}.tc-submit{width:32px;height:32px;min-width:32px;padding:0;border:0;border-radius:10px;background:var(--accent);color:var(--accent-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.tc-submit:disabled{opacity:.45;cursor:not-allowed}.tc-pop{position:absolute;z-index:5;width:248px;padding:6px;background:var(--bg-elev);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.5)}.tc-pop.is-down{top:calc(100% + 6px)}.tc-pop.is-up{bottom:calc(100% + 6px)}.tc-pop button{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;padding:0 8px;font-size:13px}.tc-pop button em{margin-left:auto;font-style:normal;color:var(--muted);font-size:12px}.tc-pop button.is-on,.tc-pop button:hover{background:rgba(255,255,255,.06)}.tc-date{width:280px;max-height:min(460px,70vh);overflow:auto}.tc-date-head,.tc-month{margin:6px 8px;font-size:13px;font-weight:650}.tc-swatch{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--muted);flex:0 0 auto}.tc-swatch.is-today{border-color:var(--due-today);background:color-mix(in srgb,var(--due-today) 30%,transparent)}.tc-swatch.is-tomorrow{border-color:var(--ink-2)}.tc-swatch.is-none{border-style:dashed}.tc-cal-nav{display:flex;justify-content:flex-end;gap:4px}.tc-cal-nav button{width:28px;min-height:28px;justify-content:center;padding:0}.tc-days,.tc-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;text-align:center}.tc-weekdays span{color:var(--muted);font-size:11px;padding:4px 0}.tc-days button{width:32px;min-height:32px;margin:0 auto;justify-content:center;padding:0;border-radius:50%}.tc-days button.is-today{color:var(--accent)}.tc-days button.is-selected,.tc-days button.is-selected.is-today{background:var(--accent);color:var(--accent-ink)}.tc-projects input,.tc-query,.tc-subrow input{width:100%;height:32px;margin-bottom:4px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:0 8px}.tc-projects{max-height:280px;overflow:auto}.tc-subrow{display:grid;grid-gap:4px;gap:4px;margin:4px 0}.tc-query{margin-bottom:4px}.modal-scrim{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.55)}.project-dialog{width:min(520px,100%);margin:0;padding:20px 22px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg-elev);box-shadow:0 24px 64px rgba(0,0,0,.45)}.project-dialog footer,.project-dialog header{display:flex;align-items:center;gap:12px}.project-dialog header{justify-content:space-between;margin-bottom:8px}.project-dialog header h2{margin:0;font-size:20px;line-height:1.2}.project-dialog header button{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer}.project-dialog header button:hover{background:rgba(255,255,255,.06)}.project-dialog-desc,.project-dialog-title{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;font:inherit;padding:10px 0}.project-dialog-title{font-size:18px;font-weight:650}.project-dialog-desc{min-height:64px;resize:none;font-size:14px}.project-dialog-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;border-bottom:1px solid var(--line);font-size:14px}.color-field{position:relative}.project-dialog-row strong{font-weight:600}.color-field>button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.color-field i,.color-pop button{display:block;width:18px;height:18px;margin:0;padding:0;border:0;border-radius:50%}.color-pop{position:absolute;right:0;bottom:34px;z-index:2;display:grid;grid-template-columns:repeat(5,18px);grid-gap:8px;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg-elev);box-shadow:0 12px 32px rgba(0,0,0,.4)}.project-layouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:16px 0 4px}.project-layouts label{display:grid;place-items:center;min-width:0;height:36px;padding:0 6px;border:1px solid var(--line);border-radius:8px;font-size:13px;white-space:nowrap;cursor:pointer}.project-layouts label.is-on{border-color:var(--accent);color:var(--accent)}.project-layouts input{position:absolute;opacity:0;pointer-events:none}.project-dialog footer{justify-content:flex-end;flex-wrap:nowrap;margin-top:16px}.confirm-dialog{width:min(420px,100%);padding:20px 22px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg-elev);box-shadow:0 24px 64px rgba(0,0,0,.45)}.confirm-dialog h2{margin:0 0 8px;font-size:18px}.confirm-dialog p{margin:0;color:var(--muted)}.confirm-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.reports-page .td{max-width:880px}.reports-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 18px}.reports-nav,.reports-span{display:flex;align-items:center;gap:4px}.reports-nav button,.reports-span button{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);border-radius:8px;min-width:32px;height:32px;padding:0 12px;cursor:pointer}.reports-span button.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.reports-nav button:disabled{opacity:.35;cursor:default}.reports-nav span{min-width:11rem;text-align:center;font-size:14px}.reports-chart{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--bg-elev);padding:16px 12px 8px}.reports-bars{align-items:stretch;gap:6px;height:200px}.reports-bars,.reports-col{position:relative;display:flex}.reports-col{z-index:1;flex:1 1;min-width:0;flex-direction:column;align-items:center;height:100%}.reports-count{height:16px;color:var(--muted);font-size:11px}.reports-track{flex:1 1;width:100%;max-width:28px;display:flex;align-items:flex-end}.reports-bar{width:100%;border-radius:5px 5px 2px 2px;background:var(--accent)}.reports-axis{display:flex;gap:6px;margin-top:8px}.reports-axis span{flex:1 1;min-width:0;text-align:center;color:var(--muted);font-size:12px;text-transform:lowercase}.reports-axis span.is-today{color:var(--accent);font-weight:700}.reports-goal{top:16px;bottom:0;z-index:2;pointer-events:none}.reports-goal,.reports-goal i,.reports-goal span{position:absolute;left:0;right:0}.reports-goal i{border-top:1px dashed color-mix(in srgb,var(--accent) 80%,white)}.reports-goal span{right:0;left:auto;transform:translateY(-100%);color:var(--accent);font-size:11px}.reports-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:16px}.reports-summary article{border:1px solid var(--line);border-radius:12px;background:var(--bg-elev);padding:14px 14px 12px}.reports-summary small,.reports-summary span{display:block;color:var(--muted);font-size:12px}.reports-summary strong{display:block;margin:6px 0 2px;font-size:28px;line-height:1.1}.reports-summary em{color:var(--muted);font-style:normal;font-size:16px}.reports-summary input{width:3.2rem;margin-left:6px;padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}.reports-level{height:4px;margin-top:10px;border-radius:99px;background:color-mix(in srgb,var(--accent) 22%,transparent);overflow:hidden}.reports-level i{display:block;height:100%;background:var(--accent)}@media (max-width:800px){.reports-summary{grid-template-columns:1fr 1fr}}.nav-section-row .nav-section-toggle{width:auto;padding:4px 2px 4px 8px}.nav-section-row .nav-section-link{flex:1 1;padding-left:2px;text-decoration:none;border-radius:4px}.nav-section-row .nav-section-link.is-active,.nav-section-row .nav-section-link:hover{background:var(--bg-elev)}.projects-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 16px}.projects-search{flex:1 1 220px;min-width:0;padding:7px 10px;background:var(--bg-elev);color:var(--ink);font:inherit}.projects-search,.projects-tabs{border:1px solid var(--line);border-radius:var(--radius)}.projects-tabs{display:inline-flex;gap:4px;padding:3px}.projects-tabs button{border:0;border-radius:4px;background:transparent;color:var(--muted);font:inherit;padding:4px 10px;cursor:pointer}.projects-tabs button.is-on{background:var(--bg-elev);color:var(--ink)}.projects-tabs span{margin-left:4px;color:var(--muted)}.projects-list{list-style:none;margin:0;padding:0}.projects-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px;border-bottom:1px solid var(--line)}.projects-name{flex:1 1;min-width:0;overflow:hidden;color:var(--ink);text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.projects-name:hover{text-decoration:underline}.projects-name.is-archived{color:var(--muted)}.chip.is-subtasks{display:inline-flex;align-items:center;gap:3px}.chip.is-parent{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-region{position:fixed;left:50%;bottom:24px;z-index:200;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface-3);color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.35);pointer-events:auto;animation:toast-in .16s ease-out}.toast>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-action{color:var(--accent);font:inherit;font-weight:600;padding:2px 4px}.toast-action,.toast-close{border:0;background:transparent;cursor:pointer}.toast-close{color:var(--muted);font-size:18px;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.task-menu-quick .task-menu-meta{padding:8px 14px 4px;border-bottom:0}.task-menu-quick .task-menu-row{display:flex;flex-wrap:wrap;gap:4px;padding:0 10px 6px}.task-menu-quick .task-menu-row button{width:auto;flex:0 0 auto;padding:5px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px}.task-menu-quick .task-menu-row button.is-on{border-color:var(--accent)}.task-menu button:disabled{opacity:.5;cursor:default}.task-side-inline input{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--ink);font:inherit;font-size:13px}.task-side-hint{margin:6px 4px;color:var(--muted);font-size:12px}.task-side-scheduler{margin:6px 0 0}.task-side-scheduler .scheduler{position:static;width:100%;max-height:60vh;overflow:auto}.task-side-scheduler>label{display:flex;gap:6px;margin:8px 4px 0;font-size:13px}.scheduler-item{text-align:left}.qa-scrim{position:fixed;inset:0;z-index:60;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:rgba(0,0,0,.5)}.qa{position:relative;border:1px solid var(--line);border-radius:10px;background:var(--bg-elev);color:var(--ink)}.qa-float{width:min(620px,100%);box-shadow:0 18px 48px rgba(0,0,0,.55)}.qa-inline{margin-top:8px;max-width:820px}.qa-body{padding:10px 12px 8px}.qa-title{position:relative}.qa-mirror,.qa-title input{display:block;width:100%;margin:0;padding:2px 0;border:0;font:inherit;font-size:15px;font-weight:600;line-height:22px;letter-spacing:normal;white-space:pre}.qa-mirror{position:absolute;inset:0;overflow:hidden;color:var(--ink);pointer-events:none}.qa-title input{position:relative;background:transparent;color:transparent;caret-color:var(--ink);outline:none}.qa-title input::placeholder{color:var(--muted);font-weight:500}.qa-title input::selection{background:rgba(255,255,255,.22);color:var(--ink);-webkit-text-fill-color:var(--ink)}.qa-mark{border-radius:3px;background:rgba(255,255,255,.16);color:inherit}.qa-mark.is-date,.qa-mark.is-label,.qa-mark.is-project{background:rgba(255,255,255,.12)}.qa-notes{display:block;width:100%;min-height:20px;margin:2px 0 8px;padding:0;border:0;resize:none;outline:none;background:transparent;color:var(--ink-2);font:inherit;font-size:13px;line-height:1.4}.qa-chips{position:relative;display:flex;flex-wrap:wrap;gap:6px}.qa-anchor{position:relative}.qa-anchor,.qa-chip{display:inline-flex;align-items:center}.qa-chip{gap:5px;max-width:260px;height:28px;padding:0 8px;overflow:hidden;border:1px solid var(--line-strong);border-radius:6px;background:transparent;color:var(--ink-2);font:inherit;font-size:13px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.qa-chip:hover{background:rgba(255,255,255,.05)}.qa-anchor:has(.qa-chip-clear) .qa-chip{padding-right:26px}.qa-chip.is-today{color:var(--due-today)}.qa-chip.is-tomorrow{color:var(--ink-2)}.qa-chip.is-overdue{color:var(--danger)}.qa-chip.is-repeat,.qa-chip.is-set{color:var(--muted)}.qa-chip.is-deadline{color:var(--ink-2)}.qa-chip.p1{color:var(--p1)}.qa-chip.p2{color:var(--p2)}.qa-chip.p3{color:var(--p3)}.qa-chip-clear,.qa-sub{color:var(--muted)}.qa-chip-clear{position:absolute;right:3px;width:20px;height:20px;border:0;border-radius:4px;background:transparent;font-size:15px;line-height:1;cursor:pointer}.qa-chip-clear:hover{background:rgba(255,255,255,.1);color:var(--ink)}.qa-pop{position:absolute;left:0;z-index:20}.qa-pop.is-down{top:calc(100% + 6px)}.qa-pop.is-up{bottom:calc(100% + 6px)}.qa-pop .scheduler{position:static;max-height:min(520px,62vh);overflow:auto}.qa-files{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}.qa-files li{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 4px 3px 8px;border:1px solid var(--line);border-radius:6px;font-size:12px}.qa-files span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.qa-files em{color:var(--muted);font-style:normal}.qa-files button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:15px}.qa-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--line)}.qa-project{display:inline-flex;align-items:center;gap:6px;max-width:260px;height:30px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--ink-2);font:inherit;font-size:13px;cursor:pointer}.qa-project span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-project:hover{background:rgba(255,255,255,.06)}.qa-buttons{display:flex;gap:8px}.qa-error{margin:0 12px 8px}.qa-suggest{position:absolute;top:calc(100% + 4px);left:0;z-index:25;display:flex;flex-direction:column;width:min(320px,100%);max-height:280px;overflow:auto;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--bg-elev);box-shadow:0 12px 32px rgba(0,0,0,.45)}.qa-suggest button{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.qa-suggest button.is-on,.qa-suggest button:hover{background:rgba(255,255,255,.08)}.qa-suggest em{margin-left:auto;color:var(--muted);font-style:normal;font-size:12px}@media (max-width:640px){.qa-scrim{padding-top:16px}.qa-foot{flex-wrap:wrap}.qa-pop{position:fixed;left:8px;right:8px}.qa-pop,.qa-pop.is-down,.qa-pop.is-up{top:auto;bottom:8px}.qa-pop .scheduler,.qa-pop .sp-dialog{width:100%}}.sp-dialog,.sp-menu{width:290px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);box-shadow:0 12px 32px rgba(0,0,0,.45)}.sp-menu{display:flex;flex-direction:column;padding:4px}.scheduler .sp-dialog,.sp-menu{margin:4px 8px 8px;width:auto;box-shadow:none}.sp-menu button,.sp-options button{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.sp-menu button.is-on,.sp-menu button:hover,.sp-options button.is-on,.sp-options button:hover{background:rgba(255,255,255,.07)}.sp-menu button.is-danger{color:var(--danger)}.sp-options{display:flex;flex-direction:column;max-height:300px;overflow:auto;margin-top:4px}.sp-options .is-section{padding-left:26px}.sp-check{margin-left:auto;color:var(--accent)}.sp-tag{width:16px;color:var(--muted);text-align:center;flex:0 0 auto}.sp-group-title{margin:8px 8px 4px;font-weight:600}.sp-field,.sp-group-title{color:var(--muted);font-size:12px}.sp-field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.sp-every input,.sp-every select,.sp-field input,.sp-field select,.sp-inline input[type=date],.sp-input{width:100%;height:32px;padding:0 8px;border:1px solid var(--line-strong);border-radius:6px;background:var(--bg-elev);color:var(--ink);font:inherit;font-size:13px}.sp-hint{margin:6px 2px;color:var(--muted);font-size:12px}.sp-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.sp-head{margin:2px 2px 8px}.sp-tabs{display:flex;gap:4px;margin-bottom:8px;padding:3px;border-radius:8px;background:var(--line)}.sp-tabs button{flex:1 1;height:28px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.sp-tabs button.is-on{background:var(--surface-4);color:var(--ink)}.sp-list{margin:0 0 8px;padding:0;list-style:none}.sp-list li{display:flex;align-items:center;gap:8px;padding:4px 2px;font-size:13px}.sp-list li span:nth-child(2){flex:1 1}.sp-list button{border:0;background:none;color:var(--muted);font-size:16px;cursor:pointer}.sp-modal-scrim{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.55)}.sp-modal{width:min(420px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);box-shadow:0 18px 48px rgba(0,0,0,.55)}.sp-modal h2{margin:0 0 14px;font-size:17px}.sp-group{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;padding:0;border:0;font-size:13px}.sp-group legend,.sp-legend{margin-bottom:6px;padding:0;color:var(--muted);font-size:12px;font-weight:600}.sp-group label{display:flex;align-items:center;gap:8px}.sp-inline input[type=date]{width:auto;flex:1 1}.sp-every{display:flex;gap:6px}.sp-every button{width:32px;height:32px;border:1px solid var(--line-strong);border-radius:6px;background:var(--line);color:var(--ink);cursor:pointer}.sp-every input{width:64px;text-align:center}.sp-every select{flex:1 1}.sp-weekdays{display:flex;flex-wrap:wrap;gap:4px}.sp-weekdays label{position:relative;display:grid;place-items:center;min-width:38px;height:30px;border:1px solid var(--line-strong);border-radius:6px;cursor:pointer}.sp-weekdays label.is-on{border-color:var(--accent);background:rgba(255,255,255,.1)}.sp-weekdays input{position:absolute;opacity:0;pointer-events:none}.sp-weekdays label:focus-within{outline:2px solid var(--focus);outline-offset:1px}.sp-preview{margin:0;padding:8px 10px;border-radius:6px;background:var(--line);color:var(--muted);font-size:13px}.scheduler-footer em{margin-left:auto;color:var(--muted);font-style:normal;font-size:12px}.scheduler .scheduler-footer{display:flex;align-items:center;gap:8px}.task-side-scheduler .sp-dialog{width:auto;box-shadow:none}.task-files{margin-top:18px;padding-top:10px;border-top:1px solid var(--line)}.task-files-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.task-files-head h3{margin:0;font-size:14px}.task-files-empty{margin:8px 0;color:var(--muted);font-size:13px}.task-files-list{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none}.task-files-list li{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-size:13px}.task-files-list img{width:40px;height:40px;border-radius:4px;object-fit:cover}.task-files-icon{width:40px;text-align:center;font-size:20px}.task-files-list a{flex:1 1;min-width:0;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.task-files-list em{color:var(--muted);font-style:normal;font-size:12px}.task-files-list button{border:0;background:none;color:var(--muted);font-size:16px;cursor:pointer}.scheduler-back{display:flex;align-items:center;gap:6px;padding:2px 8px 6px;border-bottom:1px solid var(--line)}.scheduler-back button{width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--ink);font-size:18px;cursor:pointer}.scheduler-back button:hover{background:rgba(255,255,255,.07)}.scheduler-sub-view .sp-dialog,.scheduler-sub-view .sp-menu{border:0;box-shadow:none;margin:4px 0 0;width:auto}.qa-chip{max-width:340px}.qa-chip>*{flex:0 0 auto}.qa-chip-text{flex:0 1 auto!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-scrim{position:fixed;inset:0;z-index:50;display:flex;justify-content:center;align-items:flex-start;padding:5vh 16px 16px;background:rgba(0,0,0,.55)}.tw{display:flex;flex-direction:column;width:min(940px,100%);max-height:90vh;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);box-shadow:0 24px 64px rgba(0,0,0,.6);outline:none}.tw-head{justify-content:space-between;gap:12px;min-height:48px;padding:6px 10px 6px 18px;border-bottom:1px solid var(--line)}.tw-crumbs,.tw-head{display:flex;align-items:center}.tw-crumbs{flex-wrap:wrap;gap:2px;min-width:0;font-size:13px}.tw-crumb-wrap{min-width:0}.tw-crumb,.tw-crumb-wrap{display:inline-flex;align-items:center}.tw-crumb{gap:6px;max-width:260px;padding:3px 6px;border:0;border-radius:5px;background:transparent;color:var(--ink-2);font:inherit;text-decoration:none;cursor:pointer}.tw-crumb span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-crumb:hover{background:rgba(255,255,255,.07);color:var(--ink)}.tw-crumb.is-plain{cursor:default}.tw-crumb.is-plain:hover{background:transparent}.tw-crumb-sep{color:var(--ink-4);padding:0 2px}.tw-mini-check{width:11px;height:11px;border:1.5px solid var(--line-strong);border-radius:50%;flex:0 0 auto}.tw-mini-check.is-on{background:var(--muted)}.tw-head-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto}.tw-icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:15px;cursor:pointer}.tw-icon-btn:hover:not(:disabled){background:rgba(255,255,255,.08);color:var(--ink)}.tw-icon-btn:disabled{opacity:.35;cursor:default}.tw-menu{right:0;top:34px;width:290px}.tw-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;min-height:0;flex:1 1;overflow:hidden}.tw-main{min-width:0;overflow:auto;padding:18px 22px 28px}.tw-parent{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0 0 10px;padding:4px 10px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--bg-elev);color:var(--ink-2);font:inherit;font-size:12px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.tw-parent:hover{border-color:var(--line-strong);color:var(--ink)}.tw-error{margin:0 0 10px}.tw-title-row{display:flex;align-items:flex-start;gap:12px}.tw-title-row>.td-check{margin-top:6px;flex:0 0 auto}.tw-title-fields{flex:1 1;min-width:0}.tw-notes,.tw-title{display:block;width:100%;padding:2px 6px;margin:0 0 0 -6px;overflow:hidden;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);font:inherit;resize:none;outline:none}.tw-title{font-size:20px;font-weight:700;line-height:1.35}.tw-title.is-done{color:var(--muted);text-decoration:line-through}.tw-notes{min-height:26px;margin-top:2px;color:var(--muted);font-size:14px;line-height:1.5}.tw-notes::placeholder{color:var(--muted)}.tw-notes:hover,.tw-title:hover{border-color:var(--line)}.tw-notes:focus,.tw-title:focus{border-color:var(--line-strong);background:var(--line)}.tw-section-title{display:flex;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:650}.tw-section-title span{color:var(--muted);font-weight:500}.tw-subtasks{margin:18px 0 0 30px}.tw-subs-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tw-subs-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:650;cursor:pointer}.tw-chev{display:inline-block;width:12px;color:var(--muted);transition:transform .12s}.tw-chev.is-open{transform:rotate(90deg)}.tw-subs-count{color:var(--muted);font-weight:500}.tw-subs-tools{display:flex;gap:4px}.tw-text-btn{padding:3px 8px;border:0;border-radius:5px;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.tw-text-btn:hover:not(:disabled){background:rgba(255,255,255,.07);color:var(--ink)}.tw-progress{height:3px;margin:4px 0 6px;overflow:hidden;border-radius:2px;background:var(--line)}.tw-progress span{display:block;height:100%;background:var(--due-today);transition:width .2s}.tw-subs-list{margin:0;padding:0;list-style:none}.tw-sub{position:relative;display:flex;align-items:flex-start;gap:8px;padding:7px 4px 7px 0;border-bottom:1px solid var(--line)}.tw-sub.is-drop{box-shadow:inset 0 2px 0 var(--accent)}.tw-drop-end{height:2px;background:var(--accent);list-style:none}.tw-sub>.td-check{margin-top:2px;flex:0 0 auto}.tw-grip{position:absolute;left:-20px;top:9px;color:var(--ink-4);font-size:11px;letter-spacing:-2px;cursor:-webkit-grab;cursor:grab;opacity:0}.tw-sub:hover .tw-grip{opacity:1}.tw-sub-main{flex:1 1;min-width:0}.tw-sub-title{display:block;max-width:100%;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;line-height:1.4;text-align:left;overflow-wrap:anywhere;cursor:pointer}.tw-sub-title:hover{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.tw-sub.is-done .tw-sub-title{color:var(--muted);text-decoration:line-through}.tw-sub-input{width:100%;height:26px;padding:0 6px;border:1px solid var(--line-strong);border-radius:5px;background:var(--bg-elev);color:var(--ink);font:inherit;font-size:14px}.tw-sub-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:3px;font-size:12px}.tw-sub-meta:empty{display:none}.tw-sub-meta .chip{font-size:12px}.tw-sub-meta button.chip{border:0;background:transparent;color:inherit;cursor:pointer;padding:0}.tw-prio{display:inline-flex;align-items:center;gap:3px}.tw-prio.p1{color:var(--p1)}.tw-prio.p2{color:var(--p2)}.tw-prio.p3{color:var(--p3)}.tw-sub-actions{display:flex;gap:2px;opacity:0;transition:opacity .1s}.tw-sub:focus-within .tw-sub-actions,.tw-sub:hover .tw-sub-actions{opacity:1}.tw-sub-actions .tw-icon-btn{width:26px;height:26px;font-size:13px}.tw-sub-actions .task-menu{top:30px}.tw-add-sub{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:6px 4px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:14px;cursor:pointer}.tw-add-sub:hover{color:var(--accent)}.tw-plus{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;color:var(--accent);font-size:18px;line-height:1}.tw-add-sub:hover .tw-plus{background:var(--accent);color:var(--accent-ink)}.tw-sub-composer{margin-top:6px}.tw-sub-composer .qa-inline{margin-top:0}.qa-parent-note{color:var(--muted);font-size:12px;padding-left:4px}.tw-files{margin:22px 0 0 30px}.tw-files ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:8px;gap:8px;margin:8px 0 0;padding:0;list-style:none}.tw-files li{display:flex;align-items:center;gap:10px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg-elev)}.tw-files img{width:40px;height:40px;border-radius:5px;object-fit:cover;flex:0 0 auto}.tw-file-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:5px;background:var(--surface-3);color:var(--ink);font-size:10px;font-weight:700}.tw-file-meta{display:flex;flex-direction:column;min-width:0;flex:1 1}.tw-file-meta a{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.tw-file-meta a:hover{text-decoration:underline}.tw-file-meta em{color:var(--muted);font-size:12px;font-style:normal}.tw-comments{margin:22px 0 0 30px;padding-top:14px;border-top:1px solid var(--line)}.tw-comment-list{margin:8px 0 0;padding:0;list-style:none}.tw-comment{display:flex;gap:10px;padding:10px 0}.tw-comment+.tw-comment{border-top:1px solid var(--line)}.tw-avatar{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:50%;background:var(--surface-4);color:var(--accent-ink);font-size:12px;font-weight:700}.tw-comment-body{flex:1 1;min-width:0}.tw-comment-meta{position:relative;display:flex;align-items:center;gap:8px;font-size:13px}.tw-comment-meta em,.tw-comment-meta time{color:var(--muted);font-size:12px;font-style:normal}.tw-comment-actions{display:flex;gap:2px;margin-left:auto;opacity:0}.tw-comment-actions:focus-within,.tw-comment:hover .tw-comment-actions{opacity:1}.tw-comment-actions button{width:24px;height:24px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.tw-comment-actions button:hover{background:rgba(255,255,255,.08)}.tw-comment-menu{top:28px;right:0;width:220px}.tw-comment-text{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.tw-comment-text a{color:var(--ink)}.tw-comment-new{display:flex;align-items:flex-start;gap:10px;margin-top:10px}.tw-comment-pill{display:flex;align-items:center;justify-content:space-between;flex:1 1;height:34px;padding:0 6px 0 14px;border:1px solid var(--line);border-radius:999px;background:var(--bg-elev);color:var(--muted);font:inherit;font-size:14px;text-align:left;cursor:text}.tw-comment-pill:hover{border-color:var(--line-strong)}.tw-pill-clip{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;cursor:pointer}.tw-pill-clip:hover{background:rgba(255,255,255,.08);color:var(--ink)}.tw-comment-editor{flex:1 1;min-width:0;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg-elev)}.tw-comment-editor textarea{display:block;width:100%;min-height:64px;padding:10px 12px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;line-height:1.5;resize:none;outline:none}.tw-comment-editor.is-edit{margin-top:6px}.tw-comment-editor.is-edit .tw-comment-buttons{padding:0 8px 8px;justify-content:flex-end}.tw-comment-toolbar{display:flex;align-items:center;gap:8px;padding:6px 8px 8px;border-top:1px solid var(--line)}.tw-hint{color:var(--ink-4);font-size:12px}.tw-comment-buttons{display:flex;gap:8px;margin-left:auto}.tw-activity{margin:18px 0 0 30px;padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:13px}.tw-activity p{margin:6px 0}.tw-side{min-width:0;overflow:auto;padding:10px 14px 20px;border-left:1px solid var(--line);background:var(--bg-elev)}.tw-side-row{padding:6px 0 8px;border-bottom:1px solid var(--line)}.tw-side-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 6px;border:0;border-radius:5px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:650;text-align:left;cursor:pointer}.tw-side-head:hover:not(:disabled){background:rgba(255,255,255,.06);color:var(--ink)}.tw-side-head:disabled{cursor:default}.tw-side-plus{color:var(--muted);font-size:16px;font-weight:400;line-height:1}.tw-side-value{position:relative;display:flex;align-items:center}.tw-side-value-btn{display:flex;align-items:center;gap:6px;width:100%;min-height:28px;padding:2px 26px 2px 6px;border:0;border-radius:5px;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.tw-side-value-btn:hover:not(:disabled){background:rgba(255,255,255,.06)}.tw-side-value-btn:disabled{cursor:default}.tw-side-value-btn em{margin-left:auto;color:var(--muted);font-size:12px;font-style:normal}.tw-side-value-btn.is-today{color:var(--due-today)}.tw-side-value-btn.is-tomorrow{color:var(--ink-2)}.tw-side-value-btn.is-overdue{color:var(--danger)}.tw-side-value-btn.is-repeat{color:var(--muted)}.tw-side-value-btn.is-deadline{color:var(--ink-2)}.tw-side-value-btn.p1{color:var(--p1)}.tw-side-value-btn.p2{color:var(--p2)}.tw-side-value-btn.p3{color:var(--p3)}.tw-ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-side-clear{position:absolute;right:2px;width:22px;height:22px;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;opacity:0}.tw-side-clear:focus-visible,.tw-side-value:hover .tw-side-clear{opacity:1}.tw-side-clear:hover{background:rgba(255,255,255,.08);color:var(--ink)}.tw-side-note{margin:0 6px 4px;color:var(--line-strong);font-size:11px}.tw-side-check{display:flex;align-items:center;gap:8px;padding:6px;color:var(--muted);font-size:12px}.tw-side-pop{margin:4px 0 8px}.tw-side-pop .scheduler,.tw-side-pop .sp-dialog{position:static;width:100%;box-shadow:none}.tw-side-pop .scheduler{max-height:60vh;overflow:auto}.tw-tags{display:flex;flex-wrap:wrap;gap:4px;padding:2px 6px}.tw-tag{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 4px 2px 8px;border-radius:5px;background:var(--surface-3);color:var(--ink-2);font-size:12px}.tw-tag button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:14px}.tw-tag button:hover{color:var(--ink)}@media (max-width:760px){.tw-scrim{padding:0}.tw{width:100%;max-height:100vh;height:100%;border-radius:0}.tw-body{display:block;overflow:auto}.tw-main{overflow:visible;padding:14px 14px 20px}.tw-side{border-left:0;border-top:1px solid var(--line)}.tw-activity,.tw-comments,.tw-files,.tw-subtasks{margin-left:0}.tw-sub-actions{opacity:1}.tw-grip{display:none}}@media print{.tw-scrim{position:static;background:none;padding:0}.tw-add-sub,.tw-comment-new,.tw-head-actions,.tw-sub-actions{display:none}}.task-due-button.is-empty{opacity:0;transition:opacity .1s}.task-due-button.is-empty:focus-visible,.task-due-button.is-empty[aria-expanded=true],.td-row:hover .task-due-button.is-empty,.tw-sub:hover .task-due-button.is-empty{opacity:1}.tw-sub-actions .task-due-button{opacity:1;height:26px;padding:0 6px;border-radius:6px;color:var(--muted)}@media (max-width:760px){.tw-hint{display:none}.tw-comment-toolbar,.tw-subs-head{flex-wrap:wrap}}.color-field>button{display:inline-flex;align-items:center;gap:8px;width:auto;height:30px;padding:0 10px;border:1px solid var(--line-strong);border-radius:6px}.color-field>button i{flex:0 0 auto}.color-field .color-pop{right:0;left:auto}.color-name{color:var(--ink);font-size:13px}.project-dialog-switch{position:relative;cursor:pointer}.project-dialog-switch input{position:absolute;opacity:0;width:1px;height:1px}.project-dialog-switch i{position:relative;width:34px;height:20px;border-radius:999px;background:var(--line-strong);transition:background .12s}.project-dialog-switch i:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--accent-ink);transition:transform .12s}.project-dialog-switch input:checked+i{background:var(--accent)}.project-dialog-switch input:checked+i:after{transform:translateX(14px)}.project-dialog-switch input:focus-visible+i{outline:2px solid var(--focus);outline-offset:2px}.sidebar{gap:4px}.sb-user{display:flex;align-items:center;gap:8px;min-width:0;max-width:210px;padding:4px 8px 4px 4px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.sb-user strong{overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sb-user svg{color:var(--muted);flex:0 0 auto}.sb-user:hover,.sb-user[aria-expanded=true]{background:rgba(255,255,255,.06)}.sb-user .avatar{background:var(--surface-4);color:var(--accent-ink);flex:0 0 auto}.side-add{margin-top:4px}.sb-list{display:flex;flex-direction:column;gap:1px;margin:0;padding:0;list-style:none}.sb-link,.sb-nav{display:flex;align-items:center;gap:10px;width:100%;min-width:0;min-height:34px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:13.5px;text-align:left;text-decoration:none;cursor:pointer}.sb-nav svg{flex:0 0 auto;color:var(--muted)}.sb-nav:hover{background:rgba(255,255,255,.05)}.sb-nav.is-active{background:var(--surface-active);color:var(--ink);font-weight:600}.sb-nav.is-active svg{color:var(--ink)}.sb-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-count{margin-left:auto;padding-right:2px;color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sb-count.is-accent{color:var(--accent)}.sb-nav.is-active .sb-count{color:var(--ink)}.sb-section{display:flex;align-items:center;gap:2px;margin:16px 0 2px;padding-right:2px;border-radius:6px}.sb-section-title{flex:1 1;min-width:0;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--ink-2);font:inherit;font-size:13px;font-weight:650;text-align:left;text-decoration:none;cursor:pointer}.sb-section-title:hover{background:rgba(255,255,255,.05);color:var(--ink)}.sb-section-title.is-active{color:var(--ink)}.sb-chevron,.sb-more,.sb-section-btn{display:inline-grid;place-items:center;width:26px;height:26px;flex:0 0 auto;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.sb-chevron:hover,.sb-more:hover,.sb-section-btn:hover{background:rgba(255,255,255,.08);color:var(--ink)}.sb-section .sb-chevron,.sb-section .sb-section-btn{opacity:0;transition:opacity .1s}.sb-chevron:focus-visible,.sb-section-btn:focus-visible,.sb-section-btn[aria-expanded=true],.sb-section:hover .sb-chevron,.sb-section:hover .sb-section-btn{opacity:1}.sb-chevron svg{transform:rotate(-90deg);transition:transform .12s}.sb-chevron.is-open svg{transform:none}.sb-row{position:relative;display:flex;align-items:center;border-radius:6px}.sb-row:hover{background:rgba(255,255,255,.05)}.sb-row.is-active{background:var(--surface-active)}.sb-row.is-active .sb-link{color:var(--ink);font-weight:600}.sb-row .sb-link{flex:1 1;padding-right:34px}.sb-hash{display:inline-grid;place-items:center;width:18px;font-size:16px;font-weight:500;flex:0 0 auto}.sb-hash.is-filter svg{width:16px;height:16px;color:var(--muted)}.sb-row .sb-count{position:absolute;right:8px;pointer-events:none}.sb-row .sb-more{position:absolute;right:2px;opacity:0}.sb-more:focus-visible,.sb-row.is-menu .sb-more,.sb-row:hover .sb-more{opacity:1}.sb-row.is-menu .sb-count,.sb-row:focus-within .sb-count,.sb-row:hover .sb-count{opacity:0}.sb-row.is-dragging{opacity:.4}.sb-row.is-drop{box-shadow:inset 0 2px 0 var(--accent)}.sb-drop-end{height:2px;margin:0 8px;background:var(--accent)}.sb-row[draggable=true]{cursor:-webkit-grab;cursor:grab}.sb-empty{width:100%;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:13px;text-align:left;cursor:pointer}.sb-empty:hover{background:rgba(255,255,255,.05);color:var(--ink)}.sb-menu{position:fixed;z-index:140;min-width:250px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--bg-elev);color:var(--ink);box-shadow:0 16px 40px rgba(0,0,0,.55)}.sb-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:32px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.sb-menu button:focus-visible,.sb-menu button:hover{background:rgba(255,255,255,.08);outline:none}.sb-menu button.is-danger{color:var(--danger)}.sb-menu-icon{display:inline-grid;place-items:center;width:18px;color:var(--muted)}.sb-menu button.is-danger .sb-menu-icon{color:var(--danger)}.sb-menu-text{flex:1 1}.sb-menu kbd{color:var(--muted);font-family:var(--font-mono);font-size:11px}.sb-menu hr{margin:4px 0;border:0;border-top:1px solid var(--line)}.sb-menu-head{display:flex;align-items:center;gap:10px;padding:8px 10px}.sb-menu-head .avatar{width:34px;height:34px;background:var(--surface-4);color:var(--ink)}.sb-menu-head div{display:flex;flex-direction:column;min-width:0}.sb-menu-head strong{font-size:14px}.sb-menu-head span{color:var(--muted);font-size:12px}.side-foot .sb-nav{color:var(--ink-2)}@media (hover:none){.sb-row .sb-more,.sb-section .sb-chevron,.sb-section .sb-section-btn,.tw-comment-actions,.tw-sub-actions{opacity:1}.sb-row .sb-count{display:none}}.td-row.is-nested{margin-left:calc(var(--depth, 0) * 28px)}.td-fold{position:absolute;left:-40px;top:11px;display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;opacity:.75}.td-fold:hover{background:rgba(255,255,255,.08);color:var(--ink);opacity:1}.td-fold svg{transition:transform .12s}.td-fold.is-open svg{transform:rotate(90deg)}.td-row.is-nested .td-fold{left:-40px}.drop-line.is-nesting{background:var(--p3)}.drop-line.is-nesting:before{border-color:var(--p3)}.drag-nest{margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.12);color:var(--ink);font-size:12px;white-space:nowrap}.drag-nest[hidden]{display:none}@media (hover:none),(max-width:760px){.td-fold{position:static;margin-top:3px;flex:0 0 auto}}.td-row.is-nested .chip.is-parent{display:none}.td-line .td-title{overflow:visible;white-space:normal;text-overflow:clip;overflow-wrap:anywhere}.td-sub,.today-row-meta,.today-row-meta .td-sub{flex-wrap:wrap;row-gap:2px;min-width:0}.today-row-meta{gap:4px 12px}.today-task-project{min-width:0;max-width:100%}.td-notes{overflow-wrap:anywhere}.td-group-head{gap:8px;justify-content:flex-start;border-bottom:1px solid var(--line);margin-bottom:2px}.td-group-head h2{flex:1 1;min-width:0}.td-group-head>.nav-count{display:none}.td-group-count{color:var(--muted);font-size:12px;font-weight:500}.td-group+.td-group{margin-top:14px}.kanban{min-height:0;padding-bottom:16px;overscroll-behavior-x:contain;scrollbar-width:thin}.kanban-col{flex:0 0 272px;width:272px;min-width:0;padding:0 4px}.kanban-col>.agenda-column-head{position:-webkit-sticky;position:sticky;top:0;z-index:1;padding:4px 4px 6px;background:var(--bg)}.kanban-col .agenda-column-head h2{display:flex;align-items:center;gap:8px;margin:0;font-size:14px}.kanban-col .agenda-column-head h2 span{color:var(--muted);font-size:12px;font-weight:500}.kanban-col h2{justify-content:flex-start;gap:8px}.kanban-col h2>span:not(.section-name){color:var(--muted)}.kanban-col h2 .task-menu-wrap{margin-left:auto}.kanban-card,.kanban-card .td-body{min-width:0}.kanban-card .today-task-project span{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban .td-add-btn{margin:2px 0 0}.td-page.is-wide .td{max-width:none}.section-gap{min-height:26px}.proj-section{margin-top:10px}.agenda-jump summary{list-style:none;display:inline-flex;align-items:center;gap:4px;border-radius:6px;font-weight:650}.agenda-jump summary::-webkit-details-marker{display:none}.agenda-jump summary:hover{background:rgba(255,255,255,.06)}.agenda-move-btn{color:var(--accent);font-size:13px;font-weight:600!important}.task-table-group th{padding-top:14px!important}.task-table-group-head{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:13px;font-weight:650}.task-table-group-head em{color:var(--muted);font-style:normal;font-weight:500}.task-table-group-head .agenda-jump{margin-left:auto}.task-table-prio{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.task-table-prio.p1{color:var(--p1)}.task-table-prio.p2{color:var(--p2)}.task-table-prio.p3{color:var(--p3)}.task-table-prio.p4{color:var(--muted)}.task-table-labels{max-width:200px}.task-table-labels .chip{margin-right:4px}.task-table-project{white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.td-table tr.is-done .td-open{color:var(--muted);text-decoration:line-through}.view-reset{width:100%;margin-top:10px;padding:8px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--accent);font:inherit;font-size:13px;cursor:pointer}.view-reset:hover{background:rgba(255,255,255,.05)}@media (max-width:760px){.kanban-col{flex-basis:82vw;width:82vw}.task-results-table thead th:nth-child(n+4),.task-table-labels,.task-table-project{display:none}.td-row.is-nested{margin-left:calc(var(--depth, 0) * 18px)}}.kanban-card{position:relative}.kanban-card .td-hover-actions{position:absolute;top:6px;right:6px;padding:2px;border-radius:6px;background:var(--bg-elev);box-shadow:-8px 0 8px var(--bg-elev)}.kanban-card .td-line{padding-right:0}.kanban-col h2 .task-menu-wrap>button{width:26px;height:26px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.kanban-col h2 .task-menu-wrap>button:hover{background:rgba(255,255,255,.08);color:var(--ink)}.cal-col .cal-block{position:absolute;left:3px;right:3px;width:auto;overflow:hidden;padding:2px 6px;border-left:3px solid var(--line-strong);border-radius:5px;font-size:12px;line-height:15px;text-align:left;overflow-wrap:anywhere}.cal-col .cal-block b{display:block;font-size:11px;font-weight:600;opacity:.85}.cal-col .cal-block.p1{border-left-color:var(--p1)}.cal-col .cal-block.p2{border-left-color:var(--p2)}.cal-col .cal-block.p3{border-left-color:var(--p3)}.cal-col .cal-block:hover{z-index:3;height:auto!important;min-height:22px;box-shadow:0 6px 18px rgba(0,0,0,.45)}