:root{--bg: #f7f6f4;--surface: #ffffff;--surface-2: #f2f0ed;--surface-3: #ebe8e4;--border: #e6e2dc;--border-strong: #d4cfc7;--border-faint: #f0ede8;--text: #232120;--text-muted: #6b6560;--text-faint: #726c63;--accent: #2c5545;--accent-hover: #224437;--accent-soft: #e7efe9;--accent-contrast: #ffffff;--ok: #3a6b4f;--ok-soft: #e8f0ea;--warn: #8f6a2a;--warn-soft: #f7efdf;--danger: #a34b3d;--danger-soft: #f6e9e6;--hue-blue: #3d5a80;--hue-blue-soft: #e4eaf3;--hue-teal: #2a6f6f;--hue-teal-soft: #dff0ee;--hue-violet: #5b4a8a;--hue-violet-soft: #ebe6f5;--hue-plum: #7c4a6a;--hue-plum-soft: #f3e6ee;--hue-rust: #9a5236;--hue-rust-soft: #f6e7e0;--hue-ochre: #7d6420;--hue-ochre-soft: #f4edd8;--hue-sage: #4e7350;--hue-sage-soft: #e6efe4;--hue-slate: #5c6672;--hue-slate-soft: #e8ebef;--stage-pending: var(--hue-slate);--stage-pending-soft: var(--hue-slate-soft);--stage-in-progress: var(--hue-blue);--stage-in-progress-soft: var(--hue-blue-soft);--stage-in-review: var(--hue-violet);--stage-in-review-soft: var(--hue-violet-soft);--stage-complete: var(--ok);--stage-complete-soft: var(--ok-soft);--stage-custom: var(--hue-teal);--stage-custom-soft: var(--hue-teal-soft);--pri-1: var(--danger);--pri-1-soft: var(--danger-soft);--pri-2: #94531f;--pri-2-soft: #f7e9dc;--pri-3: var(--hue-blue);--pri-3-soft: var(--hue-blue-soft);--pri-4: var(--hue-slate);--pri-4-soft: var(--hue-slate-soft);--kind-retainer: var(--hue-teal);--kind-retainer-soft: var(--hue-teal-soft);--kind-delivery: var(--hue-blue);--kind-delivery-soft: var(--hue-blue-soft);--kind-house: var(--hue-ochre);--kind-house-soft: var(--hue-ochre-soft);--kind-register: var(--hue-plum);--kind-register-soft: var(--hue-plum-soft);--radius: 8px;--radius-sm: 6px;--radius-pill: 999px;--caret-size: 4px;--caret-inset: 7px;--shadow: 0 1px 2px rgba(35, 33, 32, .05);--shadow-lg: 0 8px 24px rgba(35, 33, 32, .1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--gap: 12px;--sidebar-w: 236px;--topbar-h: 52px;--font-sans: ui-sans-serif, -apple-system, "Segoe UI", Inter, system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-body: 14px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 22px;--fs-2xl: 26px;--fw-normal: 400;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--lh-tight: 1.2;--lh-snug: 1.35;--lh-base: 1.5}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:-.015em;margin:0 0 var(--space-1)}h2{font-size:var(--fs-lg);font-weight:var(--fw-semi);line-height:var(--lh-snug);letter-spacing:-.01em;margin:0 0 var(--space-2)}b,strong{font-weight:var(--fw-semi)}h3{font-size:var(--fs-md);font-weight:var(--fw-semi);line-height:var(--lh-snug);margin:0 0 var(--space-1)}.eyebrow,.sidebar .nav-label,.palette-group,.stat-label,.stat .label{font-size:var(--fs-xs);font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:var(--bg);border-right:1px solid var(--border);padding:var(--space-3) var(--space-2);position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar .brand{display:block;font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:-.01em;color:var(--text);padding:var(--space-1) var(--space-2) var(--space-4)}.sidebar .brand:hover{text-decoration:none}.sidebar .nav-section{margin-bottom:var(--space-3);padding-bottom:var(--space-1)}.sidebar .nav-label{display:block;padding:var(--space-1) var(--space-2);margin-bottom:2px}.sidebar .nav-section:first-of-type{padding-bottom:var(--space-3)}.sidebar .nav-item{display:block;padding:5px var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-base);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .12s ease,color .12s ease}.sidebar .nav-item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.sidebar .nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:var(--fw-semi)}.sidebar .nav-item.with-count{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1)}.sidebar .nav-count{font-size:var(--fs-xs);font-weight:var(--fw-semi);padding:0 6px;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-contrast)}.main{display:flex;flex-direction:column;min-width:0}.topbar{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-6);background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar .topbar-left,.topbar .topbar-right{display:flex;align-items:center;gap:var(--space-2);min-width:0}.topbar-search{display:inline-flex;align-items:center;gap:var(--space-2);height:30px;width:260px;max-width:100%;padding:0 var(--space-2) 0 var(--space-3);font-family:inherit;font-size:var(--fs-base);color:var(--text-faint);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.topbar-search:hover{border-color:var(--border-strong);color:var(--text-muted);text-decoration:none}.topbar-search .topbar-search-icon{flex:none}.topbar-search .topbar-search-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .user-name{color:var(--text-muted);font-size:var(--fs-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .user-role{font-size:var(--fs-xs);padding:1px 8px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);text-transform:capitalize}.topbar-sep{width:1px;height:20px;background:var(--border);flex:none}.content{padding:var(--space-6) var(--space-6) var(--space-8);max-width:1400px;width:100%}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.page-header .page-sub{color:var(--text-muted);font-size:var(--fs-base)}.page-actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.icon{display:block;flex:none;vertical-align:middle}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 12px;font-size:var(--fs-base);font-weight:var(--fw-medium);font-family:inherit;line-height:1;color:var(--text);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:transparent;border-color:var(--border-strong);color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-sm{height:24px;padding:0 8px;font-size:var(--fs-sm)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;font-family:inherit;font-size:var(--fs-base);line-height:1;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn-icon:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.btn-icon.btn-danger:hover{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.btn-icon:disabled{opacity:.4;cursor:default}.btn-icon.btn-sm{width:24px;height:24px;font-size:var(--fs-sm)}.segmented{display:inline-flex;align-items:center;gap:2px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);max-width:100%;overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segmented>a,.segmented>button{display:inline-flex;align-items:center;gap:6px;flex:none;height:26px;padding:0 12px;font-family:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);line-height:1;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .12s ease,color .12s ease}.segmented>a:hover,.segmented>button:hover{color:var(--text);text-decoration:none}.segmented>.active,.segmented>[aria-current=page],.segmented>[aria-selected=true]{background:var(--surface);color:var(--text);font-weight:var(--fw-semi);box-shadow:var(--shadow)}.input,.select,.textarea{font-family:inherit;font-size:var(--fs-base);line-height:1.25;color:var(--text);background-color:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:5px 8px;width:100%;vertical-align:middle;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,color .12s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{resize:vertical;min-height:70px;line-height:1.5}.select{width:auto;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-repeat:no-repeat,no-repeat;background-size:var(--caret-size) var(--caret-size),var(--caret-size) var(--caret-size);background-position:right calc(var(--caret-inset) + var(--caret-size)) center,right var(--caret-inset) center;padding-right:calc(var(--caret-inset) * 2 + var(--caret-size) * 2)!important}.select[multiple],.select[size]:not([size="1"]){background-image:none;padding-right:8px!important}.capture-chip,.inline-stage,.inline-priority,.inline-due,.addrow .select,.addrow .input{--caret-size: 3px;--caret-inset: 3px}.input-quiet{background-color:transparent;border-color:var(--border)}.input-quiet:hover{background-color:var(--surface);border-color:var(--border-strong)}.input-quiet:focus{background-color:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-quiet[readonly],.input-quiet:disabled{background-color:transparent;background-image:none;border-color:transparent}.input[type=date],.input[type=time],.input[type=datetime-local],.input[type=month],.input[type=number]{font-variant-numeric:tabular-nums}.input[type=date]::-webkit-datetime-edit,.input[type=time]::-webkit-datetime-edit,.input[type=datetime-local]::-webkit-datetime-edit,.input[type=month]::-webkit-datetime-edit{padding:0;line-height:inherit}.input[type=date]::-webkit-datetime-edit-fields-wrapper,.input[type=time]::-webkit-datetime-edit-fields-wrapper,.input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.input[type=month]::-webkit-datetime-edit-fields-wrapper{padding:0}.input[type=date]::-webkit-inner-spin-button,.input[type=time]::-webkit-inner-spin-button,.input[type=datetime-local]::-webkit-inner-spin-button,.input[type=month]::-webkit-inner-spin-button{display:none}.input::-webkit-calendar-picker-indicator{margin:0 0 0 var(--caret-inset);padding:0;opacity:.45;cursor:pointer;transition:opacity .12s ease}.input:hover::-webkit-calendar-picker-indicator,.input:focus::-webkit-calendar-picker-indicator{opacity:.85}.field{margin-bottom:var(--space-3)}.field>label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--text-muted);margin-bottom:var(--space-1)}.field-row{display:flex;gap:var(--space-3);flex-wrap:wrap}.field-row .field{flex:1;min-width:160px}.checkbox-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);background:var(--surface)}.checkbox-list label{display:flex;align-items:center;gap:6px;font-size:var(--fs-base);cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:var(--space-3)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.table-dense{min-width:1020px}.table th,.table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.table td{height:38px;font-size:var(--fs-base)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .12s ease;--row-bg: var(--bg)}.card .table tbody tr{--row-bg: var(--surface)}.table tbody tr:hover{background:var(--surface-2);--row-bg: var(--surface-2)}.table th{height:34px;font-size:var(--fs-sm);font-weight:var(--fw-semi);letter-spacing:.01em;color:var(--text-faint);background:var(--surface);position:sticky;top:0;z-index:1}.table th a{color:inherit}.table th a:hover{color:var(--accent)}.table th .sort-arrow{font-size:var(--fs-2xs)}.row-actions{display:inline-flex;align-items:center;gap:2px;opacity:0;pointer-events:none;transition:opacity .12s ease}tr:hover .row-actions,tr:focus-within .row-actions,.row:hover .row-actions,.row:focus-within .row-actions,.stage-row:hover .row-actions,.stage-row:focus-within .row-actions,.member-row:hover .row-actions,.member-row:focus-within .row-actions,.link-row:hover .row-actions,.link-row:focus-within .row-actions,.milestone-row:hover .row-actions,.milestone-row:focus-within .row-actions,.note-row:hover .row-actions,.note-row:focus-within .row-actions,.row-actions:focus-within,.row-actions.show{opacity:1;pointer-events:auto}.row-actions:has(details[open]){opacity:1;pointer-events:auto}.title-line{min-height:24px}.table tbody tr{position:relative}.title-line .row-actions{position:absolute;top:0;bottom:0;right:0;align-items:center;padding-left:20px;background-image:linear-gradient(to right,transparent,var(--row-bg, var(--bg)) 20px)}.title-line .row-actions,tr:hover .title-line .row-actions,.title-line .row-actions:focus-within,.title-line .row-actions:has(details[open]){pointer-events:none}tr:hover .title-line .row-actions>*,.title-line .row-actions:focus-within>*,.title-line .row-actions:has(details[open])>*{pointer-events:auto}.title-line .row-actions.show,.is-restore-list .title-line .row-actions,tr .title-line .row-actions:has(.row-timer.running){pointer-events:auto}.title-line .row-actions.show,.is-restore-list .title-line .row-actions,tr .title-line .row-actions:has(.row-timer.running){position:static;padding-left:0;background-image:none}.title-line .tag-chip,.title-line .flag-guest{max-width:33%;overflow:hidden}.title-line .tag-chip>a,.title-line .flag-guest>.flag-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-line .tag-chip,.title-line .flag,.title-line .subtask-pill{flex-shrink:0}.title-line .title-text{flex-shrink:1;min-width:0}.menu{position:relative;flex:none}.menu>summary{list-style:none;cursor:pointer}.menu>summary::-webkit-details-marker{display:none}.menu[open]>summary{background:var(--surface-2);color:var(--text)}.menu-pop{position:absolute;top:calc(100% + 4px);right:0;z-index:40;display:flex;flex-direction:column;min-width:172px;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.menu-wide .menu-pop,.menu-pop.menu-wide{min-width:200px}.menu-item{display:block;padding:5px var(--space-2);font-family:inherit;font-size:var(--fs-base);line-height:1.5;text-align:left;color:var(--text);background:none;border:none;border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;transition:background .12s ease,color .12s ease}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-2);color:var(--text);text-decoration:none}.menu-danger{color:var(--danger)}.menu-danger:hover,.menu-danger:focus-visible{background:var(--danger-soft);color:var(--danger)}.menu-sep{height:1px;margin:var(--space-1) 0;background:var(--border)}.col-fav{width:28px;padding-right:0}.fav-star{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;color:var(--text-faint);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;opacity:.45;transition:opacity .12s ease,color .12s ease,background .12s ease}.fav-star:hover,.fav-star:focus-visible{opacity:1;color:var(--text);background:var(--surface-2)}.fav-star.is-on{opacity:1;color:var(--accent)}.fav-star.is-on svg{fill:currentColor}.milestone-mark{display:inline-block;width:8px;height:8px;margin-right:6px;vertical-align:baseline;background:var(--accent);transform:rotate(45deg);flex:none}.struck .milestone-mark,.done .milestone-mark{background:var(--text-faint)}.row-menu{display:inline-block}.row-menu>summary{display:inline-flex;align-items:center;justify-content:center;list-style:none;cursor:pointer}.row-menu>summary::-webkit-details-marker{display:none}.row-menu[open]>summary{background:var(--surface-2);color:var(--text)}.row-menu-pop{position:fixed;z-index:90;min-width:168px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.row-menu-item{display:block;width:100%;font:inherit;font-size:var(--fs-base);text-align:left;padding:5px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;transition:background-color .12s ease,color .12s ease}.row-menu-item:hover,.row-menu-item:focus-visible{background:var(--surface-2, var(--bg))}.row-menu-item.is-danger:hover,.row-menu-item.is-danger:focus-visible{background:var(--danger-soft);color:var(--danger)}.row-menu-sep{height:1px;margin:3px 0;background:var(--border)}.table tbody tr.is-selected,.table tbody tr.is-selected:hover{background-color:var(--accent-soft);--row-bg: var(--accent-soft)}.table tbody tr.is-selected>td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.table tbody tr.focused>td{--row-bg: var(--accent-soft)}.stats{display:flex;flex-wrap:wrap;gap:var(--space-8)}.stat{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-value,.stat .value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:1.2;color:var(--text);font-variant-numeric:tabular-nums}.stat-sub{font-size:var(--fs-sm);color:var(--text-muted)}.badge{display:inline-block;font-size:var(--fs-xs);font-weight:var(--fw-semi);padding:2px 8px;border-radius:var(--radius-pill);background-color:var(--surface-2);color:var(--text-muted);white-space:nowrap}.badge-accent{background-color:var(--accent-soft);color:var(--accent)}.badge-ok{background-color:var(--ok-soft);color:var(--ok)}.badge-warn{background-color:var(--warn-soft);color:var(--warn)}.badge-danger{background-color:var(--danger-soft);color:var(--danger)}[data-hue="0"],.hue-blue{--c: var(--hue-blue);--c-soft: var(--hue-blue-soft)}[data-hue="1"],.hue-teal{--c: var(--hue-teal);--c-soft: var(--hue-teal-soft)}[data-hue="2"],.hue-violet{--c: var(--hue-violet);--c-soft: var(--hue-violet-soft)}[data-hue="3"],.hue-plum{--c: var(--hue-plum);--c-soft: var(--hue-plum-soft)}[data-hue="4"],.hue-rust{--c: var(--hue-rust);--c-soft: var(--hue-rust-soft)}[data-hue="5"],.hue-ochre{--c: var(--hue-ochre);--c-soft: var(--hue-ochre-soft)}[data-hue="6"],.hue-sage{--c: var(--hue-sage);--c-soft: var(--hue-sage-soft)}[data-hue="7"],.hue-slate{--c: var(--hue-slate);--c-soft: var(--hue-slate-soft)}.stage-pending{--c: var(--stage-pending);--c-soft: var(--stage-pending-soft)}.stage-in_progress{--c: var(--stage-in-progress);--c-soft: var(--stage-in-progress-soft)}.stage-in_review{--c: var(--stage-in-review);--c-soft: var(--stage-in-review-soft)}.stage-complete{--c: var(--stage-complete);--c-soft: var(--stage-complete-soft)}.stage-custom{--c: var(--stage-custom);--c-soft: var(--stage-custom-soft)}.pri-1{--c: var(--pri-1);--c-soft: var(--pri-1-soft)}.pri-2{--c: var(--pri-2);--c-soft: var(--pri-2-soft)}.pri-3{--c: var(--pri-3);--c-soft: var(--pri-3-soft)}.pri-4{--c: var(--pri-4);--c-soft: var(--pri-4-soft)}.kind-retainer{--c: var(--kind-retainer);--c-soft: var(--kind-retainer-soft)}.kind-delivery{--c: var(--kind-delivery);--c-soft: var(--kind-delivery-soft)}.kind-house{--c: var(--kind-house);--c-soft: var(--kind-house-soft)}.kind-register{--c: var(--kind-register);--c-soft: var(--kind-register-soft)}.badge-c{background-color:var(--c-soft, var(--surface-2));color:var(--c, var(--text-muted))}.hue-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--c, var(--border-strong));flex:none;vertical-align:-1px;margin-right:6px}.hue-swatch-lg{width:14px;height:14px;border-radius:4px}.dot.dot-c{background:var(--c, var(--border-strong))}.edge-c{box-shadow:inset 3px 0 0 var(--c, transparent)}.select-c{color:var(--c, inherit);font-weight:var(--fw-medium);box-shadow:inset 3px 0 0 var(--c, transparent);padding-left:calc(var(--space-3) + 3px)}.select-c:focus{box-shadow:inset 3px 0 0 var(--c, transparent),0 0 0 3px var(--accent-soft)}.avatar[data-hue]{background:var(--c-soft);color:var(--c)}.icon-c{flex:none;color:var(--c, var(--text-faint))}.row-name{font-weight:var(--fw-medium);color:var(--text)}a.row-name{color:var(--accent)}.heading-c:before{content:"";display:inline-block;width:3px;height:.85em;border-radius:2px;background:var(--c, var(--text-faint));margin-right:var(--space-2);vertical-align:-1px}.select.badge{border-color:var(--border);border-color:color-mix(in srgb,currentColor 32%,transparent)}.select.badge:hover{border-color:var(--border-strong);border-color:color-mix(in srgb,currentColor 60%,transparent)}.select.badge:focus{border-color:var(--accent)}.select.badge:disabled,.select.badge[readonly]{background-image:none;border-color:transparent}.select.inline-priority:not(.badge){background-color:transparent;border-color:var(--border)}.select.inline-priority:not(.badge):hover{background-color:var(--surface);border-color:var(--border-strong)}.select.inline-priority:not(.badge):focus{border-color:var(--accent)}.select.inline-priority:not(.badge):disabled,.select.inline-priority:not(.badge)[readonly]{background-image:none;border-color:transparent}.tag-chip{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-xs);font-weight:var(--fw-semi);padding:1px 8px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);white-space:nowrap;border:1px solid transparent}.tag-chip a{color:inherit;text-decoration:none}.tag-chip a:hover{text-decoration:underline}.tag-chip[data-color=pine]{background:var(--accent-soft);color:var(--accent)}.tag-chip[data-color=clay]{background:var(--hue-rust-soft);color:var(--hue-rust)}.tag-chip[data-color=sand]{background:var(--hue-ochre-soft);color:var(--hue-ochre)}.tag-chip[data-color=sky]{background:var(--hue-blue-soft);color:var(--hue-blue)}.tag-chip[data-color=plum]{background:var(--hue-plum-soft);color:var(--hue-plum)}.tag-chip[data-color=slate]{background:var(--hue-slate-soft);color:var(--hue-slate)}.tag-remove{border:0;background:none;color:inherit;cursor:pointer;opacity:0;padding:0 2px;font-size:var(--fs-sm);line-height:1;transition:opacity .12s ease}.tag-chip:hover .tag-remove,.tag-chip:focus-within .tag-remove{opacity:.7}.flag{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--warn);white-space:nowrap}.flag-scope{color:var(--danger)}.flag-guest{color:var(--text-faint);font-weight:var(--fw-medium)}.assignee-chips{display:flex;gap:var(--space-1);flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);padding:2px 8px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text);white-space:nowrap}.chip.done{background:var(--ok-soft);color:var(--ok);text-decoration:line-through}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--border-strong);flex:none}.dot-ok{background:var(--ok)}.dot-warn{background:var(--warn)}.dot-danger{background:var(--danger)}.avatars{display:inline-flex;align-items:center}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border-radius:50%;font-size:var(--fs-2xs);font-weight:var(--fw-semi);background:var(--surface-3);color:var(--text-muted);box-shadow:0 0 0 2px var(--surface);user-select:none;--avatar-overlap: -6px}.avatar+.avatar{margin-left:var(--avatar-overlap)}.avatar.done{background:var(--ok-soft);color:var(--ok);box-shadow:0 0 0 2px var(--ok)}.avatar-more{background:var(--surface);color:var(--text-faint);border:1px solid var(--border)}.avatar-empty{background:var(--surface);color:var(--text-faint);border:1px dashed var(--border-strong)}.assign-pop{display:inline-block}.assign-pop>summary{display:inline-flex;align-items:center;list-style:none;cursor:pointer}.assign-pop>summary::-webkit-details-marker{display:none}.assign-menu{position:fixed;z-index:90;min-width:200px;padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.snooze-pop{display:inline-block}.snooze-pop>summary{display:inline-flex;align-items:center;justify-content:center;list-style:none;cursor:pointer}.snooze-pop>summary::-webkit-details-marker{display:none}.snooze-menu{position:fixed;z-index:90;min-width:200px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.snooze-choice{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);width:100%;font:inherit;font-size:var(--fs-base);text-align:left;padding:5px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;transition:background-color .12s ease}.snooze-choice:hover,.snooze-choice:focus-visible{background:var(--surface-2, var(--bg))}.snooze-choice .muted{font-size:var(--fs-sm)}.snooze-wake{color:var(--accent)}.snooze-pick{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-muted);padding:4px 8px 2px;border-top:1px solid var(--border);margin-top:2px}.snooze-pick .input{width:130px;font-size:var(--fs-sm);padding:2px 4px}#task-rows tr[data-task-id]{cursor:pointer}.is-picking #task-rows tr[data-task-id],.is-restore-list #task-rows tr[data-task-id]{cursor:default}#task-rows tr[data-task-id] :is(input,select,textarea){cursor:auto}#task-rows tr[data-task-id] .title-text{cursor:text}.is-picking .row-done{display:none}.row-done{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--border-strong);border-radius:50%;background-color:var(--surface);cursor:pointer;position:relative;transition:border-color .12s ease,background-color .12s ease}.row-done:hover:not(:disabled){border-color:var(--accent)}.row-done:checked{background-color:var(--accent);border-color:var(--accent)}.row-done:checked:after{content:"";position:absolute;left:4.5px;top:1.5px;width:4px;height:7px;border:solid var(--accent-contrast);border-width:0 1.5px 1.5px 0;transform:rotate(40deg)}.row-done:disabled{cursor:not-allowed;opacity:.45}.row-done:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.th-title{display:inline-flex;align-items:center;gap:var(--space-2)}.pick-all{flex:none;margin:0;cursor:pointer;visibility:hidden}.is-picking .pick-all{visibility:visible}.row-pick{display:none;flex:none;margin:0;cursor:pointer}.is-picking .row-pick{display:inline-block}.is-picking .title-link{pointer-events:none}.is-picking .title-line .row-actions{display:none}.row-done{flex:none;margin:0;cursor:pointer}.title-text.struck{text-decoration:line-through;color:var(--text-muted)}tr.row-busy{opacity:.55}.row-timer.running{color:var(--accent);opacity:1}tr .row-actions:has(.row-timer.running){opacity:1;pointer-events:auto}.row-stop[hidden]{display:none}.row-reply-box{display:flex;align-items:center;gap:6px;margin-top:4px}.row-reply-box .input{font-size:var(--fs-base);padding:3px 6px}.flag-snooze{color:var(--text-muted)}.flag-woke{color:var(--accent)}.due{white-space:nowrap;font-variant-numeric:tabular-nums}.due.overdue{color:var(--danger);font-weight:var(--fw-semi)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.mono{font-family:var(--font-mono);font-size:var(--fs-sm)}.nowrap{white-space:nowrap}dialog{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--space-6);min-width:380px;max-width:560px;color:var(--text);background:var(--surface)}dialog::backdrop{background:#23212047}.kbd{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-xs);line-height:1.4;padding:0 5px;color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap}.palette{width:min(620px,92vw);max-width:none;padding:var(--space-2);margin-top:12vh;margin-bottom:auto}.palette-input{font-size:var(--fs-md);padding:var(--space-2) var(--space-3)}.palette-results{max-height:50vh;overflow-y:auto;margin-top:var(--space-2)}.palette-group{padding:var(--space-2) var(--space-2) var(--space-1)}.palette-item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding:6px var(--space-2);border-radius:var(--radius-sm);color:var(--text)}.palette-item:hover,.palette-item.active{background:var(--accent-soft);color:var(--accent);text-decoration:none}.palette-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-item-meta{font-size:var(--fs-sm);color:var(--text-faint);flex-shrink:0}.palette-hint{padding:var(--space-2);font-size:var(--fs-sm);color:var(--text-faint)}.shortcut-rows{display:flex;flex-direction:column}.shortcut-row{display:flex;align-items:center;gap:var(--space-2);padding:3px 0;font-size:var(--fs-base)}.shortcut-keys{display:flex;gap:var(--space-1);width:96px;flex-shrink:0}.help-actions{display:flex;justify-content:flex-end;margin-top:var(--space-4)}#toast-host{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:100;display:flex;flex-direction:column;gap:var(--space-2)}.toast{background:var(--text);color:var(--surface);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);font-size:var(--fs-base);max-width:360px}.toast.error{background:var(--danger);color:var(--surface)}.save-pill{position:fixed;top:calc(var(--topbar-h) + 12px);right:var(--space-6);z-index:80;padding:3px 10px;font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow);pointer-events:none;opacity:0;transition:opacity .12s ease}.save-pill.show{opacity:1}.input.title-input{width:100%;font-size:var(--fs-base);padding:2px 6px}.tablebar{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.select-toggle{color:var(--text-muted)}.select-toggle:hover{color:var(--text)}.select-toggle.is-on,.select-toggle[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.select-toggle.is-on:hover,.select-toggle[aria-pressed=true]:hover{border-color:var(--accent-hover);color:var(--accent-hover)}.select-hint{margin-left:auto;flex:0 1 auto;min-width:0;font-size:var(--fs-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulkbar{position:sticky;bottom:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--space-2) var(--space-3);display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-top:var(--space-3)}.addrow .input,.addrow .select{width:100%;font-size:var(--fs-sm);padding:2px 4px}.addrow .add-title{font-size:var(--fs-base)}.addrow .add-plus{color:var(--text-faint);user-select:none}.addrow .btn{width:100%;justify-content:center}.empty{padding:var(--space-8) var(--space-6);text-align:center;color:var(--text-faint)}.empty p{margin:0 0 var(--space-3)}.stack{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.inbox-row{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);cursor:default}.inbox-row:last-child{border-bottom:none}.inbox-row:hover{background:var(--surface-2)}.inbox-row.unread{background:var(--accent-soft);cursor:pointer}.inbox-row.unread:hover{background:var(--accent-soft)}.inbox-row.unread .inbox-text{font-weight:var(--fw-semi)}.inbox-icon{width:16px;flex-shrink:0;text-align:center;color:var(--text-faint)}.inbox-body{display:flex;align-items:baseline;gap:var(--space-2);flex:1;min-width:0;flex-wrap:wrap}.inbox-label{flex-shrink:0}.inbox-text{min-width:0}.inbox-when{font-size:var(--fs-sm);flex-shrink:0}.mention{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-sm);padding:0 3px}a.mention,a.mention:visited{color:var(--accent);cursor:pointer}a.mention:hover{text-decoration:underline}.mention-menu{position:absolute;z-index:90;display:flex;flex-direction:column;min-width:180px;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.mention-item{border:none;background:none;font-family:inherit;font-size:var(--fs-base);color:var(--text);text-align:left;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.mention-item:hover,.mention-item.active{background:var(--accent-soft);color:var(--accent)}.combobox{position:relative;display:inline-block;width:100%;vertical-align:middle}.combobox[data-fit=auto]{width:auto}.combobox-input{width:100%;text-overflow:ellipsis;cursor:default}.combobox[data-open] .combobox-input{cursor:text}.combobox-input::placeholder{color:var(--text-muted);opacity:1}.combobox-pop{position:fixed;z-index:95;display:flex;flex-direction:column;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.combobox-pop[hidden]{display:none}.combobox-list{margin:0;padding:0;min-height:0;list-style:none;overflow-y:auto;overscroll-behavior:contain}.combobox-opt{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:5px 8px;border-radius:var(--radius-sm);font-size:var(--fs-base);color:var(--text);cursor:pointer;transition:background-color .12s ease,color .12s ease}.combobox-opt[hidden]{display:none}.combobox-opt.is-active{background:var(--accent-soft);color:var(--accent)}.combobox-opt[aria-selected=true] .combobox-opt-label{font-weight:var(--fw-semi)}.combobox-opt[data-disabled]{color:var(--text-faint);cursor:not-allowed}.combobox-opt-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combobox-hint{flex:none;font-size:var(--fs-sm);color:var(--text-faint)}.combobox-opt.is-active .combobox-hint{color:var(--accent)}.combobox-new .combobox-opt-label{font-style:italic}.combobox-empty{margin:0;padding:var(--space-2);font-size:var(--fs-base);color:var(--text-muted)}.combobox-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:860px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;overflow-x:auto;overflow-y:hidden;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-right:none;border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar .brand{flex:none;padding:0 var(--space-2) 0 0}.sidebar .nav-section{display:flex;align-items:center;gap:2px;flex:none;margin:0}.sidebar .nav-label{display:none}.sidebar .nav-section+.nav-section{padding-left:var(--space-2);border-left:1px solid var(--border)}.sidebar .nav-item{flex:none;padding:5px var(--space-3)}.topbar{padding:0 var(--space-3);gap:var(--space-2)}.topbar-search{width:auto;min-width:0}.topbar-search .topbar-search-label,.topbar-search .kbd,.topbar .user-name{display:none}.content{padding:var(--space-4) var(--space-3) var(--space-8)}.page-header{flex-direction:column;align-items:stretch;gap:var(--space-2)}.card{padding:var(--space-4)}.table-wrap{overflow-x:visible}.table,.table tbody,.table:has(td[data-label]) tr,.table:has(td[data-label]) td{display:block!important;width:auto!important}.table:has(td[data-label]) thead{display:none!important}.table:has(td[data-label]) tr{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.table:has(td[data-label]) tbody tr:last-child{border-bottom:none}.table:has(td[data-label]) td{display:flex!important;align-items:center;gap:var(--space-3);height:auto!important;min-height:28px;padding:3px var(--space-3)!important;border-bottom:none!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.table td[data-label]:before{content:attr(data-label);flex:none;width:92px;font-size:var(--fs-sm);color:var(--text-faint)}.table:has(td[data-label]) td:empty{display:none!important}.row-actions{opacity:1;pointer-events:auto}.table-dense{min-width:0}.table tbody tr{position:static}.title-line .row-actions{position:static;padding-left:0;background-image:none}.title-line{flex-wrap:wrap}.title-line .tag-chip,.title-line .flag-guest{max-width:none}.table:has(td[data-label]) tbody tr.is-selected>td:first-child{box-shadow:none}.table:has(td[data-label]) tbody tr.is-selected{box-shadow:inset 2px 0 0 var(--accent)}.stats{gap:var(--space-6)}dialog{min-width:0;width:calc(100vw - var(--space-6))}}.tour-scrim{position:fixed;z-index:200;background:#2321206b}.tour-ring{position:fixed;z-index:201;border:2px solid var(--accent);border-radius:var(--radius-sm);box-shadow:0 0 0 2px var(--accent-soft);pointer-events:none}.tour-card{position:fixed;z-index:202;width:320px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--space-4);padding-right:var(--space-5)}.tour-card-centered{left:50%;top:50%;transform:translate(-50%,-50%)}.tour-title{margin:0 0 var(--space-2);font-size:15px;font-weight:600;line-height:1.3}.tour-body{margin:0;font-size:13px;line-height:1.55;color:var(--text)}.tour-foot{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4)}.tour-spacer{flex:1}.tour-count{font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-faint)}.tour-x{position:absolute;top:var(--space-2);right:var(--space-2);font-size:16px;line-height:1}.tour-open{color:var(--text-faint)}@media(prefers-reduced-motion:reduce){.tour-ring{box-shadow:none}}@media(max-width:860px){.tour-card{width:calc(100vw - 24px)}}
