:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-sans:var(--font-inter), system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-weight-heading:500;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-lg:15px;--text-xl:20px;--text-2xl:22px;--space-1:2.8px;--space-2:5.6px;--space-3:8.4px;--space-4:11.2px;--space-5:16.8px;--space-6:22.4px;--space-8:28px;--space-10:33.6px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--sidebar-w:232px;--sidebar-w-collapsed:68px;--drawer-w:clamp(400px, 34vw, 480px);--row-h:44px;--header-h:66px;--head-folded-h:56px;--ease:cubic-bezier(.2, .7, .2, 1);--dur-fast:.12s;--dur:.18s;--color-bg:#161826;--color-surface:#232532;--color-surface-2:#1e202c;--color-sidebar:#12141f;--color-zebra:#292b3173;--color-text:#e9e9ed;--color-on-accent:#161826;--color-accent:#9184d9;--color-divider:#e9e9ed29;--scrim:#00000073;--color-neutral-100:#f3f5fe;--color-neutral-200:#e4e7f5;--color-neutral-300:#cfd3e5;--color-neutral-400:#b2b6ca;--color-neutral-500:#9397ab;--color-neutral-600:#75798c;--color-neutral-700:#595d6c;--color-neutral-800:#3f424d;--color-neutral-900:#292b31;--color-accent-100:#f5f4ff;--color-accent-200:#e7e5fe;--color-accent-300:#d2cefd;--color-accent-400:#b5abfc;--color-accent-500:#968ae0;--color-accent-600:#796cbf;--color-accent-700:#5d5294;--color-accent-800:#423a6a;--color-accent-900:#2b2741;--shadow-sm:0 0 0 1px var(--color-neutral-800);--shadow-md:0 0 0 1px var(--color-neutral-700), 0 6px 18px #0000008c;--shadow-lg:0 0 0 1px var(--color-neutral-500), 0 16px 40px #000000a6;--shadow-drop:0 10px 22px -16px #000c;--focus-ring:2px solid var(--color-accent);--focus-offset:2px;--hue-rose:15;--hue-amber:70;--hue-lime:140;--hue-teal:185;--hue-sky:235;--hue-violet:289;--l-dot:.74;--ch-dot:.13;--l-fg:.85;--ch-fg:.09;--l-bg:.31;--ch-bg:.055;--a-line:.4;--l-glow:.6;--ch-glow:.12;--a-glow:.14;--c-rose-dot:oklch(var(--l-dot) var(--ch-dot) var(--hue-rose));--c-rose-fg:oklch(var(--l-fg) var(--ch-fg) var(--hue-rose));--c-rose-bg:oklch(var(--l-bg) var(--ch-bg) var(--hue-rose));--c-rose-line:oklch(var(--l-dot) var(--ch-dot) var(--hue-rose) / var(--a-line));--c-rose-glow:oklch(var(--l-glow) var(--ch-glow) var(--hue-rose) / var(--a-glow));--c-amber-dot:oklch(var(--l-dot) var(--ch-dot) var(--hue-amber));--c-amber-fg:oklch(var(--l-fg) var(--ch-fg) var(--hue-amber));--c-amber-bg:oklch(var(--l-bg) var(--ch-bg) var(--hue-amber));--c-amber-line:oklch(var(--l-dot) var(--ch-dot) var(--hue-amber) / var(--a-line));--c-amber-glow:oklch(var(--l-glow) var(--ch-glow) var(--hue-amber) / var(--a-glow));--c-lime-dot:oklch(var(--l-dot) var(--ch-dot) var(--hue-lime));--c-lime-fg:oklch(var(--l-fg) var(--ch-fg) var(--hue-lime));--c-lime-bg:oklch(var(--l-bg) var(--ch-bg) var(--hue-lime));--c-lime-line:oklch(var(--l-dot) var(--ch-dot) var(--hue-lime) / var(--a-line));--c-lime-glow:oklch(var(--l-glow) var(--ch-glow) var(--hue-lime) / var(--a-glow));--c-teal-dot:oklch(var(--l-dot) var(--ch-dot) var(--hue-teal));--c-teal-fg:oklch(var(--l-fg) var(--ch-fg) var(--hue-teal));--c-teal-bg:oklch(var(--l-bg) var(--ch-bg) var(--hue-teal));--c-teal-line:oklch(var(--l-dot) var(--ch-dot) var(--hue-teal) / var(--a-line));--c-teal-glow:oklch(var(--l-glow) var(--ch-glow) var(--hue-teal) / var(--a-glow));--c-sky-dot:oklch(var(--l-dot) var(--ch-dot) var(--hue-sky));--c-sky-fg:oklch(var(--l-fg) var(--ch-fg) var(--hue-sky));--c-sky-bg:oklch(var(--l-bg) var(--ch-bg) var(--hue-sky));--c-sky-line:oklch(var(--l-dot) var(--ch-dot) var(--hue-sky) / var(--a-line));--c-sky-glow:oklch(var(--l-glow) var(--ch-glow) var(--hue-sky) / var(--a-glow));--c-violet-dot:oklch(var(--l-dot) var(--ch-dot) var(--hue-violet));--c-violet-fg:oklch(var(--l-fg) var(--ch-fg) var(--hue-violet));--c-violet-bg:oklch(var(--l-bg) var(--ch-bg) var(--hue-violet));--c-violet-line:oklch(var(--l-dot) var(--ch-dot) var(--hue-violet) / var(--a-line));--c-violet-glow:oklch(var(--l-glow) var(--ch-glow) var(--hue-violet) / var(--a-glow))}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f8f9fd;--color-surface:#fdfdff;--color-surface-2:#f4f5fb;--color-sidebar:#f1f2f9;--color-zebra:#f2f3f9;--color-text:#161826;--color-on-accent:#fdfdff;--color-accent:#6c5fb8;--color-divider:#16182629;--scrim:#16182640;--color-neutral-100:#161826;--color-neutral-200:#292b31;--color-neutral-300:#3f424d;--color-neutral-400:#595d6c;--color-neutral-500:#6a6e80;--color-neutral-600:#8a8ea2;--color-neutral-700:#cfd3e5;--color-neutral-800:#dde0ee;--color-neutral-900:#e9ebf5;--color-accent-100:#2b2741;--color-accent-200:#423a6a;--color-accent-300:#5d5294;--color-accent-400:#6c5fb8;--color-accent-500:#796cbf;--color-accent-600:#968ae0;--color-accent-700:#d2cefd;--color-accent-800:#e7e5fe;--color-accent-900:#f1efff;--shadow-sm:0 0 0 1px var(--color-neutral-800);--shadow-md:0 0 0 1px var(--color-neutral-700), 0 6px 18px #16182614;--shadow-lg:0 0 0 1px var(--color-neutral-700), 0 16px 40px #16182624;--shadow-drop:0 10px 22px -16px #1618264d;--l-dot:.64;--ch-dot:.15;--l-fg:.47;--ch-fg:.13;--l-bg:.95;--ch-bg:.035;--a-line:.45;--l-glow:.8;--ch-glow:.1;--a-glow:.16}[data-hue=rose]{--h-dot:var(--c-rose-dot);--h-fg:var(--c-rose-fg);--h-bg:var(--c-rose-bg);--h-line:var(--c-rose-line);--h-glow:var(--c-rose-glow)}[data-hue=amber]{--h-dot:var(--c-amber-dot);--h-fg:var(--c-amber-fg);--h-bg:var(--c-amber-bg);--h-line:var(--c-amber-line);--h-glow:var(--c-amber-glow)}[data-hue=lime]{--h-dot:var(--c-lime-dot);--h-fg:var(--c-lime-fg);--h-bg:var(--c-lime-bg);--h-line:var(--c-lime-line);--h-glow:var(--c-lime-glow)}[data-hue=teal]{--h-dot:var(--c-teal-dot);--h-fg:var(--c-teal-fg);--h-bg:var(--c-teal-bg);--h-line:var(--c-teal-line);--h-glow:var(--c-teal-glow)}[data-hue=sky]{--h-dot:var(--c-sky-dot);--h-fg:var(--c-sky-fg);--h-bg:var(--c-sky-bg);--h-line:var(--c-sky-line);--h-glow:var(--c-sky-glow)}[data-hue=violet]{--h-dot:var(--c-violet-dot);--h-fg:var(--c-violet-fg);--h-bg:var(--c-violet-bg);--h-line:var(--c-violet-line);--h-glow:var(--c-violet-glow)}[data-hue=neutral]{--h-dot:var(--color-neutral-400);--h-fg:var(--color-neutral-300);--h-bg:var(--color-neutral-900);--h-line:var(--color-divider);--h-glow:transparent}:root{--bg:var(--color-bg);--surface:var(--color-surface);--surface-subtle:var(--color-surface-2);--surface-muted:var(--color-neutral-900);--surface-hover:color-mix(in srgb, var(--color-text) 7%, var(--color-surface));--overlay:var(--scrim);--scrollbar:var(--color-neutral-700);--border:var(--color-neutral-800);--border-soft:var(--color-neutral-900);--border-input:var(--color-divider);--border-strong:var(--color-neutral-700);--border-elevated:var(--color-neutral-700);--text:var(--color-text);--text-strong:var(--color-neutral-100);--text-body:var(--color-neutral-300);--text-muted:var(--color-neutral-400);--text-subtle:var(--color-neutral-500);--text-faint:var(--color-neutral-600);--text-ghost:var(--color-neutral-600);--primary:var(--color-accent);--primary-hover:var(--color-accent-300);--primary-soft:var(--color-accent-900);--on-primary:var(--color-on-accent);--track:var(--color-neutral-900);--brand-from:var(--color-accent);--brand-to:var(--c-violet-dot);--head-wash:color-mix(in oklab, var(--color-accent) 12%, transparent);--success:var(--c-lime-fg);--success-soft:var(--c-lime-bg);--warning:var(--c-amber-fg);--warning-soft:var(--c-amber-bg);--danger:var(--c-rose-fg);--danger-soft:var(--c-rose-bg);--danger-hover:var(--c-rose-dot);--teal:var(--c-teal-fg);--amber:var(--c-amber-fg);--pal-1-bg:var(--c-violet-bg);--pal-1-fg:var(--c-violet-fg);--pal-2-bg:var(--c-lime-bg);--pal-2-fg:var(--c-lime-fg);--pal-3-bg:var(--c-amber-bg);--pal-3-fg:var(--c-amber-fg);--pal-4-bg:var(--c-sky-bg);--pal-4-fg:var(--c-sky-fg);--pal-5-bg:var(--c-teal-bg);--pal-5-fg:var(--c-teal-fg);--pal-6-bg:var(--c-rose-bg);--pal-6-fg:var(--c-rose-fg);--fs-2xs:var(--text-xs);--fs-xs:var(--text-sm);--fs-sm:var(--text-md);--fs-md:var(--text-lg);--fs-lg:var(--text-xl);--fs-xl:var(--text-2xl);--fs-2xl:var(--text-2xl);--lh-tight:1.25;--lh-normal:1.45;--r-sm:var(--radius-md);--r-md:var(--radius-md);--r-lg:var(--radius-lg);--r-xl:var(--radius-lg);--r-2xl:var(--radius-lg);--r-pill:999px;--gap:var(--space-5);--gap-sm:var(--space-4);--sp-1:var(--space-1);--sp-2:var(--space-2);--sp-3:var(--space-3);--sp-4:var(--space-4);--sp-5:var(--space-5);--sp-6:var(--space-6);--sp-8:var(--space-8);--sp-10:var(--space-10);--pad-page-y:var(--space-6);--pad-page-x:var(--space-6);--pad-page-end:var(--space-10);--pad-page:var(--pad-page-y) var(--pad-page-x) var(--pad-page-end);--head-title-min:17rem;--shadow-xs:var(--shadow-sm);--shadow-card:var(--shadow-sm);--shadow-modal:var(--shadow-lg);--shadow-primary:0 0 0 1px var(--color-accent-700)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;padding:0}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}input,select,textarea,button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:8px}:where(a,button,[role=button],[tabindex]):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:inherit}:where(input,select,textarea):focus-visible{outline:var(--focus-ring);outline-offset:-1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.card-head{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.card-title{font-size:var(--fs-md);font-weight:var(--font-weight-heading)}.card-body{padding:18px}.card-foot{border-top:1px solid var(--border-soft);justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}.page{padding:var(--pad-page);gap:var(--gap);flex-direction:column;display:flex}.page-head{margin:calc(var(--pad-page-y) * -1) calc(var(--pad-page-x) * -1) 0;padding:var(--pad-page-y) var(--pad-page-x) 0;background:radial-gradient(120% 140% at 0% 0%, var(--c-teal-glow), transparent 55%), radial-gradient(90% 120% at 100% 0%, var(--c-violet-glow), transparent 60%), var(--bg);flex-direction:column;display:flex}.page-head:not(.cfg-head){top:var(--header-h);z-index:15;interpolate-size:allow-keywords;transition:padding var(--dur) var(--ease), box-shadow var(--dur) var(--ease);position:sticky}.page-head[data-stuck]{padding-top:var(--space-3);padding-bottom:var(--space-4);box-shadow:var(--shadow-drop)}.page-head .crumbs,.page-head .page-head-sub,.page-head .page-head-progress{transition:height var(--dur) var(--ease), opacity var(--dur) var(--ease), margin var(--dur) var(--ease), padding var(--dur) var(--ease), visibility var(--dur)}.page-head[data-stuck] .crumbs,.page-head[data-stuck] .page-head-sub,.page-head[data-stuck] .page-head-progress{opacity:0;visibility:hidden;height:0;margin-block:0;padding-block:0;overflow:hidden}.page-head-identity,.page-title,.page-head-logo,.page-head .tabs{transition:width var(--dur) var(--ease), height var(--dur) var(--ease), font-size var(--dur) var(--ease), margin var(--dur) var(--ease)}.page-head[data-stuck] .page-head-identity{row-gap:0;margin-top:0}.page-head[data-stuck] .page-title{font-size:var(--fs-lg)}.page-head[data-stuck] .page-head-logo{width:28px;height:28px;font-size:var(--fs-xs);border-radius:8px}.page-head[data-stuck] img.page-head-logo{width:auto;max-width:118px}.page-head[data-stuck] .tabs{margin-top:var(--space-3)}.page-head-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head-text{min-width:0}.page-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-head-identity{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.page-head-titles{align-items:center;gap:var(--space-3);flex:0 auto;min-width:0;display:flex}.page-head-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.page-head-sub{align-items:center;gap:var(--space-2) var(--space-4);font-size:var(--fs-xs);color:var(--text-faint);flex-wrap:wrap;flex:100%;min-width:0;margin:2px 0 0;display:flex}.page-head-sub>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page-title{font-size:var(--fs-xl);font-weight:var(--font-weight-heading);letter-spacing:-.2px;line-height:var(--lh-tight);margin:0}.page-head-progress{align-items:center;gap:var(--space-4);max-width:460px;padding:var(--space-3) var(--space-2) 0;display:flex}.page-head-progress .bar{flex:auto}.page-head-progress-label{font-size:var(--fs-xs);color:var(--color-neutral-500);font-variant-numeric:tabular-nums;flex:none}.head-count{align-items:center;gap:var(--space-2);color:var(--h-fg);display:inline-flex}.head-count-dot{background:var(--h-dot);border-radius:50%;flex:none;width:6px;height:6px}.crumbs{font-size:var(--fs-xs);color:var(--text-faint);align-items:center;gap:8px;display:flex}.crumbs .current{color:var(--primary);font-weight:500}.page-head-logo{width:40px;height:40px;font-size:var(--fs-md);object-fit:contain;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:11px;flex:none;justify-content:center;align-items:center;font-weight:500;display:flex}span.page-head-logo{border:0}img.page-head-logo{width:auto;max-width:168px;padding:3px 6px}.grid-kpi{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.stat-row{align-items:center;gap:var(--space-4);display:flex}.stat-tile{border-radius:var(--radius-md);background:var(--h-bg);width:34px;height:34px;color:var(--h-dot);flex:none;place-items:center;display:grid}.stat-text{min-width:0}.stat-value{font-size:var(--text-xl);font-weight:var(--font-weight-heading);font-variant-numeric:tabular-nums;line-height:1.1}.stat-label{font-size:var(--fs-xs);color:var(--color-neutral-500);margin-top:2px}.stat-hint{font-size:var(--fs-2xs);color:var(--color-neutral-600)}.dl{--cols:var(--cols-wide);container:dl/inline-size}.dl-head,.dl-row{grid-template-columns:var(--cols);align-items:center;column-gap:var(--space-4);padding:0 var(--space-3);display:grid}.dl-head{min-height:32px;font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-600);border-bottom:1px solid var(--color-neutral-900);font-weight:500}.dl-row{min-height:var(--row-h);padding-block:var(--space-3);border-radius:var(--r-md);position:relative}.dl-row:nth-child(2n of .dl-row){background:var(--color-zebra)}.dl-row:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.dl-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.dl-actions{z-index:1;justify-content:flex-end;gap:var(--space-2);display:flex;position:relative}.dl-row .reveal{opacity:0;transition:opacity var(--dur-fast) var(--ease)}.dl-row:hover .reveal,.dl-row:focus-within .reveal{opacity:1}@media (hover:none){.dl-row .reveal{opacity:1}}@container dl (max-width:1000px){.dl{--cols:var(--cols-narrow)}.dl-wide{display:none}}.dl-dot{border-radius:50%;width:8px;height:8px}.dl-project{flex-direction:column;gap:1px;min-width:0;display:flex}.dl-project-name{font-size:var(--fs-sm);color:var(--color-text);font-weight:500}.dl-project-client{font-size:var(--fs-2xs);color:var(--color-neutral-600)}.dl-muted{font-size:var(--fs-xs);color:var(--color-neutral-500)}.dl-progress{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.dl-progress-label{font-size:var(--fs-2xs);color:var(--color-neutral-500);font-variant-numeric:tabular-nums}.btn-sm{min-height:28px;padding:0 var(--space-3);font-size:var(--fs-xs)}.grid-2{gap:var(--gap);grid-template-columns:1fr 1fr;align-items:start;display:grid}.grid-3{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-split{gap:var(--gap);grid-template-columns:minmax(0,3fr) minmax(330px,2fr);align-items:start;display:grid}.btn{min-height:36px;padding:0 var(--space-4);border-radius:var(--r-md);font-size:var(--fs-sm);justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;border:1px solid var(--color-divider);color:var(--color-neutral-300);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;font-weight:500;display:inline-flex}.btn:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-primary{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-900)}.btn-primary:hover{background:color-mix(in srgb, var(--color-accent) 16%, transparent)}.btn-primary:active{background:color-mix(in srgb, var(--color-accent) 24%, transparent)}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{border:1px solid var(--border-input);border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--primary-soft);color:var(--primary)}.icon-btn[data-variant=danger]:hover{background:var(--danger-soft);color:var(--danger)}.btn-danger{border-color:var(--c-rose-line);color:var(--c-rose-fg);background:0 0}.btn-danger:hover{background:var(--c-rose-bg);border-color:var(--c-rose-dot)}.modal-foot,.confirm-actions{border-top:1px solid var(--border-soft);flex:none;justify-content:flex-end;gap:8px;padding:16px 22px;display:flex}.drawer-scrim{animation:drawer-fade var(--dur) var(--ease) both}.drawer-panel{background:var(--surface);border-left:1px solid var(--border);max-width:100%;box-shadow:var(--shadow-modal);animation:drawer-in var(--dur) var(--ease) both;outline:none;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.drawer-head{border-bottom:1px solid var(--border-soft);background:radial-gradient(120% 140% at 0% 0%, var(--c-teal-glow), transparent 55%), radial-gradient(90% 120% at 100% 0%, var(--c-violet-glow), transparent 60%);flex-direction:column;flex:none;gap:12px;padding:16px 22px 0;display:flex}.drawer-head-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.drawer-head-text{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.drawer-title{font-size:var(--fs-lg);color:var(--text-strong);font-weight:500}.drawer-badge{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);border-radius:var(--r-pill);flex:none;padding:3px 8px;font-weight:500}.drawer-subtitle{font-size:var(--fs-xs);color:var(--text-faint);min-width:0}.drawer-head:not(:has(.tf-tabs)){padding-bottom:16px}.drawer-body{flex:auto;min-height:0;padding:22px;overflow-y:auto}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:none}}.toast-region{z-index:120;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{pointer-events:auto;border:1px solid var(--border-elevated);border-left:3px solid var(--text-faint);border-radius:var(--r-lg);background:var(--surface);max-width:min(420px,100vw - 32px);box-shadow:var(--shadow-lg);font-size:var(--fs-sm);color:var(--text);animation:toast-in var(--dur) var(--ease) both;align-items:center;gap:12px;padding:11px 11px 11px 14px;display:flex}.toast[data-variant=success]{border-left-color:var(--success)}.toast[data-variant=danger]{border-left-color:var(--danger)}.toast-msg{flex:auto;min-width:0;line-height:1.4}.toast-action{border:1px solid var(--border-input);border-radius:var(--r-sm);background:var(--surface-muted);font-family:inherit;font-size:var(--fs-xs);color:var(--primary);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);flex:none;padding:6px 11px;font-weight:500}.toast-action:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.toast-action:disabled{opacity:.6;cursor:default}.toast-close{border-radius:var(--r-sm);width:24px;height:24px;color:var(--text-ghost);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:flex}.toast-close:hover{background:var(--surface-hover);color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.tf-progress{border-radius:var(--r-pill);background:var(--track);height:3px;overflow:hidden}.tf-progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--primary-hover));height:100%;transition:width .25s var(--ease)}.tf-tabs{align-items:center;gap:4px;display:flex}.tf-tab{cursor:pointer;font-family:inherit;font-size:var(--fs-sm);color:var(--text-muted);transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 12px;font-weight:500;display:inline-flex}.tf-tab:hover{color:var(--text-strong)}.tf-tab[data-active]{color:var(--primary);border-bottom-color:var(--primary)}.tf-tab-count{background:var(--track);color:var(--text-muted);border-radius:var(--r-pill);padding:1px 6px}.tf-progress-label{margin-left:auto;padding-right:2px}.tf,.tf-panel{flex-direction:column;gap:20px;display:flex}.tf-panel[hidden]{display:none}.tf-field{flex-direction:column;gap:7px;min-width:0;display:flex}.tf-label{font-size:var(--fs-xs);color:var(--text-body);font-weight:500}.tf-hint,.tf-empty{font-size:var(--fs-2xs);color:var(--text-faint);line-height:1.5}.tf-mono{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap;font-weight:500}.tf-count{text-transform:none;letter-spacing:.04em;font-weight:500}.tf-rule{background:var(--border-soft);flex:auto;height:1px}.tf-section{flex-direction:column;gap:14px;display:flex}.tf-section-head{align-items:center;gap:10px;display:flex}.tf-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.tf-title-wrap{flex-direction:column;gap:8px;display:flex}.tf-title{border:0;border-bottom:1px solid var(--border-input);width:100%;font-family:inherit;font-size:var(--fs-xl);letter-spacing:-.02em;color:var(--text-strong);transition:border-color var(--dur-fast) var(--ease);background:0 0;border-radius:0;padding:2px 0 9px;font-weight:500}.tf-title::placeholder{color:var(--text-ghost);font-weight:500}.tf-title:focus{border-bottom-color:var(--primary);outline:none}.tf-hints{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.tf-card{border:1px solid var(--border-input);border-radius:var(--r-lg);background:var(--surface-subtle);overflow:hidden}.tf-card-pad{padding:12px}.tf-card-foot{border-top:1px solid var(--border-soft);background:var(--surface-muted);font-size:var(--fs-2xs);color:var(--text-faint);margin:0;padding:9px 12px}.tf-block{flex-direction:column;gap:7px;display:flex}.tf-block-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tf-textarea{resize:vertical;width:100%;min-height:86px;font-family:inherit;font-size:var(--fs-sm);color:var(--text);background:0 0;border:0;outline:none;padding:12px;line-height:1.6;display:block}.tf-chips{align-items:center;gap:var(--space-2);padding:var(--space-1) 0 var(--space-2);flex-wrap:wrap;display:flex}.tf-chip{align-items:center;gap:var(--space-2);min-height:32px;padding:0 var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-xs);color:var(--color-neutral-300);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;flex:none;font-weight:500;display:inline-flex}.tf-chip:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent);color:var(--color-text)}.tf-chip[data-active]{border-color:var(--h-line,var(--color-accent));background:var(--h-bg,var(--color-accent-900));color:var(--h-fg,var(--color-accent))}.tf-chip[data-active] .tf-dot{box-shadow:0 0 0 2px var(--h-bg,var(--color-accent-900))}.tf-pill{padding-left:var(--space-1);max-width:220px}.tf-chip-more{color:var(--text-faint);font-family:var(--font-mono);border-style:dashed}.tf-dot{border-radius:var(--r-pill);flex:none;width:7px;height:7px}.tf-hint{min-height:28px;padding:0 var(--space-3);border:1px dashed var(--color-divider);border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-2xs);color:var(--text-faint);cursor:pointer;transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;font-weight:500}.tf-hint:hover{color:var(--primary);border-color:var(--primary)}.tf-hint[data-active]{color:var(--primary);border-style:solid;border-color:var(--primary)}.tf-presets{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.tf-presets .tf-count{margin-left:auto}.tf-more{flex-direction:column;gap:16px;display:flex}.tf-more-head{cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);background:0 0;border:0;align-items:center;gap:10px;padding:0;font-weight:500;display:flex}.tf-more-head:hover{color:var(--text-body)}.tf-more-head>svg{transition:transform var(--dur-fast) var(--ease)}.tf-more-head[aria-expanded=true]>svg{transform:rotate(180deg)}.tf-more-body{flex-direction:column;gap:14px;display:flex}.tf-more-body[hidden]{display:none}.tf-more-body input,.subtask-editor-title input{border:1px solid var(--border-input);border-radius:var(--r-md);height:38px;font-size:var(--fs-sm);color:var(--text);background:var(--surface);min-width:0;padding:0 12px;font-family:inherit}.tf-subtask-add{border:1px dashed var(--border-elevated);border-radius:var(--r-md);height:38px;font-family:inherit;font-size:var(--fs-sm);color:var(--text);background:0 0;padding:0 12px}.tf-subtask-add::placeholder{color:var(--text-ghost)}.tf-subtask-add:disabled{color:var(--text-faint);cursor:not-allowed}.tf-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.tf-foot-actions{align-items:center;gap:8px;display:flex}.tf-again{font-size:var(--fs-xs);color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;font-weight:500;display:inline-flex}.tf-kbd{font-family:var(--font-mono);opacity:.7;margin-left:2px;font-size:10.5px}.tf-discard{font-size:var(--fs-sm);color:var(--danger);font-weight:500}.combo{position:relative}.combo-control{border:1px solid var(--border-input);border-radius:var(--r-md);background:var(--surface);height:38px;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);align-items:center;display:flex}.combo-control[data-open]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.combo-input{min-width:0;height:100%;font-family:inherit;font-size:var(--fs-sm);color:var(--text);background:0 0;border:0;outline:none;flex:auto;padding:0 4px 0 12px;font-weight:500}.combo-input::placeholder{color:var(--text-ghost);font-weight:500}.combo-caret{height:100%;color:var(--text-ghost);cursor:pointer;background:0 0;border:0;flex:none;align-items:center;padding:0 10px;display:flex}.combo-control[data-open] .combo-caret{transform:rotate(180deg)}.combo-count{border-radius:var(--r-pill);background:var(--primary);min-width:18px;color:var(--on-primary);font-size:var(--fs-2xs);text-align:center;flex:none;padding:0 5px;font-weight:500;line-height:18px}.combo-control:hover{border-color:var(--border-elevated)}.combo-control[data-disabled]{background:var(--surface-muted);cursor:not-allowed}.combo-control[data-disabled] .combo-input{color:var(--text-faint);cursor:not-allowed}.combo[data-size=sm] .combo-control{border-radius:var(--r-sm);height:34px}.combo[data-size=sm] .combo-input{font-size:var(--fs-xs);color:var(--text-body);padding-left:8px;font-weight:500}.combo[data-size=sm] .combo-caret{padding:0 7px}.combo[data-size=xs] .combo-control{border-radius:var(--r-sm);height:30px}.combo[data-size=xs] .combo-input{font-size:var(--fs-2xs);color:var(--text-body);padding-left:6px;font-weight:500}.combo[data-size=xs] .combo-caret{padding:0 5px}.subtask-form .combo-control,.dep-combo .combo-control{height:36px}.subtask-form .combo{flex:150px;min-width:0}.subtask-form .combo-narrow{flex:0 0 120px}.dep-combo{flex:180px;min-width:0}.combo-pop{z-index:80;background:var(--surface);border:1px solid var(--border-elevated);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);position:fixed;overflow:hidden}.combo-list{max-height:min(268px, var(--combo-max,268px));margin:0;padding:5px;list-style:none;overflow-y:auto}.combo-option{justify-content:flex-start;align-items:center;gap:var(--space-3);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text-body);cursor:pointer;padding:8px 10px;display:flex}.combo-option[data-cursor]{background:var(--primary-soft);color:var(--primary)}.combo-option[data-empty]{color:var(--text-faint);font-style:italic}.combo-option>svg{color:var(--primary);flex:none}.combo-none,.combo-more{font-size:var(--fs-xs);color:var(--text-faint);margin:0;padding:10px 12px}.combo-more{border-top:1px solid var(--border-soft);background:var(--surface-muted)}.task-select{border:1px solid var(--color-divider);border-radius:var(--r-md);height:30px;padding:0 var(--space-2);font-size:var(--fs-2xs);color:var(--color-neutral-300);cursor:pointer;background:0 0;flex:none;font-family:inherit;font-weight:500}.task-type{align-items:center;min-width:0;display:flex}.input{border:1px solid var(--color-divider);border-radius:var(--r-md);height:36px;padding:0 var(--space-4);font-size:var(--fs-sm);color:var(--color-text);caret-color:var(--color-accent);min-width:0;transition:border-color var(--dur-fast) var(--ease);background:0 0;font-family:inherit}.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}select.input{cursor:pointer}.input-sm{height:34px;font-size:var(--fs-xs);border-radius:var(--r-sm);padding:0 8px;font-weight:500}.field{font-size:var(--fs-xs);color:var(--text-body);flex-direction:column;gap:6px;font-weight:500;display:flex}.field input,.field select{border:1px solid var(--border-input);border-radius:var(--r-md);height:38px;font-size:var(--fs-sm);color:var(--text);background:var(--surface);padding:0 12px}.field textarea{border:1px solid var(--border-input);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--text);background:var(--surface);resize:vertical;min-height:84px;padding:10px 12px;font-family:inherit;font-weight:400}.field-full{grid-column:1/-1}.field-hint{font-size:var(--fs-2xs);color:var(--text-faint);margin:-4px 0 0;line-height:1.5}.block-over{border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex;overflow:hidden}.block-over-row{border-top:1px solid var(--border-soft);align-items:center;gap:14px;padding:11px 14px;display:flex}.block-over-row:first-child{border-top:0}.block-over-row:nth-child(2n){background:var(--surface-muted)}.block-over-text{flex:auto;min-width:0}.block-over-name{font-size:var(--fs-sm);color:var(--text);font-weight:500}.block-over-hint{font-size:var(--fs-2xs);color:var(--text-faint);margin:2px 0 0;font-weight:500;line-height:1.45}.block-over-row .combo{flex:none;width:186px}.combo-following .combo-input{color:var(--text-faint)}.block-over-warn{font-size:var(--fs-2xs);color:var(--warning);align-items:flex-start;gap:6px;margin:7px 0 0;font-weight:500;line-height:1.45;display:flex}.block-over-warn>svg{flex:none;margin-top:1px}.type-picker{grid-template-columns:1fr 1fr;gap:10px;display:grid}.type-card{text-align:left;border:1px solid var(--border-input);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);flex-direction:column;align-items:flex-start;gap:6px;padding:14px;display:flex}.type-card:hover{border-color:var(--primary);background:var(--surface-hover)}.type-card-desc{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.5}.type-card-blocks{font-size:var(--fs-2xs);color:var(--text-faint);line-height:1.4}@media (max-width:620px){.type-picker{grid-template-columns:1fr}}.form-error{font-size:var(--fs-xs);color:var(--danger);background:var(--surface);grid-column:1/-1;margin:0;padding:10px 0 2px;font-weight:500;position:sticky;bottom:0}.badge{align-items:center;gap:var(--space-2);font-size:var(--fs-2xs);padding:2px var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:500;display:inline-flex;overflow:hidden}.badge-icon{align-items:center;gap:4px;display:inline-flex}.badge-tint{background:color-mix(in oklab, var(--tint) 24%, var(--surface));color:color-mix(in oklab, var(--tint) 68%, #fff)}:root[data-theme=light] .badge-tint{background:color-mix(in oklab, var(--tint) 16%, var(--surface));color:color-mix(in oklab, var(--tint) 86%, #000)}.bar{background:var(--color-neutral-900);border-radius:3px;height:6px;overflow:hidden}.bar>span{height:100%;display:block}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;font-size:var(--fs-2xs);color:var(--text-subtle);border-bottom:1px solid var(--border-soft);background:var(--surface-muted);padding:11px 12px;font-weight:500}.table th:first-child,.table td:first-child{padding-left:18px}.table th:last-child,.table td:last-child{padding-right:18px}.table td{font-size:var(--fs-sm);border-bottom:1px solid var(--border-soft);padding:13px 12px}.table tbody tr{transition:background var(--dur-fast) var(--ease)}.table tbody tr:hover{background:var(--surface-muted)}.muted{color:var(--text-faint);font-size:var(--fs-xs)}.truncate{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.capitalize{text-transform:capitalize}.text-danger{color:var(--danger)}.btn-row{gap:6px;display:flex}.rotate-90{display:flex;transform:rotate(90deg)}.rotate-270{display:flex;transform:rotate(-90deg)}.empty{padding:var(--sp-10) var(--sp-6);text-align:center;align-items:center;gap:var(--sp-2);color:var(--text-faint);font-size:var(--fs-sm);flex-direction:column;display:flex}.empty p{margin:0}.empty-icon{border-radius:var(--r-pill);background:var(--primary-soft);width:44px;height:44px;color:var(--primary);margin-bottom:var(--sp-1);justify-content:center;align-items:center;display:flex}.empty-title{font-size:var(--fs-md);color:var(--text-strong);font-weight:500}.empty-desc{font-size:var(--fs-sm);color:var(--text-muted);max-width:42ch;line-height:var(--lh-normal)}.empty-action{margin-top:var(--sp-2)}.empty-drop{border:1px dashed var(--border-input);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-3);text-align:center;font-size:var(--fs-xs);color:var(--text-ghost);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease)}.is-pending{opacity:.55}[data-busy=true]{opacity:.7}.app-shell{min-height:100vh;display:flex}.app-sidebar{width:var(--sidebar-w);background:var(--color-sidebar);border-right:1px solid var(--color-neutral-900);z-index:60;flex-direction:column;flex:none;height:100vh;transition:width .18s;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand{height:var(--header-h);border-bottom:1px solid var(--border-soft);flex:none;align-items:center;gap:10px;padding:0 20px;display:flex;overflow:hidden}.sidebar-mark{background:linear-gradient(140deg, var(--brand-from), var(--brand-to));width:32px;height:32px;color:var(--on-primary);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:500;display:flex}.sidebar-logo{object-fit:contain;border-radius:9px;flex:none;width:auto;max-width:132px;height:32px}.sidebar-word{letter-spacing:-.4px;white-space:nowrap;font-size:18px;font-weight:500}.sidebar-body{flex:1;padding:16px 12px 24px;overflow:hidden auto}.sidebar-section{letter-spacing:1.2px;color:var(--text-ghost);white-space:nowrap;padding:0 10px 8px;font-size:10px;font-weight:500}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.nav-link{border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-body);white-space:nowrap;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:12px;padding:10px 12px;font-weight:500;display:flex;position:relative}.nav-link:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent);color:var(--color-text)}.nav-link[data-active=true]{background:var(--color-neutral-900);color:var(--color-text);font-weight:500}.nav-link[data-active=true]:before{content:"";border-radius:0 var(--r-pill) var(--r-pill) 0;background:var(--primary);width:3px;height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.app-sidebar[data-collapsed=true] .nav-link[data-active=true]:before{display:none}.sidebar-group{text-align:left;cursor:pointer;background:0 0;width:100%}.sidebar-group .cfg-dot{background:var(--border-elevated)}.project-link{border-radius:var(--r-md);color:var(--text-body);font-size:var(--fs-xs);white-space:nowrap;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:8px 12px;font-weight:500;display:flex}.project-link:hover{background:var(--surface-muted);color:var(--text-strong)}.project-link[data-active=true]{background:var(--primary-soft);color:var(--primary);font-weight:500}@media (min-width:801px){.app-sidebar[data-collapsed=true],.app-sidebar[data-collapsed=true] .sidebar-brand,.app-sidebar[data-collapsed=true] .sidebar-body{width:var(--sidebar-w-collapsed)}.app-sidebar[data-collapsed=true] .sidebar-brand{justify-content:center;padding:0}.app-sidebar[data-collapsed=true] .sidebar-body{padding:16px 10px 24px}.app-sidebar[data-collapsed=true] .sidebar-word,.app-sidebar[data-collapsed=true] .sidebar-section,.app-sidebar[data-collapsed=true] .sidebar-projects,.app-sidebar[data-collapsed=true] .nav-link>span{display:none}.app-sidebar[data-collapsed=true] .nav-link{justify-content:center;gap:0;padding:10px 0}.app-sidebar[data-collapsed=true] .sidebar-logo{max-width:54px}}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-scrim{background:var(--overlay);z-index:55;position:fixed;inset:0}.topbar{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:var(--sp-4);padding:0 var(--sp-6);z-index:20;flex:none;display:flex;position:sticky;top:0}.topbar-search{align-items:center;gap:var(--sp-2);max-width:420px;height:38px;padding:0 var(--sp-3);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-subtle);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);flex:auto;display:flex}.topbar-search:focus-within{background:var(--surface);border-color:var(--primary);color:var(--primary)}.topbar-search input{min-width:0;font-size:var(--fs-sm);color:var(--text);background:0 0;border:0;outline:none;flex:auto}.topbar-search input::placeholder{color:var(--text-ghost)}.topbar-profile{align-items:center;gap:var(--sp-2);border-radius:var(--r-pill);color:var(--text-strong);transition:background var(--dur-fast) var(--ease);padding:4px 12px 4px 4px;display:flex}.topbar-profile:hover{background:var(--surface-hover);color:var(--text-strong)}.topbar-profile-name{font-size:var(--fs-xs);font-weight:500;line-height:1.2}.topbar-profile-role{color:var(--text-faint);font-size:10.5px;font-weight:500;line-height:1.2}.topbar-spacer{flex:auto}.task-group{padding:0 var(--space-5) var(--space-4);--task-cols-wide:16px 14px 20px minmax(240px, 3.2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) 150px;--task-cols-narrow:16px 14px 20px minmax(160px, 1fr) 84px 92px 30px;--task-cols:var(--task-cols-wide)}.task-list-wrap{container:tasklist/inline-size}.task-list-bar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-3) var(--space-3);flex-wrap:wrap;display:flex}.task-group-head .col-label{font-weight:500;font-size:var(--fs-sm);color:inherit;flex:none}.task-row .badge,.task-row .task-type,.task-row .dp-trigger{justify-self:start}@container tasklist (max-width:1040px){.task-group{--task-cols:var(--task-cols-narrow)}.task-col-wide{display:none}}.task-group-head{align-items:center;gap:var(--space-3);width:100%;margin:0 0 var(--space-2);padding:var(--space-5) var(--space-3) var(--space-3);color:var(--h-fg,var(--color-text));font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;font-weight:500;display:flex}.group-rule{background:linear-gradient(90deg, var(--h-line,var(--color-divider)), transparent);flex:auto;height:1px}.task-group-head:hover{color:var(--color-text)}.task-group:first-child .task-group-head{border-top:0}.task-group-caret{color:var(--text-faint);transition:transform var(--dur-fast) var(--ease);flex:none;display:flex}.task-group-head[aria-expanded=false] .task-group-caret{transform:rotate(-90deg)}.task-group-head[aria-expanded=false]{margin-bottom:0}.task-head{grid-template-columns:var(--task-cols);align-items:center;column-gap:var(--space-4);padding:0 var(--space-3) var(--space-2);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-600);font-weight:500;display:grid}.task-row{grid-template-columns:var(--task-cols);align-items:center;column-gap:var(--space-4);border-radius:var(--r-md);padding:var(--space-3) var(--space-3);min-height:var(--row-h);transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:0 0;border:0;display:grid}.task-actions{display:contents}.task-row-btns,.demand-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.icon-btn.task-comment-btn[data-has]{gap:5px;width:auto;min-width:30px;padding:0 8px}.task-comment-count{font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:500}.task-comment-btn[data-has]{color:var(--primary);border-color:var(--border-elevated)}.task-row:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.task-slot:nth-child(2n of .task-slot) .task-row{background:var(--color-zebra)}.task-grip{color:var(--color-neutral-600);cursor:grab;opacity:0;transition:opacity var(--dur-fast) var(--ease);flex:none;display:flex}.task-row:hover .task-grip,.task-row:focus-within .task-grip{opacity:1}@media (hover:none){.task-grip{opacity:1}}.task-check{cursor:pointer;width:19px;height:19px;color:var(--on-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.task-main{flex:auto;min-width:0}.task-assignee{align-items:center;gap:8px;min-width:0;display:flex}.task-pick{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex:none;margin:0}.task-row .task-pick{opacity:0;transition:opacity var(--dur-fast) var(--ease)}.task-row:hover .task-pick,.task-row[data-selected=true] .task-pick,.task-row .task-pick:focus-visible{opacity:1}@media (hover:none){.task-row .task-pick{opacity:1}}.task-row[data-selected=true]{background:var(--color-accent-900);box-shadow:inset 0 0 0 1px var(--color-accent-700)}.task-slot:nth-child(2n of .task-slot) .task-row[data-selected=true]{background:var(--color-accent-900)}.bulk-bar{z-index:5;border:1px solid var(--primary);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-modal);flex-wrap:wrap;align-items:center;gap:10px;margin:4px 18px 12px;padding:12px 14px;display:flex;position:sticky;bottom:10px}.bulk-bar[data-busy=true]{opacity:.7;pointer-events:none}.bulk-count{font-size:var(--fs-xs);color:var(--primary);flex:none;align-items:center;gap:6px;font-weight:500;display:inline-flex}.bulk-fields{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;display:flex}.bulk-fields select,.bulk-fields input{border:1px solid var(--border-input);border-radius:var(--r-sm);height:34px;font-size:var(--fs-xs);color:var(--text-body);background:var(--surface);transition:border-color var(--dur-fast) var(--ease);padding:0 8px;font-family:inherit;font-weight:500}.bulk-fields select{cursor:pointer}.bulk-fields select:hover,.bulk-fields input:hover{border-color:var(--border-elevated)}.bulk-actions{flex:none;align-items:center;gap:8px;display:flex}.bulk-error{flex:100%;margin:0}.task-title-line{align-items:center;gap:8px;min-width:0;min-height:22px;display:flex}.task-title-line .badge{flex:none}.task-title{text-align:left;cursor:pointer;min-width:0;color:var(--text);font-family:inherit;font-size:var(--fs-sm);transition:color var(--dur-fast) var(--ease);background:0 0;border:0;flex:0 auto;padding:0;font-weight:500;display:block}.task-title:hover{color:var(--primary)}.task-meta,.task-desc{font-size:var(--fs-2xs);margin-top:3px}.task-meta{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.task-desc{color:var(--text-ghost)}.card[data-compact=true] .task-row{padding:4px 14px}.card[data-compact=true] .task-meta,.card[data-compact=true] .task-desc{display:none}.card[data-compact=true] .task-group{padding-bottom:6px}.subtask-toggle{border:1px solid var(--border-soft);border-radius:var(--r-pill);background:var(--surface);color:var(--text-muted);font:inherit;font-size:var(--fs-2xs);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex:none;align-items:center;gap:5px;padding:2px 9px 2px 5px;font-weight:500;display:inline-flex}.subtask-toggle:hover,.subtask-toggle[aria-expanded=true]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.subtask-toggle[data-overdue=true]{border-color:var(--danger);color:var(--danger)}.subtask-toggle-caret{transition:transform var(--dur-fast) var(--ease);display:flex}.subtask-toggle[aria-expanded=false] .subtask-toggle-caret{transform:rotate(-90deg)}.subtask-panel{border-left:2px solid var(--border);flex-direction:column;gap:2px;margin:2px 0 6px 34px;padding:6px 0 6px 12px;display:flex}.subtask-line{border-radius:var(--r-md);min-width:0;transition:background var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:6px 12px 6px 4px;display:flex}.subtask-line:hover{background:var(--surface-muted)}.subtask-branch{background:var(--border);flex:none;width:10px;height:1px;margin-left:-12px}.subtask-line-main{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.subtask-line-fields{flex:none;align-items:center;gap:8px;display:flex}.subtask-line-fields .task-select,.subtask-line-fields .dp{max-width:132px}.subtask-line-fields .dp{flex:0 132px;min-width:0}.subtask-line .task-check{width:17px;height:17px}.task-empty{font-size:var(--fs-2xs);color:var(--text-ghost);text-align:center}.seg{border:1px solid var(--color-divider);border-radius:var(--r-md);display:inline-flex;overflow:hidden}.seg-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--fs-xs);cursor:pointer;color:var(--color-neutral-500);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;font-weight:500;display:inline-flex;position:relative}.seg-item+.seg-item{border-left:1px solid var(--color-divider)}.seg-item:hover{color:var(--color-text);background:color-mix(in srgb, var(--color-text) 7%, transparent)}.seg-item:first-child{border-start-start-radius:calc(var(--r-md) - 1px);border-end-start-radius:calc(var(--r-md) - 1px)}.seg-item:last-child{border-start-end-radius:calc(var(--r-md) - 1px);border-end-end-radius:calc(var(--r-md) - 1px)}.seg-item[data-active=true]{color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);background:0 0}.seg-item[data-active=true],.seg-item[data-active=true]+.seg-item{border-left-color:#0000}.agenda-row{border-top:1px solid var(--border-soft);transition:background var(--dur-fast) var(--ease);align-items:center;gap:12px;padding:12px 18px;display:flex}.agenda-row:first-child{border-top:0}.agenda-row:hover{background:var(--surface-muted)}.agenda-row[data-sub=true]{box-shadow:inset 3px 0 0 var(--border);padding-left:34px}.agenda-row[data-sub=true] .agenda-title{font-weight:500}.agenda-main{flex:auto;min-width:0}.agenda-title-line{align-items:center;gap:8px;min-width:0;min-height:22px;display:flex}.agenda-title-line .badge{flex:none}.agenda-title{min-width:0;font-size:var(--fs-sm);color:var(--text);transition:color var(--dur-fast) var(--ease);flex:0 auto;font-weight:500}a.agenda-title:hover{color:var(--primary)}.agenda-meta{font-size:var(--fs-2xs);color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;display:flex}.agenda-actions{flex:none;align-items:center;gap:8px;display:flex}.chip-project{font-size:var(--fs-2xs);color:var(--text-muted);align-items:center;gap:5px;max-width:190px;font-weight:500;display:inline-flex}.chip-project:hover{color:var(--primary)}.chip-dot{border-radius:99px;flex:none;width:7px;height:7px}.today-split{gap:var(--gap);grid-template-columns:minmax(0,1fr);display:grid}.today-main{gap:var(--gap);flex-direction:column;min-width:0;display:flex}@media (min-width:1280px){.today-split{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.today-aside{--aside-top:calc(var(--header-h) + var(--head-folded-h) + var(--space-3));top:var(--aside-top);max-height:calc(100dvh - var(--aside-top) - var(--pad-page-y));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex;position:sticky;overflow:hidden}}.week-nav{align-items:stretch;gap:var(--space-2);display:flex}.week-strip{gap:var(--space-3);flex:auto;grid-template-columns:repeat(7,1fr);min-width:0;display:grid}.week-arrow{flex:none;align-self:stretch;height:auto}.week-arrow:first-child>svg{transform:rotate(90deg)}.week-arrow:last-child>svg{transform:rotate(-90deg)}.week-arrow:disabled{opacity:.35;cursor:not-allowed}.week-arrow:disabled:hover{color:var(--text-muted);background:0 0}.week-day{min-height:76px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);color:var(--text-muted);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.week-day:hover{background:var(--surface-hover);border-color:var(--border-elevated)}.week-day-label{font-size:var(--fs-2xs);font-weight:500}.week-day-number{font-size:var(--fs-lg);font-weight:var(--font-weight-heading);line-height:var(--lh-tight);color:var(--text-strong);font-variant-numeric:tabular-nums}.week-day-count{font-size:var(--fs-2xs);color:var(--text-faint)}.week-day[data-active=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.week-day[data-active=true] .week-day-number{color:var(--on-primary)}.week-day[data-active=true] .week-day-count,.week-day[data-active=true] .week-day-label{color:color-mix(in srgb, var(--on-primary) 85%, transparent)}.week-day[data-today=true]:not([data-active=true]){border-color:color-mix(in srgb, var(--primary) 55%, transparent)}.quick-add{align-items:center;gap:var(--space-4);min-height:48px;padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);transition:border-color var(--dur-fast) var(--ease);display:flex}.quick-add:focus-within{border-color:var(--primary)}.quick-add-icon{color:var(--primary);flex:none;display:flex}.quick-add-input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-sm);background:0 0;border:0;outline:none;flex:auto}.quick-add-input::placeholder{color:var(--text-ghost)}.quick-add-key{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-faint);padding:2px var(--space-2);border:1px solid var(--border-input);border-radius:var(--radius-sm);flex:none}.overdue{border:1px solid var(--c-rose-line);border-radius:var(--r-lg);background:color-mix(in srgb, var(--c-rose-bg) 55%, var(--surface));overflow:hidden}.overdue-top{align-items:center;gap:var(--space-4);padding:var(--space-5);display:flex}.overdue-icon{border-radius:var(--radius-md);background:color-mix(in srgb, var(--c-rose-dot) 14%, transparent);width:34px;height:34px;color:var(--c-rose-dot);flex:none;place-items:center;display:grid}.overdue-text{flex:auto;min-width:0}.overdue-title{font-size:var(--fs-md);color:var(--text-strong);margin:0;font-weight:500}.overdue-sub{font-size:var(--fs-xs);color:var(--text-muted);margin:2px 0 0}.overdue-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;flex:none;display:flex}.overdue-list{background:color-mix(in srgb, var(--c-rose-bg) 50%, var(--bg));border-top:1px solid var(--c-rose-line);max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.overdue-table .task-head{padding:var(--space-3) var(--space-5) var(--space-2)}.overdue-row{grid-template-columns:var(--task-cols);align-items:center;column-gap:var(--space-4);min-height:var(--row-h);padding:var(--space-2) var(--space-5);border-top:1px solid var(--border-soft);font-size:var(--fs-xs);display:grid}.overdue-row:first-child{border-top:0}.overdue-row{cursor:pointer;transition:background var(--dur-fast) var(--ease)}.overdue-row:hover{background:color-mix(in srgb, var(--color-text) 5%, transparent)}.overdue-row[data-selected=true]{background:var(--color-accent-900);box-shadow:inset 0 0 0 1px var(--color-accent-700)}.overdue-row-title{text-align:left;min-width:0;font:inherit;color:var(--text-body);cursor:pointer;background:0 0;border:0;padding:0}.overdue-row:hover .overdue-row-title{color:var(--text-strong)}.overdue-row .btn{justify-self:end}.day-head{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.day-head-title{align-items:baseline;gap:var(--space-3);font-size:var(--fs-lg);font-weight:var(--font-weight-heading);color:var(--text-strong);margin:0;display:flex}.day-head-count{font-size:var(--fs-xs);color:var(--text-faint);font-weight:400}.day-head-back{font-size:var(--fs-xs);font-weight:400}.day-head-group{align-items:center;gap:var(--space-3);display:flex}.day-head-label{font-size:var(--fs-xs);color:var(--text-faint)}.today-main{container:agenda/inline-size}.day-table,.overdue-table{--agenda-cols:20px minmax(170px, 2.4fr) minmax(0, 1.1fr) 96px minmax(0, 1fr) 96px minmax(0, 1.2fr) 64px;--task-cols:var(--agenda-cols)}@container agenda (max-width:860px){.day-table,.overdue-table{--agenda-cols:20px minmax(140px, 2fr) minmax(0, 1.2fr) 96px 96px 64px}.today-main .task-col-wide{display:none}}.day-head-cols{padding:0 calc(var(--space-5) + 1px) var(--space-2)}.day-groups{gap:var(--space-6);flex-direction:column;display:flex}.day-group{gap:var(--space-3);flex-direction:column;display:flex}.day-group-head{align-items:center;gap:var(--space-3);font-size:var(--fs-sm);color:var(--text-strong);margin:0;font-weight:500;display:flex}.day-group-count{font-size:var(--fs-xs);color:var(--text-faint);font-weight:400}.day-rows{background:var(--track);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:1px;display:flex;overflow:hidden}.day-row{grid-template-columns:var(--task-cols);align-items:center;column-gap:var(--space-4);min-height:56px;padding:var(--space-4) var(--space-5);background:var(--surface);cursor:pointer;transition:background var(--dur-fast) var(--ease);display:grid}.day-row:hover{background:var(--surface-hover)}.day-row[data-selected=true]{background:var(--color-accent-900);box-shadow:inset 0 0 0 1px var(--color-accent-700)}.day-row[data-pending]{opacity:.6;pointer-events:none}.day-row[data-sub=true]{padding-left:var(--space-10);box-shadow:inset 3px 0 0 var(--border)}.day-row-main{flex:auto;min-width:0}.day-row-title{text-align:left;width:100%;font:inherit;font-size:var(--fs-sm);color:var(--text);cursor:pointer;background:0 0;border:0;padding:0;display:block}.day-row[data-done=true] .day-row-title{color:var(--text-faint);text-decoration:line-through}.day-row-meta{font-size:var(--fs-2xs);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;overflow:hidden}.day-cell-chip{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--fs-xs);color:var(--text-body);display:inline-flex}.day-cell-person{align-items:center;gap:var(--space-3);min-width:0;font-size:var(--fs-xs);color:var(--text-muted);display:inline-flex}.day-cell-due{font-size:var(--fs-xs);color:var(--text-body);font-variant-numeric:tabular-nums}.day-cell-due[data-late]{color:var(--danger)}.day-cell-due small{font-size:var(--fs-2xs);opacity:.85;display:block}.day-cell-due-wrap{flex-direction:column;gap:1px;min-width:0;display:flex}.day-late{font-size:var(--fs-2xs);color:var(--danger)}.day-empty{padding:var(--space-8);border:1px dashed var(--border-strong);border-radius:var(--r-lg);text-align:center;font-size:var(--fs-xs);color:var(--text-faint)}.detail{flex-direction:column;flex:auto;min-height:0;display:flex}.detail-body{min-height:0;padding:var(--space-6);gap:var(--space-5);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.detail-project{align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-muted);display:inline-flex}.detail-project:hover{color:var(--primary)}.detail-title{font-size:var(--fs-lg);font-weight:var(--font-weight-heading);line-height:var(--lh-tight);letter-spacing:-.2px;text-wrap:pretty;margin:0}.detail-title a{color:var(--text-strong)}.detail-title a:hover{color:var(--primary)}.detail-title[data-done=true] a{color:var(--text-faint);text-decoration:line-through}.detail-props{gap:var(--space-4) var(--space-3);font-size:var(--fs-xs);grid-template-columns:96px minmax(0,1fr);align-items:center;margin:0;display:grid}.detail-props dt{color:var(--text-faint)}.detail-props dd{color:var(--text-body);min-width:0;margin:0}.detail-props dd [data-tone=danger],.detail-props dd[data-tone=danger]{color:var(--danger)}.detail-props dd [data-tone=accent]{color:var(--primary)}.detail-person{align-items:center;gap:var(--space-3);display:inline-flex}.detail-subtasks{gap:var(--space-3);flex-direction:column;display:flex}.detail-section-title{font-size:var(--fs-xs);color:var(--text-faint);margin:0;font-weight:500}.detail-subtask{align-items:center;gap:var(--space-3);min-height:36px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-muted);font-size:var(--fs-xs);color:var(--text-body);display:flex}.detail-subtask[data-done=true]{color:var(--text-faint);text-decoration:line-through}.detail-add{justify-content:center;align-items:center;gap:var(--space-2);border:1px dashed var(--border-strong);border-radius:var(--radius-md);min-height:36px;color:var(--text-faint);font-size:var(--fs-xs);cursor:pointer;background:0 0;display:flex}.detail-add:hover{color:var(--primary);border-color:var(--primary)}.detail-add-form{align-items:center;gap:var(--space-2);display:flex}.detail-add-form .input{flex:auto;min-width:0}.detail-foot{gap:var(--space-3);padding:var(--space-5) var(--space-6);border-top:1px solid var(--border-soft);flex:none;display:flex}.detail-foot .btn{flex:1 1 0;justify-content:center;min-height:44px}.detail-empty{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-8);color:var(--text-faint);text-align:center;font-size:var(--fs-xs);flex-direction:column;flex:auto;display:flex}.detail-empty p{margin:0}@media (max-width:767px){.week-strip{scroll-snap-type:x mandatory;padding-bottom:var(--space-2);grid-template-columns:none;grid-auto-columns:92px;grid-auto-flow:column;overflow-x:auto}.week-day{scroll-snap-align:start}.week-arrow{align-self:center}.day-head{flex-direction:column;align-items:flex-start}.overdue-top{flex-wrap:wrap}.overdue-actions{width:100%}.overdue-actions .btn{flex:1 1 0;justify-content:center}.day-row{padding:var(--space-4)}.day-row[data-sub=true]{padding-left:var(--space-8)}}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px;display:flex}.filter-bar>select,.filter-bar>input{border:1px solid var(--color-divider);border-radius:var(--r-md);height:34px;padding:0 var(--space-3);font-size:var(--fs-xs);color:var(--color-neutral-300);transition:border-color var(--dur-fast) var(--ease);background:0 0;font-family:inherit;font-weight:500}.filter-bar>select:hover,.filter-bar>input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.filter-bar>select{cursor:pointer}.filter-bar+.filter-bar{border-top:1px solid var(--border-soft)}.filter-combo{flex:0 168px;min-width:132px}.filter-group{flex:0 auto;align-items:center;gap:6px;display:flex}.filter-chip{align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-4);border:1px solid var(--color-divider);border-radius:var(--r-md);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;color:var(--color-neutral-400);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;flex:none;font-weight:500;display:inline-flex}.filter-chip:hover{color:var(--color-text);background:color-mix(in srgb, var(--color-text) 7%, transparent)}.filter-chip[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-900);color:var(--color-accent)}.filter-chip[aria-pressed=true][data-tone=danger]{border-color:var(--c-rose-line);background:var(--c-rose-bg);color:var(--c-rose-fg)}.filter-spacer{flex:auto}.combo-chip{max-width:220px}.combo-chip[data-filled]{border-color:var(--color-accent);background:var(--color-accent-900);color:var(--color-accent)}.combo-chip>svg{opacity:.7;flex:none}.combo-chip[data-disabled]{opacity:.45;cursor:not-allowed}.combo-dot{border-radius:50%;flex:none;width:7px;height:7px}.combo-option>span{text-align:left;flex:auto;min-width:0}.combo-option>svg{color:var(--color-accent);flex:none;margin-left:auto}.combo-search{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-neutral-900);color:var(--color-neutral-600);display:flex}.combo-search input{min-width:0;font:inherit;font-size:var(--fs-sm);color:var(--color-text);caret-color:var(--color-accent);background:0 0;border:0;outline:none;flex:auto}.combo-chip[data-open]{border-color:var(--color-accent);color:var(--color-accent)}.combo-chip[data-bare]{height:auto;min-height:0;font-size:var(--fs-xs);color:var(--color-neutral-300);background:0 0;border-color:#0000;max-width:100%;padding:0}.combo-chip[data-bare]>svg{display:none}.combo-chip[data-bare][data-filled]{color:var(--color-neutral-300);background:0 0}.task-row:hover .combo-chip[data-bare]{color:var(--color-text);text-decoration:underline}.combo-chip[data-bare][data-open]{color:var(--color-accent);text-decoration:underline}.filter-bar>input{flex:190px;min-width:190px;max-width:320px;font-weight:500}.filter-bar>input[type=date]{flex:none;min-width:0;max-width:none}.bell-dot{border-radius:var(--r-pill);background:var(--danger);min-width:17px;height:17px;color:var(--on-primary);justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:500;display:flex;position:absolute;top:-5px;right:-5px}.bell-box{display:flex;position:relative}.bell-pop{z-index:90;background:var(--surface);border:1px solid var(--border-elevated);border-radius:var(--r-xl);width:min(380px,100vw - 24px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.bell-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.bell-title{font-size:var(--fs-sm);color:var(--text-strong);font-weight:500}.bell-list{max-height:min(60vh,420px);overflow-y:auto}.bell-item{border:0;border-bottom:1px solid var(--border-soft);text-align:left;cursor:pointer;background:0 0;align-items:flex-start;gap:10px;width:100%;padding:11px 14px;font-family:inherit;display:flex}.bell-item:hover{background:var(--surface-hover)}.bell-item[data-unread]{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.bell-item[data-unread]:hover{background:var(--primary-soft)}.bell-item-icon{background:var(--surface-muted);width:26px;height:26px;color:var(--text-muted);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.bell-item[data-unread] .bell-item-icon{background:var(--surface);color:var(--primary)}.bell-item-text{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.bell-item-line{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.45}.bell-item-line strong,.bell-item-task{color:var(--text);font-weight:500}.bell-item-excerpt{font-size:var(--fs-xs);color:var(--text-faint);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.bell-item-when{font-size:var(--fs-2xs);color:var(--text-ghost)}.bell-foot{border-top:1px solid var(--border-soft);background:var(--surface-muted);font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:7px;padding:10px 14px;font-weight:500;text-decoration:none;display:flex}.bell-foot:hover{color:var(--primary)}.bell-list .empty-state{padding:26px 18px}.subtask-row{align-items:center;gap:12px;padding:8px 18px;display:flex}.subtask-row:hover{background:var(--surface-muted)}.subtask-reorder{flex-direction:column;flex:none;gap:2px;display:flex}.subtask-reorder .reorder-btn{width:22px;height:16px}.subtask-row-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.subtask-row-meta{min-width:0;font-size:var(--fs-2xs);color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.subtask-row-fields{flex:none;align-items:center;gap:8px;display:flex}.subtask-row-fields .task-select,.subtask-row-fields .dp{max-width:136px}.subtask-row-fields .dp{flex:0 136px;min-width:0}.subtask-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.subtask-editor{flex-direction:column;gap:8px;margin:8px 0;display:flex}.subtask-editor-row{border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-subtle);align-items:flex-start;gap:8px;padding:10px;display:flex}.subtask-editor-order{flex-direction:column;flex:none;gap:3px;display:flex}.subtask-editor-body{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.subtask-editor-title{align-items:center;gap:8px;min-width:0;display:flex}.subtask-editor-title input{flex:auto;min-width:0}.subtask-editor-fields{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.subtask-editor-fields .task-select{flex:132px;min-width:0}.subtask-editor-add{align-self:flex-start}.subtask-form{border-top:1px solid var(--border-soft);flex-wrap:wrap;gap:8px;padding:12px 18px 16px;display:flex}.subtask-form input{border:1px solid var(--border-input);border-radius:var(--r-md);min-width:0;height:36px;font-size:var(--fs-sm);color:var(--text);background:var(--surface);flex:200px;padding:0 12px}.comment-block{border-top:1px solid var(--border-soft)}.comment-block:first-child{border-top:0}.comment{gap:12px;padding:12px 0;display:flex}.comment-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;display:flex}.comment-head .icon-btn{width:24px;height:24px}.comment-form{border-top:1px solid var(--border-soft);gap:10px;padding:14px 18px 16px;display:grid}.comment-replies{margin-left:40px;padding-bottom:4px}.comment-reply{padding:4px 0 8px}.comment-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.comment-reply-btn{font-family:inherit;font-size:var(--fs-2xs);color:var(--text-faint);cursor:pointer;transition:color var(--dur-fast) var(--ease);background:0 0;border:0;padding:0;font-weight:500}.comment-reply-btn:hover,.comment-reply-btn[data-active]{color:var(--primary)}.reactions{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.reaction{border:1px solid var(--border-input);border-radius:var(--r-pill);background:var(--surface);min-height:24px;font-family:inherit;font-size:var(--fs-2xs);color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:5px;padding:0 8px;display:inline-flex}.reaction:hover{border-color:var(--border-elevated);color:var(--text-strong)}.reaction[data-mine]{background:var(--primary-soft);border-color:color-mix(in oklab, var(--primary) 45%, transparent);color:var(--primary)}.reaction-add{color:var(--text-ghost);padding:0 6px}.reaction-pick{display:inline-flex;position:relative}.reaction-pick>summary{list-style:none}.reaction-pick>summary::-webkit-details-marker{display:none}.reaction-menu{z-index:1;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-modal);gap:4px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0}.comment-drawer-body{padding:6px 22px 18px}.comment-compose{border-top:1px solid var(--border-soft);background:var(--surface);flex:none;gap:8px;padding:14px 22px 16px;display:grid}.comment-compose-reply{font-size:var(--fs-2xs);color:var(--primary);align-items:center;gap:8px;min-width:0;font-weight:500;display:flex}.comment-compose-reply .icon-btn{flex:none;width:22px;height:22px}.comment-compose-foot{justify-content:flex-end;align-items:center;gap:10px;display:flex}.comment-compose-foot .tf-kbd{margin-right:auto}.comment-form textarea,.comment-compose textarea{border:1px solid var(--border-input);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--text);background:var(--surface);resize:vertical;padding:10px 12px;font-family:inherit}.timeline{gap:14px;margin:0;padding:14px 18px 18px;list-style:none;display:grid}.timeline-item{align-items:flex-start;gap:10px;display:flex}.timeline-dot{border-radius:99px;flex:none;width:8px;height:8px;margin-top:5px}.tag-chip{font-size:var(--fs-xs);border-radius:var(--r-pill);align-items:center;gap:6px;padding:6px 6px 6px 12px;font-weight:500;display:inline-flex}.tag-chip-remove{border-radius:var(--r-pill);background:var(--surface);width:24px;height:24px;color:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease);border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.tag-chip-remove:hover{background:var(--danger-soft);color:var(--danger)}.dp{position:relative}.dp-trigger{border:1px solid var(--border-input);border-radius:var(--r-md);background:var(--surface);width:100%;height:38px;font-family:inherit;font-size:var(--fs-sm);color:var(--text);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-weight:500;display:flex}.dp-trigger:hover{border-color:var(--border-strong)}.dp-trigger[data-open]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.dp-trigger[data-empty]{color:var(--text-ghost)}.dp-trigger>svg{color:var(--text-faint);flex:none}.dp-trigger[data-bare]{color:var(--h-fg,var(--color-neutral-400));background:0 0;border:0;justify-content:flex-start;padding:0}.dp-trigger[data-bare][data-open]{box-shadow:none;text-decoration:underline}.task-row:hover .dp-trigger[data-bare]{text-decoration:underline}.dp[data-size=sm] .dp-trigger{border-radius:var(--r-sm);height:34px;font-size:var(--fs-xs);color:var(--text-body);gap:6px;padding:0 8px;font-weight:500}.dp[data-size=xs] .dp-trigger{border-radius:var(--r-sm);height:30px;font-size:var(--fs-xs);color:var(--text-body);gap:4px;padding:0 6px;font-weight:500}.dp[data-size=xs] .dp-trigger>svg{width:13px;height:13px}.dp[data-size=xs] .dp-trigger[data-empty],.dp[data-size=sm] .dp-trigger[data-empty]{color:var(--text-ghost);font-weight:500}.dp-pop{z-index:80;background:var(--surface);border:1px solid var(--border-elevated);border-radius:var(--r-xl);width:300px;box-shadow:var(--shadow-lg);padding:12px;position:fixed}.dp-pop:focus{outline:none}.dp-presets{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;gap:5px;margin-bottom:10px;padding-bottom:11px;display:flex}.dp-preset,.date-preset{border:1px solid var(--border-soft);background:var(--surface-muted);color:var(--text-muted);font-family:inherit;font-size:var(--fs-2xs);border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);padding:5px 10px;font-weight:500}.dp-preset:hover:not(:disabled),.date-preset:hover{border-color:var(--primary);color:var(--primary)}.dp-preset[data-active],.date-preset[data-active=true]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.dp-preset:disabled{opacity:.4;cursor:default}.date-presets{flex-wrap:wrap;gap:6px;display:flex}.date-preset[data-variant=clear]:hover{border-color:var(--danger);color:var(--danger)}.dp-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.dp-month{font-size:var(--fs-sm);font-weight:500}.dp-month:first-letter{text-transform:uppercase}.dp-head .icon-btn:first-child>svg{transform:rotate(90deg)}.dp-head .icon-btn:last-child>svg{transform:rotate(-90deg)}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-weekday{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--text-ghost);padding:4px 0 6px;font-size:10px;font-weight:500}.dp-day{aspect-ratio:1;border-radius:var(--r-sm);font-family:inherit;font-size:var(--fs-xs);color:var(--text-body);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-weight:500;display:flex}.dp-day[data-out]{color:var(--text-ghost);font-weight:500}.dp-day:disabled{opacity:.3;cursor:default}.dp-day[data-today]{border-color:var(--primary)}.dp-day[data-cursor]:not(:disabled){background:var(--surface-hover)}.dp-day[data-selected]:not(:disabled){background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:500}.dp-foot{justify-content:flex-end;align-items:center;min-height:26px;margin-top:10px;display:flex}.dp-hint{font-size:var(--fs-2xs);color:var(--text-ghost)}.dp-clear{font-family:inherit;font-size:var(--fs-2xs);color:var(--text-faint);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;padding:5px 8px;font-weight:500}.dp-clear:hover{color:var(--danger);background:var(--danger-soft)}.tag-picker{flex-wrap:wrap;gap:8px;display:flex}.tag-check{cursor:pointer;align-items:center;gap:6px;font-weight:400;display:inline-flex}.tag-check input{accent-color:var(--primary);cursor:pointer}.link-button{font:inherit;font-size:var(--fs-xs);color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-weight:500}.link-button:hover{text-decoration:underline}.backup-codes{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;display:grid}.backup-codes code{border-radius:var(--r-sm);background:var(--track);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-body);text-align:center;letter-spacing:.4px;padding:6px 8px}.task-key{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-faint);letter-spacing:.2px;white-space:nowrap;margin-inline-end:6px;font-weight:500}.card-head .task-key{margin-inline-end:0}.dep-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dep-list li{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:8px;min-width:0;display:flex}.dep-list .icon-btn{flex:none;width:26px;height:26px}.cal-grid{border-top:1px solid var(--border-soft);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-weekday{font-size:var(--fs-2xs);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.6px;background:var(--surface-muted);border-bottom:1px solid var(--border-soft);padding:8px 10px;font-weight:500}.cal-day{border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);flex-direction:column;gap:3px;min-width:0;min-height:104px;padding:6px;display:flex}.cal-day:nth-child(7n+7){border-right:0}.cal-day[data-out=true]{background:var(--surface-muted)}.cal-day[data-out=true] .cal-daynum{color:var(--text-ghost)}.cal-daynum{font-size:var(--fs-2xs);color:var(--text-muted);font-weight:500}.cal-day[data-today=true] .cal-daynum{background:var(--primary);color:var(--on-primary);border-radius:var(--r-pill);justify-content:center;align-items:center;width:20px;height:20px;display:flex}.cal-task{font-size:var(--fs-2xs);transition:filter var(--dur-fast) var(--ease);border-radius:6px;padding:3px 6px;font-weight:500;display:block}.cal-task:hover{filter:brightness(.94)}.cal-task[data-sub=true]{opacity:.88;font-weight:500}.timeline-chart{gap:6px;padding:14px 18px 18px;display:grid;position:relative}.timeline-row{align-items:center;gap:12px;min-width:0;display:flex}.timeline-label{font-size:var(--fs-xs);flex:0 0 178px;min-width:0;font-weight:500}.timeline-track{background:var(--surface-muted);border-radius:6px;flex:auto;min-width:0;height:22px;position:relative}.timeline-bar{border-radius:5px;height:16px;position:absolute;top:3px}.timeline-today{background:var(--danger);opacity:.5;z-index:0;width:2px;position:absolute;top:8px;bottom:14px}.task-card{border:1px solid var(--border-elevated);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);flex-direction:column;gap:8px;padding:11px 12px;display:flex}.task-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.task-card[data-dragging=true]{border-color:var(--primary);opacity:.55;box-shadow:none;transform:none}.grouped-card{border:1px solid var(--border-elevated);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs);min-width:0;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);flex-direction:column;gap:6px;margin-bottom:8px;padding:11px 12px;display:flex}.grouped-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.grouped-card-meta{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.md{font-size:var(--fs-sm);color:var(--text-body);line-height:1.6}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 10px}.md h3,.md h4,.md h5,.md h6{color:var(--text-strong);margin:16px 0 8px;line-height:1.3}.md h3{font-size:var(--fs-lg)}.md h4{font-size:var(--fs-md)}.md h5,.md h6{font-size:var(--fs-sm)}.md ul,.md ol{margin:0 0 10px;padding-left:20px}.md li{margin:3px 0}.attach-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.attach-item{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);transition:border-color var(--dur-fast) var(--ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.attach-item:hover{border-color:var(--border-elevated)}.attach-open{color:inherit;flex-direction:column;gap:2px;min-width:0;padding:10px 11px;text-decoration:none;display:flex}.attach-thumb{object-fit:cover;background:var(--surface-muted);border-bottom:1px solid var(--border-soft);width:calc(100% + 22px);height:116px;margin:-10px -11px 8px}.attach-icon{border-radius:var(--r-md);background:var(--surface-muted);width:34px;height:34px;color:var(--text-faint);justify-content:center;align-items:center;margin-bottom:6px;display:flex}.attach-name{font-size:var(--fs-xs);color:var(--text);font-weight:500}.attach-meta{font-size:var(--fs-2xs);color:var(--text-ghost)}.attach-actions{border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-card);opacity:0;transition:opacity var(--dur-fast) var(--ease);gap:4px;padding:3px;display:flex;position:absolute;top:6px;right:6px}.attach-item:hover .attach-actions,.attach-item:focus-within .attach-actions{opacity:1}@media (hover:none){.attach-actions{opacity:1}}.mention-field{flex-direction:column;display:flex;position:relative}.mention-pop{z-index:85;background:var(--surface);border:1px solid var(--border-elevated);border-radius:var(--r-lg);width:min(260px,100%);box-shadow:var(--shadow-lg);margin:0;padding:4px;list-style:none;position:absolute;bottom:calc(100% + 6px);left:0}.mention-option{border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text-body);cursor:pointer;padding:7px 10px}.mention-option[data-cursor]{background:var(--primary-soft);color:var(--primary);font-weight:500}.mention{border-radius:var(--r-sm);background:var(--primary-soft);color:var(--primary);white-space:nowrap;padding:1px 5px;font-weight:500}.md-tasks{padding-left:2px;list-style:none}.md-tasks li{align-items:flex-start;gap:8px;display:flex}.md-tasks input{accent-color:var(--success);margin-top:3px}.md-code{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--track);color:var(--text-strong);border-radius:5px;padding:2px 5px}.md-pre{background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:var(--r-md);margin:0 0 10px;padding:12px 14px;overflow-x:auto}.md-pre code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-strong);white-space:pre;line-height:1.55}.md-quote{border-left:3px solid var(--border-input);color:var(--text-muted);margin:0 0 10px;padding:4px 0 4px 12px}.md-hr{border:0;border-top:1px solid var(--border-soft);margin:14px 0}.board{scroll-snap-type:x proximity;align-items:flex-start;gap:14px;padding:14px 18px 18px;display:flex;overflow-x:auto}.board-col{border:1px solid var(--border-soft);border-radius:var(--r-xl);background:var(--surface-muted);scroll-snap-align:start;flex-direction:column;flex:0 0 292px;padding:12px;display:flex}.board-col-drop{flex-direction:column;min-height:60px;display:flex}.col-head{align-items:center;gap:8px;padding:2px 2px 8px;display:flex}.col-dot{border-radius:var(--r-pill);flex:none;width:9px;height:9px;display:block}.col-label{font-size:var(--fs-sm);color:var(--text-strong);flex:auto;font-weight:500}.profile-grid{grid-template-columns:296px minmax(0,1fr);align-items:start;gap:22px;max-width:1240px;display:grid}.profile-rail{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:26px 22px;position:sticky;top:24px}.profile-avatar{background:linear-gradient(150deg, var(--brand-to), var(--brand-from));letter-spacing:-.5px;width:88px;height:88px;color:var(--on-primary);box-shadow:0 12px 30px color-mix(in oklab, var(--primary) 42%, transparent);border-radius:50%;place-items:center;margin:0 auto 16px;font-size:30px;font-weight:500;display:grid;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-rail-name{text-align:center;color:var(--text-strong);font-size:18px;font-weight:500;line-height:1.2}.profile-rail-role{text-align:center;font-size:var(--fs-sm);color:var(--text-muted);margin-top:5px;font-weight:500}.profile-photo-btn{border:1px solid var(--border-input);background:var(--surface-subtle);width:100%;color:var(--text-body);font:inherit;font-size:var(--fs-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-radius:10px;justify-content:center;align-items:center;gap:7px;margin-top:16px;padding:10px;font-weight:500;display:flex}.profile-photo-btn:hover{background:var(--surface-muted);color:var(--text-strong)}.profile-divider{background:var(--border-soft);height:1px;margin:20px 0}.profile-meta{flex-direction:column;gap:14px;display:flex}.profile-meta-label{font-size:var(--fs-2xs);letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);font-weight:400}.profile-meta-value{font-size:var(--fs-xs);color:var(--text-body);margin-top:6px;font-weight:500}.profile-meta-value[data-mono=true]{font-family:var(--font-mono);color:var(--text-muted);word-break:break-all;font-weight:400;line-height:1.4}.profile-chips{flex-direction:column;gap:8px;display:flex}.profile-chip{background:var(--track);font-size:var(--fs-xs);color:var(--text-muted);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:500;display:flex}.profile-chip[data-tone=warn]{background:var(--warning-soft);color:var(--warning)}.profile-chip[data-tone=ok]{background:var(--success-soft);color:var(--success)}.profile-chip-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.profile-tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.profile-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-faint);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-radius:11px;padding:10px 18px;font-weight:500}.profile-tab:hover{color:var(--text-strong)}.profile-tab[aria-selected=true]{border-color:color-mix(in oklab, var(--primary) 45%, transparent);background:var(--primary-soft);color:var(--primary)}.profile-panels{flex-direction:column;gap:16px;display:flex}.profile-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:26px 28px}.profile-panel-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.profile-panel-title{font-size:var(--fs-md);letter-spacing:-.01em;color:var(--text-strong);margin:0;font-weight:500}.profile-panel-desc{max-width:620px;font-size:var(--fs-sm);color:var(--text-faint);margin:3px 0 22px;line-height:1.5}.profile-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.profile-field{flex-direction:column;gap:7px;min-width:0;display:flex}.profile-field-full{grid-column:1/-1}.profile-field-label{font-size:var(--fs-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--text-subtle);font-weight:500}.profile-field-hint{font-size:var(--fs-xs);color:var(--text-faint);line-height:1.4}.profile-input{border:1px solid var(--border-input);background:var(--surface-subtle);height:44px;color:var(--text);font:inherit;font-size:var(--fs-md);min-width:0;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);border-radius:11px;padding:0 14px}.profile-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklab, var(--primary) 16%, transparent);outline:none}.profile-input:disabled{background:var(--track);border-color:var(--border);color:var(--text-faint);cursor:not-allowed}.btn-accent{border:1px solid color-mix(in oklab, var(--primary) 40%, transparent);background:var(--primary-soft);color:var(--primary)}.btn-accent:hover{background:color-mix(in oklab, var(--primary) 24%, var(--surface))}.session-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.session-card{border:1px solid var(--border);background:var(--surface-subtle);border-radius:13px;padding:14px 15px}.session-card[data-current=true]{border-color:color-mix(in oklab, var(--primary) 34%, transparent);background:var(--primary-soft)}.session-line{align-items:center;gap:10px;min-width:0;display:flex}.session-icon{background:var(--track);width:32px;height:32px;color:var(--text-faint);border-radius:9px;flex:none;place-items:center;display:grid}.session-card[data-current=true] .session-icon{background:color-mix(in oklab, var(--primary) 20%, transparent);color:var(--primary)}.session-name{font-size:var(--fs-sm);color:var(--text-strong);font-weight:500}.session-foot{font-size:var(--fs-2xs);color:var(--text-faint);justify-content:space-between;align-items:center;gap:10px;margin-top:9px;display:flex}.session-ip{font-family:var(--font-mono);color:var(--text-ghost)}.session-more{border:1px dashed var(--border-input);width:100%;color:var(--text-muted);font:inherit;font-size:var(--fs-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border-radius:11px;margin-top:12px;padding:11px;font-weight:500}.session-more:hover{background:var(--surface-subtle);color:var(--text-strong)}.save-bar{z-index:20;background:color-mix(in oklab, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);animation:barUp .22s var(--ease);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 40px;display:flex;position:fixed;bottom:0;left:0;right:0}.save-bar-dot{background:var(--primary);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in oklab, var(--primary) 20%, transparent);border-radius:50%;flex:none}.save-bar-label{font-size:var(--fs-sm);color:var(--text-body);font-weight:500}.save-bar-sub{font-size:var(--fs-sm);color:var(--text-faint)}@keyframes riseIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes barUp{0%{transform:translateY(100%)}to{transform:none}}.rise-in{animation:riseIn .24s var(--ease) both}@media (max-width:1180px){.grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3,.grid-split,.profile-grid{grid-template-columns:1fr}.profile-rail{position:static}.session-grid{grid-template-columns:1fr}.task-group{--task-cols:16px 20px 20px minmax(0, 1fr) 76px 26px 104px 104px 122px 152px}.task-assignee .task-assignee-name{display:none}}@media (max-width:800px){:root{--pad-page-y:16px;--pad-page-x:14px;--pad-page-end:32px;--gap:12px}.grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3,.grid-split{grid-template-columns:1fr}.hide-mobile{display:none!important}.btn,.icon-btn{min-height:44px}.icon-btn{width:44px}.reorder-btn{width:34px;height:30px}.input{height:44px}.input-sm{height:40px}.combo .combo-control{height:44px}.combo[data-size=sm] .combo-control{height:40px}.combo[data-size=xs] .combo-control{height:36px}.dp .dp-trigger{height:44px}.dp[data-size=sm] .dp-trigger{height:40px}.dp[data-size=xs] .dp-trigger,.task-select{height:36px}.task-row .icon-btn,.board-col .icon-btn{width:36px;height:36px;min-height:36px}.drawer-panel{width:100%!important}.tf-grid{grid-template-columns:1fr}.tf-chip,.tf-subtask-add,.tf-more-body input,.subtask-editor-title input{min-height:44px}.tf-hint{min-height:36px}.drawer-head{padding-left:16px;padding-right:16px}.drawer-body{padding:18px 16px}.tf-foot-actions{flex-direction:column-reverse;width:100%}.tf-foot-actions .btn{justify-content:center;width:100%}.modal-foot,.confirm-actions{flex-direction:column-reverse}.modal-foot .btn,.confirm-actions .btn{justify-content:center;width:100%}.task-row{grid-template-columns:auto auto auto auto minmax(0,1fr);grid-template-areas:"pick grip order check main""act act act act act";align-items:start;gap:10px 8px;padding:10px 12px}.task-head{display:none}.task-pick{grid-area:pick;width:20px;height:20px;margin:1px 0}.task-grip{grid-area:grip}.task-order{grid-area:order}.task-check{grid-area:check}.task-main{grid-area:main}.task-actions{flex-wrap:wrap;grid-area:act;justify-content:flex-start;align-items:center;gap:8px;display:flex}.task-actions .task-select,.task-actions .dp{flex:auto;min-width:0}.task-row-btns{flex:none}.subtask-panel{margin-left:12px;padding-left:10px}.subtask-line{flex-wrap:wrap;align-items:flex-start;row-gap:10px}.subtask-line-main{flex:100%}.subtask-line-fields{flex-wrap:wrap;flex:100%}.subtask-line-fields .task-select,.subtask-line-fields .dp{flex:130px;max-width:none}.subtask-branch{display:none}.subtask-row{flex-wrap:wrap;align-items:flex-start;row-gap:10px}.subtask-row-fields{flex-wrap:wrap;flex:100%}.subtask-row-fields .task-select,.subtask-row-fields .dp{flex:130px;max-width:none}.bulk-bar{margin:4px 14px 12px}.toast-region{align-items:stretch;bottom:78px;left:10px;right:10px}.toast{max-width:none}.bulk-fields select,.bulk-fields input{height:40px}.bulk-fields select,.bulk-fields input[type=date]{flex:140px;min-width:0}.bulk-actions{flex:100%}.bulk-actions .btn{flex:auto;justify-content:center}.board{scroll-snap-type:x mandatory;padding:12px 14px 16px}.board-col{flex:0 0 min(84vw,292px)}.agenda-row{flex-wrap:wrap;align-items:flex-start;row-gap:10px;padding:12px 14px}.agenda-actions{flex:100%}.filter-bar{padding:12px 14px}.cal-grid{grid-template-columns:1fr}.cal-weekday{display:none}.cal-day{border-right:0;flex-flow:wrap;align-items:flex-start;gap:10px;min-height:0}.cal-day[data-out=true]{display:none}.cal-daynum{flex:none}.cal-task{flex:100%}.timeline-label{flex:0 0 110px}.filter-bar>select,.filter-bar>input,.filter-chip{height:40px}.filter-bar>input{max-width:none}.profile-panel{padding:20px 16px}.profile-fields{grid-template-columns:1fr;gap:14px}.profile-tab{text-align:center;flex:auto;min-height:44px}.save-bar{padding:12px 14px}.save-bar-actions{flex:100%;gap:8px;display:flex}.save-bar-actions .btn{flex:auto;justify-content:center}.app-sidebar{height:100dvh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.app-sidebar[data-open=true]{box-shadow:var(--shadow-modal);transform:translate(0)}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s}.app-sidebar{transition:none}.grouped-card:hover{transform:none}.nf-frame,.nf-line{animation:none}.nf-lens{animation:none;transform:translate(99px,72px)}.rise-in,.save-bar{animation:none}}@media (min-width:801px){.only-mobile{display:none!important}}.nf{text-align:center;align-items:center;gap:var(--sp-3);padding:clamp(32px, 8vh, 72px) var(--sp-6);flex-direction:column;display:flex}.nf-art{width:100%;max-width:260px;height:auto}.nf-title{margin:var(--sp-2) 0 0;font-size:var(--fs-xl);letter-spacing:-.5px;font-weight:500}.nf-desc{max-width:46ch;color:var(--text-subtle);font-size:var(--fs-sm);margin:0;line-height:1.6}.nf-actions{margin-top:var(--sp-2);flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.nf-glow-in{stop-color:var(--primary);stop-opacity:.32}.nf-glow-out{stop-color:var(--primary);stop-opacity:0}.nf-frame{fill:none;stroke:var(--text-ghost);stroke-width:2px;stroke-dasharray:10 8;animation:2.4s linear infinite nf-march}.nf-line{fill:var(--text-ghost);opacity:.45;animation:2.4s ease-in-out infinite nf-pulse}.nf-line:nth-of-type(2){animation-delay:.15s}.nf-line:nth-of-type(3){animation-delay:.3s}.nf-lens{fill:none;stroke:var(--primary);stroke-width:3px;stroke-linecap:round;transform-box:view-box;transform-origin:0 0;animation:5s ease-in-out infinite nf-sweep}@keyframes nf-march{to{stroke-dashoffset:-36px}}@keyframes nf-pulse{0%,to{opacity:.45}50%{opacity:.18}}@keyframes nf-sweep{0%,to{transform:translate(62px,56px)}50%{transform:translate(136px,88px)}}.settings-row{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-subtle);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:11px 14px;display:flex}.settings-row:hover{border-color:var(--border-elevated);background:var(--surface-hover)}.reorder-btn{border:1px solid var(--border-input);background:var(--surface);width:24px;height:20px;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-radius:5px;justify-content:center;align-items:center;padding:0;display:flex}.reorder-btn:hover:not(:disabled){background:var(--primary-soft);color:var(--primary)}.reorder-btn:disabled{opacity:.35;cursor:default}.settings-edit{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.settings-edit>.btn-primary{margin-left:auto}.settings-edit input[type=text],.settings-edit input:not([type]),.settings-edit input[type=number]{border:1px solid var(--border-input);border-radius:var(--r-md);height:36px;font-size:var(--fs-sm);color:var(--text);background:var(--surface);flex:140px;min-width:0;padding:0 10px;font-family:inherit}.settings-edit input[type=color]{border:1px solid var(--border-input);border-radius:var(--r-md);background:var(--surface);cursor:pointer;flex:none;width:40px;height:36px;padding:2px}.settings-edit .form-error{flex:100%}.cfg{height:calc(100vh - var(--header-h));background:var(--bg);flex-direction:column;min-height:0;display:flex;overflow:hidden}.cfg-cols{min-height:0;min-width:calc(1180px - var(--sidebar-w));flex:1;grid-template-columns:258px minmax(0,1fr) 296px;display:grid}.cfg-nav,.cfg-main,.cfg-rail{min-height:0;overflow-y:auto}.cfg-main{flex-direction:column;gap:18px;padding:22px 26px 60px;display:flex}.cfg-main>.set-card,.cfg-main>.cfg-global-card{max-width:860px}.cfg-head{--pad-page-y:16px;--pad-page-x:26px;border-bottom:1px solid var(--border);flex:none;margin:0}.cfg-head .page-head-sub{white-space:normal;max-width:92ch;height:38px;margin-top:6px;line-height:1.5}.cfg-tabs{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-muted);gap:2px;width:fit-content;margin:10px 0 -1px;padding:4px;display:flex}.cfg-tab{border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-subtle);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);padding:7px 15px;font-weight:500}.cfg-tab:hover{color:var(--text-strong)}.cfg-tab[data-active=true]{background:var(--surface);color:var(--text-strong);box-shadow:0 0 0 1px var(--border-elevated), var(--shadow-xs)}.cfg-nav,.cfg-rail{background:var(--surface);flex-direction:column;gap:3px;padding:16px 12px 40px;display:flex}.cfg-nav{border-right:1px solid var(--border)}.cfg-rail{border-left:1px solid var(--border);gap:12px;padding:16px 14px 40px}.cfg-nav-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-ghost);margin:0 0 8px;padding:0 8px;font-size:9.5px;font-weight:500}.cfg-nav-item{border-radius:var(--r-md);color:var(--text-muted);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.cfg-nav-item:hover{background:var(--surface-muted);color:var(--text-strong)}.cfg-nav-item[data-active=true]{background:var(--primary-soft);border-color:color-mix(in oklab, var(--primary) 35%, transparent);color:var(--primary)}.cfg-nav-label{min-width:0;font-size:var(--fs-sm);align-items:center;gap:8px;font-weight:500;display:flex}.cfg-nav-hint{color:var(--text-ghost);grid-column:1/-1;font-size:11px;line-height:1.4}.cfg-nav-item[data-active=true] .cfg-nav-hint{color:color-mix(in oklab, var(--primary) 62%, var(--text-faint))}.cfg-nav-badge{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-ghost);white-space:nowrap}.cfg-nav-badge[data-inherited=true]{font-style:italic}.cfg-nav-caret{color:var(--text-ghost);transition:transform var(--dur-fast) var(--ease);display:flex}.cfg-nav-scope[aria-expanded=true] .cfg-nav-caret{transform:rotate(180deg)}.cfg-dot{border-radius:var(--r-pill);flex:none;width:8px;height:8px;display:block}.cfg-nav-sub{border-left:2px solid var(--border);margin:2px 0 6px 11px;padding-left:2px}:is(.cfg-nav-sub:has(.cfg-nav-subitem[data-active=true]),.cfg-nav-sub:has(.project-link[data-active=true])){border-left-color:var(--primary)}.cfg-nav-subitem{border-radius:var(--r-sm);color:var(--text-subtle);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.cfg-nav-subitem:hover{background:var(--surface-muted);color:var(--text-strong)}.cfg-nav-subitem[data-active=true]{color:var(--primary);font-weight:500}.cfg-rail-card{background:var(--surface-subtle);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:12px 13px}.cfg-rail-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--text-ghost);margin:0 0 6px;font-size:9.5px;font-weight:500}.cfg-rail-title{font-size:var(--fs-sm);margin:0 0 6px;font-weight:500}.cfg-rail-line{color:var(--text-faint);margin:0 0 6px;font-size:11.5px;line-height:1.55}.cfg-rail-line:last-child{margin-bottom:0}.cfg-rail-facts{flex-direction:column;gap:6px;margin:0;display:flex}.cfg-rail-fact{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.cfg-rail-fact dt{color:var(--text-faint);font-size:11.5px}.cfg-rail-fact dd{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-strong);text-align:right;margin:0}.cfg-rail-legend{color:var(--text-ghost);margin:8px 0 0;font-size:11px;line-height:1.5}.cfg-rail-legend b{color:var(--text-faint)}.cfg-alert{align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.cfg-alert:last-child{margin-bottom:0}.cfg-alert-icon{flex:none;align-items:center;height:17px;display:flex}.cfg-alert[data-tone=warn] .cfg-alert-icon{color:var(--warning)}.cfg-alert[data-tone=info] .cfg-alert-icon{color:var(--text-ghost)}.cfg-alert[data-tone=info] .cfg-dot{background:currentColor;width:6px;height:6px}.cfg-alert-title{font-size:var(--fs-xs);margin:0 0 3px;font-weight:500}.cfg-inherit,.cfg-quick{border-radius:var(--r-sm);font-size:var(--fs-xs);color:var(--text-muted);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:space-between;align-items:center;gap:8px;margin:0 -8px;padding:7px 8px;display:flex}.cfg-inherit:hover,.cfg-quick:hover{background:var(--surface-muted);color:var(--text-strong)}.cfg-quick>svg{color:var(--text-ghost);flex:none;transform:rotate(-90deg)}.cfg-btn-next>svg{transform:rotate(-90deg)}.cfg-seal{font-size:var(--fs-2xs);border-radius:var(--r-pill);white-space:nowrap;background:var(--track);color:var(--text-muted);padding:3px 9px;font-weight:500}.cfg-seal[data-own=true]{background:var(--primary-soft);color:var(--primary)}.cfg-scope-head{flex-wrap:wrap;align-items:center;gap:10px;max-width:860px;display:flex}.cfg-scope-desc{font-size:var(--fs-xs);color:var(--text-faint);min-width:0}.cfg-scope-use{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-ghost);margin-left:auto}.cfg-global-card{background:var(--surface);border:1px solid var(--border-elevated);border-radius:var(--r-2xl);box-shadow:var(--shadow-xs);color:inherit;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);align-items:center;gap:14px;padding:16px 18px;display:flex}.cfg-global-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);color:inherit}.cfg-global-card>svg{color:var(--text-ghost);flex:none;transform:rotate(-90deg)}.cfg-global-text{flex:auto;min-width:0}.cfg-global-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cfg-global-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--text-ghost);font-size:9.5px;font-weight:500}.cfg-global-desc{font-size:var(--fs-xs);color:var(--text-muted);margin:6px 0 0;line-height:1.55}.cfg-global-meta{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-ghost);margin:6px 0 0}.cfg-model-row{border-top:1px solid var(--border-soft);transition:background var(--dur-fast) var(--ease);align-items:flex-start;gap:12px;padding:12px 20px;display:flex}.set-table>.cfg-model-row:nth-child(2n){background:var(--bg)}.cfg-model-row:hover{background:var(--surface-muted)}.cfg-model-row[data-dragging=true]{opacity:.4}.cfg-model-row[data-over=true]{box-shadow:inset 0 2px 0 var(--primary)}.cfg-model-row>.set-grip{padding-top:3px}.cfg-model-text{flex:200px;min-width:170px}.cfg-model-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cfg-model-desc{font-size:var(--fs-xs);color:var(--text-faint);margin:5px 0 0;line-height:1.5}.cfg-model-inherit{font-size:var(--fs-xs);margin:6px 0 0;line-height:1.5}.cfg-own{color:var(--primary);font-weight:500}.cfg-inherits{color:var(--text-faint)}.cfg-model-extra{color:var(--text-ghost)}.cfg-block-text{flex-direction:column;gap:3px;min-width:0;display:flex}.cfg-block-name{font-size:var(--fs-sm);font-weight:500}.cfg-block-desc{font-size:var(--fs-xs);color:var(--text-faint);line-height:1.5}.cfg-origin{align-items:center;gap:9px;min-width:0;display:flex}.cfg-inherited{border:1px dashed var(--border-input);border-radius:var(--r-lg);background:var(--surface-muted);margin:0 20px 18px;padding:16px}.cfg-inherited-lead{font-size:var(--fs-sm);color:var(--text-body);margin:0;line-height:1.55}.cfg-inherited-warn{font-size:var(--fs-xs);color:var(--text-faint);margin:8px 0 0;line-height:1.55}.cfg-inherited-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;display:flex}.cfg-inherited-add{border-top:1px solid var(--border-soft);margin-top:12px}.cfg-identity{border-top:1px solid var(--border-soft);grid-template-columns:1fr 1.6fr;gap:14px 18px;padding:16px 20px 18px;display:grid}.cfg-identity-color{grid-column:1/-1;max-width:120px}.cfg-identity-save{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;display:flex}.cfg-identity-save .form-error{margin:0 auto 0 0}.cfg-metric-value{text-align:right;font-size:var(--fs-sm);color:var(--text-strong);overflow-wrap:anywhere;font-weight:500}.cfg-empty{text-align:center;border-top:1px solid var(--border-soft);padding:26px 20px}.cfg-empty-lead{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.cfg-empty-hint{font-size:var(--fs-xs);color:var(--text-ghost);margin:6px 0 0}.cfg-standalone{border:1px solid var(--border-elevated);border-radius:var(--r-2xl);background:var(--surface);max-width:860px;padding:18px 20px}.set-card{background:var(--surface);border:1px solid var(--border-elevated);border-radius:var(--r-2xl);box-shadow:var(--shadow-xs);scroll-margin-top:calc(var(--header-h) + 16px)}.set-card>:last-child{border-radius:0 0 var(--r-2xl) var(--r-2xl)}.set-card>.set-warn:last-child{overflow:hidden}.set-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 20px 14px;display:flex}.set-card-title-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.set-card-title{font-size:var(--fs-md);margin:0;font-weight:500}.set-card-meta{font-size:var(--fs-xs);color:var(--text-faint);min-width:0}.set-badge{font-size:var(--fs-2xs);border-radius:var(--r-pill);background:var(--track);color:var(--text-muted);white-space:nowrap;padding:3px 9px;font-weight:500}.set-badge[data-tone=you]{background:var(--success-soft);color:var(--success)}.set-badge[data-tone=app]{background:var(--primary-soft);color:var(--primary)}.set-card-desc{font-size:var(--fs-xs);color:var(--text-muted);max-width:76ch;margin:5px 0 0;line-height:1.55}.set-card-action{flex:none;margin-left:auto}.set-table{flex-direction:column;display:flex}.set-row{grid-template-columns:var(--set-cols);border-top:1px solid var(--border-soft);min-height:54px;transition:background var(--dur-fast) var(--ease);align-items:center;gap:18px;padding:10px 22px;display:grid}.set-row>span{min-width:0}.set-thead{background:var(--surface-muted);border-bottom:1px solid var(--border);min-height:0;font-size:var(--fs-2xs);letter-spacing:.09em;text-transform:uppercase;color:var(--text-subtle);padding:9px 22px;font-weight:500}.set-table>.set-row:not(.set-thead):nth-child(odd){background:var(--bg)}.set-table>.set-row:not(.set-thead):hover{background:var(--surface-muted)}.set-row[data-dragging=true]{opacity:.4}.set-row[data-over=true]{box-shadow:inset 0 2px 0 var(--primary)}.set-row-editing{padding:12px 20px;display:block}.set-table[data-tree=true]>.set-row:not(.set-thead):nth-child(odd){background:0 0}.set-table[data-tree=true]>.set-row:not(.set-thead):hover{background:var(--surface-muted)}.set-table[data-tree=true]{--set-rail:22px;--set-indent:20px}.set-row[data-level=module]>span:first-child{padding-left:var(--set-indent);border-left:1px solid var(--border-soft)}.set-sub-add .set-add{margin-left:var(--set-rail,22px);padding-left:var(--set-indent,20px);border-left:1px solid var(--border-soft)}.set-row[data-level=module],.set-sub-add .set-add{border-top-color:#0000}.set-grip{color:var(--text-ghost);cursor:grab;display:flex}.set-row:active .set-grip{cursor:grabbing}.set-name{font-size:var(--fs-sm);align-items:center;gap:9px;min-width:0;font-weight:500;display:flex}.set-dot{border-radius:var(--r-pill);flex:none;width:10px;height:10px;display:block}.set-num{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.set-num[data-empty]{color:var(--text-ghost)}.set-muted{font-size:var(--fs-xs);color:var(--text-faint)}.set-override{font-size:var(--fs-xs);color:var(--warning);font-weight:500}.set-actions{justify-content:flex-end;align-items:center;gap:2px;display:flex}.set-person{align-items:center;gap:10px;min-width:0;display:flex}.set-person .muted{font-size:var(--fs-2xs)}.set-chips{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.set-add{border-top:1px solid var(--border-soft);transition:background var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:11px 20px;display:flex}.set-add:focus-within{background:var(--surface-muted)}.set-add-icon{color:var(--text-ghost);flex:none;display:flex}.set-add-input{min-width:0;font-family:inherit;font-size:var(--fs-sm);color:var(--text);background:0 0;border:0;flex:auto;padding:4px 0}.set-add-input::placeholder{color:var(--text-ghost)}.set-add-input:focus{outline:none}.set-add-hint{font-size:var(--fs-2xs);color:var(--text-faint);flex:none}.set-add-error{margin:0;padding:0 20px 12px}.set-warn{border-top:1px solid var(--border-soft);background:var(--surface-muted)}.set-warn-head{width:100%;color:var(--text-faint);font:inherit;font-size:var(--fs-xs);text-align:left;cursor:pointer;transition:color var(--dur-fast) var(--ease);background:0 0;border:0;align-items:center;gap:9px;padding:11px 20px;display:flex}.set-warn-head:hover{color:var(--text-strong)}.set-warn-head>svg:first-child{color:var(--warning);flex:none}.set-warn-caret{color:var(--text-ghost);transition:transform var(--dur-fast) var(--ease);margin-left:auto;display:flex}.set-warn[data-open=true] .set-warn-caret{transform:rotate(180deg)}.set-warn-body{font-size:var(--fs-xs);color:var(--text-faint);margin:0;padding:0 20px 13px 42px;line-height:1.6}.set-warn-body code{font-family:var(--font-mono);border-radius:var(--r-sm);background:var(--track);color:var(--text-muted);padding:1px 5px;font-size:.92em}.set-empty{border-top:1px solid var(--border-soft);font-size:var(--fs-xs);color:var(--text-muted);margin:0;padding:14px 20px;line-height:1.6}.set-tags{border-top:1px solid var(--border-soft);flex-wrap:wrap;gap:8px;padding:14px 20px;display:flex}.set-tag-empty{border-top:1px solid var(--border-soft);padding:14px 20px}.set-tag-empty .set-empty{border-top:0}.set-suggestions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.set-suggestion{border-radius:var(--r-pill);border:1px dashed var(--border-strong);font-family:inherit;font-size:var(--fs-xs);color:var(--text-muted);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;align-items:center;gap:5px;padding:6px 11px;font-weight:500;display:inline-flex}.set-suggestion:hover:not(:disabled){border-style:solid;border-color:var(--primary);color:var(--primary)}.set-suggestion:disabled{opacity:.5;cursor:progress}.set-brand-form{border-top:1px solid var(--border-soft);gap:14px;padding:16px 20px;display:grid}.set-brand-save{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.set-brand-save .form-error{margin:0 auto 0 0}.set-brand-ok{font-size:var(--fs-xs);color:var(--success);align-items:center;gap:5px;margin-right:auto;font-weight:500;display:inline-flex}.set-brand-cell{align-items:center;gap:12px;min-width:0;display:flex}.set-brand-preview{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-muted);flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;overflow:hidden}.set-brand-preview img{object-fit:contain;max-width:100%;max-height:100%}.set-brand-preview .sidebar-mark{width:26px;height:26px;font-size:13px}.set-brand-preview[data-slot=logo]{width:auto;min-width:34px;max-width:92px;padding:3px}.set-brand-asset-error{grid-column:1/-1;margin:0}.set-cron{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.set-cron-state{font-size:var(--fs-xs);align-items:center;gap:6px;font-weight:500;display:inline-flex}.set-cron-error{color:var(--danger)}.row-menu{position:relative}.row-menu-pop{z-index:30;background:var(--surface);border:1px solid var(--border-elevated);border-radius:var(--r-lg);min-width:196px;box-shadow:var(--shadow-lg);gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.row-menu-item{border-radius:var(--r-md);width:100%;font-family:inherit;font-size:var(--fs-xs);color:var(--text-body);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:8px 10px;font-weight:500;display:flex}.row-menu-item:hover:not(:disabled){background:var(--surface-hover);color:var(--text-strong)}.row-menu-item[data-danger=true]{color:var(--danger)}.row-menu-item[data-danger=true]:hover:not(:disabled){background:var(--danger-soft)}.row-menu-item:disabled{opacity:.4;cursor:default}@media (max-width:1179px){.cfg{height:auto;overflow:visible}.cfg-cols{grid-template-columns:minmax(0,1fr);min-width:0}.cfg-nav,.cfg-rail{border:0;border-bottom:1px solid var(--border);overflow-y:visible}.cfg-main{overflow-y:visible}.cfg-nav>nav{flex-wrap:wrap;gap:4px;display:flex}.cfg-nav .cfg-nav-item{width:auto}.cfg-nav .cfg-nav-hint{display:none}.cfg-nav .cfg-nav-sub{flex:1 0 100%;margin-left:0}.cfg-head{--pad-page-y:14px}}@media (max-width:767px){.set-row{flex-wrap:wrap;gap:8px 10px;padding:12px 14px;display:flex}.set-thead{display:none}.set-actions{margin-left:auto}.set-card-head,.set-warn-head,.set-empty,.set-add,.set-tags,.set-tag-empty,.set-brand-form,.cfg-identity,.cfg-model-row{padding-left:14px;padding-right:14px}.set-warn-body{padding-left:36px;padding-right:14px}.set-add-error{padding-left:14px;padding-right:14px}.cfg-inherited{margin-left:14px;margin-right:14px}.cfg-main{padding:16px 14px 40px}.cfg-head{--pad-page-x:14px}.cfg-identity{grid-template-columns:minmax(0,1fr)}}.tabs{align-items:flex-end;gap:var(--space-5);margin-top:var(--space-5);border-bottom:1px solid var(--color-neutral-800);display:flex}.tab{padding:var(--space-3) 0;font-size:var(--fs-sm);color:var(--color-neutral-500);transition:color var(--dur-fast) var(--ease);font-weight:500;position:relative}.tab:hover,.tab[data-active=true]{color:var(--color-text)}.tab-count{margin-left:var(--space-2);padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-2xs);background:var(--color-neutral-900);color:var(--color-neutral-500)}.tab[data-active=true] .tab-count{color:var(--color-accent)}.tabs-trailing{padding-bottom:var(--space-2);align-self:center;margin-left:auto}.tab[data-active=true]:after{content:"";background:var(--color-accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.due-rows{flex-direction:column;gap:2px;display:flex}.due-row{border-radius:var(--r-md);min-width:0;color:inherit;transition:background var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:9px 10px;display:flex}.due-row:hover{background:var(--surface-hover);color:inherit}.due-date{width:74px;font-size:var(--rp-micro);color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-weight:500}.due-date[data-overdue=true]{color:var(--danger)}.due-main{flex:auto;gap:2px;min-width:0;display:grid}.due-title{font-size:var(--rp-body);font-weight:500}.due-meta{font-size:var(--rp-nano);color:var(--text-faint)}.effort{gap:10px;display:grid}.effort-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.effort-label{font-size:var(--rp-sub);color:var(--text-subtle);font-weight:500}.effort-value{font-size:var(--rp-body);font-variant-numeric:tabular-nums;font-weight:500}@media (max-width:767px){.page-head-top{align-items:flex-start}.page-head-actions{width:100%}.tabs{margin-top:12px}.due-row{flex-wrap:wrap;row-gap:6px}.due-date{width:auto}}.page-reports,.page-panel{--rp-title:15px;--rp-sub:12px;--rp-value:34px;--rp-body:13.5px;--rp-meta:12.5px;--rp-micro:11.5px;--rp-nano:11px;--rp-gap:20px;--rp-pad:20px}.page-panel{display:contents}.page-reports{--pad-page-y:26px;--pad-page-x:28px;gap:20px}.reports-grid{gap:var(--rp-gap);flex-wrap:wrap;align-items:stretch;display:flex}.reports-grid>*{min-width:0}.span-6{flex:calc(50% - 10px);min-width:360px}.span-4{flex:calc(33.333% - 14px);min-width:310px}.span-3{flex:calc(25% - 15px);min-width:272px}.row-flow>*{min-height:348px}.row-detail>*{min-height:396px}.row-people>*{min-height:292px}.kpi-row{gap:var(--rp-gap);grid-template-columns:repeat(auto-fit,minmax(232px,1fr));display:grid}@media (min-width:1200px){.kpi-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.report-card{background:var(--surface);border:1px solid var(--border-elevated);border-radius:var(--r-2xl);min-width:0;box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease);flex-direction:column;display:flex}.report-card:hover{border-color:var(--border-strong)}.report-head{padding:18px var(--rp-pad) 0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-title{font-size:var(--rp-title);letter-spacing:-.01em;font-weight:500;line-height:1.25}.report-sub{font-size:var(--rp-sub);color:var(--text-faint);margin-top:3px;font-weight:400}.report-action{font-size:var(--rp-meta);color:var(--primary);align-items:center;min-height:40px;padding:0 2px;font-weight:500;display:inline-flex}.report-body{min-width:0;padding:16px var(--rp-pad) var(--rp-pad);flex-direction:column;flex:auto;display:flex}.report-empty{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:6px;padding:8px;display:flex}.report-empty-icon{background:var(--surface-hover);width:44px;height:44px;color:var(--text-subtle);border-radius:13px;justify-content:center;align-items:center;margin-bottom:2px;display:flex}.report-empty-title{font-size:var(--fs-sm);color:var(--text-strong);font-weight:500}.report-empty-desc{font-size:var(--rp-sub);color:var(--text-faint);max-width:32ch;line-height:1.5}.kpi-card{min-height:158px;padding:var(--rp-pad);justify-content:space-between;gap:14px}.kpi-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.kpi-label{font-size:var(--rp-meta);color:var(--text-subtle);font-weight:500}.kpi-icon{border-radius:9px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.kpi-mid{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.kpi-value{font-size:var(--rp-value);letter-spacing:-.03em;font-weight:500;line-height:1.05}.kpi-chip{font-size:var(--rp-micro);white-space:nowrap;border-radius:7px;padding:3px 7px;font-weight:500}.kpi-legend{font-size:var(--rp-micro);color:var(--text-faint);margin-top:6px}.flow-chart{flex-direction:column;flex:auto;min-height:180px;display:flex}.flow-plot{flex:auto;min-height:140px;position:relative}.flow-svg{width:100%;height:100%;position:absolute;inset:0}.flow-point{border-radius:var(--r-pill);background:var(--surface);border:2.5px solid var(--primary);box-sizing:content-box;width:7px;height:7px;position:absolute;transform:translate(-50%,-50%)}.flow-grad-in{stop-color:var(--primary);stop-opacity:.22}.flow-grad-out{stop-color:var(--primary);stop-opacity:0}.flow-grid{stroke:var(--track);stroke-width:1px;vector-effect:non-scaling-stroke}.flow-line{fill:none;stroke:var(--primary);stroke-width:2.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.flow-line-alt{fill:none;stroke:var(--text-ghost);stroke-width:2px;stroke-dasharray:5 5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.flow-axis{justify-content:space-between;gap:4px;margin-top:10px;display:flex}.flow-axis span{font-size:var(--rp-nano);color:var(--text-faint);text-align:center;flex:1 1 0;min-width:0;font-weight:500}.flow-legend{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.flow-legend-item{font-size:var(--rp-micro);color:var(--text-subtle);align-items:center;gap:6px;font-weight:500;display:inline-flex}.flow-dot{border-radius:var(--r-pill);flex:none;width:8px;height:8px}.donut-wrap{flex-direction:column;flex:auto;align-items:center;gap:16px;display:flex}.donut{flex:none;width:150px;height:150px;position:relative}.donut-center{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.donut-total{letter-spacing:-.02em;font-size:26px;font-weight:500}.donut-unit{font-size:var(--rp-nano);color:var(--text-faint);font-weight:500}.donut-legend{flex-direction:column;gap:9px;width:100%;margin:0;padding:0;list-style:none;display:flex}.donut-legend li{font-size:var(--rp-micro);align-items:center;gap:8px;min-width:0;display:flex}.donut-legend b{margin-left:auto;font-weight:500}.donut-share{color:var(--text-faint);font-weight:500}.prio-cols{flex:auto;justify-content:space-around;align-items:stretch;gap:12px;min-height:120px;display:flex}.prio-col{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;gap:8px;min-width:0;max-width:46px;display:flex}.prio-value{font-size:var(--fs-sm);font-weight:500}.prio-name{font-size:var(--rp-micro);color:var(--text-body);font-weight:500;display:none}.prio-track{display:contents}.prio-bar{width:100%;height:var(--size);border-radius:10px 10px 4px 4px;min-height:6px}.prio-foot{border-top:1px solid var(--border-soft);justify-content:space-around;gap:12px;margin-top:14px;padding-top:12px;display:flex}.prio-foot>div{text-align:center;flex:1 1 0;min-width:0}.prio-foot-label{font-size:var(--rp-micro);color:var(--text-body);font-weight:500}.prio-foot-share{font-size:var(--rp-nano);color:var(--text-faint);font-weight:500}.proj-rows{flex-direction:column;gap:4px;display:flex}.proj-row{border-radius:var(--r-lg);color:inherit;transition:background var(--dur-fast) var(--ease);padding:12px;display:block}.proj-row:hover{background:var(--surface-hover);color:inherit}.proj-line{align-items:center;gap:8px;min-width:0;display:flex}.proj-name{font-size:var(--rp-body);min-width:0;font-weight:500}.proj-meta{font-size:var(--rp-sub);color:var(--text-subtle);white-space:nowrap;margin-left:auto;font-weight:500}.bar-rows{flex-direction:column;gap:12px;display:flex}.bar-row{grid-template-columns:minmax(96px,132px) 1fr 34px;align-items:center;gap:12px;min-width:0;display:grid}.bar-row-narrow{grid-template-columns:minmax(78px,92px) 1fr 26px}.bar-label{font-size:var(--rp-sub);color:var(--text-body);font-weight:500}.bar-track{background:var(--track);border-radius:var(--r-pill);min-width:0;height:10px;overflow:hidden}.bar-track>span{border-radius:var(--r-pill);min-width:3px;height:100%;display:block}.bar-value{font-size:var(--rp-sub);text-align:right;font-weight:500}.load-rows{flex-direction:column;gap:14px;display:flex}.load-row{align-items:center;gap:10px;min-width:0;display:flex}.load-main{flex:auto;min-width:0}.load-head{align-items:baseline;gap:8px;min-width:0;display:flex}.load-name{font-size:var(--rp-sub);min-width:0;font-weight:500}.load-value{font-size:var(--rp-sub);margin-left:auto;font-weight:500}.load-track{background:var(--track);border-radius:var(--r-pill);height:7px;margin-top:6px;overflow:hidden}.load-track>span{border-radius:var(--r-pill);min-width:3px;height:100%;display:block}.heat{flex:auto;grid-template-rows:repeat(7,1fr);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-content:center;gap:5px;min-height:110px;display:grid}.heat-cell{background:var(--track);border-radius:4px;min-width:0;min-height:8px}.heat-foot{font-size:var(--rp-nano);color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-weight:500;display:flex}.heat-scale{align-items:center;gap:4px;display:inline-flex}.heat-swatch{border-radius:3px;width:11px;height:11px;display:block}.reports-summary{font-size:var(--fs-sm);color:var(--text-subtle)}.report-row-title{max-width:46ch;color:var(--text-strong);font-weight:500;display:block}.report-row-title:hover{color:var(--primary)}.task-report tr[data-done] .report-row-title{color:var(--text-faint);text-decoration:line-through}.report-hint{border-radius:var(--r-pill);background:var(--track);width:18px;height:18px;color:var(--text-subtle);cursor:help;border:0;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:500;display:inline-flex;position:relative}.report-hint:after{content:"";border-radius:inherit;position:absolute;inset:-11px}:is(.page-reports:has(.period[data-busy=true]) .reports-grid,.page-reports:has(.period[data-busy=true]) .kpi-row){opacity:.7;transition:opacity var(--dur) var(--ease)}.period{position:relative}.period-seg{flex-wrap:wrap}.period-select{display:none}.period-pop{z-index:30;background:var(--surface);border:1px solid var(--border-elevated);border-radius:var(--r-xl);width:min(340px,100vw - 32px);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.period-pop-row{gap:10px;display:flex}.period-pop-row .field{flex:1 1 0;min-width:0}.period-pop-foot{justify-content:flex-end;gap:8px;display:flex}.export{position:relative}.export-menu{z-index:30;background:var(--surface);border:1px solid var(--border-elevated);border-radius:var(--r-lg);min-width:210px;box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.export-item{border-radius:var(--r-sm);min-height:40px;color:var(--text-body);font-family:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-weight:500;display:flex}.export-item:hover{background:var(--surface-hover);color:var(--text-strong)}.export-item small{font-weight:400;font-size:var(--rp-nano);color:var(--text-faint);display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){.bar-track>span,.load-track>span,.kpi-bar>span{transform-origin:0;animation:rp-grow .42s var(--ease) both}.prio-bar{transform-origin:bottom;animation:rp-rise .42s var(--ease) both}}@keyframes rp-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes rp-rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (max-width:1023px){.page-reports{--rp-value:30px;padding:20px 20px 32px}.kpi-card{min-height:140px}.span-6{min-width:330px}.span-4{min-width:290px}.span-3{min-width:250px}.row-flow>*{min-height:300px}.donut{width:132px;height:132px}.heat-cell:nth-child(-n+28){display:none}.bar-row{grid-template-columns:minmax(84px,120px) 1fr 34px}}@media (max-width:767px){.page-reports{--rp-gap:14px;--rp-value:26px;gap:14px;padding:16px 16px 28px}.reports-grid{gap:14px}.span-6,.span-4,.span-3{flex-basis:100%;min-width:0}.row-flow>*,.row-detail>*,.row-people>*{min-height:220px}.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card{min-height:128px}.kpi-chip{display:none}.page-reports .page-title{font-size:22px}.prio-cols{flex-direction:column;justify-content:center;align-items:stretch;gap:12px;min-height:0}.prio-col{flex-direction:row;align-items:center;gap:10px;max-width:none;height:auto}.prio-name{flex:0 0 68px;display:block}.prio-value{text-align:right;flex:0 0 28px;order:3}.prio-track{background:var(--track);border-radius:var(--r-pill);flex:auto;order:2;min-width:0;height:12px;display:block;overflow:hidden}.prio-bar{height:100%;width:var(--size);border-radius:var(--r-pill);transform-origin:0;min-width:6px;min-height:0;animation-name:rp-grow;display:block}.prio-foot,.period-seg{display:none}.period-select{display:block}.period-pop{left:0;right:auto}.heat-cell:nth-child(-n+42){display:none}.bar-row{grid-template-columns:minmax(76px,100px) 1fr 30px}}@media (max-width:620px){.flow-axis[data-dense=true] span:nth-child(2n){visibility:hidden}}.badge-hue{background:var(--h-bg);color:var(--h-fg)}.grow{flex:auto;min-width:0}.demand-title{font-size:var(--fs-sm);color:var(--text-strong);font-weight:500;display:block}.demand-title:hover{color:var(--primary)}.demand-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-height:0;margin-top:3px;display:flex}.demand-holder{min-width:0;font-size:var(--fs-sm);flex-direction:column;gap:1px;display:flex}.table tbody tr[data-closed] .grow{flex:auto;min-width:0}.demand-title{color:var(--text-muted);font-weight:400}.table tbody tr[data-closed]{opacity:.68}.plain-list{margin:0;padding:0;list-style:none}.plain-list>li+li{border-top:1px solid var(--border-soft)}.linked-task{align-items:center;gap:var(--space-3);font-size:var(--fs-sm);color:var(--text-strong);transition:background var(--dur-fast) var(--ease);padding:11px 18px;display:flex}.linked-task:hover{background:var(--surface-muted)}.timeline-note{border-inline-start:2px solid var(--h-line,var(--border-soft));font-size:var(--fs-xs);color:var(--text-body);white-space:pre-wrap;margin:4px 0 2px;padding-inline-start:var(--space-3);line-height:1.5}.print-head{display:none}.print-box{border:1.5px solid var(--border-input);border-radius:4px;width:13px;height:13px;display:inline-block}.table .col-check{width:34px}.print-head,.print-foot{display:none}@media print{@page{margin:0}body{margin:0}.page{padding:14mm 12mm 22mm}html{-webkit-print-color-adjust:exact;print-color-adjust:exact}:root,:root[data-theme]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fff;--color-surface:#fff;--color-surface-2:#fff;--color-sidebar:#fff;--color-zebra:#f4f5f8;--color-text:#14161f;--color-on-accent:#fff;--color-accent:#4a3fa0;--color-divider:#9aa0b0;--scrim:transparent;--color-neutral-100:#14161f;--color-neutral-200:#1d2030;--color-neutral-300:#24273a;--color-neutral-400:#3d4152;--color-neutral-500:#4d5265;--color-neutral-600:#5b6072;--color-neutral-700:#c9cdd9;--color-neutral-800:#c9cdd9;--color-neutral-900:#e4e7ee;--color-accent-300:#3a3180;--color-accent-700:#c9c4e6;--color-accent-900:#eceaf7;--l-dot:.55;--ch-dot:.15;--l-fg:.42;--ch-fg:.13;--l-bg:.93;--ch-bg:.04;--a-line:.5;--a-glow:0;--shadow-sm:none;--shadow-md:none;--shadow-lg:none}.app-sidebar,.topbar,.app-scrim,.page-head,.report-action,.report-hint,.filter-bar,.export-menu{display:none!important}.app-shell,.app-main{display:block}.print-head{border-bottom:2px solid var(--primary);justify-content:space-between;align-items:flex-end;gap:8mm;padding-bottom:3mm;display:flex}.print-title{letter-spacing:-.4pt;color:var(--text);font-size:17pt;font-weight:500;line-height:1.15;display:block}.print-meta{color:var(--text-muted);font-size:8.5pt}.print-brand{flex:none;align-items:center;gap:2.5mm;display:flex}.print-logo{object-fit:contain;width:auto;max-width:44mm;height:9mm}.print-mark{background:linear-gradient(140deg, var(--brand-from), var(--brand-to));color:#fff;border-radius:2mm;justify-content:center;align-items:center;width:8mm;height:8mm;font-size:11pt;font-weight:500;display:flex}.print-word{letter-spacing:-.3pt;color:var(--text);font-size:12pt;font-weight:500}.print-foot{border-top:1px solid var(--border);background:var(--surface);letter-spacing:.1pt;color:var(--text-muted);padding-top:2mm;font-size:7.5pt;display:block;position:fixed;bottom:8mm;left:12mm;right:12mm}.card,.report-card{box-shadow:none;border-color:var(--border);break-inside:avoid}.page-reports,.reports-grid{gap:12px}.span-3{min-width:200px}.span-4{min-width:230px}.span-6{min-width:300px}.page-task-report,.page-agenda{gap:4mm}.week-nav,.quick-add,.overdue-actions,.day-head-group,.day-head-back,.today-aside,.drawer-scrim{display:none!important}.today-split{display:block!important}.table-wrap{overflow:visible}.table{font-size:9pt}.table .hide-mobile{display:table-cell!important}.task-report .truncate{white-space:normal;text-overflow:clip;overflow:visible}.report-row-title{max-width:none}.table th{background:var(--primary);color:var(--on-primary);text-transform:uppercase;letter-spacing:.5pt;border-bottom:0;padding:2.4mm 2.5mm;font-size:7.5pt;font-weight:500}.table td{border-bottom:1px solid var(--border-soft);padding:2.2mm 2.5mm}.table tbody tr:nth-child(2n){background:#f1f3f9}.table tbody tr:hover{background:inherit}.table tbody tr:nth-child(2n):hover{background:#f1f3f9}.table thead{display:table-header-group}.table tr{break-inside:avoid}.task-report{border:0}.task-report .card-head{border-bottom:0;padding:3.5mm 0 1.5mm}.table tr[data-done] .report-row-title{text-decoration:line-through}.demand-actions,.combo-caret{display:none!important}.combo-control,.dp-trigger{background:0 0!important;border:0!important;height:auto!important;min-height:0!important;padding:0!important}.day-head .seg .seg-item:not([data-active=true]){display:none!important}.day-head .seg{background:0 0;border:0;padding:0}.day-head .seg-item[data-active=true]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4pt;background:0 0;font-size:8.5pt}.grid-split{display:block!important}.grid-split>*+*{margin-top:4mm}.timeline-item{break-inside:avoid}.agenda-row,.day-row{break-inside:avoid;padding:2mm 3mm}.day-rows{background:0 0;gap:0}.day-group{break-inside:avoid}.task-check{border-color:var(--border-input)!important}}.task-card-status{width:100%}.occ-group{flex-direction:column;display:flex}.occ-group-head{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-3) var(--space-3);font-size:var(--fs-sm);color:var(--color-text);font-weight:500;display:flex}.occ-group-label{flex:none}.occ-group-head .badge{background:var(--color-neutral-900);color:var(--color-neutral-500)}.occ-group-body{padding:0 var(--space-3)}
