:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c-bg:#f5f7f8;--c-surface:#fff;--c-sunken:#eef2f3;--c-border:#dce3e6;--c-border-strong:#7d8b95;--c-card-border:#6f7d87;--c-fg:#0f1f24;--c-muted:#4b5a63;--c-primary:#0f766e;--c-primary-hover:#115e59;--c-on-primary:#fff;--c-primary-soft:#e3f2f0;--c-primary-soft-fg:#0b5d57;--c-ring:#0f766e;--c-overdue-fg:#b42318;--c-overdue-bg:#fdecea;--c-risk-fg:#8a3b0a;--c-risk-bg:#fef0d7;--c-soon-fg:#1d4ed8;--c-soon-bg:#e8effd;--c-ok-fg:#166534;--c-ok-bg:#e3f5e9;--c-wait-fg:#475569;--c-wait-bg:#edf1f5;--c-area-portfolio:#1e40af;--c-area-personal:#7e22ce;--c-scrim:#0f1f2473;--chart-on-track:#0f766e;--chart-at-risk:#b45309;--chart-overdue:#b42318;--chart-complete:#667085;--chart-not-started:#98a2b3;--chart-in-progress:#0f766e;--chart-blocked:#b42318;--chart-ink:#fff;--chart-done-fill:#e4e7ec;--chart-today:#b42318;--rpt-cream:#fbf8f3;--rpt-card:#fff;--rpt-hairline:#e7e1d6;--rpt-ink:#1a1530;--rpt-muted:#5b5470;--rpt-tile:#ffffffd9;--rpt-shadow:0 1px 2px #1a15300a, 0 8px 24px -12px #1a15301f;--rpt-glow-a:#0b6e4f29;--rpt-glow-b:#1e3a8a24;--rpt-glow-c:#6d28d929;--rpt-band-glow-a:#0b6e4f0f;--rpt-band-glow-b:#1e3a8a0d;--rpt-band-glow-c:#6d28d90f;--rpt-on-gem:#fff;--rpt-sheen-hi:#ffffff47;--rpt-sheen-lo:#fff0;--gem-emerald:#0b6e4f;--gem-emerald-2:#10916a;--gem-sapphire:#1e3a8a;--gem-sapphire-2:#2b53c4;--gem-amethyst:#6d28d9;--gem-amethyst-2:#8b4ee0;--gem-ruby:#9f1239;--gem-ruby-2:#be123c;--gem-topaz:#92400e;--gem-topaz-2:#b45309;--gem-slate:#667085;--gem-slate-soft:#ece8f2;--prio-high-bg:#fdecef;--prio-medium-bg:#fdf3e3;--prio-low-bg:#eaf0fb}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#0b1214;--c-surface:#121a1d;--c-sunken:#0e1517;--c-border:#26343a;--c-border-strong:#6b7f88;--c-card-border:#6b7f88;--c-fg:#e6eef0;--c-muted:#9daeb5;--c-primary:#2dd4bf;--c-primary-hover:#5eead4;--c-on-primary:#042f2b;--c-primary-soft:#0f2f2c;--c-primary-soft-fg:#5eead4;--c-ring:#5eead4;--c-overdue-fg:#fca5a5;--c-overdue-bg:#3a1416;--c-risk-fg:#fcd34d;--c-risk-bg:#35270a;--c-soon-fg:#93c5fd;--c-soon-bg:#13233f;--c-ok-fg:#86efac;--c-ok-bg:#0f2a1a;--c-wait-fg:#cbd5e1;--c-wait-bg:#1e293b;--c-area-portfolio:#93c5fd;--c-area-personal:#d8b4fe;--c-scrim:#0009;--chart-on-track:#2dd4bf;--chart-at-risk:#fcd34d;--chart-overdue:#fca5a5;--chart-complete:#9daeb5;--chart-not-started:#6b7f88;--chart-in-progress:#2dd4bf;--chart-blocked:#fca5a5;--chart-ink:#0b1214;--chart-done-fill:#26343a;--chart-today:#fca5a5;--rpt-cream:#0e0b1a;--rpt-card:#17132a;--rpt-hairline:#2c2545;--rpt-ink:#f3effa;--rpt-muted:#b7afcc;--rpt-tile:#17132ad9;--rpt-shadow:0 1px 2px #00000059, 0 10px 28px -12px #0000008c;--rpt-glow-a:#34d39933;--rpt-glow-b:#93c5fd2e;--rpt-glow-c:#c4b5fd33;--rpt-band-glow-a:#34d39914;--rpt-band-glow-b:#93c5fd12;--rpt-band-glow-c:#c4b5fd14;--rpt-on-gem:#0e0b1a;--rpt-sheen-hi:#ffffff38;--rpt-sheen-lo:#fff0;--gem-emerald:#34d399;--gem-emerald-2:#6ee7b7;--gem-sapphire:#93c5fd;--gem-sapphire-2:#bfdbfe;--gem-amethyst:#c4b5fd;--gem-amethyst-2:#ddd6fe;--gem-ruby:#fda4af;--gem-ruby-2:#fecdd3;--gem-topaz:#fcd34d;--gem-topaz-2:#fde68a;--gem-slate:#9da3b5;--gem-slate-soft:#2a2440;--prio-high-bg:#3b1520;--prio-medium-bg:#3a2a0c;--prio-low-bg:#15233f}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#0b1214;--c-surface:#121a1d;--c-sunken:#0e1517;--c-border:#26343a;--c-border-strong:#6b7f88;--c-card-border:#6b7f88;--c-fg:#e6eef0;--c-muted:#9daeb5;--c-primary:#2dd4bf;--c-primary-hover:#5eead4;--c-on-primary:#042f2b;--c-primary-soft:#0f2f2c;--c-primary-soft-fg:#5eead4;--c-ring:#5eead4;--c-overdue-fg:#fca5a5;--c-overdue-bg:#3a1416;--c-risk-fg:#fcd34d;--c-risk-bg:#35270a;--c-soon-fg:#93c5fd;--c-soon-bg:#13233f;--c-ok-fg:#86efac;--c-ok-bg:#0f2a1a;--c-wait-fg:#cbd5e1;--c-wait-bg:#1e293b;--c-area-portfolio:#93c5fd;--c-area-personal:#d8b4fe;--c-scrim:#0009;--chart-on-track:#2dd4bf;--chart-at-risk:#fcd34d;--chart-overdue:#fca5a5;--chart-complete:#9daeb5;--chart-not-started:#6b7f88;--chart-in-progress:#2dd4bf;--chart-blocked:#fca5a5;--chart-ink:#0b1214;--chart-done-fill:#26343a;--chart-today:#fca5a5;--rpt-cream:#0e0b1a;--rpt-card:#17132a;--rpt-hairline:#2c2545;--rpt-ink:#f3effa;--rpt-muted:#b7afcc;--rpt-tile:#17132ad9;--rpt-shadow:0 1px 2px #00000059, 0 10px 28px -12px #0000008c;--rpt-glow-a:#34d39933;--rpt-glow-b:#93c5fd2e;--rpt-glow-c:#c4b5fd33;--rpt-band-glow-a:#34d39914;--rpt-band-glow-b:#93c5fd12;--rpt-band-glow-c:#c4b5fd14;--rpt-on-gem:#0e0b1a;--rpt-sheen-hi:#ffffff38;--rpt-sheen-lo:#fff0;--gem-emerald:#34d399;--gem-emerald-2:#6ee7b7;--gem-sapphire:#93c5fd;--gem-sapphire-2:#bfdbfe;--gem-amethyst:#c4b5fd;--gem-amethyst-2:#ddd6fe;--gem-ruby:#fda4af;--gem-ruby-2:#fecdd3;--gem-topaz:#fcd34d;--gem-topaz-2:#fde68a;--gem-slate:#9da3b5;--gem-slate-soft:#2a2440;--prio-high-bg:#3b1520;--prio-medium-bg:#3a2a0c;--prio-low-bg:#15233f}:root{--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Fraunces", ui-serif, Georgia, "Times New Roman", serif;--font-text:"Inter", var(--font-sans);--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.875rem;--fs-lg:1rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--lh-xs:1rem;--lh-sm:1.125rem;--lh-md:1.25rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--sp-1:.125rem;--sp-2:.25rem;--sp-3:.5rem;--sp-4:.75rem;--sp-5:1rem;--sp-6:1.5rem;--sp-7:2rem;--r-kbd:.25rem;--r-control:.375rem;--r-card:.5rem;--r-pill:999px;--shadow-none:none;--motion:.15s ease;--target-min:1.5rem;--control-h:1.75rem;--control-h-lg:2.25rem;--sidebar-w:13.5rem;--bg:var(--c-bg);--surface:var(--c-surface);--surface-alt:var(--c-sunken);--border:var(--c-border);--text:var(--c-fg);--muted:var(--c-muted);--accent:var(--c-primary);--accent-text:var(--c-on-primary);--accent-soft:var(--c-primary-soft);--danger:var(--c-overdue-fg);--overdue-bg:var(--c-overdue-bg);--overdue-text:var(--c-overdue-fg);--stale-bg:var(--c-risk-bg);--stale-text:var(--c-risk-fg);--focus:var(--c-ring);--radius:var(--r-control)}@media (prefers-reduced-motion:reduce){:root{--motion:0s linear}}:root{font-family:var(--font-sans);color:var(--text);background:var(--bg);font-synthesis:none;font-size:100%;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}h1,h2,h3{margin:0;line-height:1.2}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{border-radius:var(--radius);color:var(--accent-text);background:var(--accent);font-weight:var(--fw-semibold);z-index:10;padding:.5rem .9rem;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:.75rem}html{scroll-padding-top:4.5rem}body{font-size:var(--fs-md);line-height:var(--lh-md)}.app-shell{--app-header-h:3.5rem;grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-rows:auto 1fr;grid-template-areas:"header header""nav main";min-height:100vh;display:grid}.app-header{z-index:15;align-items:center;gap:var(--sp-3) var(--sp-4);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;grid-area:header;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--sp-3);width:calc(var(--sidebar-w) - var(--sp-5));font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:-.01em;white-space:nowrap;display:inline-flex}.brand-mark{border-radius:var(--r-kbd);background:var(--c-primary);width:.875rem;height:.875rem;display:inline-block}.sidebar{gap:var(--sp-2);padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--border);background:var(--surface);top:var(--app-header-h);height:calc(100vh - var(--app-header-h));height:calc(100dvh - var(--app-header-h));overscroll-behavior:contain;flex-direction:column;grid-area:nav;align-self:start;display:flex;position:sticky;overflow-y:auto}.nav-list{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.nav-list a{min-height:var(--control-h);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-control);color:var(--muted);font-weight:var(--fw-medium);transition:background-color var(--motion), color var(--motion);align-items:center;text-decoration:none;display:flex}.nav-list a:hover{color:var(--text);background:var(--surface-alt)}.nav-list a[aria-current=page],.nav-list a[aria-current=location]{color:var(--c-primary-soft-fg);background:var(--c-primary-soft);font-weight:var(--fw-semibold)}.nav-sub{margin-top:var(--sp-1);padding-left:var(--sp-4)}.nav-sub a{min-height:var(--target-min);font-size:var(--fs-sm)}.nav-group{margin:var(--sp-4) 0 var(--sp-1);padding:0 var(--sp-3);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase}.sidebar-footer{gap:var(--sp-3);padding:var(--sp-4) var(--sp-3) 0;border-top:1px solid var(--border);color:var(--muted);font-size:var(--fs-sm);margin-top:auto;display:grid}.sidebar-footer p{margin:0}.link-button{align-items:center;gap:var(--sp-3);min-height:var(--target-min);color:var(--muted);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;display:inline-flex}.link-button:hover{color:var(--text)}.theme-select{align-items:center;gap:var(--sp-3);display:flex}.theme-select select{min-height:var(--control-h);padding:0 var(--sp-3);font-size:var(--fs-sm)}main{width:100%;min-width:0;max-width:90rem;padding:var(--sp-5) var(--sp-6) var(--sp-7);grid-area:main}main:focus{outline:none}.search-box{flex:16rem;max-width:28rem;position:relative}.search-box input[type=search]{width:100%;min-height:var(--control-h-lg);padding-right:2rem}.search-kbd{right:var(--sp-3);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-results{left:0;right:0;top:calc(100% + var(--sp-2));z-index:30;padding:var(--sp-2);margin:0;position:absolute}.search-results p{margin:var(--sp-3)}.search-results ul{margin:0;padding:0;list-style:none}.search-results a{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-control);color:var(--text);gap:0;text-decoration:none;display:grid}.search-results a:hover,.search-results a:focus-visible{background:var(--surface-alt)}.result-title{font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.result-context{color:var(--muted);font-size:var(--fs-xs)}.add-button{gap:var(--sp-3);min-height:var(--control-h-lg)}.add-button kbd{font-size:var(--fs-xs)}@media (width<=68.74rem){.app-shell{grid-template:"header""nav""main"1fr/minmax(0,1fr)}.brand{width:auto}.sidebar{align-items:center;gap:var(--sp-2) var(--sp-4);padding:var(--sp-2) var(--sp-5);border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;height:auto;position:static;overflow:visible}.nav-list{flex-flow:wrap}.nav-list>li{align-items:center;gap:var(--sp-1);display:flex}.nav-sub{margin:0;margin-top:var(--sp-1);padding-left:0;padding-left:var(--sp-4)}.nav-sub a{min-height:var(--target-min);font-size:var(--fs-sm)}.nav-group{padding:0 0 0 var(--sp-3);border-left:1px solid var(--border);margin:0}.sidebar-footer{align-items:center;gap:var(--sp-4);border-top:0;flex-flow:wrap;margin:0 0 0 auto;padding:0;display:flex}.local-note{display:none}main{padding:var(--sp-5)}}@media (width<=40rem){.search-box{flex-basis:100%;order:5;max-width:none}.app-header .area-switch{margin-left:0}}.view-header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.view-header h2{font-size:var(--fs-xl);line-height:1.75rem}.view-header p{margin:.25rem 0 0}.muted{color:var(--muted)}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0 0 1.25rem;padding:1.25rem}.empty-state{text-align:center;padding:2.5rem 1.5rem}.empty-state h3{font-size:var(--fs-lg)}.empty-state p{max-width:32rem;margin:.5rem auto 1.25rem}.error-panel{border-color:var(--danger)}.error-panel p{margin:0 0 .75rem}.button{border:1px solid var(--border);border-radius:var(--radius);min-height:2.25rem;color:var(--text);background:var(--surface);font:inherit;font-size:var(--fs-md);cursor:pointer;justify-content:center;align-items:center;padding:.4rem .85rem;font-weight:600;display:inline-flex}.button:hover{background:var(--surface-alt)}.button:disabled{cursor:wait;opacity:.7}.button.primary{border-color:var(--accent);color:var(--accent-text);background:var(--accent)}.button.primary:hover{filter:brightness(1.08)}.button.danger{border-color:var(--danger);color:var(--danger)}.filters{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:1.25rem;display:flex}.filters label{font-weight:600;font-size:var(--fs-md)}.checkbox{align-items:center;gap:.4rem;display:inline-flex}select,input[type=text],input:not([type]),input[type=date]{border:1px solid var(--border);border-radius:var(--radius);min-height:2.25rem;color:var(--text);background:var(--surface);font:inherit;padding:.35rem .6rem}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}.project-form h3{font-size:var(--fs-lg);margin-bottom:1rem}.project-form form{grid-template-columns:2fr 1fr 1fr;align-items:end;gap:1rem;display:grid}.field{gap:.3rem;display:grid}.field label{font-weight:600;font-size:var(--fs-md)}.hint{color:var(--muted);font-weight:400}.form-error{color:var(--danger);grid-column:1/-1;margin:0;font-weight:600}.actions{grid-column:1/-1;gap:.5rem;display:flex}.phase-group{margin-bottom:1.5rem;overflow-x:auto}table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%}caption{text-align:left;font-size:var(--fs-lg);font-weight:var(--fw-semibold);padding:0 0 .5rem}.count{min-width:1.5rem;color:var(--muted);background:var(--surface-alt);border:1px solid var(--border);font-size:var(--fs-xs);text-align:center;border-radius:999px;margin-left:.35rem;padding:0 .45rem;display:inline-block}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--border);padding:.7rem .9rem}thead th{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;background:var(--surface-alt)}thead th:first-child{border-top-left-radius:var(--radius)}thead th:last-child{border-top-right-radius:var(--radius)}tbody tr:last-child>*{border-bottom:0}.project-name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.phase-group table.phase-table{table-layout:fixed;min-width:44rem}.phase-table thead th:first-child{width:30%}.phase-table thead th:nth-child(2){width:14%}.phase-table thead th:nth-child(3){width:26%}.phase-table thead th:nth-child(4){width:13%}.phase-table thead th:nth-child(5){width:17%}.completion{flex-wrap:wrap;align-items:center;gap:.35rem .65rem;display:flex}.completion span{font-size:var(--fs-sm);white-space:nowrap}progress{background:var(--accent-soft);width:6rem;height:.5rem;accent-color:var(--accent);appearance:none;border:0;border-radius:999px}progress::-webkit-progress-bar{background:var(--accent-soft);border-radius:999px}progress::-webkit-progress-value{background:var(--accent);border-radius:999px}progress::-moz-progress-bar{background:var(--accent);border-radius:999px}.badges{flex-wrap:wrap;gap:.35rem;display:inline-flex}.badge{white-space:nowrap;padding:0 var(--sp-3);border-radius:var(--r-pill);min-height:1.25rem;line-height:var(--lh-xs);font-size:var(--fs-xs);font-weight:var(--fw-semibold);flex-shrink:0;align-items:center;display:inline-flex}.badge.overdue{color:var(--overdue-text);background:var(--overdue-bg)}.badge.stale{color:var(--stale-text);background:var(--stale-bg)}.row-actions{white-space:nowrap;text-align:right}.row-actions .button+.button{margin-left:.4rem}.storage-warning{border:2px solid var(--stale-text);border-radius:var(--radius);padding:.75rem}@media (width<=48rem){.project-form form{grid-template-columns:1fr}.view-header{flex-direction:column;align-items:flex-start}}.project-name a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}.project-name a:hover{color:var(--accent)}.back-link{color:var(--accent);margin-bottom:.75rem;font-weight:600;display:inline-block}.button.small{font-size:var(--fs-sm);padding:.25rem .6rem}.project-view .view-header{flex-wrap:wrap;gap:.5rem 1rem}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:.25rem 0 0;display:flex}.project-progress{align-items:center;gap:.75rem;margin:.75rem 0 1.25rem;display:flex}.project-progress>span{white-space:nowrap}.project-progress progress{width:12rem;height:.75rem;accent-color:var(--accent);flex:none}.task-tree,.task-children{margin:0;padding:0;list-style:none}.task-tree{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.task-item>.task-row{border-bottom:1px solid var(--border)}.task-tree>.task-item:last-child>.task-row{border-bottom:0}.task-row{padding:.45rem .75rem .45rem calc(.75rem + var(--depth,0) * 1.5rem);flex-wrap:wrap;align-items:center;gap:.4rem .6rem;display:flex}.task-row:focus-within{background:var(--accent-soft)}.task-row.is-done .task-title{color:var(--muted);text-decoration:line-through}.disclosure,.disclosure-spacer{flex:none;width:1.75rem;height:1.75rem}.disclosure{color:var(--text);cursor:pointer;font-size:var(--fs-md);background:0 0;border:0;border-radius:.3rem}.disclosure:hover{background:var(--surface-alt)}.task-check{width:1.1rem;height:1.1rem;accent-color:var(--accent);flex:none;margin:0 .7rem}.subtask-count{text-align:center;width:2.5rem;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);flex:none}.task-title{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:text;overflow-wrap:anywhere;background:0 0;border:1px solid #0000;border-radius:.3rem;flex:12rem;padding:.2rem .3rem}.task-title:hover{border-color:var(--border)}.title-input{min-width:0;font:inherit;flex:12rem;padding:.2rem .4rem}.task-date{font:inherit;font-size:var(--fs-sm);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:.3rem;padding:.15rem .3rem}.notes-dot{color:var(--accent);font-weight:var(--fw-semibold)}.task-panel{margin:0 .75rem .5rem calc(2.5rem + var(--depth,0) * 1.5rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt);padding:.6rem .75rem}.task-actions{flex-wrap:wrap;gap:.4rem;display:flex}.task-notes{gap:.4rem;display:grid}.notes-log{gap:var(--sp-2,.4rem);display:grid}.notes-log-list{gap:.4rem;max-height:18rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.notes-log-entry{background:var(--surface);border:1px solid var(--border);border-radius:.3rem;padding:.4rem .6rem}.notes-log-time{font-size:var(--fs-sm,.85em);color:var(--text-muted,var(--text));display:block}.notes-log-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:.2rem 0 0}.notes-log-empty{margin:0}.task-notes textarea{box-sizing:border-box;width:100%;min-height:5rem;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:.3rem;padding:.4rem}.add-task{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.add-task input{min-width:0;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:.3rem;flex:14rem;padding:.35rem .5rem}.add-root{margin-top:1rem}.undo-bar{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.hint{color:var(--muted);font-size:var(--fs-sm)}@media (width<=48rem){.task-row{padding-left:calc(.5rem + var(--depth,0) * .9rem)}.task-panel{margin-left:calc(.5rem + var(--depth,0) * .9rem)}}.task-item[data-depth="1"]{--depth:0}.task-item[data-depth="2"]{--depth:1}.task-item[data-depth="3"]{--depth:2}.task-item[data-depth="4"]{--depth:3}.task-item[data-depth="5"]{--depth:4}.task-item[data-depth="6"]{--depth:5}.task-item[data-depth="7"]{--depth:6}.task-item[data-depth="8"]{--depth:7}input[type=search],input[type=number]{border:1px solid var(--border);border-radius:var(--radius);min-height:2.25rem;color:var(--text);background:var(--surface);font:inherit;padding:.35rem .6rem}.filters.panel{align-items:flex-end;padding:1rem}.filters .field.wide{flex:16rem}.filters .field.wide input{box-sizing:border-box;width:100%}.filters input[type=number]{width:6rem}.filters fieldset.signals{border:0;flex-wrap:wrap;gap:.5rem .9rem;margin:0;padding:0;display:flex}.filters fieldset.signals legend{font-weight:600;font-size:var(--fs-md);margin-bottom:.3rem;padding:0}.filters .check{align-items:center;gap:.35rem;font-weight:500;display:inline-flex}.summary-cards{flex-wrap:wrap;gap:.75rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.summary-cards li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);padding:.6rem .9rem}.summary-cards strong{color:var(--text);font-size:var(--fs-lg);margin-right:.3rem}.result-count{color:var(--muted);margin:0 0 .6rem;font-weight:600}.item-kind{font-size:var(--fs-xs);font-weight:500;display:block}.badge.due-soon{color:var(--c-soon-fg);background:var(--c-soon-bg)}.attention-table,.archive-table{min-width:40rem}.archive-view h3{font-size:var(--fs-lg);margin:1.5rem 0 .6rem}.help-grid{grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:1rem;display:grid}.help-grid>.panel{padding:1.1rem 1.25rem}.help-grid h3{font-size:var(--fs-lg);margin:0 0 .75rem}.status-list{gap:.45rem;margin:0;display:grid}.status-list div{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding-bottom:.35rem;display:flex}.status-list dt{color:var(--muted)}.status-list dd{text-align:right;margin:0;font-weight:600}.status-problem{color:var(--danger)}.small-print{font-size:var(--fs-sm);margin:.75rem 0 0}.help-terms{margin:0}.help-terms dt{font-weight:var(--fw-semibold);margin-top:.6rem}.help-terms dt:first-child{margin-top:0}.help-terms dd{color:var(--muted);margin:.2rem 0 0}.shortcut-table th,.shortcut-table td{padding:.45rem .6rem}kbd{border:1px solid var(--border);background:var(--surface-alt);font:inherit;font-size:var(--fs-sm);white-space:nowrap;border-radius:.3rem;padding:.05rem .4rem;font-weight:600}.help-view ul{margin:.5rem 0 0;padding-left:1.2rem}.help-view li{margin-bottom:.35rem}.backup-message{margin:0 0 1rem;font-weight:600}.backup-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1rem;display:grid}.backup-grid h3{margin:0 0 .6rem}.backup-freshness strong{margin-right:.4rem}.backup-attention{border-color:var(--danger)}.backup-attention h3{color:var(--danger)}.report-nav ul{flex-wrap:wrap;gap:.4rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.report-nav a{border:1px solid var(--border);color:var(--text);background:var(--surface);font-weight:600;font-size:var(--fs-md);border-radius:999px;padding:.35rem .8rem;text-decoration:none;display:inline-block}.report-nav a:hover{background:var(--surface-alt)}.report-nav a[aria-current=page]{border-color:var(--accent);color:var(--accent-text);background:var(--accent)}.report-header{flex-wrap:wrap}.report-actions{flex-wrap:wrap;gap:.5rem;display:flex}.report-generated{color:var(--muted);font-size:var(--fs-sm)}.report-subheading{font-size:var(--fs-lg);margin:1.5rem 0 .6rem}.report-reasons{margin:0 0 1rem}.report-table{min-width:40rem}.outline-title{overflow-wrap:anywhere;font-weight:600}.outline-title.depth-2{padding-left:2rem}.outline-title.depth-3{padding-left:3rem}.outline-title.depth-4{padding-left:4rem}.outline-title.depth-5{padding-left:5rem}.outline-title.depth-6{padding-left:6rem}.outline-title.depth-7{padding-left:7rem}.outline-title.depth-8{padding-left:8rem}.badge.at-risk{color:var(--stale-text);background:var(--stale-bg)}.badge.on-track{color:var(--c-ok-fg);background:var(--c-ok-bg)}.badge.complete,.badge.blocked{color:var(--text);background:var(--surface-alt);border:1px solid var(--border)}.progress-chart{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0 0 1rem;padding:1rem}.progress-chart svg{width:100%;height:10rem;display:block}.bar-added{fill:var(--muted);opacity:.55}.chart-legend{font-size:var(--fs-sm);margin-top:.5rem}.legend-completed:before,.legend-added:before{content:"";vertical-align:-.1rem;border-radius:.2rem;width:.8rem;height:.8rem;margin-right:.3rem;display:inline-block}.legend-completed:before{background:var(--accent)}.legend-added:before{background:var(--muted);opacity:.55}.legend-added{margin-left:.8rem}.chart-note{margin-top:.2rem;display:block}.report-table .badge{white-space:nowrap}.report-definitions{margin-top:1rem;padding:.8rem 1rem}.report-definitions summary{cursor:pointer;font-weight:600}.report-definitions dl{margin-top:.75rem}.chart-row{flex-wrap:wrap;gap:1rem;margin:0 0 1.25rem;display:flex}.donut-chart{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex:20rem;margin:0;padding:1rem}.chart-title{font-weight:var(--fw-semibold);margin-bottom:.5rem}.donut-body{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.donut{flex:none;width:9rem;height:9rem}.slice{stroke:var(--surface);stroke-width:1px}.gantt-hatch{stroke:none}.hatch-ink{fill:var(--chart-ink);opacity:.5}.health-on_track{fill:var(--gem-emerald)}.health-at_risk{fill:var(--gem-topaz)}.health-overdue{fill:var(--gem-ruby)}.health-complete{fill:var(--gem-sapphire)}.status-not_started{fill:var(--gem-amethyst)}.status-in_progress{fill:var(--gem-emerald)}.status-blocked{fill:var(--gem-ruby)}.status-complete{fill:var(--gem-sapphire)}.donut-empty{fill:none;stroke:var(--border);stroke-width:13px}.donut-seg{fill:none;stroke-width:13px;stroke-linecap:round}.donut-seg.health-on_track,.donut-seg.status-in_progress{stroke:var(--gem-emerald)}.donut-seg.health-at_risk{stroke:var(--gem-topaz)}.donut-seg.health-overdue,.donut-seg.status-blocked{stroke:var(--gem-ruby)}.donut-seg.health-complete,.donut-seg.status-complete{stroke:var(--gem-sapphire)}.donut-seg.status-not_started{stroke:var(--gem-amethyst)}.donut-total{fill:var(--text);font-size:22px;font-weight:var(--fw-semibold)}.donut-noun{fill:var(--muted);font-size:11px}.legend-table{border-collapse:collapse;min-width:0;font-size:var(--fs-md);flex:12rem}.legend-table th,.legend-table td{border-bottom:1px solid var(--border);text-align:left;padding:.25rem .5rem}.legend-table td{text-align:right;font-variant-numeric:tabular-nums}.legend-table tfoot th,.legend-table tfoot td{font-weight:var(--fw-semibold);border-bottom:0}.swatch{vertical-align:-.15rem;width:.95rem;height:.95rem;margin-right:.45rem}.checkbox-field{flex-direction:row;align-items:center;gap:.4rem;display:inline-flex}.gantt{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0 0 .75rem;display:flex;overflow:hidden}.gantt-labels{border-right:1px solid var(--border);flex:none}.gantt-scroll{flex:auto;min-width:0;overflow-x:auto}.gantt-scroll:focus-visible{outline-offset:-3px}.gantt-chart{display:block}.gantt-band{fill:var(--surface-alt)}.gantt-axis-title,.gantt-tick-label{fill:var(--muted);font-size:12px;font-weight:600}.gantt-label{fill:var(--text);font-size:13px}.gantt-label.project{font-weight:var(--fw-semibold)}.gantt-tick{stroke:var(--border);stroke-width:1px}.gantt-bar{stroke-width:1.5px}.gantt-bar.open{fill:var(--chart-on-track);stroke:var(--chart-on-track)}.gantt-bar.overdue{fill:var(--chart-overdue);stroke:var(--chart-overdue)}.gantt-bar.done{fill:var(--gem-sapphire);stroke:var(--gem-sapphire)}.gantt-bar.fallback{stroke:var(--text);stroke-dasharray:4 3}.gantt-marker{fill:var(--chart-on-track);stroke:var(--surface);stroke-width:1.5px}.gantt-marker.overdue{fill:var(--chart-overdue)}.gantt-marker.done{fill:var(--gem-sapphire)}.gantt-marker.fallback{stroke:var(--text);stroke-dasharray:3 2}.gantt-note{fill:var(--text);font-size:12px;font-weight:600}.gantt-today{stroke:var(--chart-today);stroke-width:2px}.gantt-today-label{fill:var(--chart-today);font-size:12px;font-weight:var(--fw-semibold)}.chart-key{margin-top:0}.gantt-label-bg{fill:var(--surface)}.print-only{display:none}.show-more{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}@media print{:root{--bg:#fff;--surface:#fff;--surface-alt:#fff;--border:#9aa3b0;--text:#000;--muted:#333}body{background:#fff}.app-header,.sidebar,.skip-link,.report-nav,.report-actions,.report-controls,.report-definitions{display:none!important}.app-shell{display:block}.sidebar{height:auto;position:static;overflow:visible}.app-shell,main{max-width:none;margin:0;padding:0}.panel,.summary-cards li,.progress-chart,table{box-shadow:none}.phase-group{overflow:visible}.report-table{min-width:0}thead{display:table-header-group}tr,.summary-cards li,.progress-chart{break-inside:avoid}.report-subheading{break-after:avoid}a{color:inherit;text-decoration:none}.badge{border:1px solid var(--border)}.report-generated{color:#000}.chart-row,.donut-chart,.gantt{break-inside:avoid}.donut-chart{flex-basis:45%}.screen-only{display:none!important}.print-only{display:block}.gantt-print{break-inside:auto;width:100%;height:auto;margin-bottom:.75rem}.show-more button{display:none}}.task-start{font-size:var(--fs-sm);white-space:nowrap}.task-start-field{font-size:var(--fs-sm);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.project-dates{padding:.75rem 1rem}.sync-view{gap:1rem;display:grid}.sync-section form{gap:.75rem;max-width:40rem;display:grid}.sync-section h3{margin:0 0 .25rem}.sync-description p{margin:0 0 .75rem}.sync-choices{border:0;gap:.35rem;margin:0;padding:0;display:grid}.sync-choices legend{font-weight:600;font-size:var(--fs-md);margin-bottom:.3rem;padding:0}.sync-status p{margin:.5rem 0 0}.sync-message{min-height:1.5rem;margin:0}.sync-message:empty{min-height:0}.sync-link{border:1px solid var(--border);border-radius:.4rem;gap:.4rem;max-width:40rem;margin-top:1rem;padding:.75rem;display:grid}.sync-link label{font-weight:600}.sync-link input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm)}.sync-link .button{justify-self:start}.sync-rejected h4{margin:1rem 0 .25rem}.sync-rejected ul{margin:.25rem 0 0;padding-left:1.25rem}.monday-import .sync-message{margin-top:.75rem}.monday-preview{border:1px solid var(--border);border-radius:.4rem;gap:.75rem;margin-top:1rem;padding:.75rem;display:grid}.monday-preview h4,.monday-preview p{margin:0}.monday-counts{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem;margin:0;display:grid}.monday-counts div{border:1px solid var(--border);border-radius:.4rem;padding:.5rem .6rem}.monday-counts dt{font-size:var(--fs-sm)}.monday-counts dd{font-size:var(--fs-xl);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin:.15rem 0 0}.monday-table-wrap{overflow-x:auto}.monday-table caption{text-align:left;font-weight:600}.monday-table th[scope=row]{font-weight:500}.source-badge{font-size:var(--fs-xs)}.source-link{font-size:var(--fs-sm)}.accomplishment-groups{margin:.25rem 0 0;padding-left:1.25rem}.accomplishment-groups li{margin:.2rem 0}.backup-grid .cloud-backup{grid-column:1/-1}.cloud-backup form{gap:.75rem;max-width:46rem;margin-top:.75rem;display:grid}.cloud-backup .cloud-folder{overflow-wrap:anywhere}.cloud-message{min-height:1.4em;margin:.5rem 0 0}.app-header .focus-control{align-items:center;gap:.5rem;margin-left:auto;display:flex;position:relative}.focus-panel{z-index:20;gap:.75rem;width:min(22rem,90vw);display:grid;position:absolute;top:calc(100% + .5rem);right:0}.focus-panel-task{overflow-wrap:anywhere;margin:0}.focus-presets{flex-wrap:wrap;gap:.5rem;display:flex}.focus-custom{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.focus-custom input{width:5.5rem}.focus-running{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.focus-countdown{align-items:baseline;gap:.35rem;font-weight:600;display:inline-flex}.focus-time{font-variant-numeric:tabular-nums;font-size:var(--fs-lg)}.focus-task{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;font-weight:400;overflow:hidden}.focus-error{margin:0}.focus-dialog-backdrop{z-index:50;background:var(--c-scrim);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.focus-dialog{background:var(--surface);width:min(30rem,100%)}.focus-dialog h2{margin-top:0}.focus-dialog-actions{flex-wrap:wrap;gap:.5rem;display:flex}.task-focus,.project-focus{white-space:nowrap}.app-header .area-switch{border:1px solid var(--border);background:var(--surface-alt);border-radius:999px;align-items:center;margin:0 0 0 auto;padding:.15rem;display:flex}.app-header .area-switch+.focus-control{margin-left:.75rem}.area-option{display:inline-flex;position:relative}.area-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.area-option label{color:var(--muted);font-weight:600;font-size:var(--fs-md);cursor:pointer;border-radius:999px;padding:.25rem .75rem}.area-option input:checked+label{color:var(--accent-text);background:var(--accent)}.area-option input:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}.badge.area-portfolio{color:var(--c-area-portfolio);background:0 0;border:1px solid}.badge.area-personal{color:var(--c-area-personal);background:0 0;border:1px solid}.report-area{margin:0 0 .75rem}.button{min-height:var(--control-h);padding:var(--sp-2) var(--sp-4);border-color:var(--c-border-strong);font-size:var(--fs-md);font-weight:var(--fw-medium);transition:background-color var(--motion), border-color var(--motion)}.button.primary{border-color:var(--c-primary)}.button.primary:hover{filter:none;background:var(--c-primary-hover);border-color:var(--c-primary-hover)}.button.small{min-height:var(--target-min);padding:0 var(--sp-3);font-size:var(--fs-sm)}select,input[type=text],input:not([type]),input[type=date],input[type=search],input[type=number]{border-color:var(--c-border-strong)}.pill{min-height:1.25rem;padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:var(--lh-xs);white-space:nowrap;flex-shrink:0;align-items:center;display:inline-flex}.pill.overdue{color:var(--c-overdue-fg);background:var(--c-overdue-bg)}.pill.risk{color:var(--c-risk-fg);background:var(--c-risk-bg)}.pill.soon{color:var(--c-soon-fg);background:var(--c-soon-bg)}.pill.ok{color:var(--c-ok-fg);background:var(--c-ok-bg)}.pill.wait{color:var(--c-wait-fg);background:var(--c-wait-bg)}.pill.neutral{color:var(--text);border:1px solid var(--border);background:0 0}kbd{min-width:1.125rem;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-kbd);background:var(--surface-alt);color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:var(--lh-xs);justify-content:center;align-items:center;display:inline-flex}.modal-scrim{z-index:60;padding:var(--sp-5);background:var(--c-scrim);place-items:center;display:grid;position:fixed;inset:0}.modal{width:min(32rem,100%);max-height:calc(100vh - 2rem);margin:0;overflow:auto}.modal-header{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.modal-header h2{font-size:var(--fs-lg)}.quick-add{gap:var(--sp-4);display:grid}.quick-add input,.quick-add select{width:100%}.today-view{gap:var(--sp-5);grid-template-columns:minmax(0,1fr);display:grid}.today-view .view-header{margin-bottom:0}.today-view .view-header p{margin:0}.now-strip{align-items:center;gap:var(--sp-3) var(--sp-5);padding:var(--sp-3) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);flex-wrap:wrap;display:flex}.now-label{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase}.now-task{min-width:0;font-weight:var(--fw-semibold)}.now-task a{color:var(--text)}.now-actions{gap:var(--sp-2);display:inline-flex}.now-stats{gap:var(--sp-5);flex-wrap:wrap;margin:0 0 0 auto;display:flex}.now-stats div{align-items:baseline;gap:var(--sp-2);flex-direction:row-reverse;display:flex}.now-stats dt{color:var(--muted);font-size:var(--fs-sm)}.now-stats dd{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin:0}.today-message{align-items:center;gap:var(--sp-3);min-height:var(--control-h);margin:calc(-1 * var(--sp-3)) 0;display:flex}.today-message.is-empty{clip:rect(0 0 0 0);width:1px;height:1px;min-height:0;margin:0;position:absolute;overflow:hidden}.today-lists{gap:var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.today-list{padding:var(--sp-4) 0 var(--sp-2);margin:0}.today-list h3{align-items:center;gap:var(--sp-3);margin:0 var(--sp-5) var(--sp-3);font-size:var(--fs-lg);flex-wrap:wrap;display:flex}.today-list>p{margin:0 var(--sp-5) var(--sp-3)}.today-list ul{margin:0;padding:0;list-style:none}.key-hints{align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-regular);flex-wrap:wrap;margin-left:auto;display:inline-flex}.day-group h4{margin:var(--sp-3) 0 0;padding:var(--sp-2) var(--sp-5);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;background:var(--surface-alt)}.today-row{align-items:center;gap:var(--sp-3);min-height:2.25rem;padding:var(--sp-2) var(--sp-5);border-top:1px solid var(--border);display:flex;position:relative}.today-row:focus-visible{outline-offset:-2px}.today-row.is-selected,.today-row:hover{background:var(--surface-alt)}.today-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.today-title a{color:var(--text);font-weight:var(--fw-medium);text-decoration:none}.today-title a:hover{text-decoration:underline}.today-project{color:var(--muted);font-size:var(--fs-sm)}.today-date{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.row-tools{right:var(--sp-3);gap:var(--sp-2);padding-left:var(--sp-5);background:linear-gradient(to right, transparent, var(--surface-alt) var(--sp-5));opacity:0;transition:opacity var(--motion);display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.today-row:hover .row-tools,.today-row:focus-within .row-tools,.today-row.is-selected .row-tools{opacity:1}@media (hover:none){.row-tools{opacity:1;background:0 0;padding:0;position:static;transform:none}}.move-date{align-items:center;gap:var(--sp-2);flex-shrink:0;display:inline-flex}.move-date input{min-height:var(--target-min);padding:0 var(--sp-2);font-size:var(--fs-sm)}.section-header{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.section-header h3{align-items:center;gap:var(--sp-3);font-size:var(--fs-lg);display:flex}.section-links{gap:var(--sp-4);font-size:var(--fs-sm);display:inline-flex}.table-scroll{border:1px solid var(--border);border-radius:var(--r-card);overflow-x:auto}.table-scroll:focus-visible{outline-offset:2px}.table-scroll table{border:0;border-radius:0}.dense-table{min-width:56rem;font-size:var(--fs-sm)}.dense-table th,.dense-table td{padding:var(--sp-2) var(--sp-4);height:2.25rem}.dense-table thead th{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.04em}.dense-table .cell-name{max-width:18rem;font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dense-table .cell-name a{color:var(--text)}.dense-table .cell-next{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.dense-table .cell-nowrap{white-space:nowrap}.dense-table progress{vertical-align:middle;width:4rem}.week-summary{color:var(--muted);margin:0}.week-summary strong{color:var(--text)}.week-summary a{margin-left:var(--sp-3)}.import-view .sync-view{margin-top:0}@media (width<=68.74rem){.today-lists{grid-template-columns:minmax(0,1fr)}.now-stats{margin-left:0}}.hover-row .row-tools,.task-row .row-tools{background:0 0;padding:0;position:static;transform:none}.row-tools{transition:none}.hover-row:hover .row-tools,.hover-row:focus-within .row-tools,.row-tools.is-open,.task-row:hover .row-tools,.task-row:focus-within .row-tools{opacity:1}.row-actions{white-space:nowrap;text-align:right;width:1%}.list-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.chips,.seg{gap:var(--sp-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:inline-flex}.chip,.seg-option{display:inline-flex;position:relative}.chip input,.seg-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.chip label,.seg-option label{align-items:center;gap:var(--sp-2);min-height:var(--control-h);padding:0 var(--sp-4);border:1px solid var(--c-border-strong);border-radius:var(--r-pill);color:var(--text);background:var(--surface);font-size:var(--fs-sm);cursor:pointer;display:inline-flex}.seg-option label{border-radius:var(--r-control)}.chip input:checked+label,.seg-option input:checked+label{color:var(--c-primary-soft-fg);background:var(--c-primary-soft);border-color:var(--c-primary);font-weight:var(--fw-semibold)}.chip input:focus-visible+label,.seg-option input:focus-visible+label{outline:2px solid var(--focus);outline-offset:2px}.chip-count{color:var(--muted);font-variant-numeric:tabular-nums}.toolbar-fields{align-items:center;gap:var(--sp-3) var(--sp-5);flex-wrap:wrap;display:flex}.inline-field{align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);display:inline-flex}.inline-field select{min-height:var(--control-h)}.sticky-scroll{max-height:calc(100vh - 14rem);overflow:auto}.sticky-scroll thead th{z-index:1;position:sticky;top:0}.dense-table th,.dense-table td{padding:var(--sp-3) var(--sp-4)}.dense-table.is-compact th,.dense-table.is-compact td{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.dense-table tbody tr:hover{background:var(--surface-alt)}.sort-button{align-items:center;gap:var(--sp-2);min-height:var(--target-min);color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.sort-button:hover{color:var(--text)}.sort-mark{min-width:.75em;font-size:.7em}.projects-table progress{vertical-align:middle;width:4rem}.projects-table{table-layout:fixed;min-width:64rem}.projects-table .col-project{width:16%}.projects-table thead th:not([class]){width:7%}.projects-table .col-phase{width:9%}.projects-table .col-next-task{width:15%}.projects-table .col-due{width:9%}.projects-table .col-progress{width:13%}.projects-table .col-status,.projects-table .col-last-activity{width:10%}.projects-table .col-actions{width:9.5rem}.projects-table td,.projects-table th{overflow-wrap:anywhere}.projects-table .cell-name{white-space:normal;max-width:none;overflow:visible}.cell-progress .cell-sub{margin-top:var(--sp-1);font-size:var(--fs-xs);display:block}.cell-nowrap{white-space:nowrap}.cell-next{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-heading{align-items:center;gap:var(--sp-3);margin:var(--sp-5) 0 var(--sp-3);font-size:var(--fs-lg);display:flex}.group-heading .count{color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-regular)}.project-header{align-items:flex-start}.project-meta{align-items:center;gap:var(--sp-3);margin:var(--sp-3) 0 0;flex-wrap:wrap;display:flex}.project-side{align-items:flex-end;gap:var(--sp-3);flex-direction:column;display:flex}.project-actions{gap:var(--sp-3);display:flex}.task-row{position:relative}.task-row .task-meta{gap:var(--sp-3);margin:0}.task-row .task-date{min-height:var(--control-h);font-size:var(--fs-sm)}.overflow-menu{margin:0 var(--sp-5) var(--sp-3) auto;gap:var(--sp-2);width:18rem;padding:var(--sp-4);border:1px solid var(--c-border-strong);border-radius:var(--r-card);background:var(--surface);grid-template-columns:1fr 1fr;display:grid}.overflow-menu .task-start-field,.overflow-menu .hint{grid-column:1/-1}.task-item{position:relative}.done-fold>.task-row{color:var(--muted)}.fold-toggle{width:auto;padding:0 var(--sp-3);gap:var(--sp-2);font-size:var(--fs-sm);color:var(--muted)}.detail-panel{gap:var(--sp-3);display:grid}.detail-title{font-size:var(--fs-md);margin:0}.detail-fields{gap:var(--sp-3) var(--sp-6);flex-wrap:wrap;margin:0;display:flex}.detail-fields div{gap:var(--sp-1);display:grid}.detail-fields dt{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em}.detail-fields dd{margin:0}.severity-group+.severity-group{margin-top:var(--sp-5)}.severity-overdue .group-heading{color:var(--c-overdue-fg)}.attention-table .move-date{gap:var(--sp-2);align-items:center;display:inline-flex}.gantt-capped{max-height:32rem;overflow-y:auto}.capped-scroll{max-height:28rem;overflow:auto}.capped-scroll thead th{z-index:1;position:sticky;top:0}.sync-view,.backups-view,.help-grid{gap:var(--sp-5);display:grid}@media (width>=1100px){.help-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.panel h3{font-size:var(--fs-lg);margin-top:0}.panel{border-radius:var(--r-card)}@media print{.gantt-capped,.capped-scroll,.sticky-scroll{max-height:none;overflow:visible}.row-tools,.list-toolbar,.project-actions{display:none!important}}.button.destructive{border-color:var(--danger);background:var(--danger);color:var(--surface);font-weight:600}.button.destructive:hover:not(:disabled){filter:brightness(1.1)}.button.destructive:disabled{opacity:.6;cursor:not-allowed}.delete-dialog{gap:.75rem;max-width:34rem;display:grid}.delete-question{margin:0}.delete-consequences{gap:.25rem;margin:0;padding-left:1.25rem;display:grid}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.project-overflow{gap:.5rem;display:inline-flex;position:relative}.review-toolbar{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.review-bulk{gap:var(--sp-2);display:inline-flex}.review-select-all{align-items:center;display:inline-flex}.review-row{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.review-row:focus-visible{outline-offset:-2px}.review-row.is-selected,.review-row:hover{background:var(--surface-alt)}.review-row>input[type=checkbox]{margin-top:.35rem}.review-main{flex:18rem;min-width:0}.review-title,.review-meta,.review-details{margin:0}.review-meta{font-size:var(--fs-sm)}.review-details{margin-top:var(--sp-2);white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--fs-sm)}.review-actions{gap:var(--sp-2);flex:16rem;grid-template-columns:repeat(3,minmax(0,1fr));min-width:min(100%,16rem);margin-left:auto;display:grid}.review-actions .button{white-space:nowrap;width:100%}.review-link{align-items:center;gap:var(--sp-2);display:inline-flex}.review-threshold{gap:var(--sp-2) var(--sp-4);margin:0 0 var(--sp-4);grid-template-columns:auto minmax(8rem,16rem);align-items:center;display:grid}.review-threshold p{grid-column:1/-1;margin:0}.review-threshold input[type=range]{width:100%;accent-color:var(--accent);margin:0}.jev-decision{margin-top:var(--sp-2)}.jev-gate{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.jev-gate .pill{gap:.35rem}.jev-tag-confidence{font-variant-numeric:tabular-nums}.quick-add textarea{box-sizing:border-box;width:100%}@media (width<=40rem){.review-actions{flex-basis:100%;margin-left:0}.review-threshold{grid-template-columns:1fr}}.modal:has(.template-preview){width:min(52rem,100%)}.template-preview{margin-top:var(--sp-4)}.template-preview h3{font-size:var(--fs-md,1rem);margin-bottom:var(--sp-3)}.template-preview ul{margin:0;padding-inline-start:1.25rem}.warning-panel{margin-bottom:var(--sp-3)}.warning-panel p{margin:0 0 .5rem}.template-list{margin-top:var(--sp-6,2rem)}.pinned-badge{vertical-align:middle;margin-inline-start:var(--sp-2)}.is-pinned{background:var(--surface-alt)}.todo-view{gap:var(--sp-4);display:grid}.todo-quick-add{gap:var(--sp-3);display:grid}.todo-quick-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.todo-title-field,.todo-notes-field{grid-column:1/-1}.todo-list{margin:0;padding:0;list-style:none}.todo-row{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.todo-row:first-child{border-top:none}.todo-row.is-complete .todo-title{color:var(--muted);text-decoration:line-through}.todo-row-main{gap:var(--sp-1);flex:18rem;min-width:0;display:grid}.todo-row-title-line{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.todo-title{font-weight:var(--fw-semibold)}.todo-notes-preview{font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.todo-row-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:inline-flex}.todo-subtask-form{align-items:flex-end;gap:var(--sp-2);width:100%;padding-top:var(--sp-2);border-top:1px dashed var(--border);flex-wrap:wrap;display:flex}.todo-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.todo-sort{align-items:center}.todo-sort-legend{float:left;margin-right:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--muted)}.todo-sort-hint{font-size:var(--fs-sm);color:var(--muted);margin:0}.todo-section-heading{margin:0 0 var(--sp-2);font-size:var(--fs-md,1rem)}.todo-reorder{align-items:center;gap:var(--sp-1);flex:none;display:inline-flex}.todo-reorder .button.small.icon{min-width:var(--target-min);justify-content:center;padding:0}.todo-drag-handle{min-width:var(--target-min);min-height:var(--target-min);border-radius:var(--r-kbd,4px);color:var(--muted);cursor:grab;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:inline-flex}.todo-drag-handle:hover{border-color:var(--border);color:var(--text)}.todo-drag-handle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.todo-drag-handle:active{cursor:grabbing}.todo-row.is-dragging{opacity:.55}.todo-row.drop-before{box-shadow:inset 0 3px 0 var(--focus)}.todo-row.drop-after{box-shadow:inset 0 -3px 0 var(--focus)}.priority-tag{min-height:1.25rem;padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:var(--lh-xs);white-space:nowrap;border:1px solid;flex-shrink:0;align-items:center;display:inline-flex}.priority-tag.priority-high{color:var(--gem-ruby);background:var(--prio-high-bg)}.priority-tag.priority-medium{color:var(--gem-topaz);background:var(--prio-medium-bg)}.priority-tag.priority-low{color:var(--gem-sapphire);background:var(--prio-low-bg)}.priority-select{min-height:var(--target-min);font-size:var(--fs-sm)}@media (forced-colors:active){.priority-tag{border-color:canvastext}.todo-row.drop-before,.todo-row.drop-after{outline:2px solid highlight}}.app-header .timer-control{align-items:center;gap:.5rem;margin-left:.75rem;display:flex;position:relative}.timer-running{border:1px solid var(--border);background:var(--surface-alt);border-radius:999px;align-items:center;gap:.5rem;padding:.15rem .25rem .15rem .6rem;display:inline-flex}.timer-dot{background:var(--danger);border-radius:50%;width:.6rem;height:.6rem}@media (prefers-reduced-motion:no-preference){.timer-dot{animation:2s ease-in-out infinite timer-pulse}}@keyframes timer-pulse{50%{opacity:.35}}.timer-clock{font-variant-numeric:tabular-nums;font-weight:600}.timer-task{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;color:var(--text);overflow:hidden}.timer-error{margin:0}.timer-toast-region{z-index:40;gap:.5rem;max-width:min(26rem,90vw);display:grid;position:fixed;bottom:1rem;right:1rem}.timer-toast{box-shadow:0 4px 16px var(--c-scrim);align-items:center;gap:.75rem;margin:0;display:flex}.timer-button.is-running{color:var(--danger);border-color:currentColor}.task-time-badge,.project-tracked{white-space:nowrap;font-variant-numeric:tabular-nums}.task-time{border-top:1px solid var(--border);gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:grid}.task-time-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.task-time-total{font-variant-numeric:tabular-nums;margin-right:auto;font-weight:600}.task-work{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.session-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.session-table th,.session-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.3rem .5rem}.session-table .num,.fpo-table .num{text-align:right;font-variant-numeric:tabular-nums}.session-actions,.row-actions{justify-content:flex-end;gap:.35rem;display:flex}.session-form{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));align-items:end;gap:.5rem;display:grid}.session-form-actions{gap:.5rem;display:flex}.session-note{color:var(--muted)}.long-timer-trim{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.project-reporting{gap:.75rem;margin-bottom:1rem;display:grid}.project-reporting h3,.reporting-origin{margin:0}.reporting-fields,.fund-fields{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.project-reporting .actions,.fund-form .actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.fund-form{gap:.75rem;margin-bottom:1rem;display:grid}.fund-form h3{margin:0}.fund-filter{max-width:20rem;margin-bottom:.75rem}.fund-table,.fpo-table{border-collapse:collapse;width:100%}.unmapped-list{flex-wrap:wrap;gap:.25rem 1rem;padding-left:1.2rem;display:flex}.fpo-controls{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.fpo-controls input[type=number]{width:6rem}.fpo-message{min-height:1.4em;margin:.25rem 0}.fpo-warning{color:var(--c-risk-fg);background:var(--c-risk-bg);border-color:currentColor;font-weight:600}.fpo-table th,.fpo-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.4rem .5rem}.fpo-table tbody th{font-weight:600}.fpo-table tfoot th,.fpo-table tfoot td{border-top:2px solid var(--border);border-bottom:0}.fpo-table select{max-width:16rem}.fpo-days{text-align:right;width:5rem}.fpo-projects{font-weight:400;font-size:var(--fs-sm);display:block}.fpo-issues{color:var(--danger);font-size:var(--fs-sm);margin:0;padding-left:1rem}.fpo-table tr.has-issue th{box-shadow:inset 3px 0 0 var(--danger)}@media print{.timer-control,.fpo-controls,.report-actions{display:none}}.panel.todo-list{gap:var(--sp-3);box-shadow:none;background:0 0;border:0;padding:0;display:grid}.todo-list>.todo-row{padding:var(--sp-4) var(--sp-5);border:2px solid var(--c-card-border);border-radius:var(--r-card);background:var(--surface);transition:border-color .12s}.todo-list>.todo-row:first-child{border-top:2px solid var(--c-card-border)}.todo-list>.todo-row:hover,.todo-list>.todo-row:focus-within{border-color:var(--gem-emerald)}.todo-list>.todo-row.is-complete{background:var(--bg)}.todo-list>.todo-row.is-complete .todo-row-main{opacity:.85}.todo-list>.todo-row.is-subtask{margin:calc(-1 * var(--sp-2)) 0 0 var(--sp-7);padding-block:var(--sp-3);border-width:1px;border-color:var(--border);border-left:3px solid var(--c-card-border)}.todo-list>.todo-row.is-subtask:hover,.todo-list>.todo-row.is-subtask:focus-within{border-color:var(--gem-emerald)}.todo-list>.todo-row.drop-before,.todo-list>.todo-row.drop-after{border-color:var(--focus);border-style:dashed}.todo-list>.todo-row.drop-before{box-shadow:0 -4px 0 var(--focus)}.todo-list>.todo-row.drop-after{box-shadow:0 4px 0 var(--focus)}.panel.do-next{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-left:4px solid var(--c-overdue-fg);display:grid}.do-next-header{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.do-next-heading{margin:0;font-size:1rem}.do-next-list{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.do-next-item{align-items:center;gap:var(--sp-2);display:flex}.do-next-link{align-items:center;gap:var(--sp-3);min-width:0;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-card);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.do-next-link:hover,.do-next-link:focus-visible{background:var(--c-sunken)}.do-next-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.do-next-collapsed{margin:0 0 var(--sp-3)}.todo-list>.todo-row:focus{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.todo-list>.todo-row{transition:none}}@media (forced-colors:active){.todo-list>.todo-row{border-color:canvastext}}.project-chip{max-width:16rem;min-height:1.25rem;padding:0 var(--sp-3);border:1px solid var(--c-card-border);border-radius:var(--r-pill);color:var(--c-primary-soft-fg);background:var(--c-primary-soft);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:var(--lh-xs);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex;overflow:hidden}.project-chip:hover{text-decoration:underline}.project-chip.is-archived{color:var(--muted);background:var(--surface-alt);border-style:dashed}.project-link-select{max-width:12rem}.todo-project-filter{align-items:center;gap:var(--sp-3);margin:0;display:flex}.todo-project-filter label{white-space:nowrap;margin:0}.todo-move-toast .button{white-space:nowrap;text-decoration:none}.hosted-gate{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.hosted-gate .panel{width:min(36rem,100%)}.hosted-gate h1{margin-bottom:1rem}.hosted-gate form,.hosted-gate .gate-stack{gap:.75rem;display:grid}.hosted-gate label{gap:.3rem;font-weight:600;display:grid}.hosted-gate .button{justify-self:start}.read-only-note{color:var(--muted);font-size:var(--fs-sm);margin:0;font-weight:600}.task-notes p{white-space:pre-wrap;margin:.5rem 0 0}
