.page-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);min-height:40px}.page-heading-title{display:flex;align-items:baseline;gap:var(--space-3);min-width:0}.page-heading h1{font-size:var(--fs-22);letter-spacing:-.4px;line-height:1.3}.page-heading-meta{font-size:var(--fs-12);color:var(--text-3);white-space:nowrap}.page-heading .eyebrow,.page-heading p{display:none}.plan-header{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-2)}.plan-header-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--space-3);min-height:40px}.plan-dot{width:12px;height:12px;border-radius:50%;background:var(--project-color,var(--brand));flex-shrink:0}.plan-switcher{position:relative;flex:0 1 auto;min-width:120px;max-width:100%}.plan-switcher-trigger{display:flex;align-items:center;gap:6px;min-width:0;padding:2px 6px 2px 2px;margin-left:-2px;border-radius:var(--radius-m);color:var(--text-3);text-align:left}.plan-switcher-trigger:hover{background:var(--surface-2)}.plan-switcher-trigger h1{flex:0 1 auto;min-width:0;font-size:var(--fs-22);letter-spacing:-.4px;line-height:1.3;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-switcher-list{position:absolute;top:calc(100% + 6px);left:0;z-index:35;min-width:240px;max-height:60vh;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:var(--radius-l);background:var(--paper);box-shadow:var(--shadow-2);animation:menu-enter .16s ease-out both;transform-origin:top left}.plan-switcher-list button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 10px;border-radius:var(--radius-m);font-size:var(--fs-13);text-align:left;color:var(--ink)}.plan-switcher-list button:hover,.plan-switcher-list button[aria-selected=true]{background:var(--surface-2)}.plan-switcher-list button i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.plan-star{color:var(--text-3)}.plan-star.is-on{color:#c98a00}.plan-members{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 8px;border-radius:var(--radius-m);font-size:var(--fs-12);color:var(--text-3);white-space:nowrap}button.plan-members:hover{background:var(--surface-2);color:var(--ink)}.plan-header-spacer{flex:1 0}.plan-progress{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-12);color:var(--text-2);white-space:nowrap}.plan-progress .mini-track{width:120px;height:6px;border-radius:3px;background:var(--line)}.plan-progress .mini-track i{background:var(--project-color,var(--brand));border-radius:3px}.plan-progress strong{font-weight:600;color:var(--ink)}.plan-settings{padding:0 12px}.plan-header-meta{margin-left:24px;font-size:var(--fs-13);color:var(--text-2)}.action-menu{position:relative;display:inline-flex}.action-menu-trigger[aria-expanded=true]{background:var(--surface-2);color:var(--brand)}.plan-menu .action-menu-trigger{border:1px solid var(--control-border)}.task-pane-open .plan-progress .mini-track{display:none}.action-menu-list{position:absolute;top:calc(100% + 6px);z-index:35;min-width:200px;padding:6px;border:1px solid var(--line);border-radius:var(--radius-l);background:var(--paper);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:1px;transform-origin:top right;animation:menu-enter .16s ease-out both}.action-menu-list.align-end{right:0}.action-menu-list.align-start{left:0;transform-origin:top left}.action-menu-list button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 10px;border-radius:var(--radius-m);font-size:var(--fs-13);text-align:left;color:var(--ink);white-space:nowrap}.action-menu-list button svg{color:var(--text-3)}.action-menu-list button:focus-visible,.action-menu-list button:hover{background:var(--surface-2);outline:none}.action-menu-list button.danger,.action-menu-list button.danger svg{color:var(--danger)}.action-menu-list button.danger:hover{background:var(--danger-soft)}.action-menu-divider{height:1px;margin:4px 6px;background:var(--line);flex-shrink:0}.more-views .action-menu-list button{padding:8px 10px}@keyframes menu-enter{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.motion-presence[data-state=closing] .action-menu-list,.motion-presence[data-state=closing] .filter-panel,.motion-presence[data-state=closing] .plan-switcher-list{animation:menu-leave .14s ease-in both;pointer-events:none}@keyframes menu-leave{to{opacity:0;transform:translateY(-4px) scale(.98)}}.plan-rows{display:flex;flex-direction:column;margin-bottom:var(--space-5);border-top:1px solid var(--line)}.project-tile{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:6px 4px;border-bottom:1px solid var(--line)}.project-tile-name{flex:1 1 260px;min-width:0;text-align:left;padding:4px 6px;margin-left:-6px;border-radius:var(--radius-m)}.project-tile-name:hover{background:var(--surface-2)}.project-tile-name h2{font-size:var(--fs-14);font-weight:500}.project-tile-name h2,.project-tile-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-tile-name small{display:block;font-size:var(--fs-11);color:var(--text-3)}.project-tile .plan-progress .mini-track{width:90px}.plan-row-due{font-size:var(--fs-11);color:var(--text-3);white-space:nowrap;min-width:120px}.tile-guest{background:var(--warn-soft);color:var(--warn)}.view-toolbar{gap:var(--space-3);border-bottom:1px solid var(--line);margin-top:var(--space-3)}.view-switch,.view-toolbar{display:flex;align-items:center}.view-switch{gap:22px;flex:1 1;min-width:0;overflow-x:auto;scrollbar-width:none}.view-switch::-webkit-scrollbar{display:none}.view-switch button{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 2px;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:var(--fs-14);font-weight:500;color:var(--text-2);white-space:nowrap;transition:color .15s,border-color .15s}.view-switch button:hover{color:var(--ink)}.view-switch button[aria-pressed=true]{color:var(--ink);font-weight:500;border-bottom-color:var(--brand)}.view-switch button svg{display:none}.plan-view-switch{flex:0 1 auto}.view-tab{display:inline-flex;align-items:center;gap:2px}.view-switch .view-tab-remove{width:18px;height:18px;padding:0;margin:0;justify-content:center;border:0;border-radius:var(--radius-s);color:var(--text-3)}.view-switch .view-tab-remove:hover{background:var(--surface-2);color:var(--ink)}.view-switch .view-tab-remove svg{display:inline}.more-views{margin-right:auto;flex-shrink:0}.more-views .action-menu-trigger{display:inline-flex;align-items:center;gap:4px;height:38px;padding:0 2px;font-size:var(--fs-14);font-weight:500;color:var(--text-2);white-space:nowrap}.more-views .action-menu-trigger:hover,.more-views .action-menu-trigger[aria-expanded=true]{color:var(--ink)}.more-view-item{display:flex;flex-direction:column;gap:2px;text-align:left}.more-view-item small{font-size:var(--fs-12);color:var(--text-3);font-weight:400}.view-toolbar-actions{display:flex;align-items:center;gap:var(--space-2);padding-bottom:6px;flex-shrink:0}.toolbar-button{display:inline-flex;align-items:center;gap:6px;padding:0 10px;font-weight:550;color:var(--text-2);white-space:nowrap;height:var(--control-h);border-radius:var(--control-radius);font-size:var(--control-fs)}.toolbar-button:hover,.toolbar-button[aria-expanded=true]{background:var(--surface-2);color:var(--ink)}.toolbar-button.is-active{color:var(--brand)}.toolbar-badge{justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--brand);color:#fff;font-size:var(--fs-11);font-weight:600}.group-select,.toolbar-badge{display:inline-flex;align-items:center}.group-select{gap:4px;padding:0 4px 0 10px;font-weight:550;color:var(--text-2);white-space:nowrap;height:var(--control-h);border-radius:var(--control-radius);font-size:var(--control-fs)}.group-select .select-control:hover{background:var(--surface-2)}.group-select select{width:auto;border:0;background-color:transparent;font-weight:550;color:var(--ink);cursor:pointer;height:calc(var(--control-h) - 2px);min-height:0;padding:0 24px 0 4px;font-size:var(--control-fs);background-position:right 4px center}.group-select select:focus{outline:2px solid var(--brand-soft);outline-offset:0;border-radius:var(--radius-s)}.filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 0 0}.filter-chip{gap:4px;height:26px;padding:0 4px 0 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:var(--fs-12);font-weight:550}.filter-chip,.filter-chip button{display:inline-flex;align-items:center}.filter-chip button{justify-content:center;width:20px;height:20px;border-radius:50%;color:inherit}.filter-chip button:hover{background:#ffffff80}.filter-summary{margin-left:auto;font-size:var(--fs-12);color:var(--text-3)}.view-body{padding-top:var(--space-3)}.filter-button{position:relative;display:inline-flex}.filter-sheet-shade{display:none}.filter-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:36;width:min(420px,calc(100vw - 32px));padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-l);background:var(--paper);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:var(--space-3);transform-origin:top right;animation:menu-enter .16s ease-out both}.filter-panel>header{font-size:var(--fs-13)}.filter-panel>footer,.filter-panel>header{display:flex;align-items:center;justify-content:space-between}.filter-panel>footer{gap:var(--space-2)}.task-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.task-filters input[type=search]{grid-column:1/-1}.task-filters .checkbox-label{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:var(--fs-13)}.task-filters input:not([type=checkbox]),.task-filters select{width:100%}.task-filter-date{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-11);color:var(--text-3)}.all-plans{margin-top:var(--space-5);font-size:var(--fs-12);color:var(--text-3)}.all-plans summary{cursor:pointer;padding:6px 0}.all-plans ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column}.all-plans li{display:flex;align-items:center;gap:var(--space-3);min-height:40px;border-top:1px solid var(--line);color:var(--ink)}.all-plans-name{display:inline-flex;align-items:center;gap:6px;flex:1 1;min-width:0;font-weight:550}@media (max-width:720px){.plan-header-row{flex-wrap:wrap;row-gap:6px}.plan-switcher{flex:1 1 60%}.plan-switcher-trigger{width:100%}.plan-switcher-trigger h1{font-size:19px}.plan-header-spacer{display:none}.plan-progress{flex:1 1 100%;order:10}.plan-progress .mini-track{flex:1 1;width:auto}.plan-settings span{display:none}.plan-settings{width:var(--control-h);padding:0;justify-content:center}.plan-header-meta{margin-left:0}.project-tile{flex-wrap:wrap}.plan-row-due,.project-tile .plan-progress{display:none}.view-toolbar{flex-wrap:wrap}.view-switch{flex-basis:100%;gap:18px}.plan-view-switch{flex:1 1}.plan-view-switch .view-tab,.view-toolbar>.more-views{flex-shrink:0}.view-toolbar-actions{width:100%;padding:8px 0;border-top:1px solid var(--line)}.view-toolbar-actions .primary{margin-left:auto}.filter-sheet-shade{display:block;position:fixed;inset:0;z-index:45;background:#1f273066;animation:fade-in .2s ease-out both}.filter-panel{position:fixed;inset:auto 0 0 0;width:auto;max-height:85dvh;overflow:auto;border-radius:var(--radius-l) var(--radius-l) 0 0;z-index:46;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));transform-origin:bottom center;animation:sheet-enter .22s ease-out both}.motion-presence[data-state=closing] .filter-panel{animation:sheet-leave .18s ease-in both}.motion-presence[data-state=closing] .filter-sheet-shade{animation:fade-out .18s ease-in both}.task-filters{grid-template-columns:1fr}}@media (max-width:420px){.view-toolbar-actions .add-task span{display:none}.view-toolbar-actions .add-task{width:40px;padding:0;justify-content:center}.group-select select{max-width:34vw;height:calc(var(--control-h) - 2px);min-height:0;padding:0 24px 0 4px;font-size:var(--control-fs);background-position:right 4px center}}@keyframes sheet-enter{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}@keyframes sheet-leave{to{transform:translateY(24px);opacity:0}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.action-menu-list,.filter-panel,.filter-sheet-shade,.motion-presence[data-state=closing] .action-menu-list,.motion-presence[data-state=closing] .filter-panel,.motion-presence[data-state=closing] .filter-sheet-shade,.motion-presence[data-state=closing] .plan-switcher-list,.plan-switcher-list{animation-duration:0s}}.task-board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:var(--space-3);scrollbar-width:thin}.board-column{display:flex;flex-direction:column;flex:1 1;min-width:232px;max-width:320px;gap:8px;padding:10px 10px 8px;border-radius:var(--radius-l);background:var(--surface-2);transition:background .15s}.board-column.over{background:var(--brand-soft)}.board-column.dragging{opacity:.6}.board-column-head{display:flex;align-items:center;gap:8px;min-height:28px;padding:2px 4px 4px}.board-column-head[draggable=true]{cursor:grab}.board-grip{margin-left:-4px;color:var(--text-3);opacity:0;transition:opacity .15s}.board-column-head:hover .board-grip{opacity:1}.board-column-head i{width:9px;height:9px;border-radius:50%;flex-shrink:0}.board-column-head h3{min-width:0;font-size:var(--fs-13);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-column-head .count{padding:0;background:transparent;color:var(--text-3);font-size:var(--fs-12)}.board-column-head .action-menu{margin-left:auto}.board-column-head .action-menu-trigger{min-width:24px;height:24px;color:var(--text-3)}.board-cards{display:flex;flex-direction:column;gap:8px;min-height:40px}.board-card{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper);transition:box-shadow .15s,opacity .15s}.board-card:hover{box-shadow:var(--shadow-1)}.board-card.dragging{opacity:.5}.board-card.status-done{opacity:1}.board-card.status-done .board-card-title{text-decoration:none;color:var(--text-2)}.board-card-body{display:flex;flex-direction:column;gap:8px;width:100%;padding:12px 14px;text-align:left;cursor:pointer}.board-card-preview{display:block;margin:-4px -6px 2px;border-radius:var(--radius-s);overflow:hidden;aspect-ratio:16/9;background:var(--surface-2)}.board-card-preview img{display:block;width:100%;height:100%;object-fit:cover}.board-card-top{display:flex;flex-direction:column;gap:2px;padding-right:20px}.board-card-top .task-ext{align-self:flex-start;margin:0}.board-card-title{font-size:var(--fs-14);font-weight:400;line-height:1.4;overflow-wrap:anywhere}.board-card-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-12);color:var(--text-2)}.board-card-checklist li{display:flex;align-items:center;gap:6px}.board-card-checklist li svg{flex-shrink:0;color:var(--line-strong)}.board-card-checklist li.is-done{color:var(--text-3);text-decoration:none}.board-card-checklist li.is-done svg{color:var(--success)}.board-card-checklist li.more{color:var(--text-3)}.board-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:var(--fs-12);color:var(--text-2)}.board-card-meta>span{display:inline-flex;align-items:center;gap:4px}.board-card-meta .due-overdue{color:var(--danger);font-weight:600}.board-card-project i{width:7px;height:7px;border-radius:50%}.checklist-mini.done{color:var(--success)}.board-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:22px}.board-card-spacer{flex:1 1}.board-card-menu{position:absolute;top:8px;right:8px}.board-card-menu .action-menu-trigger{min-width:24px;height:24px;color:var(--text-3);opacity:0;transition:opacity .15s}.board-card-menu .action-menu-trigger:focus-visible,.board-card-menu .action-menu-trigger[aria-expanded=true],.board-card:hover .board-card-menu .action-menu-trigger{opacity:1}.board-empty{margin:0;padding:14px 10px;border:1px dashed var(--line-strong);border-radius:var(--radius-m);font-size:var(--fs-12);color:var(--text-3);text-align:center}.board-quick-add{display:flex;align-items:center;gap:6px;padding:0 6px;color:var(--text-3)}.board-quick-add input{flex:1 1;padding:0 6px;border:0;background:transparent;font-size:var(--fs-13);color:var(--ink);height:32px;min-height:0}.board-quick-add input:focus{outline:none;background:var(--paper);border-radius:var(--radius-s)}.board-quick-add .icon-button{opacity:0;--icon-button-size:28px}.board-quick-add:focus-within .icon-button{opacity:1}.task-ext{display:inline-block;margin-right:6px;padding:0 5px;border-radius:4px;background:var(--surface-2);color:var(--text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;letter-spacing:.2px}.label-tag,.task-ext{font-size:var(--fs-11)}.label-tag{display:inline-flex;align-items:center;gap:5px;max-width:140px;padding:1px 7px;border-radius:999px;font-weight:550;line-height:16px;color:var(--label);background:color-mix(in srgb,var(--label) 12%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--label);flex-shrink:0}.badge.priority{padding:0 6px;border-radius:4px;font-size:var(--fs-11);font-weight:600;line-height:18px}.badge.priority.urgent{color:var(--danger);background:var(--danger-soft)}.badge.priority.important{color:var(--warn);background:var(--warn-soft)}.status-chip{display:inline-flex;align-items:center;gap:4px;padding:0 8px;border-radius:var(--radius-s);font-size:var(--fs-11);font-weight:550;line-height:18px;white-space:nowrap}.status-chip.doing{color:var(--brand);background:var(--brand-soft)}.status-chip.done{color:var(--success);background:var(--success-soft)}.task-assignees{display:inline-flex;align-items:center}.task-assignees .avatar{width:22px;height:22px;font-size:var(--fs-11);box-shadow:0 0 0 2px var(--paper)}.task-assignees .avatar+.avatar{margin-left:-6px}.avatar.small.unassigned{width:22px;height:22px;border:1.5px dashed var(--line-strong);background:transparent;color:var(--text-3)}@media (max-width:720px){.task-board{margin-inline:-16px;padding-inline:16px}.board-column{min-width:280px;max-width:300px}}.task-list{display:flex;flex-direction:column}.task-list-toolbar{display:flex;align-items:center;gap:var(--space-3);padding:0 0 6px}.task-list-toolbar .count{padding:0;background:transparent}.sort-select,.task-list-toolbar .count{font-size:var(--fs-12);color:var(--text-3)}.sort-select{display:none;align-items:center;gap:4px}.sort-select select{width:auto;border:0;background-color:transparent;color:var(--ink);height:var(--control-h);min-height:0;padding:0 24px 0 6px;font-size:var(--fs-12);background-position:right 4px center}.column-menu{position:relative;margin-left:auto}.column-menu>.text-button{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border-radius:var(--radius-s);color:var(--text-2);font-size:var(--fs-12)}.column-menu>.text-button:hover{background:var(--surface-2)}.cell-popover{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:160px;display:grid;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper);box-shadow:var(--shadow-2)}.column-popover{left:auto;right:0}.task-table-wrap{overflow:auto;max-height:min(70dvh,780px);border-block:1px solid var(--line);border-radius:0;overscroll-behavior:contain;scrollbar-color:var(--line-strong) var(--surface-2);scrollbar-width:auto}.task-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:var(--fs-13)}.task-table td,.task-table th{height:44px;padding:0 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.task-table thead th{padding-right:34px;height:36px;position:sticky;top:0;z-index:5;background:var(--bg);border-right:1px solid var(--line);font-size:var(--fs-12);font-weight:600;color:var(--text-3);cursor:grab;-webkit-user-select:none;user-select:none}.task-table thead th.dragging{opacity:.5}.task-table thead th.is-sorted{color:var(--brand)}.th-label{display:inline-flex;align-items:center;gap:2px}.th-label>svg{color:var(--line-strong);opacity:0;transition:opacity .15s}.task-table thead th:hover .th-label>svg{opacity:1}.th-sort{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 6px;border-radius:var(--radius-s);color:inherit;font:inherit;font-weight:500}.th-sort:hover{background:var(--surface-2);color:var(--ink)}.th-sort-idle{opacity:0;transition:opacity .15s}.th-sort:focus-visible .th-sort-idle,.th-sort:hover .th-sort-idle{opacity:.7}.task-table .group-row th{height:40px;position:sticky;top:36px;z-index:4;background:var(--paper);padding:6px 10px;font-size:var(--fs-13);font-weight:500;color:var(--ink)}.task-group-heading{position:sticky;left:10px;display:flex;align-items:center;width:max-content;max-width:min(420px,calc(100vw - 80px))}.task-group-label{overflow:hidden;text-overflow:ellipsis}.task-group-heading>:not(.task-group-label){flex-shrink:0}.task-table .group-row .task-group-heading .count{padding:0 6px;border-radius:10px;background:var(--surface-2)}.group-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:4px;border-radius:var(--radius-s);color:var(--text-3);vertical-align:middle}.group-toggle:hover{background:var(--surface-2);color:var(--ink)}.group-toggle svg{transition:transform .2s}.group-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.task-card-group h3 i,.task-table .group-row i{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;vertical-align:middle}.task-card-group .count,.task-table .group-row .count{margin-left:8px;padding:0;background:transparent;font-size:var(--fs-12);font-weight:500;color:var(--text-3)}:root .task-list .task-table td input[type=date],:root .task-list .task-table td select{width:auto;max-width:140px;border-color:transparent;color:var(--ink);padding:0 8px;background-color:transparent;background-image:none;font-size:var(--fs-12)}:root .task-list .task-table td input[type=date]:hover,:root .task-list .task-table td select:hover{background:var(--surface-2)}:root .task-list .task-table td input[type=date]:focus,:root .task-list .task-table td select:focus{border-color:var(--line);background:var(--paper)}.task-table td input.due-overdue{color:var(--danger);font-weight:600}.task-tr:hover td{background:color-mix(in srgb,var(--surface-2) 50%,transparent)}.task-tr.status-done td{color:var(--text-3)}.task-tr.status-done .cell-title strong{color:var(--text-3);text-decoration:none}.cell-title{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;width:100%;padding:0;text-align:left;white-space:normal}.cell-title strong{display:block;width:100%;font-size:var(--fs-13);font-weight:400;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-title-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:var(--fs-11);color:var(--text-3)}.cell-title-meta>span{display:inline-flex;align-items:center;gap:3px}.cell-title-meta .is-complete{color:var(--success)}.cell-title-meta i{width:6px;height:6px;border-radius:50%}.cell-assignees{position:relative}.cell-button{display:inline-flex;align-items:center;padding:0 6px;color:var(--text-2);min-height:var(--control-h);border-radius:var(--control-radius);font-size:var(--fs-12)}.cell-button:focus-visible,.cell-button:hover{background:var(--surface-2)}.cell-button .avatar{width:22px;height:22px;font-size:var(--fs-11);box-shadow:0 0 0 2px var(--paper)}.cell-button .avatar+.avatar{margin-left:-6px}.cell-hours{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cell-hours small{color:var(--text-3)}.task-table td[data-col=labels]{white-space:normal;max-width:180px}.cell-labels{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;overflow:hidden;min-width:0}.cell-labels .label-tag{flex-shrink:0}:root .task-list .task-table td input[type=date]{width:122px}.priority-select.urgent{color:var(--danger);font-weight:600}.priority-select.important{color:var(--warn);font-weight:600}.status-select.doing{color:var(--brand);font-weight:600}.status-select.done{color:var(--success)}.task-list-empty{padding:18px 0;font-size:var(--fs-12)}.task-cards{display:none}.task-card-group h3{display:flex;align-items:center;padding:12px 0 4px;font-size:var(--fs-13)}.task-cards .task-row{padding-inline:4px}@media (max-width:720px){.task-list-toolbar .column-menu,.task-table-wrap{display:none}.task-cards{display:block}.sort-select{display:inline-flex;margin-left:auto}}.task-pane{position:fixed;top:var(--topbar);right:0;bottom:0;z-index:60;display:flex;flex-direction:column;width:440px;max-width:100vw;background:var(--paper);border-left:1px solid var(--line);box-shadow:-12px 0 32px #1f273010;outline:0;animation:pane-enter .22s ease-out both}.motion-presence[data-state=closing] .task-pane{animation:pane-leave .18s ease-in both;pointer-events:none}@keyframes pane-enter{0%{transform:translateX(24px);opacity:0}}@keyframes pane-leave{to{transform:translateX(24px);opacity:0}}.task-pane-head{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:10px 12px 10px 20px;border-bottom:1px solid var(--line)}.task-pane-head h2{flex:1 1;font-size:var(--fs-14);font-weight:600}.task-pane-body{flex:1 1;min-height:0;display:flex;flex-direction:column}.task-pane .form-stack{flex:1 1;min-height:0;overflow-y:auto;padding:var(--space-4) 20px 0;scrollbar-width:thin}.task-pane .form-actions{position:sticky;bottom:0;display:flex;width:calc(100% + 40px);margin:auto -20px 0;padding:12px 20px 16px;background:var(--paper);border-top:1px solid var(--line)}.task-pane-open .main-shell{margin-right:440px}.progress-segment{display:flex;align-items:center;gap:3px;padding:3px;border-radius:var(--radius-m);background:var(--surface-2)}.progress-segment button{flex:1 1;height:32px;border-radius:7px;font-size:var(--fs-13);font-weight:500;color:var(--text-2);transition:background .15s,color .15s}.progress-segment button[aria-pressed=true]{background:var(--paper);color:var(--brand);font-weight:600;box-shadow:var(--shadow-1)}.progress-segment button:hover:not([aria-pressed=true]):not(:disabled){color:var(--ink)}.status-chip.cancelled{margin-left:6px;color:var(--text-3);background:var(--paper)}@media (max-width:1100px){.task-pane-open .main-shell{margin-right:0}.task-pane{box-shadow:var(--shadow-2)}}@media (max-width:720px){.task-pane{top:0;width:100vw;border-left:0;z-index:110}}@media (prefers-reduced-motion:reduce){.motion-presence[data-state=closing] .task-pane,.task-pane{animation-duration:0s}}.action-menu-shade,.board-lanes{display:none}@media (max-width:720px){.task-board{display:block;margin-inline:0;padding-inline:0;overflow:visible}.board-lanes{display:flex;gap:8px;margin:0 -16px 10px;padding:0 16px;overflow-x:auto;scrollbar-width:none}.board-lanes::-webkit-scrollbar{display:none}.board-lane{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:var(--fs-13);font-weight:500;color:var(--text-2);white-space:nowrap}.board-lane[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.board-lane i{width:8px;height:8px;border-radius:50%}.board-lane .count{padding:0;background:transparent;color:inherit;opacity:.8;font-size:var(--fs-12)}.board-column{display:none;width:100%;min-width:0;max-width:none}.board-column.is-active{display:flex}.board-card-menu{display:block}.board-card-menu .action-menu-trigger{min-width:36px;height:36px;opacity:1}.board-card-top{padding-right:32px}.view-toolbar-actions{position:fixed;left:0;right:0;bottom:0;z-index:30;width:auto;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.view-body{padding-bottom:80px}.action-menu-shade{display:block;position:fixed;inset:0;z-index:120;background:#1f273066;animation:fade-in .2s ease-out both}.action-menu-list{position:fixed;inset:auto 0 0 0;z-index:121;min-width:0;max-height:80dvh;overflow:auto;padding:8px 12px calc(12px + env(safe-area-inset-bottom));border-radius:var(--radius-l) var(--radius-l) 0 0;transform-origin:bottom center;animation:sheet-enter .22s ease-out both}.action-menu-list button{min-height:48px;font-size:var(--fs-14)}.motion-presence[data-state=closing] .action-menu-list{animation:sheet-leave .15s ease-in both}.motion-presence[data-state=closing] .action-menu-shade{animation:fade-out .15s ease-in both}}.panel-heading{padding:14px 0}.timeline-date{margin:0 0 16px}.timeline-list{padding:0 0 10px}.project-summary{padding:4px 0 16px}.small-empty{padding:4px 0 20px}.task-row{padding:14px 4px}.panel-footer{padding:12px 0}.empty{width:100%;flex:1 1 auto;padding:40px 16px 44px;min-height:200px}.empty-icon{width:56px;height:56px;border-radius:var(--radius-l);background:var(--surface-2);color:var(--text-3)}.empty h3{font-size:var(--fs-14);font-weight:600;color:var(--ink)}.empty p{font-size:var(--fs-12);color:var(--text-3)}.right-stack .panel .panel-heading{padding-top:0}.stats-grid .stat{padding:16px 20px}.stats-grid .stat:first-child{padding-left:0}.board-drop-indicator{height:3px;margin:-2px 2px;border-radius:2px;background:var(--brand)}.detail-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line)}.detail-tabs [role=tab]{display:inline-flex;align-items:center;gap:6px;height:34px;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:var(--fs-13);font-weight:500;color:var(--text-2)}.detail-tabs [role=tab][aria-selected=true]{color:var(--ink);font-weight:600;border-bottom-color:var(--brand)}.detail-tabs .count{padding:0;background:transparent;color:var(--text-3);font-size:var(--fs-11)}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.activity-list li{display:flex;gap:10px;align-items:flex-start}.activity-list .avatar.small{width:24px;height:24px;font-size:var(--fs-11);margin-top:1px}.activity-body{flex:1 1;min-width:0}.activity-body p{font-size:var(--fs-13);line-height:1.55;color:var(--text-2);overflow-wrap:anywhere}.activity-body strong{color:var(--ink);font-weight:600}.activity-body em{font-style:normal;color:var(--ink)}.activity-task{padding:0 2px;color:var(--brand);font-weight:550;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.activity-reason{color:var(--text-3)}.activity-body time{display:block;margin-top:2px;font-size:var(--fs-11);color:var(--text-3)}.activity-loading{font-size:var(--fs-12);padding:8px 0}.plan-activity{display:flex;flex-direction:column;gap:var(--space-4);padding:0 22px 22px}.plan-activity-filters{display:flex;gap:8px}.plan-activity-filters select{width:auto;min-width:140px}.plan-activity .secondary.small{align-self:center}.my-tasks-add{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.my-tasks-add input[type=text]{flex:1 1 auto;min-width:0}.my-tasks-add button{flex:0 0 auto}.my-tasks-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-2);border-bottom:1px solid var(--line)}.my-tasks-toolbar .view-switch{flex:0 1 auto}.my-tasks-controls{margin-left:auto;display:flex;align-items:center;gap:var(--space-4);padding-bottom:6px}.my-tasks-controls .checkbox-label{font-size:var(--fs-12);color:var(--text-2)}.my-tasks-group{width:auto}.my-tasks-group-block h3{display:flex;align-items:center;gap:6px;padding:var(--space-4) 0 6px;font-size:var(--fs-12);font-weight:600;color:var(--text-3)}.my-tasks-group-block h3 i{width:8px;height:8px;border-radius:50%}.my-tasks-group-block h3 .count{font-weight:500;color:var(--text-3)}.my-task-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.my-task{position:relative;border-bottom:1px solid var(--line);transition:opacity .16s ease}.my-task.dragging{opacity:.45}.my-task[data-drop=after]:after,.my-task[data-drop=before]:before{content:"";position:absolute;left:0;right:0;height:3px;border-radius:2px;background:var(--brand);pointer-events:none}.my-task[data-drop=before]:before{top:-2px}.my-task[data-drop=after]:after{bottom:-2px}.my-task.is-picked{background:var(--brand-soft)}.my-task-row{display:grid;grid-template-columns:17px minmax(0,1fr) 96px 104px 32px;align-items:center;gap:var(--space-3);min-height:52px;padding:6px 0 6px var(--space-2)}.my-task-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:2px 0;text-align:left;background:transparent;border:0;cursor:pointer}.my-task-main strong{gap:6px;font-size:var(--fs-13);font-weight:400;color:var(--ink);overflow-wrap:anywhere}.my-task-main strong,.my-task-meta{display:flex;flex-wrap:wrap;align-items:center}.my-task-meta{gap:2px 12px;font-size:var(--fs-11);color:var(--text-3)}.my-task-meta>span{display:inline-flex;align-items:center;gap:4px}.my-task-meta i{width:6px;height:6px;border-radius:50%}.my-task.is-done .my-task-main strong{text-decoration:none;color:var(--text-3)}.my-task-status{width:100%}.my-task-row>.select-control .select-display{font-size:var(--fs-12);padding-inline:6px;gap:4px}.my-task-today,select.my-task-status{font-size:var(--fs-12)}.my-task-today{display:inline-flex;align-items:center;justify-content:flex-start;gap:4px;white-space:nowrap}.my-task-today.is-on{color:var(--success)}.icon-button-slot{width:32px}.my-task-editor>div{padding:2px var(--space-2) var(--space-4) calc(17px + var(--space-3) + var(--space-2))}.my-tasks-footer{padding:var(--space-3) 0;font-size:var(--fs-12);color:var(--text-3)}.todo-form{display:grid;gap:12px;max-width:760px}.todo-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.todo-form textarea{min-height:64px}.modal>.todo-form{padding:18px 22px;width:100%}.modal>.todo-dialog-actions{padding:14px 22px;margin:0}@media (max-width:360px){.todo-form .form-grid{grid-template-columns:minmax(0,1fr)}}.adopt-form .button-group,.todo-dialog-actions,.todo-form .button-group{margin-top:var(--space-3)}.todo-dialog-actions{flex-wrap:wrap;padding-top:var(--space-3);border-top:1px solid var(--line)}@media (max-width:720px){.my-task-row{grid-template-columns:17px minmax(0,1fr) 32px;row-gap:var(--space-2)}.my-task-row>.select-control:has(.my-task-status),.my-task-status,.my-task-today{grid-row:2}.my-task-row>.select-control:has(.my-task-status){grid-column:2;width:110px;max-width:50%;justify-self:start}.my-task-status{grid-column:2;width:auto;justify-self:start}span.my-task-status,span.my-task-today{display:none}.select-control:has(.my-task-status)+.my-task-today{grid-column:2;justify-self:end}span.my-task-status+.my-task-today{grid-column:2;justify-self:start}.my-task-row>.action-menu,.my-task-row>.icon-button,.my-task-row>.icon-button-slot{grid-column:3;grid-row:1}.my-task-editor>div{padding-left:var(--space-2)}.my-tasks-controls{flex:1 0 100%;justify-content:space-between;padding-bottom:var(--space-2)}}@media (prefers-reduced-motion:reduce){.my-task{transition:none}}.workload{padding:20px 24px;min-width:0}.workload-caption,.workload-range{overflow-wrap:anywhere;max-width:100%}.workload-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.workload-controls .view-switch{flex:0 0 auto;max-width:100%;flex-wrap:wrap;overflow:visible;gap:4px 22px}.workload-controls .view-switch button{flex-shrink:0}.workload-custom{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-12);color:var(--text-3);flex-wrap:wrap;min-width:0;padding-bottom:var(--space-3)}.workload-custom .temporal-control{width:150px}.workload-range{font-size:var(--fs-11);margin-left:auto}.workload-caption,.workload-note{font-size:var(--fs-11);line-height:1.6;margin:var(--space-2) 0}.workload-table-wrap{overflow-x:auto;margin:var(--space-2) 0}.workload-table{width:100%;min-width:560px;border-collapse:collapse;font-size:var(--fs-12)}.workload-table td,.workload-table th{padding:8px 10px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.workload-table td:first-child,.workload-table th:first-child{text-align:left;white-space:normal}.workload-table th{font-weight:600;color:var(--text-3);font-size:var(--fs-11)}.workload-table tfoot td{font-weight:600;border-bottom:0}.workload-table td.is-overdue{color:var(--danger);font-weight:600}.workload-name{font-weight:500;margin-right:6px}.workload-stack td{background:var(--surface-2);font-weight:600}.workload-sub td:first-child{padding-left:24px;color:var(--text-2)}.workload-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:0;color:var(--text-3)}.workload-detail td{padding:0;border:0;text-align:left;white-space:normal}.workload-distributions{padding:6px 10px 12px 24px;border-bottom:1px solid var(--line)}.workload-distributions>.workload-dist{display:inline-block;vertical-align:top;min-width:200px;margin-right:var(--space-5)}.workload-dist h4{margin:0 0 4px;font-size:var(--fs-11);color:var(--text-3);font-weight:600}.workload-dist ul{list-style:none;margin:0;padding:0}.workload-dist li{display:flex;justify-content:space-between;gap:var(--space-3);padding:2px 0}.workload-actions a{display:inline-flex;align-items:center;gap:4px;text-decoration:none}.workload-privacy-list{list-style:none;margin:var(--space-2) 0 0;padding:0}.workload-privacy-list li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px solid var(--line);font-size:var(--fs-12)}@media (max-width:720px){.workload-table td,.workload-table th{padding:8px 6px}.workload-detail td>.workload-dist{display:block;margin:0 0 var(--space-3)}}.table-import{border-top:1px solid var(--line);padding-top:12px}.table-import h3{margin:0 0 6px;font-size:var(--fs-13);font-weight:600}.table-import>p{margin:0 0 10px;font-size:var(--fs-12);line-height:1.6}.table-import-file{font-size:var(--fs-12);align-self:center}.table-import-mapping{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 12px;margin:12px 0 6px}.table-import-mapping .field>span em{color:var(--danger);font-style:normal;margin-left:2px}.table-import-note{margin:6px 0;font-size:var(--fs-11)}.table-import-summary{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:var(--fs-12);font-weight:500}.table-import-preview{overflow-x:auto;margin:6px 0}.table-import-preview table{width:100%;border-collapse:collapse;font-size:var(--fs-11)}.table-import-preview td,.table-import-preview th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.table-import-preview th{color:var(--text-3);font-weight:600}.table-import-preview tr.has-error td{background:var(--danger-soft)}.table-import-result .inline-error{margin:0;white-space:normal}.table-import-warnings{margin:6px 0;padding-left:18px;font-size:var(--fs-11);line-height:1.6}.table-import-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.markup{font-size:var(--fs-13);line-height:1.65;color:var(--ink);overflow-wrap:anywhere}.markup ol,.markup p,.markup ul{margin:0 0 8px}.markup>:last-child{margin-bottom:0}.markup ol,.markup ul{padding-left:20px}.markup h3,.markup h4{margin:10px 0 4px;font-size:var(--fs-13);font-weight:600}.markup h3{font-size:var(--fs-14)}.markup a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}.markup-editor{display:flex;flex-direction:column;gap:4px}.markup-toolbar{display:flex;flex-wrap:wrap;gap:2px}.markup-tool{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--radius-s);background:transparent;color:var(--text-2)}.markup-tool:hover{background:var(--surface-2);color:var(--ink)}.markup-tool.is-on{background:var(--brand-soft);color:var(--brand)}.markup-preview-toggle{margin-left:auto}.markup-preview{min-height:60px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-2)}.markup-editor.compact .markup-preview{min-height:38px}.markup-editor textarea{width:100%}.draft-desc{margin:4px 0 6px;font-size:var(--fs-12);color:var(--text-2)}.board-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;line-height:1.45}.board-card-desc,.cell-desc{overflow:hidden;font-size:var(--fs-11);color:var(--text-3)}.cell-desc{display:block;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.template-picker{display:flex;flex-direction:column;gap:6px;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--line)}.template-picker-summary{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:var(--fs-12);line-height:1.55}.template-picker-summary svg{flex:0 0 auto;margin-top:3px}.template-picker .text-button{align-self:flex-start}.template-public{font-size:var(--fs-12)}.template-list{list-style:none;margin:0;padding:0}.template-list li{padding:10px 0;border-top:1px solid var(--line)}.template-list li:first-child{border-top:0;padding-top:0}.template-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.template-row-main{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:2px}.template-row-main small{font-size:var(--fs-11);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-row .text-button{display:inline-flex;align-items:center;gap:4px}.template-rename{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.template-rename input{flex:1 1 200px}.board-card-select input,.select-cell input,.task-card-select input{width:16px;height:16px;margin:0;accent-color:var(--brand);cursor:pointer}.task-row.is-selected,.task-tr.is-selected td{background:var(--brand-soft)}.board-card{position:relative}.board-card-select{position:absolute;top:8px;left:8px;z-index:2;display:flex;opacity:0;transition:opacity .12s ease}.board-card-select:focus-within,.board-card.is-selected .board-card-select,.board-card:hover .board-card-select,.task-board[data-has-selection] .board-card-select{opacity:1}.board-card.is-selected{outline:2px solid var(--brand);outline-offset:-1px}.board-card.is-selected .board-card-top,.task-board[data-has-selection] .board-card-top{padding-left:22px}.task-card-select{display:flex;align-items:center;margin-right:4px}.task-card-row{display:flex;align-items:center;gap:var(--space-2)}.task-card-row>.task-row{flex:1 1;min-width:0}.task-card-row.is-selected{background:var(--brand-soft)}.bulk-bar{position:sticky;top:calc(var(--topbar) + 8px);z-index:20;margin:0 0 var(--space-3);padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper);box-shadow:var(--shadow-1);animation:content-enter .16s ease-out backwards}.bulk-bar-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.bulk-bar-row+.bulk-bar-row{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.bulk-bar select{width:auto;font-size:var(--fs-12)}.bulk-bar .text-button{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-12)}.bulk-count{font-size:var(--fs-12);white-space:nowrap}.bulk-note{font-size:var(--fs-11);flex-basis:100%}.bulk-clipboard{display:inline-flex;gap:2px}.bulk-clear{margin-left:auto}.bulk-bar .message.error,.bulk-bar.message.error{margin-bottom:0}@media (max-width:720px){.board-card-select{opacity:1}.board-card-top{padding-left:22px}.bulk-bar{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:31;margin:0;max-height:60dvh;overflow:auto;border-radius:var(--radius-l) var(--radius-l) 0 0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:var(--shadow-2)}.bulk-bar select{flex:1 1 40%;font-size:var(--fs-12)}}@media (prefers-reduced-motion:reduce){.bulk-bar{animation:none}.board-card-select{transition:none}}.plan-files-panel{padding:20px 24px}.plan-files-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.plan-files-toolbar input[type=search]{flex:1 1 220px;min-width:min(100%,220px)}.plan-files-toolbar .view-switch{flex:0 0 auto}.plan-files-count{font-size:var(--fs-11);white-space:nowrap;margin-left:auto}@media (max-width:720px){.plan-files-panel{padding:16px}}.plan-file-group h3{display:flex;align-items:center;gap:6px;padding:12px 0 4px;font-size:var(--fs-12);font-weight:600;color:var(--text-3)}.plan-file-group h3 .text-button{font-weight:600;color:var(--ink)}.plan-file-group ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.plan-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:8px 4px;border-bottom:1px solid var(--line)}.plan-file-icon{display:inline-flex;color:var(--text-3)}.plan-file-main{display:flex;flex-direction:column;gap:2px;min-width:0}.plan-file-main a{color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.plan-file-main a:hover{text-decoration:underline}.plan-file-main small,.plan-file-task{font-size:var(--fs-11)}.plan-file-task{padding:0;min-height:0}.plan-file-action{color:var(--text-2)}.timeline-controls{margin-bottom:var(--space-3)}.timeline-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:var(--space-4);align-items:start}.timeline-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper)}.timeline-layout,.timeline-view{width:100%;min-width:0}.timeline{width:max(100%,var(--timeline-width));--timeline-label:220px}.timeline-row{display:grid;grid-template-columns:var(--timeline-label) minmax(0,1fr);height:36px;border-bottom:1px solid var(--line)}.timeline-head{position:sticky;top:0;z-index:3;background:var(--surface-2);font-size:var(--fs-11);color:var(--text-3)}.timeline-head .timeline-track{display:grid;grid-template-columns:repeat(var(--timeline-columns),minmax(0,1fr))}.timeline-tick{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;border-left:1px solid var(--line);overflow:hidden}.timeline-tick.current{color:var(--brand)}.timeline-tick small{font-size:var(--fs-11)}.timeline-label{display:flex;align-items:center;gap:6px;min-width:0;padding:0 10px;font-size:var(--fs-12);text-align:left;background:transparent;border:0;border-right:1px solid var(--line);color:var(--ink);position:sticky;left:0;z-index:2;background:var(--paper)}.timeline-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-group-head .timeline-label i,.timeline-label i{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.timeline-group-head{height:30px;background:var(--surface-2)}.timeline-group-head .timeline-label{font-weight:600;background:var(--surface-2)}.timeline-track{position:relative;min-width:0;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(100% / var(--timeline-columns)) 100%}.timeline-track.is-over{background-color:var(--brand-soft)}.timeline-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--danger);opacity:.7;pointer-events:none;z-index:1}.timeline-bar{position:absolute;top:7px;height:22px;min-width:6px;display:flex;align-items:center;border-radius:6px;color:#fff;font-size:var(--fs-11);padding:0 8px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:var(--shadow-1)}.timeline-bar.inferred-end,.timeline-bar.inferred-start{background-image:repeating-linear-gradient(135deg,transparent 0 6px,#ffffff33 6px 12px)}.timeline-bar.done{opacity:.55}.timeline.is-dragging .timeline-bar{cursor:grabbing}.timeline-bar-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize}.timeline-handle.start{left:0;border-radius:6px 0 0 6px}.timeline-handle.end{right:0;border-radius:0 6px 6px 0}.timeline-bar:hover .timeline-handle{background:#ffffff55}.timeline-offscreen{position:absolute;left:10px;top:0;bottom:0;display:flex;align-items:center;font-size:var(--fs-11)}.timeline-empty{padding:24px 12px}.timeline-tray{border:1px solid var(--line);border-radius:var(--radius-m);padding:10px 12px;background:var(--paper);max-height:60vh;overflow:auto}.timeline-tray h3{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:var(--fs-12);font-weight:600;color:var(--text-3)}.timeline-tray ul{list-style:none;margin:0;padding:0}.timeline-tray li{padding:4px 0;cursor:grab}.timeline-tray li button{background:transparent;border:0;padding:4px 0;text-align:left;font-size:var(--fs-12);color:var(--ink)}.timeline-drag-hint{margin:8px 0 0;font-size:var(--fs-11)}@media (max-width:720px){.timeline-layout{grid-template-columns:minmax(0,1fr)}.timeline{--timeline-label:140px}.timeline-tray{max-height:none}}.dependency-editor ul{list-style:none;margin:0 0 6px;padding:0}.dependency-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid var(--line)}.dependency-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-12)}.dependency-row select{width:auto;font-size:var(--fs-12)}.dependency-lag{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-11);color:var(--text-3)}.dependency-lag input{width:58px;font-size:var(--fs-12)}.dependency-add{display:flex;align-items:center;gap:6px;margin-top:4px}.dependency-add select{flex:1 1 auto}.dependency-empty{margin:0 0 6px;font-size:var(--fs-12)}.timeline{position:relative}.timeline-links{position:absolute;top:0;pointer-events:none;z-index:2;overflow:visible}.timeline-links path{fill:none;stroke:var(--text-3);stroke-width:1.5;opacity:.8}.timeline-links circle{fill:var(--text-3)}.timeline-links g.is-bad path{stroke:var(--danger);stroke-width:2;opacity:1}.timeline-links g.is-bad circle{fill:var(--danger)}.timeline-row.is-violating .timeline-bar{outline:2px solid var(--danger);outline-offset:1px}.timeline-violations ul{margin:4px 0 0;padding-left:18px;font-size:var(--fs-12)}.timeline-violations li{padding:2px 0}.timeline-violations .text-button{margin-left:6px}@media (max-width:720px){.dependency-row{grid-template-columns:minmax(0,1fr) auto}.dependency-row select{grid-column:1/2;font-size:var(--fs-12)}}.timeline-critical-toggle{display:inline-flex;align-items:center;gap:4px}.timeline-critical-toggle.is-on{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-400)}.timeline-critical-note{margin:0 0 var(--space-3);font-size:var(--fs-12);color:var(--brand);font-weight:500}.timeline-bar.is-critical{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--danger)}.timeline-links g.is-critical path{stroke:var(--danger);stroke-width:2.5;opacity:1}.timeline-links g.is-critical circle{fill:var(--danger)}.task-milestone{color:var(--brand);margin-right:4px;font-size:.85em}.timeline-milestone{position:absolute;top:6px;height:24px;display:flex;align-items:center;gap:4px;margin-left:-8px;padding:0 4px;color:var(--brand);font-size:var(--fs-13);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;white-space:nowrap}.timeline-milestone .timeline-bar-text{font-size:var(--fs-11);color:var(--ink)}.timeline-milestone.is-critical{color:var(--danger)}.roadmap-milestone{color:var(--brand)}.roadmap-milestone.done{color:var(--success)}.timeline-tick.is-off{background:repeating-linear-gradient(135deg,transparent 0 4px,#0000000c 4px 8px)}.roadmap-off{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,transparent 0 4px,#0000000f 4px 8px);pointer-events:none}:root[data-theme=dark] .roadmap-off,:root[data-theme=dark] .timeline-tick.is-off{background:repeating-linear-gradient(135deg,transparent 0 4px,#ffffff14 4px 8px)}.work-calendar{border:1px solid var(--line);border-radius:var(--radius-m);padding:10px 12px 4px;margin:0}.work-calendar legend{font-size:var(--fs-12);color:var(--text-3);padding:0 4px}.work-calendar-days{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:8px}.due-off-hint{color:var(--warn)}.workload-grid-wrap{display:flex;flex-direction:column;gap:12px}.workload-grid-toolbar .secondary.is-on{border-color:var(--brand);color:var(--brand)}.workload-grid-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md,10px);background:var(--surface)}.workload-grid{width:100%;min-width:720px;border-collapse:collapse;font-size:var(--fs-12)}.workload-grid td,.workload-grid th{border-bottom:1px solid var(--line);border-left:1px solid var(--line);padding:4px;text-align:center;vertical-align:middle}.workload-grid td:first-child,.workload-grid th:first-child{border-left:0;text-align:left;padding:6px 10px;min-width:140px;position:sticky;left:0;background:var(--surface);z-index:1}.workload-grid thead th{font-weight:600;background:var(--surface-2,var(--surface));padding:6px 4px}.workload-grid thead th small,.workload-grid thead th span{display:block;line-height:1.2}.workload-grid thead th small{font-size:var(--fs-11);font-weight:400;color:var(--muted)}.workload-grid td.current,.workload-grid thead th.current{background:color-mix(in srgb,var(--brand) 6%,transparent)}.workload-grid thead th.current span{color:var(--brand)}.workload-grid .workload-name{display:block;font-weight:600}.workload-grid th[scope=row] small{display:block;font-size:var(--fs-11);font-weight:400}.load-row.is-unassigned th[scope=row] .workload-name{font-weight:500;color:var(--muted)}.load-row.is-drop-target td,.load-row.is-drop-target th,.load-task.is-drop-target td,.load-task.is-drop-target th{background:color-mix(in srgb,var(--brand) 12%,transparent)}.load-cell{appearance:none;border:0;background:transparent;color:inherit;font:inherit;width:100%;min-width:52px;min-height:34px;padding:3px 4px;border-radius:6px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease}.load-cell:disabled{cursor:default}.load-cell:not(:disabled):hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.load-cell.is-active{box-shadow:inset 0 0 0 2px var(--brand)}.load-cell .load-hours{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.load-cell.is-empty .load-hours:before{content:"–";color:var(--muted);font-weight:400}.load-cell .load-bar{display:block;height:4px;border-radius:2px;background:color-mix(in srgb,var(--muted) 20%,transparent);overflow:hidden}.load-cell .load-bar i{display:block;height:100%;background:var(--brand);border-radius:2px;transition:width .2s ease}.load-cell.is-over{background:color-mix(in srgb,var(--danger,#c8102e) 12%,transparent);color:var(--danger,#c8102e)}.load-cell.is-over .load-bar i{background:var(--danger,#c8102e)}.load-total{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.load-task td,.load-task th[scope=row]{background:color-mix(in srgb,var(--muted) 5%,var(--surface));color:var(--muted);font-weight:400}.load-task th[scope=row]{padding-left:22px}.load-task[draggable=true]{cursor:grab}.load-task.is-dragging td,.load-task.is-dragging th{opacity:.5}.load-task-title{color:var(--text);text-align:left}.load-task th[scope=row] small{display:block}.load-task-hours{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.load-detail{border:1px solid var(--line);border-radius:var(--radius-md,10px);padding:10px 12px;background:var(--surface);animation:fade-in .18s ease}.load-detail-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.load-detail-head button{margin-left:auto}.load-detail-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.load-detail-list li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:var(--fs-13)}.load-detail-list li .muted{font-size:var(--fs-12)}.portfolio-workload{margin-top:8px}@media (max-width:640px){.workload-grid td:first-child,.workload-grid th:first-child{min-width:96px}.load-cell{min-width:44px}}@media (prefers-reduced-motion:reduce){.load-cell,.load-cell .load-bar i,.load-detail{transition:none;animation:none}}.field-panel .field-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.field-row{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:var(--surface)}.field-row-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.field-row-main .field-name{flex:1 1 140px;min-width:120px}.field-row-main .field-count{font-size:var(--fs-12)}.field-row-main .checkbox-label{margin:0;font-size:var(--fs-12)}.field-options{margin:0}.field-options small{display:block;margin-top:2px}.field-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--brand) 8%,transparent);font-size:var(--fs-13);animation:fade-in .16s ease}.field-empty{padding:6px 0}.field-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.field-add input:first-child{flex:1 1 200px}.field-add input+input{flex:1 1 160px}.custom-fields{border:1px solid var(--line);border-radius:10px;padding:8px 12px 12px;margin:0;min-width:0}.custom-fields legend{font-size:var(--fs-12);color:var(--muted);padding:0 4px}.custom-fields .custom-field-bool{align-self:end;margin-bottom:8px}.cell-field{max-width:140px}.cell-field-text{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.board-card-fields{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:var(--fs-12);margin-top:4px}.board-card-field{display:inline-flex;align-items:baseline;gap:4px}.board-card-field small{color:var(--muted);font-size:var(--fs-11)}.task-filter-range input{max-width:120px}@media (prefers-reduced-motion:reduce){.field-confirm{animation:none}}.task-row.has-rule,.task-tr.has-rule>td:first-child,.task-tr.has-rule>th:first-child{box-shadow:inset 4px 0 0 var(--rule)}.board-card.has-rule{border-left:4px solid var(--rule)}.timeline-bar.has-rule:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--rule);border-radius:6px 0 0 6px}.rule-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rule-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.rule-order{width:18px;font-size:var(--fs-12);color:var(--muted);text-align:right}.rule-swatch{width:14px;height:14px;border-radius:4px;flex-shrink:0}.rule-row .rule-name{flex:1 1 120px;min-width:100px}.rule-when{flex:1 1 100%;font-size:var(--fs-12);padding-left:26px}.rule-actions{display:inline-flex;gap:2px;margin-left:auto}.rule-empty{padding:6px 0}.rule-add{display:flex;flex-direction:column;gap:8px}.rule-add-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rule-add-row input:first-child{flex:1 1 200px}.rule-picks{border:1px solid var(--line);border-radius:8px;padding:6px 10px 8px;margin:0;display:flex;flex-wrap:wrap;gap:4px 14px}.rule-picks legend{font-size:var(--fs-12);color:var(--muted);padding:0 4px}.rule-picks .checkbox-label{margin:0}.rule-add-row select,.rule-row select{width:auto;flex:0 0 auto}.rule-add-row input[type=date],.rule-add-row input[type=number],.rule-add-row input[type=text]{flex:1 1 140px;width:auto}.task-title-layout{display:flex;align-items:center;gap:6px;min-width:0;padding-left:calc(var(--depth, 0) * 18px)}.tree-spacer,.tree-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:26px;padding:0;border-radius:4px;color:var(--text-2)}.tree-toggle:hover,.tree-toggle[aria-expanded=true]{background:var(--brand-soft);color:var(--brand)}.tree-toggle svg{transition:transform .2s ease}.tree-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.task-state-icon{display:inline-flex;flex-shrink:0;color:var(--text-3)}.task-state-icon.done{color:var(--success)}.task-state-icon.doing{color:var(--brand)}.task-state-icon.cancelled{color:var(--text-3)}.task-tr.is-summary .cell-title strong{font-weight:500}.cell-date-summary,.cell-hours.is-summary{color:var(--text-2);font-style:italic}.cell-subtasks.is-complete{color:var(--success)}.board-card-parent{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:var(--fs-11);color:var(--muted);margin-bottom:2px}.timeline-label.is-summary span{font-weight:650}.timeline-bar.is-summary{top:12px;height:12px;border-radius:3px;cursor:default;opacity:.9;font-size:0}.timeline-bar.is-summary:after{content:"";position:absolute;left:0;right:0;bottom:-4px;border-bottom:2px solid;opacity:.35}.offline-banner{margin:0 0 12px;padding:8px 14px;border-radius:10px;text-align:center;font-size:var(--fs-13);color:var(--warn);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}.app-shell.is-offline .primary,.app-shell.is-offline .secondary:not(.view-switch button){filter:saturate(.6)}.repeat-controls{border:0;padding:0;margin:0;min-width:0}.repeat-custom{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:6px}.field .repeat-custom input[type=number],.repeat-custom input[type=number]{width:72px;flex:0 0 auto}.field .repeat-custom select,.repeat-custom select{width:auto;flex:0 0 auto}.repeat-custom .checkbox-label{margin:0;font-size:var(--fs-12)}.repeat-monthday{display:inline-flex;align-items:center;gap:4px}.field .repeat-monthday input,.repeat-monthday input{width:64px}.cell-repeat{display:inline-flex;align-items:center;gap:3px}.pcal-repeats{margin:0;font-size:var(--fs-12);order:2}.pcal-chip.is-ghost{opacity:.55;border-style:dashed;cursor:pointer}.timeline-repeat-toggle.is-on{border-color:var(--brand);color:var(--brand)}.timeline-bar.is-ghost{background:repeating-linear-gradient(135deg,transparent 0 4px,color-mix(in srgb,currentColor 18%,transparent) 4px 8px);border:2px dashed;color:var(--text-2);box-shadow:none;opacity:.8;pointer-events:none;cursor:default}.schedule-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.schedule-undo small{display:block;margin-top:2px}.calendar-feed-status{display:flex;flex-direction:column;gap:10px}.calendar-feed-url{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.calendar-feed-url input{flex:1 1 320px;font-family:var(--mono,ui-monospace,monospace);font-size:var(--fs-12)}.review-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-controls .segmented{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden}.review-controls .segmented button{background:transparent;border:0;color:var(--muted)}.review-controls .segmented button.active{background:var(--brand-soft);color:var(--brand);font-weight:600}.review-pager{align-items:center}.review-pager .review-label{font-size:var(--fs-13);min-width:9em;text-align:center}.review-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.review-table td:first-child{display:flex;align-items:center;gap:8px}.review-table .plan-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.review-unfinished{list-style:none;margin:0;padding:0}.review-unfinished>li{padding:12px 0;border-bottom:1px solid var(--line)}.review-unfinished>li:last-child{border-bottom:0}.review-unfinished-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.review-unfinished-head .link-button{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}.review-unfinished-head .link-button:hover{color:var(--brand)}.review-unfinished .muted,.review-unfinished-head small{font-size:var(--fs-11);color:var(--muted)}.review-reasons{margin:6px 0 0;padding-left:18px;font-size:var(--fs-12);line-height:1.6}.review-rejected{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.review-rejected h3{font-size:var(--fs-12);color:var(--muted);margin-bottom:6px}.review-rejected p{font-size:var(--fs-12);margin:2px 0}.review-summary{font-size:var(--fs-13);line-height:1.7;white-space:pre-wrap}.review-actions .button-group{flex-wrap:wrap}@media (max-width:720px){.review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.review-view .page-heading{flex-wrap:wrap}.review-view .page-heading h1{flex:1 1 100%}.review-controls{width:100%}.review-view .panel-heading{flex-wrap:wrap;gap:4px 12px}.review-view .panel-heading>.muted{flex:1 1 100%;font-size:var(--fs-11)}}.notification-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px}.notification-row .mail-option{font-size:var(--fs-12);color:var(--muted)}.notification-row .mail-option svg{margin-right:2px;vertical-align:-2px}.digest-option{margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}.goals-plan+.goals-plan{margin-top:28px}.goals-count{font-size:var(--fs-12);font-weight:400;margin-left:8px}.goal-form{padding:14px 0 18px;border-bottom:1px solid var(--line)}.goal-list{list-style:none;margin:0;padding:0}.goal-row{padding:12px 0;border-bottom:1px solid var(--line)}.goal-head{display:grid;grid-template-columns:24px minmax(0,1fr) 160px auto;gap:8px 14px;align-items:center}.goal-toggle{background:none;border:0;padding:2px;color:var(--muted);cursor:pointer}.goal-toggle svg{transition:transform .18s ease}.goal-toggle svg.is-open{transform:rotate(180deg)}.goal-main strong{display:block;font-size:var(--fs-13)}.goal-main small{color:var(--muted);font-size:var(--fs-11)}.goal-desc{font-size:var(--fs-12);color:var(--muted);margin:4px 0 0}.goal-status{font-weight:600}.goal-status-on_track{color:#29966f}.goal-status-at_risk{color:#c9781c}.goal-status-achieved{color:var(--brand)}.goal-status-abandoned{color:var(--muted);text-decoration:none}.goal-progress{display:flex;align-items:center;gap:10px}.goal-progress .mini-track{flex:1 1}.goal-progress strong{font-size:var(--fs-12);min-width:3em;text-align:right}.goal-actions{display:flex;flex-wrap:wrap;gap:4px 10px}.goal-actions,.goal-confirm{align-items:center;font-size:var(--fs-12)}.goal-confirm{color:var(--muted);display:inline-flex;gap:8px}.goal-tasks{list-style:none;margin:8px 0 0 38px;padding:0}.goal-tasks li{display:flex;gap:10px;align-items:baseline;padding:4px 0;font-size:var(--fs-12)}.goal-tasks .link-button{background:none;border:0;padding:0;font:inherit;color:var(--ink);cursor:pointer}.goal-tasks .link-button.is-done{color:var(--muted);text-decoration:none}.goal-tasks small{color:var(--muted)}.goal-picker{display:flex;flex-wrap:wrap;gap:6px 16px}@media (max-width:720px){.goal-head{grid-template-columns:24px minmax(0,1fr)}.goal-actions,.goal-progress{grid-column:2}}.cell-due{display:inline-flex;align-items:center;gap:4px}.cell-due small{font-size:var(--fs-11);color:var(--text-3);white-space:nowrap}.plan-github a{color:inherit;text-decoration:underline;text-underline-offset:2px}.plan-github-error{color:var(--danger)}.plan-github-sync{display:inline-flex;margin-left:var(--space-2);font-size:var(--fs-12);vertical-align:baseline}.task-sync-failed{display:inline-grid;place-items:center;width:14px;height:14px;margin-right:4px;border-radius:50%;background:var(--danger);color:var(--paper);font-size:var(--fs-11);font-weight:700;vertical-align:1px}.read-only-note{margin:0 0 var(--space-3);padding:10px 14px;border-radius:var(--radius-m);background:var(--warn-soft);color:var(--warn)}.progress-lead,.read-only-note{font-size:var(--fs-13);line-height:1.6}.progress-lead{margin:-8px 0 var(--space-5);color:var(--text-3)}.progress-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.progress-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}.progress-card:hover{border-color:var(--line-strong)}.progress-card-main{display:flex;flex-direction:column;gap:12px;padding:18px;text-align:left;color:var(--ink)}.progress-card-title{display:flex;align-items:center;gap:8px;min-width:0}.progress-card-title i{width:9px;height:9px;border-radius:50%;background:var(--project-color);flex-shrink:0}.progress-card-title strong{flex:1 1;min-width:0;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-status{flex-shrink:0;padding:2px 8px;border-radius:10px;font-size:var(--fs-12)}.progress-status.is-done,.progress-status.is-ok{background:var(--success-soft);color:var(--success)}.progress-status.is-risk{background:var(--danger-soft);color:var(--danger)}.progress-card .mini-track i{background:var(--project-color)}.progress-card-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;font-size:var(--fs-13);color:var(--text-2)}.progress-card-line.muted{justify-content:flex-start;font-size:var(--fs-12);color:var(--text-3)}.progress-card-line .is-overdue{color:var(--danger)}.progress-github{display:inline-flex;align-items:center;gap:3px}.progress-workload{align-self:stretch;justify-content:center;gap:6px;height:38px;border-top:1px solid var(--line);border-radius:0}.task-table tbody td{height:auto;padding:0;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);vertical-align:middle}.task-cell-padding{padding:3px 8px;min-height:36px;display:flex;align-items:center;min-width:0}.task-table .select-cell{width:40px;padding:0;text-align:center;vertical-align:middle}.task-table .select-cell input{display:block;margin-inline:auto}.task-table .select-cell .task-cell-padding{display:flex;align-items:center;justify-content:center}.task-tr:hover td{background:var(--surface-2)}.task-tr.is-subtask td{background:color-mix(in srgb,var(--paper) 96%,var(--brand))}.task-tr.is-subtask td[data-col=title] .task-cell-padding{box-shadow:inset 3px 0 var(--line-strong)}.task-tr:has(.tree-toggle[aria-expanded=true]) td[data-col=title]{background:var(--brand-soft)}.task-tr.is-selected td{background:var(--brand-soft)}.task-tr.status-done .cell-title strong{color:var(--ink)}.task-list .cell-desc{display:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-list.show-details .cell-desc{display:block}.cell-title-meta{flex-wrap:nowrap;overflow:hidden;width:100%;gap:8px;white-space:nowrap;line-height:16px}.cell-title-meta:empty{display:none}.cell-title-meta>span{flex-shrink:0}.cell-title-meta .cell-repeat{max-width:100px;overflow:hidden}.task-list-toolbar{min-height:38px;padding:2px 0 8px;gap:8px}.task-list-toolbar>.count{margin-right:auto}.column-menu{margin-left:0}.column-navigation{display:flex;align-items:center;--icon-button-size:28px}.column-navigation .icon-button{color:var(--text-2)}:root .task-list .task-table td select{width:100%;max-width:100%;padding-right:18px;background-image:var(--chevron);background-position:right 3px center}:root .task-list .task-table td select.status-select{border-radius:5px;font-weight:500}:root .task-list .task-table td select.status-select.done{color:var(--success);background-color:transparent}:root .task-list .task-table td select.status-select.doing{color:var(--brand);background-color:transparent}:root .task-list .task-table td select.priority-select.urgent{color:var(--danger)}:root .task-list .task-table td select.priority-select.important{color:var(--warn)}.task-table .cell-popover{z-index:8}.task-table td:has(.cell-popover){position:relative;z-index:6}.cell-popover{animation:menu-enter .16s ease both}.motion-presence[data-state=closing] .cell-popover{animation:menu-leave .16s ease both}.filter-panel{max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain}.filter-multi{align-self:start;min-width:0;border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--paper)}.filter-multi.has-value{border-color:var(--brand-400)}.filter-multi-trigger{display:flex;align-items:center;gap:6px;width:100%;min-height:var(--control-h);padding:0 10px;text-align:left;font-size:var(--fs-13)}.filter-multi-trigger>span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-multi-trigger b{padding:0 5px;border-radius:4px;background:var(--brand-soft);color:var(--brand);font-size:var(--fs-11)}.filter-multi-trigger svg{transition:transform .2s ease}.filter-multi-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.filter-multi-options{display:grid;gap:2px;max-height:200px;overflow-y:auto;padding:6px;border-top:1px solid var(--line)}.filter-multi-options .checkbox-label{margin:0;padding:5px;min-height:32px;border-radius:4px;align-items:flex-start}.filter-multi-options .checkbox-label input{margin-top:3px}.filter-multi-options .checkbox-label:hover{background:var(--surface-2)}.filter-multi-options .checkbox-label:has(:checked){background:var(--brand-soft);color:var(--brand)}.filter-multi-options .text-button{justify-self:end;padding:4px;font-size:var(--fs-12)}@media (max-width:720px){.column-navigation,.list-details-toggle{display:none}.filter-panel{max-height:85dvh}.filter-multi-options .checkbox-label{min-height:40px}}@media (prefers-reduced-motion:reduce){.filter-multi-trigger svg,.group-toggle svg,.tree-toggle svg{transition:none}.cell-popover,.motion-presence[data-state=closing] .cell-popover{animation:none}}.task-title-layout{min-height:30px}.task-list .cell-title{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:8px}.task-list .cell-title strong{width:auto;min-width:0;flex:1 1}.task-list .cell-title-meta{width:auto;max-width:100px}.task-list .cell-desc{order:3;flex-basis:100%}.task-list.show-details .task-cell-padding{min-height:60px}.task-list.show-details .task-title-layout{min-height:50px}.assignee-popover{width:min(300px,calc(100vw - 16px));max-height:min(360px,calc(100dvh - 16px));padding:0;z-index:80}.assignee-options{overflow:auto;min-height:0;padding:6px}.assignee-popover .checkbox-label{margin:0;padding:8px;min-height:38px;gap:10px;border-radius:6px}.assignee-popover .checkbox-label:hover{background:var(--surface-2)}.assignee-avatars{display:inline-flex;flex-shrink:0}.assignee-names{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-assignees,.cell-assignees .cell-button,.task-cell-padding>.task-title-layout{width:100%;min-width:0}.task-table input[type=checkbox]{appearance:none;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper)}.task-table input[type=checkbox]:checked{appearance:auto;accent-color:var(--brand)}.mobile-tree-toggle{align-self:center}.task-cards .task-card-row{min-width:0}.task-filter-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;grid-column:1/-1}.th-label{display:flex;max-width:100%}.th-label,.th-sort{min-width:0}.th-sort-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-date-editor{position:relative;display:block}.date-placeholder{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.cell-date-editor:focus-within .date-placeholder{display:none}:root .task-list .task-table td input.is-empty:not(:focus){color:transparent}.task-table input[type=date]::-webkit-calendar-picker-indicator{opacity:0}.task-table input[type=date]:is(:hover,:focus)::-webkit-calendar-picker-indicator{opacity:1}.task-table tr.task-tr-hidden td{border-bottom:0}@media (min-width:721px){.main-shell:has(.project-worksheet){height:calc(100dvh - var(--topbar));min-height:0}.main-shell:has(.project-worksheet)>main{display:flex;flex-direction:column;flex:1 1;min-height:0;padding:16px 20px 12px}.project-worksheet,.project-worksheet .task-list,.project-worksheet>.view-body,.view-content:has(.project-worksheet){display:flex;flex-direction:column;flex:1 1;min-height:0}.project-worksheet .task-table-wrap{flex:1 1;min-height:0;max-height:none}.project-worksheet .task-list-toolbar{flex-shrink:0}.main-shell:has(.project-worksheet)>.page-footer{padding:0 20px 10px}.project-worksheet .view-switch{gap:4px}.project-worksheet .view-switch .view-tab>button:first-child{padding:0 12px;border:1px solid transparent;border-radius:6px 6px 0 0;height:36px}.project-worksheet .view-switch .view-tab>button[aria-pressed=true]{border-color:var(--line);border-bottom-color:var(--bg);background:var(--bg)}.project-worksheet .view-switch button svg{display:block}}.task-table td:focus-within{box-shadow:inset 0 0 0 2px var(--brand)}.task-table thead .select-cell{padding-right:0}.column-actions{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.column-actions .action-menu-trigger{width:24px;height:24px;color:var(--text-3)}.column-resizer{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;touch-action:none;z-index:2}.column-resizer:focus,.column-resizer:hover{background:color-mix(in srgb,var(--brand) 35%,transparent)}.action-menu-portal{margin:0}.column-values-popover{padding:12px;overflow-y:auto}.task-table .temporal-control{height:var(--control-h);border-color:transparent;background:transparent}.task-table .temporal-control:hover{border-color:var(--line)}.task-table .temporal-control>input{font-size:var(--fs-12);color:var(--text-2)}.task-table .temporal-control>input.is-empty{color:var(--text-2)}.task-table .select-control .select-display{border-color:transparent;background:transparent;padding-left:8px;font-size:var(--fs-12)}.task-table .select-control:hover .select-display{border-color:var(--line)}.cell-date-editor{width:100%;min-width:0}.pcal-scroll-controls{display:flex;align-items:center}@media (max-width:720px){.workload{padding:16px}}.task-table :is(th,td):last-child{border-right:0}.history-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.history-entry{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.history-entry>div:first-child{flex:1 1;min-width:0;overflow-wrap:anywhere}.history-entry p,.history-entry small{color:var(--muted)}.history-confirm{flex-basis:100%;padding:12px;background:var(--surface-2)}.admin-page{max-width:1200px;margin:auto;padding:28px}.admin-heading,.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.admin-heading>div{min-width:0}.admin-toolbar input{max-width:440px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;margin:24px 0}.admin-stats strong{display:block;font-size:28px}.admin-table-wrap{overflow-x:auto;margin-block:20px}.admin-table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap}.admin-table-wrap td,.admin-table-wrap th{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.account-dropdown a[role=menuitem]{display:flex;padding:10px 14px;color:var(--ink)}@media (max-width:720px){.page-heading{flex-wrap:wrap;align-items:center;gap:12px}.page-heading-title{flex-shrink:0}.page-heading h1{white-space:nowrap}.schedule-actions{width:100%;flex-wrap:nowrap;gap:6px}.schedule-actions .today-switch{flex:1 1;min-width:0}.schedule-actions>.primary,.schedule-actions>a{flex-shrink:0;padding-inline:9px}.calendar-export span{display:none}.calendar-view-switch{height:var(--control-h);align-items:center}.calendar-view-switch>button{height:calc(var(--control-h) - 8px);min-height:0}.calendar-view-controls{flex-wrap:nowrap}.calendar-view-controls>.secondary{padding-inline:8px;font-size:var(--fs-11);gap:4px}.calendar-view-controls>.secondary svg{flex-shrink:0}.admin-page{padding:16px}.admin-heading{flex-wrap:wrap}}.calendar-event.is-pending,.exec-block.is-pending{border:1px dashed var(--brand);background:var(--brand-soft);color:var(--ink)}.history-confirm-wrap{flex-basis:100%}