:root{--font:"Segoe UI Variable", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--bg:#f5f5f7;--surface:#fff;--surface-2:#fafafa;--surface-sunken:#eeeff2;--border:#e1e2e6;--border-strong:#c9cbd1;--text:#1b1b1f;--text-2:#5c5f66;--text-3:#8a8d94;--brand:#2581c4;--brand-hover:#1f6fa9;--brand-soft:#e7f2fb;--brand-btn:#2581c4;--brand-btn-hover:#1f6fa9;--danger:#c50f1f;--shadow-sm:0 1px 2px #0000000f, 0 1px 3px #0000000a;--shadow-md:0 4px 16px #0000001a, 0 1px 3px #0000000f;--shadow-lg:0 16px 48px #0000002e;--radius:10px;--radius-sm:6px;--status-not-started:#8a8d94;--status-in-progress:#2581c4;--status-blocked:#c50f1f;--status-complete:#107c10;--prio-low:#4f8de0;--prio-medium:#d39b00;--prio-high:#e8661b;--prio-critical:#d13438;--due-overdue:#d13438;--due-today:#e8661b;--due-3:#d39b00;--due-7:#b5b80d;--due-later:#2e9e5b;--due-none:#9a9ca3;--tint:9%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141517;--surface:#1e1f22;--surface-2:#232428;--surface-sunken:#18191b;--border:#2f3136;--border-strong:#44474e;--text:#ececef;--text-2:#a7aab1;--text-3:#7c7f86;--brand:#5aa9e2;--brand-hover:#78b9e8;--brand-soft:#16293a;--brand-btn:#2581c4;--brand-btn-hover:#2f8fd4;--danger:#ff6b6b;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 16px 48px #0009;--status-not-started:#8f9299;--status-in-progress:#5aa9e2;--status-blocked:#ff6b6b;--status-complete:#54b054;--prio-low:#6ea6f0;--prio-medium:#e8b730;--prio-high:#f5894a;--prio-critical:#f06a6d;--due-overdue:#f06a6d;--due-today:#f5894a;--due-3:#e8b730;--due-7:#c9cc3a;--due-later:#4cc07c;--due-none:#7c7f86;--tint:14%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#141517;--surface:#1e1f22;--surface-2:#232428;--surface-sunken:#18191b;--border:#2f3136;--border-strong:#44474e;--text:#ececef;--text-2:#a7aab1;--text-3:#7c7f86;--brand:#5aa9e2;--brand-hover:#78b9e8;--brand-soft:#16293a;--brand-btn:#2581c4;--brand-btn-hover:#2f8fd4;--danger:#ff6b6b;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 16px 48px #0009;--status-not-started:#8f9299;--status-in-progress:#5aa9e2;--status-blocked:#ff6b6b;--status-complete:#54b054;--prio-low:#6ea6f0;--prio-medium:#e8b730;--prio-high:#f5894a;--prio-critical:#f06a6d;--due-overdue:#f06a6d;--due-today:#f5894a;--due-3:#e8b730;--due-7:#c9cc3a;--due-later:#4cc07c;--due-none:#7c7f86;--tint:14%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}body.modal-open{overflow:hidden}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,h4{margin:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.muted{color:var(--text-2)}.small{font-size:12.5px}.spacer{flex:1}.error-text{color:var(--danger);font-size:13px}.dot{background:var(--c,var(--text-3));border-radius:50%;flex-shrink:0;width:8px;height:8px}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);white-space:nowrap;align-items:center;gap:6px;height:34px;padding:0 12px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-sunken)}.btn-primary{background:var(--brand-btn);border-color:var(--brand-btn);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-btn-hover)}.btn-primary:disabled{opacity:.55}.btn-ghost{background:0 0;border-color:#0000}.btn-active{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.btn-danger-ghost{color:var(--danger);background:0 0;border-color:#0000}.btn-danger-ghost:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)!important}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-2);background:0 0;border:0;flex-shrink:0;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-sunken);color:var(--text)}.icon-btn.on{color:var(--brand)}.icon-btn:disabled{opacity:.4}.icon-btn-sm{width:22px;height:22px}.link-btn{color:var(--brand);background:0 0;border:0;padding:2px 4px;font-size:13px}.badge{background:var(--brand);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;display:inline-grid}.input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);resize:vertical;outline:none;width:100%;padding:8px 10px}.input:focus{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.input:disabled{background:var(--surface-sunken);color:var(--text-2)}.input-lg{font-size:16px;font-weight:600}.search-box{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);height:34px;color:var(--text-3);align-items:center;gap:6px;padding:0 10px;display:flex}.search-box:focus-within{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.search-box input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1}.search-box-sm{height:30px;margin-bottom:6px}.select-wrap{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);height:34px;color:var(--text-2);align-items:center;gap:6px;padding:0 4px 0 10px;display:inline-flex}.select-wrap select{color:var(--text);background:0 0;border:0;outline:none;max-width:190px;padding-right:4px}.select{min-width:0;font:inherit;text-align:left;white-space:nowrap;cursor:pointer;align-items:center;gap:7px;display:inline-flex}.select:disabled{cursor:default}.select-field{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);height:34px;color:var(--text-2);padding:0 10px;transition:border-color .12s,box-shadow .12s;position:relative}.select-field:hover:not(:disabled){border-color:var(--text-3)}.select-field.open,.select-field:focus-visible{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);outline:none}.select-field .select-value{color:var(--text);text-overflow:ellipsis;max-width:220px;overflow:hidden}.select-chevron{color:var(--text-3);flex-shrink:0;transition:transform .15s}.select.open .select-chevron{transform:rotate(180deg)}.select-pill{border:1px solid color-mix(in srgb, var(--c) 45%, transparent);background:color-mix(in srgb, var(--c) 12%, var(--surface));max-width:100%;color:var(--c);border-radius:12px;gap:4px;padding:2px 6px 2px 10px;font-size:12px;font-weight:600;position:relative}.select-pill .select-value{text-overflow:ellipsis;overflow:hidden}.select-pill .select-chevron{color:currentColor;opacity:.7}.select-pill:disabled .select-chevron{display:none}.select-pill:hover:not(:disabled){background:color-mix(in srgb, var(--c) 20%, var(--surface))}.select-pill.open,.select-pill:focus-visible{outline:2px solid color-mix(in srgb, var(--c) 60%, transparent);outline-offset:1px}.select-menu{z-index:400;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);outline:none;margin:0;padding:6px;list-style:none;animation:.1s ease-out pop;position:fixed;overflow-y:auto}.select-option{border-radius:var(--radius-sm);color:var(--text);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:7px 10px 7px 6px;font-size:13.5px;display:flex}.select-option.active{background:var(--surface-sunken)}.select-option.selected{background:var(--brand-soft);font-weight:500}.select-option.selected.active{background:color-mix(in srgb, var(--brand) 16%, var(--surface))}.select-option-label{flex:1}.select-check{width:14px;color:var(--brand);flex-shrink:0;display:inline-flex}.select-native{cursor:default;position:relative}.select-native select{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;outline:none;max-width:100%;margin-right:-18px;padding-right:18px}.select-field.select-native select{color:var(--text);height:100%}.select-native .select-chevron{pointer-events:none}.spinner{border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.spinner-sm{border-width:2px;width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}.splash{place-items:center;height:100%;display:grid}.login{background:radial-gradient(circle at 30% 20%, var(--brand-soft), transparent 60%), var(--bg);place-items:center;min-height:100%;padding:16px;display:grid}.login-card{background:var(--surface);width:100%;max-width:380px;box-shadow:var(--shadow-md);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:36px 28px;display:flex}.login-card h1{font-size:24px}.login-card .btn{justify-content:center;width:100%;height:42px;margin-top:12px}.btn-ms{gap:10px}.notice{border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-2);padding:10px 12px;font-size:13px}.dev-login{flex-direction:column;gap:8px;width:100%;display:flex}.divider{color:var(--text-3);align-items:center;gap:8px;margin:16px 0 4px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.app{flex-direction:column;height:100dvh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;height:52px;padding:0 12px 0 16px;display:flex}.brand{align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.workspace{flex:1;min-height:0;display:flex;position:relative}.main{flex-direction:column;flex:1;min-width:0;display:flex}.main.view-list{overflow-y:auto}.user-menu{margin-left:6px;position:relative}.user-btn{background:0 0;border:0;border-radius:50%;padding:0;display:flex}.menu{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:220px;box-shadow:var(--shadow-md);z-index:50;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.menu-head{border-bottom:1px solid var(--border);flex-direction:column;margin-bottom:4px;padding:8px 10px 10px;font-size:13px;display:flex}.menu-item{border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:8px 10px;display:flex}.menu-version{border-top:1px solid var(--border);color:var(--text-3);margin-top:4px;padding:6px 10px 2px;font-size:11.5px}.menu-item:hover{background:var(--surface-sunken)}.toolbar{flex-direction:column;flex-shrink:0;gap:10px;padding:14px 20px 8px;display:flex}.main.view-list .toolbar{z-index:5;background:var(--bg);position:sticky;top:0}.toolbar-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-search{flex:220px;max-width:360px}.sections{background:var(--surface-sunken);border-radius:9px;padding:3px;display:inline-flex}.sections button{color:var(--text-2);background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:6px 14px;font-weight:600;display:inline-flex}.sections button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.sections .count,.column-head .count{background:var(--border);color:var(--text-2);border-radius:8px;padding:0 6px;font-size:11.5px;font-weight:600}.sort-group{gap:4px;display:inline-flex}.sort-dir{justify-content:center;width:34px;padding:0}.check-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;height:34px;padding:0 11px;font-weight:500;display:inline-flex}.check-toggle input{width:15px;height:15px;accent-color:var(--brand-btn);cursor:pointer;margin:0}.check-toggle.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.view-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);display:inline-flex;overflow:hidden}.view-toggle button{width:36px;height:32px;color:var(--text-2);background:0 0;border:0;place-items:center;display:grid}.view-toggle button.on{background:var(--brand-soft);color:var(--brand)}.filter-wrap{position:relative}.filter-panel{z-index:40;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(420px,100vw - 32px);max-height:min(70vh,640px);box-shadow:var(--shadow-md);flex-direction:column;gap:14px;padding:14px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.filter-group h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);margin-bottom:6px;font-size:12px}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip-toggle{border:1px solid var(--border-strong);background:var(--surface);border-radius:14px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.chip-toggle.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:600}.tag-toggle{opacity:.55;background:0 0;border:0;border-radius:12px;padding:0}.tag-toggle.on{opacity:1;outline:2px solid var(--brand);outline-offset:1px}.person-filter-list{flex-direction:column;max-height:200px;display:flex;overflow-y:auto}.check-row{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:5px 4px;display:flex}.check-row:hover{background:var(--surface-sunken)}.muted-icon{text-align:center;width:22px;color:var(--text-3)}.filter-foot{border-top:1px solid var(--border);justify-content:space-between;padding-top:10px;display:flex}.active-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-chip{background:var(--brand-soft);color:var(--brand);border-radius:12px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.board{flex:1;grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;gap:14px;min-height:0;padding:6px 20px 20px;display:grid;overflow-x:auto}.column{background:var(--surface-sunken);border:2px dashed #0000;border-radius:12px;flex-direction:column;min-height:0;transition:border-color .12s,background .12s;display:flex}.column.column-blocked{background:color-mix(in srgb, var(--status-blocked) 9%, var(--surface-sunken))}.column.column-complete{background:color-mix(in srgb, var(--status-complete) 9%, var(--surface-sunken))}.column.drop-over{border-color:var(--brand);background:var(--brand-soft)}.column-head{align-items:center;gap:8px;padding:10px 8px 6px 14px;display:flex}.column-head h2{font-size:13.5px;font-weight:700}.column-head .icon-btn{margin-left:auto}.column-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:4px 10px 12px;display:flex;overflow-y:auto}.column-empty{text-align:center;color:var(--text-3);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:24px 8px;font-size:13px}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:14px;padding:6px 20px 24px;display:grid}.empty{color:var(--text-2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px 16px;display:flex}.list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);margin:6px 20px 24px;overflow-x:auto;container-type:inline-size}.list-row{border-top:1px solid var(--border);cursor:pointer;border-left:4px solid #0000;align-items:center;gap:12px;min-height:52px;padding:9px 14px;display:grid}.list-row:hover{background:var(--surface-2)}.list-row.row-colored{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) var(--tint), var(--surface))}.list-row.row-colored:hover{background:color-mix(in srgb, var(--accent) calc(var(--tint) + 5%), var(--surface))}.list-head{background:var(--surface-sunken);cursor:default;min-height:0;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;border-top:0;padding-top:6px;padding-bottom:6px;font-size:12px;font-weight:600}.list-head:hover{background:var(--surface-sunken)}.list-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;background:0 0;border:0;align-items:center;gap:3px;padding:0;display:inline-flex}.list-sort:hover,.list-sort.on{color:var(--brand)}.lc{min-width:0}.col-draggable{cursor:grab;-webkit-user-select:none;user-select:none;position:relative}.col-draggable:active{cursor:grabbing}.col-resizer{cursor:col-resize;z-index:2;touch-action:none;width:10px;position:absolute;top:-6px;bottom:-6px;right:-11px}.col-resizer:after{content:"";background:var(--border-strong);opacity:0;border-radius:1px;width:2px;transition:opacity .12s;position:absolute;top:6px;bottom:6px;left:4px}.list-head:hover .col-resizer:after{opacity:.7}.col-resizer:hover:after,body.resizing .col-resizer:after{opacity:1;background:var(--brand)}.col-sortable{cursor:pointer;align-self:stretch;align-items:center;margin:-6px 0;padding:6px 0;display:flex}.col-sortable:hover .list-sort{color:var(--brand)}.col-dragging{opacity:.4}.drop-before:before,.drop-after:after{content:"";background:var(--brand);border-radius:2px;width:3px;position:absolute;top:-4px;bottom:-4px}.drop-before:before{left:-8px}.drop-after:after{right:-8px}.lc-title{align-items:baseline;gap:8px;display:flex}.list-title{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-weight:600;overflow:hidden}.list-desc{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;font-size:13px;overflow:hidden}.list-row .due{white-space:nowrap}.row-done .list-title{color:var(--text-2);text-decoration:line-through}.lc-tags{gap:4px;display:flex}.list-row:not(.list-head) .lc{overflow:hidden}.lc .select-pill{max-width:100%}.lc-assignees{justify-content:flex-end;display:flex}.lc-settings{background:var(--surface-sunken);z-index:1;justify-content:flex-end;margin:-6px -14px -6px 0;padding:6px 10px 6px 6px;display:flex;position:sticky;right:0}.list-date{color:var(--text-2);white-space:nowrap;font-size:13px}.list-person{align-items:center;gap:7px;min-width:0;font-size:13px;display:inline-flex}.list-person span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.list-empty{color:var(--text-3)}.list-controls{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 12px;display:flex;position:sticky;left:0}.list-controls .select-field{height:32px}.list-group-head{border:0;border-top:1px solid var(--border);background:var(--surface-2);text-align:left;cursor:pointer;width:100%;padding:0;display:block}.list-group-head:hover{background:var(--surface-sunken)}.list-group-label{align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex;position:sticky;left:0}.list-group-name{white-space:nowrap}.list-group-label .count{background:var(--border);color:var(--text-2);border-radius:8px;padding:0 6px;font-size:11.5px;font-weight:600}.columns-menu{z-index:150;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:290px;box-shadow:var(--shadow-md);flex-direction:column;padding:10px;animation:.1s ease-out pop;display:flex;position:fixed}.columns-menu-head{flex-direction:column;gap:1px;padding:2px 6px 8px;display:flex}.columns-list{flex:auto;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.columns-item{border-radius:var(--radius-sm);align-items:center;gap:6px;padding:3px 4px;display:flex}.columns-item:hover{background:var(--surface-sunken)}.columns-item.dragging{opacity:.5;background:var(--brand-soft)}.columns-item .grip{color:var(--text-3);cursor:grab;flex-shrink:0}.columns-check{cursor:pointer;flex:1;align-items:center;gap:8px;padding:4px 0;font-size:13.5px;display:flex}.columns-check input{accent-color:var(--brand-btn)}.columns-reset{color:var(--text-2);flex-shrink:0;justify-content:center;margin-top:6px}@container (width<=640px){.list-inner{min-width:0!important}.list-head{display:none!important}.list-row{grid-template-areas:"title title""status people""due prio";row-gap:8px;grid-template-columns:1fr auto!important}.list-row>:last-child,.list-row .lc-filler,.list-row .lc-start,.list-row .lc-tags,.list-row .lc-creator,.list-row .lc-created,.list-row .lc-updated,.list-row .lc-comments{display:none}.list-row .lc-title{grid-area:title}.list-row .lc-status{grid-area:status}.list-row .lc-assignees{grid-area:people}.list-row .lc-deadline{grid-area:due}.list-row .lc-priority{grid-area:prio;justify-self:end}.list-desc{display:none}.list-title{white-space:normal}}.gantt{--gantt-label:240px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;flex:1;margin:6px 20px 16px;display:flex;overflow:hidden}.gantt-controls{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.gantt-controls .btn,.gantt-controls .select-wrap{height:32px}.gantt-legend{align-items:center;gap:6px;display:inline-flex}.legend-bar{border-left:3px solid var(--brand);background:color-mix(in srgb, var(--brand) 25%, var(--surface));border-radius:3px;width:22px;height:10px}.legend-diamond{background:var(--brand);width:9px;height:9px;margin-left:10px;transform:rotate(45deg)}.gantt-scroll{flex:1;min-height:0;position:relative;overflow:auto}.gantt-inner{min-width:100%;position:relative}.gantt-header{z-index:4;background:var(--surface);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.gantt-corner{z-index:5;width:var(--gantt-label);background:var(--surface);border-right:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);flex-shrink:0;align-items:flex-end;padding:0 14px 8px;font-size:12px;font-weight:600;display:flex;position:sticky;left:0}.gantt-scale{flex-shrink:0;height:52px;position:relative}.gantt-months,.gantt-ticks{height:26px;position:relative}.gantt-month{border-left:1px solid var(--border);white-space:nowrap;height:26px;padding:5px 8px 0;font-size:12.5px;font-weight:600;position:absolute;top:0;overflow:hidden}.gantt-tick{height:26px;color:var(--text-2);white-space:nowrap;justify-content:center;align-items:center;gap:2px;font-size:11.5px;display:flex;position:absolute;top:0;transform:translate(0)}.gantt-ticks .gantt-tick:not([style*=width]){border-left:1px solid var(--border);justify-content:flex-start;padding-left:4px}.gantt-tick small{color:var(--text-3);font-size:10px}.gantt-tick.weekend{color:var(--text-3)}.gantt-tick.is-today{color:#fff;background:var(--brand-btn);border-radius:4px;font-weight:700}.gantt-tick.is-today small{color:#fff}.gantt-body{padding-bottom:8px;position:relative}.gantt-bg{top:0;bottom:0;left:var(--gantt-label);pointer-events:none;position:absolute}.gantt-weekend{background:var(--surface-sunken);opacity:.6;position:absolute;top:0;bottom:0}.gantt-monthline{border-left:1px solid var(--border);position:absolute;top:0;bottom:0}.gantt-today{background:var(--brand);z-index:2;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.gantt-row,.gantt-group-head{align-items:center;display:flex;position:relative}.gantt-row:hover .gantt-label,.gantt-row:hover{background:color-mix(in srgb, var(--brand) 5%, transparent)}.gantt-label{z-index:3;width:var(--gantt-label);border:0;border-right:1px solid var(--border);background:var(--surface);text-align:left;flex-shrink:0;align-items:center;gap:8px;height:100%;padding:0 14px;font-size:13.5px;display:flex;position:sticky;left:0}.gantt-task-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-task-name.done{color:var(--text-2);text-decoration:line-through}.gantt-group-head{border-top:1px solid var(--border)}.gantt-group:first-child .gantt-group-head{border-top:0}.gantt-group-label{background:var(--surface-2);font-size:13px;font-weight:700}.gantt-group-head{background:var(--surface-2)}.gantt-group-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-group-label .count{background:var(--border);color:var(--text-2);border-radius:8px;padding:0 6px;font-size:11.5px;font-weight:600}.gantt-track{flex-shrink:0;height:100%;position:relative}.gantt-bar{border:0;border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 24%, var(--surface));height:22px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent);color:var(--text);z-index:1;border-radius:5px;align-items:center;padding:0 8px;font-size:12px;font-weight:600;transition:filter .1s;display:flex;position:absolute;top:7px}.gantt-bar:hover,.gantt-milestone:hover .diamond{filter:brightness(.95)saturate(1.2)}.gantt-bar.done,.gantt-milestone.done{opacity:.55}.gantt-bar-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-outside-label{white-space:nowrap;color:var(--text-2);pointer-events:none;font-size:12px;font-weight:500;position:absolute;left:calc(100% + 8px)}.gantt-milestone{z-index:1;background:0 0;border:0;place-items:center;width:18px;height:18px;margin-left:-9px;padding:0;display:grid;position:absolute;top:9px}.gantt-milestone .diamond{background:var(--accent);width:13px;height:13px;box-shadow:0 0 0 2px var(--surface);border-radius:2px;transform:rotate(45deg)}.gantt-milestone .gantt-outside-label{left:calc(100% + 4px)}.gantt-empty{text-align:center;width:min(100%,100vw);color:var(--text-2);padding:40px 16px;position:sticky;left:0}.gantt-tray{border-top:1px solid var(--border);background:var(--surface-2);flex-direction:column;flex-shrink:0;max-height:35%;display:flex}.gantt-tray-head{text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.gantt-tray-head .count{background:var(--border);color:var(--text-2);border-radius:8px;padding:0 6px;font-size:11.5px;font-weight:600}.gantt-tray-head .muted{margin-left:6px;font-weight:400}.gantt-tray-items{flex-wrap:wrap;gap:8px;padding:0 14px 12px;display:flex;overflow-y:auto}.tray-item{border:1px solid var(--border);background:var(--surface);max-width:280px;box-shadow:var(--shadow-sm);border-radius:8px;align-items:center;gap:7px;padding:5px 10px;font-size:13px;display:inline-flex}.tray-item:hover{border-color:var(--border-strong)}.tray-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;gap:8px;padding:12px 14px;transition:box-shadow .12s,transform .12s,border-color .12s;display:flex;position:relative}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.card.dragging{opacity:.5}.card-colored{border-left:4px solid var(--accent);background:color-mix(in srgb, var(--accent) var(--tint), var(--surface));padding-left:11px}.card-done .card-title{color:var(--text-2);text-decoration:line-through}.card-done{opacity:.8}.card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-title{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:14.5px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.card-desc{color:var(--text-2);-webkit-line-clamp:3;white-space:pre-line;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:13px;display:-webkit-box;overflow:hidden}.card-footer{justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin-top:2px;display:flex}.card-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.meta-item{color:var(--text-3);align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.due{color:var(--c);background:color-mix(in srgb, var(--c) 13%, transparent);border-radius:10px;align-items:center;gap:4px;padding:1px 7px 1px 5px;font-size:12.5px;font-weight:600;display:inline-flex}.due-overdue{--c:var(--due-overdue)}.due-today{--c:var(--due-today)}.due-soon3{--c:var(--due-3)}.due-soon7{--c:var(--due-7)}.due-later,.due-done{--c:var(--text-2)}.prio{text-transform:uppercase;letter-spacing:.03em;color:var(--c);align-items:center;gap:5px;font-size:11.5px;font-weight:700;display:inline-flex}.prio:before{content:"";background:var(--c);border-radius:2px;width:8px;height:8px}.prio-critical{background:var(--c);color:#fff;border-radius:4px;padding:1px 7px}.prio-critical:before{background:#fff}.status-select{appearance:none;border:1px solid color-mix(in srgb, var(--c) 45%, transparent);background:color-mix(in srgb, var(--c) 12%, var(--surface));color:var(--c);cursor:pointer;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600}.status-select:disabled{cursor:default;opacity:.85}.status-select option{color:var(--text);background:var(--surface)}.tag-list{flex-wrap:wrap;gap:4px;display:flex}.tag{white-space:nowrap;color:color-mix(in srgb, var(--tag) 75%, var(--text));background:color-mix(in srgb, var(--tag) 14%, var(--surface));border-radius:12px;align-items:center;gap:2px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.tag-sm{padding:1px 7px;font-size:11px}.tag-x{width:18px;height:18px;color:inherit;opacity:.7;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.tag-x:hover{opacity:1;background:color-mix(in srgb, currentColor 15%, transparent)}.avatar{color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:inline-grid;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.avatar-ring{box-shadow:0 0 0 2px var(--surface)}.avatar-more{background:var(--border-strong);color:var(--text)}.popover-anchor{outline-offset:2px;border-radius:14px;display:inline-flex}.avatar-stack{cursor:default;padding-left:6px}.avatar-stack .avatar{margin-left:-6px;transition:transform .12s}.avatar-stack:hover .avatar{transform:translate(2px)}.avatar-stack:hover .avatar:first-child{transform:none}.popover{z-index:200;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:220px;max-width:min(320px,100vw - 16px);max-height:320px;box-shadow:var(--shadow-md);padding:8px;animation:.1s ease-out pop;position:fixed;overflow-y:auto}@keyframes pop{0%{opacity:0;transform:translateY(3px)}}.popover-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);padding:2px 6px 6px;font-size:11.5px}.people-list{flex-direction:column;gap:2px;display:flex}.person-row{text-align:left;align-items:center;gap:10px;min-width:0;padding:4px 6px;display:flex}.person-text{min-width:0}.person-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.person-sub{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.combo{position:relative}.combo-menu{z-index:60;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:280px;box-shadow:var(--shadow-md);padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combo-item{border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:4px 6px;display:flex}.combo-item:hover,.combo-item.active{background:var(--surface-sunken)}.combo-item.selected{background:var(--brand-soft)}.tag-option{cursor:pointer;min-height:32px}.tag-delete{opacity:0;color:var(--text-3)}.tag-option:hover .tag-delete,.tag-option.active .tag-delete,.tag-delete:focus-visible{opacity:1}.tag-delete:hover{color:var(--danger)!important}@media (pointer:coarse){.tag-delete{opacity:1}}.combo-item .check{color:var(--brand);flex-shrink:0;width:20px}.combo-empty{color:var(--text-2);padding:10px;font-size:13px}.chip-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:text;flex-wrap:wrap;align-items:center;gap:4px;min-height:38px;padding:4px 8px;display:flex}.chip-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.chip-input input{background:0 0;border:0;outline:none;flex:1;min-width:120px;padding:4px 2px}.picker{flex-direction:column;gap:8px;display:flex}.picker-selected{flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;display:flex}.person-chip{background:var(--surface-sunken);border:1px solid var(--border);border-radius:14px;align-items:center;gap:6px;padding:2px 4px 2px 2px;font-size:13px;font-weight:500;display:inline-flex}.modal-backdrop{z-index:100;background:#0006;place-items:center;padding:24px 16px;animation:.12s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);width:100%;max-width:700px;max-height:calc(100dvh - 48px);box-shadow:var(--shadow-lg);border-radius:14px;flex-direction:column;display:flex}.modal-backdrop{perspective:1800px}.modal.flip-out{animation:.17s ease-in forwards flip-out}.modal.flip-in{animation:.2s ease-out flip-in}@keyframes flip-out{to{transform:rotateY(calc(90deg * var(--flip-dir,1)))}}@keyframes flip-in{0%{transform:rotateY(calc(-90deg * var(--flip-dir,1)))}}.view-head{align-items:flex-start}.view-head-main{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.view-title-row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.view-title-row .status-pill{flex-shrink:0}.view-title{overflow-wrap:anywhere;padding-right:8px;line-height:1.3;font-size:19px!important}.view-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-pill{border:1px solid color-mix(in srgb, var(--c) 45%, transparent);background:color-mix(in srgb, var(--c) 12%, var(--surface));color:var(--c);border-radius:12px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.date-progress{--c:var(--brand);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.dp-ends{justify-content:space-between;gap:12px;display:flex}.dp-ends>div{flex-direction:column;gap:1px;display:flex}.dp-ends strong{font-size:14.5px}.dp-end{text-align:right;align-items:flex-end}.dp-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);font-size:11.5px;font-weight:600}.dp-track{background:color-mix(in srgb, var(--c) 16%, var(--surface-sunken));border-radius:5px;height:10px;position:relative;overflow:hidden}.dp-fill{background:var(--c);border-radius:5px;height:100%;transition:width .4s}.dp-status{color:color-mix(in srgb, var(--c) 72%, var(--text));align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.dp-pct{color:var(--text-2);margin-left:auto;font-weight:500}.view-desc{color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:-6px 0 0;line-height:1.55}.view-desc-empty{margin:-6px 0 0;font-style:italic}.view-details{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);grid-template-columns:1fr 1fr;gap:14px 20px;margin:0;padding:14px 16px;display:grid}.view-details .span-2{grid-column:1/-1}.view-details dt{color:var(--text-2);margin-bottom:4px;font-size:12px;font-weight:600}.view-details .detail-inline{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.view-details .detail-inline dt{margin-bottom:0}.view-details dd{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.view-people{flex-wrap:wrap;gap:4px 18px;display:flex}.view-people .person-row{padding:2px 0}.view-personal{align-items:center;gap:6px;display:inline-flex}@media (width<=640px){.view-details{grid-template-columns:1fr}}.modal-head{justify-content:space-between;align-items:center;padding:16px 16px 8px 22px;display:flex}.modal-head h2{font-size:18px}.modal-body{flex-direction:column;flex:1;gap:16px;padding:8px 22px 16px;display:flex;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 22px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-row{flex-wrap:wrap;gap:16px;display:flex}.field-row>.field{flex:auto}.field-date{max-width:260px;flex:200px!important}.date-wrap{align-items:center;gap:4px;display:flex}.section-label{color:var(--text-2);font-size:12.5px;font-weight:600}.segmented{background:var(--surface-sunken);border-radius:9px;flex-wrap:wrap;gap:4px;padding:3px;display:inline-flex}.segmented button{color:var(--text-2);background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:500;display:inline-flex}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm), inset 0 -2px 0 var(--c);font-weight:600}.segmented.disabled button:not(.on){opacity:.5}.comments{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.comment-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.comments-head{justify-content:space-between;align-items:center;display:flex}.comment-list.compact{overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);scrollbar-width:thin;max-height:240px;padding:10px 10px 10px 4px;overflow-y:auto}.comment{gap:10px;display:flex}.comment-body{flex:1;min-width:0}.comment-head{align-items:center;gap:8px;font-size:13px;display:flex}.comment-head .icon-btn{opacity:0;margin-left:auto}.comment:hover .comment-head .icon-btn,.comment-head .icon-btn:focus-visible{opacity:1}.comment-text{white-space:pre-wrap;overflow-wrap:anywhere}.comment-new{align-items:flex-end;gap:8px;display:flex}.comment-new .btn{height:38px}.splitter{z-index:3;cursor:col-resize;touch-action:none;flex-shrink:0;width:7px;margin:0 -3px;position:relative}.splitter:after{content:"";background:var(--border);transition:background .12s;position:absolute;inset:0 3px}.splitter:hover:after,.splitter:focus-visible:after,body.resizing .splitter:after{background:var(--brand);inset:0 2px}.notes-dock{background:var(--surface);flex-shrink:0;min-width:0;display:flex}.notes{background:var(--surface);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.notes-themed{min-height:0;color:var(--text);background:var(--surface);flex-direction:column;flex:1;display:flex}.notes-themed .notes-text{background:0 0}.notes-colors{z-index:20;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:252px;box-shadow:var(--shadow-md);padding:12px;position:absolute;top:46px;right:8px}.notes-colors h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);margin:0 0 8px;font-size:12px}.notes-colors h4+.swatches{margin-bottom:14px}.swatches{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.swatch{aspect-ratio:1;border:1px solid var(--border-strong);cursor:pointer;border-radius:7px;place-items:center;padding:0;display:grid;position:relative}.swatch.on{outline:2px solid var(--brand);outline-offset:1px}.swatch-default{background:linear-gradient(135deg, var(--surface) 50%, var(--surface-sunken) 50%);color:var(--text)}.swatch-custom{background:conic-gradient(#f44,#fd4,#4d4,#4dd,#44f,#d4d,#f44);overflow:hidden}.swatch-custom input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.reset-btn{width:100%;color:var(--text-2);justify-content:center;margin-top:2px}.notes-loading{flex:1;place-items:center;display:grid}.notes-head{align-items:center;gap:8px;padding:12px 8px 6px 16px;display:flex}.notes-head h2{font-size:14px;font-weight:700}.save-state{color:var(--text-3);margin-left:auto;font-size:12px}.save-state.error{color:var(--danger)}.notes-tabs{border-bottom:1px solid var(--border);scrollbar-width:thin;flex-shrink:0;align-items:flex-end;gap:2px;padding:0 8px 0 12px;display:flex;overflow-x:auto}.notes-tab{border-bottom:2px solid #0000;flex-shrink:0;align-items:center;max-width:160px;display:flex}.notes-tab.on{border-bottom-color:var(--brand)}.tab-label{white-space:nowrap;text-overflow:ellipsis;color:var(--text-2);background:0 0;border:0;padding:7px 2px 7px 8px;font-size:13px;font-weight:500;overflow:hidden}.notes-tab.on .tab-label{color:var(--text);font-weight:600}.tab-close{width:18px;height:18px;color:var(--text-3);opacity:0;background:0 0;border:0;border-radius:4px;place-items:center;margin-right:2px;padding:0;display:grid}.notes-tab:hover .tab-close,.notes-tab.on .tab-close,.tab-close:focus-visible{opacity:1}.tab-close:hover{background:var(--surface-sunken);color:var(--text)}.tab-rename{border:1px solid var(--brand);background:var(--surface);border-radius:4px;outline:none;width:110px;margin:4px 2px;padding:2px 6px;font-size:13px}.tab-add{width:28px;height:28px;margin:0 0 3px 2px}.notes-text{resize:none;background:var(--surface);border:0;outline:none;flex:1;width:100%;padding:14px 16px;font-size:14px;line-height:1.6}.toast{z-index:300;border-radius:var(--radius);color:#fff;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);background:#2b2c30;align-items:center;gap:14px;padding:10px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-action{color:#7cc0f0;background:#ffffff1f;border:0;border-radius:6px;padding:4px 10px;font-weight:700}.toast-action:hover{background:#fff3}.bell,.bell .icon-btn{position:relative}.bell-badge{color:#fff;text-align:center;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--surface);background:#d13438;border-radius:8px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:2px;right:1px}.bell-panel{z-index:60;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(380px,100vw - 24px);max-height:min(70vh,560px);box-shadow:var(--shadow-md);flex-direction:column;animation:.1s ease-out pop;display:flex;position:absolute;top:calc(100% + 8px);right:-8px}.bell-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px 10px;display:flex}.bell-head .link-btn{align-items:center;gap:4px;display:inline-flex}.bell-list{margin:0;padding:4px;list-style:none;overflow-y:auto}.bell-item{border-radius:var(--radius-sm);text-align:left;width:100%;color:var(--text-2);background:0 0;border:0;align-items:flex-start;gap:10px;padding:9px 10px;font-size:13px;display:flex}.bell-item:hover:not(:disabled){background:var(--surface-sunken)}.bell-item:disabled{cursor:default}.bell-item.unread{color:var(--text);background:color-mix(in srgb, var(--brand) 6%, transparent)}.bell-icon{background:var(--surface-sunken);width:28px;height:28px;color:var(--text-2);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.kind-mention .bell-icon{color:var(--brand);background:var(--brand-soft)}.kind-assigned .bell-icon{color:var(--status-complete);background:color-mix(in srgb, var(--status-complete) 14%, transparent)}.kind-due .bell-icon,.kind-deleted .bell-icon{color:var(--due-overdue);background:color-mix(in srgb, var(--due-overdue) 12%, transparent)}.bell-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bell-line strong{color:var(--text)}.bell-sub{color:var(--text-2);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}.bell-time{color:var(--text-3);font-size:11.5px}.bell-dot{background:var(--brand);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.bell-empty{color:var(--text-3);flex-direction:column;align-items:center;gap:4px;padding:28px 16px;display:flex}.bell-empty p{margin:0}.modal.bin{max-width:560px}.modal.bin h2{align-items:center;gap:8px;display:flex}.bin-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bin-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);align-items:center;gap:12px;padding:10px 12px;display:flex}.bin-main{flex:1;min-width:0}.bin-title{align-items:center;gap:8px;min-width:0;display:flex}.bin-title strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bin-empty{text-align:center;color:var(--text-3);padding:24px}.saved-views{position:relative}.views-btn{max-width:220px;height:36px}.views-label{text-overflow:ellipsis;overflow:hidden}.views-menu{z-index:45;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:280px;box-shadow:var(--shadow-md);padding:6px;animation:.1s ease-out pop;position:absolute;top:calc(100% + 6px);left:0}.views-empty{margin:6px 8px 8px}.views-list{max-height:300px;margin:0;padding:0;list-style:none;overflow-y:auto}.views-list li{border-radius:var(--radius-sm);align-items:center;gap:2px;display:flex}.views-list li:hover{background:var(--surface-sunken)}.views-list li.on{background:var(--brand-soft)}.views-list li .icon-btn{opacity:0}.views-list li:hover .icon-btn,.views-list li .icon-btn:focus-visible{opacity:1}.views-apply{text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;align-items:center;gap:6px;min-width:0;padding:7px 6px;font-weight:500;display:flex;overflow:hidden}.views-check{width:14px;color:var(--brand);flex-shrink:0}.views-input{height:32px;padding:4px 8px}.views-foot{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.views-list:empty+.views-foot{border-top:0}.views-save{justify-content:flex-start;width:100%}.views-new{gap:6px;padding:2px;display:flex}.checklist{flex-direction:column;gap:4px;display:flex}.checklist-head{align-items:center;gap:10px;display:flex}.checklist-bar{background:var(--surface-sunken);border-radius:3px;flex:1;max-width:160px;height:5px;overflow:hidden}.checklist-bar div{background:var(--status-complete);height:100%;transition:width .25s}.checklist-items{margin:0;padding:0;list-style:none}.checklist-items li{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:1px 4px;display:flex}.checklist-items li:hover{background:var(--surface-2)}.checklist-items label{cursor:pointer;overflow-wrap:anywhere;flex:1;align-items:flex-start;gap:9px;padding:5px 0;display:flex}.checklist-items input{width:16px;height:16px;accent-color:var(--status-complete);cursor:pointer;flex-shrink:0;margin:2px 0 0}.checklist-items li.done span{color:var(--text-3);text-decoration:line-through}.checklist-items li .icon-btn{opacity:0}.checklist-items li:hover .icon-btn,.checklist-items li .icon-btn:focus-visible{opacity:1}.checklist-add{color:var(--text-3);align-items:center;gap:8px;padding:4px;display:flex}.checklist-add input{border:0;border-bottom:1px dashed var(--border-strong);color:var(--text);background:0 0;outline:none;flex:1;padding:5px 2px}.checklist-add input:focus{border-bottom-color:var(--brand)}.checklist-chip.all-done{color:var(--status-complete)}.activity{color:var(--text-2);align-items:flex-start;gap:8px;padding-left:7px;font-size:12.5px;display:flex}.activity svg{color:var(--text-3);flex-shrink:0;margin-top:2px}.activity strong{color:var(--text);font-weight:600}.mention{background:var(--brand-soft);color:var(--brand);border-radius:4px;padding:0 3px;font-weight:600}.mention-me{background:color-mix(in srgb, var(--due-3) 25%, transparent);color:inherit}.mention-wrap{flex:1;position:relative}.mention-menu{z-index:20;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);padding:4px;position:absolute;bottom:calc(100% + 4px);left:0;right:0}.calendar{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;flex:1;margin:6px 20px 16px;display:flex;overflow:hidden}.cal-controls{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;display:flex}.cal-title{text-align:center;min-width:170px;font-size:16px}.cal-legend{align-items:center;gap:6px;display:inline-flex}.legend-chip{border-left:3px solid var(--brand);background:color-mix(in srgb, var(--brand) 22%, var(--surface));border-radius:3px;width:18px;height:10px}.legend-chip.starts{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 45%, transparent);background:0 0;border-left-style:dashed;margin-left:8px}.cal-grid{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(104px,1fr);min-height:0;display:grid;overflow-y:auto}.cal-weekday{z-index:2;border-bottom:1px solid var(--border);background:var(--surface-sunken);text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);align-self:start;min-height:0;padding:7px 10px;font-size:12px;font-weight:600;position:sticky;top:0}.cal-grid>.cal-weekday{grid-row:1}.cal-grid{grid-template-rows:auto}.cal-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;flex-direction:column;gap:4px;min-width:0;padding:6px 6px 8px;display:flex;position:relative}.cal-day:nth-child(7n){border-right:0}.cal-day:hover{background:color-mix(in srgb, var(--brand) 4%, transparent)}.cal-day.weekend{background:color-mix(in srgb, var(--surface-sunken) 55%, transparent)}.cal-day.outside .cal-date{color:var(--text-3)}.cal-day.outside .cal-chips{opacity:.6}.cal-date{min-width:24px;height:24px;color:var(--text-2);border-radius:12px;align-self:flex-start;place-items:center;padding:0 6px;font-size:12.5px;font-weight:600;display:grid}.cal-day.today .cal-date{background:var(--brand-btn);color:#fff}.cal-chips{flex-direction:column;gap:3px;min-width:0;display:flex}.cal-chip{border:0;border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 20%, var(--surface));width:100%;min-width:0;color:var(--text);text-align:left;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:12px;font-weight:500;display:flex}.cal-chip span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-chip:hover{filter:brightness(.95)saturate(1.2)}.cal-chip.starts{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent);background:0 0;border-left-style:dashed}.cal-chip.starts svg{color:var(--accent);flex-shrink:0}.cal-chip.done span{color:var(--text-2);text-decoration:line-through}.cal-more{color:var(--text-2);background:0 0;border:0;border-radius:4px;align-self:flex-start;padding:1px 6px;font-size:12px;font-weight:600}.cal-more:hover{background:var(--surface-sunken);color:var(--text)}.cal-popover{z-index:10;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:calc(100% + 60px);min-width:220px;box-shadow:var(--shadow-md);cursor:default;flex-direction:column;gap:4px;padding:8px;display:flex;position:absolute;top:-4px;left:-4px}.cal-day:nth-child(7n) .cal-popover,.cal-day:nth-child(7n-1) .cal-popover{left:auto;right:-4px}.cal-popover-head{justify-content:space-between;align-items:center;margin-bottom:2px;font-size:13px;display:flex}.cal-agenda{overflow-y:auto}.agenda-day{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.agenda-date{color:var(--text-2);font-size:12.5px;font-weight:700}.agenda-day.today .agenda-date{color:var(--brand)}.agenda-items{flex-direction:column;gap:4px;display:flex}.agenda-items .cal-chip{padding:6px 8px;font-size:13px}.cal-empty{text-align:center;padding:32px 16px}@media (width<=900px){.notes-drawer{z-index:90;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-backdrop{background:#00000059;animation:.12s fade;position:absolute;inset:0}.notes-drawer .notes{box-shadow:var(--shadow-lg);flex:0 420px;animation:.16s ease-out slide-in;position:relative}@keyframes slide-in{0%{opacity:0;transform:translate(40px)}}}@media (width<=640px){.gantt{--gantt-label:140px;margin:4px 16px 12px}.gantt-legend{display:none!important}.list{margin:4px 16px 20px}.toolbar{padding:12px 16px 6px}.board{scroll-snap-type:x mandatory;grid-auto-columns:85%;padding:4px 16px 16px}.column{scroll-snap-align:center}.grid{grid-template-columns:1fr;padding:4px 16px 20px}.toolbar-search{flex-basis:100%;order:-1;max-width:none}.hide-sm{display:none}.select-wrap select{max-width:120px}.sections{flex:1}.sections button{flex:1;justify-content:center;padding:6px 8px}.modal-backdrop{place-items:stretch stretch;padding:0}.modal{border-radius:0;max-width:none;height:100dvh;max-height:none}.modal-body,.modal-foot{padding-left:16px;padding-right:16px}.field-date{max-width:none;flex-basis:100%!important}}
