:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5f6f8;--color-surface:#fff;--color-surface-2:#eceff3;--color-surface-raised:#fff;--color-border:#d5dae1;--color-divider:#e3e7ee;--color-text:#1d2330;--color-muted:#5d6676;--color-primary:#2f5bd3;--color-primary-hover:#2649b0;--color-primary-active:#1f3d94;--color-primary-text:#fff;--color-primary-soft:#9fb6ee;--color-primary-dashed:#2f5bd380;--color-info-bg:#eef3ff;--color-info-border:#c8d6fb;--color-success:#2f9e44;--color-success-bg:#dff3e4;--color-success-text:#1e6b32;--color-warn:#e08a00;--color-warn-soft:#ffd38a;--color-warn-bg:#fff1d6;--color-warn-text:#7a4d00;--color-error:#b3261e;--color-error-bg:#fde4e2;--color-error-soft:#f3b6b2;--color-neutral:#8a93a3;--color-closed:#8f98a6;--color-focus-ring:#2f5bd3;--color-overlay:#0000004d;--shadow-sm:0 1px 2px #10182814, 0 1px 1px #1018280a;--shadow-md:0 4px 12px #1018281a, 0 1px 3px #1018280f;--shadow-lg:0 12px 32px #10182829, 0 2px 6px #10182814;--shadow-drag-theme:0 16px 40px #10182838, 0 4px 10px #1018281a;--shadow:var(--shadow-md)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#111318;--color-surface:#1a1d23;--color-surface-2:#262a33;--color-surface-raised:#22262e;--color-border:#343a45;--color-divider:#2a2f38;--color-text:#e6e8ec;--color-muted:#9aa3b2;--color-primary:#7aa2ff;--color-primary-hover:#94b5ff;--color-primary-active:#a9c3ff;--color-primary-text:#0d1526;--color-primary-soft:#3a5596;--color-primary-dashed:#7aa2ff80;--color-info-bg:#1b2640;--color-info-border:#2f4579;--color-success:#3fb95a;--color-success-bg:#163322;--color-success-text:#7ee2a0;--color-warn:#e8a23a;--color-warn-soft:#7a5a1e;--color-warn-bg:#3a2a0c;--color-warn-text:#f5c26b;--color-error:#ff8a80;--color-error-bg:#3d1a1a;--color-error-soft:#6b2c2a;--color-neutral:#7d8696;--color-closed:#7f8898;--color-focus-ring:#7aa2ff;--color-overlay:#0000008c;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 12px 32px #0000008c;--shadow-drag-theme:0 16px 40px #0009, 0 0 0 1px var(--color-border)}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--radius-sm:4px;--radius:8px;--radius-lg:12px;--radius-full:999px;--font-xs:.75rem;--font-sm:.85rem;--font-md:.95rem;--font-lg:1.125rem;--font-xl:1.5rem;--line-height:1.5;--line-height-tight:1.25;--font-weight-medium:500;--font-weight-bold:600;--z-raised:2;--z-sticky:10;--z-header:20;--z-dropdown:30;--z-overlay:40;--z-modal:50;--z-drag:60;--z-toast:70;--shadow-drag:var(--shadow-drag-theme);--duration-fast:.15s;--duration-base:.2s;--duration-slow:.25s;--ease-out:cubic-bezier(0, .4, 0, 1);--ease-in:cubic-bezier(.6, 0, .8, .6);--bottom-nav-height:0px;--color-surface-blocked:color-mix(in srgb, var(--color-error-bg) 60%, var(--color-surface-2));font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:var(--line-height);color:var(--color-text);background:var(--color-bg)}*{box-sizing:border-box}body{background:var(--color-bg);min-width:320px;margin:0}h1{margin:0 0 16px;font-size:1.5rem}.muted{color:var(--color-muted);font-size:var(--font-md)}.page{--page-pad:16px;padding:var(--page-pad);max-width:1200px;margin:0 auto}.page-loading{color:var(--color-muted);padding:16px}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:8px 16px;display:flex}.app-header__brand{font-weight:700}.app-header__user{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;overflow:hidden}.auth-page{justify-content:center;padding:24px 16px;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:16px;width:100%;max-width:400px;padding:24px 16px;display:flex}.card p{margin:0}.field{flex-direction:column;gap:4px;display:flex}.field input{width:100%;min-height:44px;font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 12px;font-size:16px}.form-error{color:var(--color-error)}.button{min-height:44px;font:inherit;color:var(--color-primary-text);background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}.button:disabled{opacity:.6;cursor:default}.button--secondary{min-height:36px;color:var(--color-primary);background:0 0;flex-shrink:0}@media (width>=640px){.page{--page-pad:24px}.auth-page{padding-top:10vh}.card{padding:32px}}.app-header{flex-direction:column;align-items:stretch;gap:4px}.app-header__row{align-items:center;gap:12px;display:flex}.app-header a{color:inherit;text-decoration:none}.app-nav{gap:16px;display:flex;overflow-x:auto}.app-nav a{color:var(--color-muted);white-space:nowrap;padding:6px 0}.app-nav a.active{color:var(--color-primary);font-weight:600}.list{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.list__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px;display:flex}.list__main{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.list__actions{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.list__actions a,.breadcrumbs a,.card a{color:var(--color-primary)}.link-button{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0}.link-button--danger{color:var(--color-error)}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.inline-form .field{flex:200px;min-width:0;max-width:100%}.field select{min-height:44px;font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:8px;font-size:16px}.field--compact{flex:0 auto}.checkbox{align-items:center;gap:6px;display:inline-flex}.breadcrumbs{color:var(--color-muted);margin:0 0 8px}.notice{background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:var(--radius);margin:16px 0;padding:12px}.copy-field{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.copy-field .field{flex:220px;min-width:0}.card--wide{max-width:560px}.member{align-items:flex-start}.member__person{align-items:center;gap:12px;min-width:0;display:flex}.member__controls{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;display:flex}.avatar{object-fit:cover;background:var(--color-border);border-radius:50%;flex-shrink:0;width:40px;height:40px}.avatar--large{width:72px;height:72px}.avatar--empty{display:inline-block}.audit-values{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-sm);color:var(--color-muted);overflow-wrap:anywhere}.board-page{flex-direction:column;gap:8px;min-width:0;display:flex}.board-page__header{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.board-page__header h1{overflow-wrap:anywhere;flex:auto;min-width:0;margin:0}.board-page__header .breadcrumbs{flex-basis:100%;margin:0}.board-columns{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex;overflow-x:auto}.board-column{scroll-snap-align:start;background:var(--color-surface-2);border-radius:var(--radius);flex-direction:column;flex:0 0 min(85vw,300px);gap:8px;padding:8px;display:flex}.board-column--over{outline:2px dashed var(--color-primary)}.board-column__header{justify-content:space-between;align-items:baseline;padding:0 4px;display:flex}.board-column__header h2{font-size:var(--font-md);margin:0}.board-column__cards{flex-direction:column;gap:8px;min-height:48px;margin:0;padding:0;list-style:none;display:flex}.card-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);touch-action:manipulation;cursor:grab;padding:10px}.card-item--dragging{opacity:.6;box-shadow:var(--shadow)}.card-item__open{width:100%;font:inherit;text-align:left;color:var(--color-text);cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;padding:0;font-weight:600;display:block}.card-item__meta{font-size:var(--font-sm);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.card-item__due{color:var(--color-muted)}.card-item__due--overdue{color:var(--color-error);font-weight:600}.badge{font-size:var(--font-xs);background:var(--color-surface-2);border-radius:999px;padding:1px 6px;display:inline-block}.badge--warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.badge--danger{background:var(--color-error-bg);color:var(--color-error)}.tag{font-size:var(--font-xs);color:var(--color-primary);background:var(--color-info-bg);border-radius:4px;padding:1px 6px}.avatar-chip{width:24px;height:24px;font-size:var(--font-xs);color:var(--color-primary-text);background:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin-left:auto;font-weight:700;display:inline-flex}.quick-create input{width:100%;min-height:40px;font:inherit;border:1px dashed var(--color-border);border-radius:var(--radius);background:0 0;padding:6px 10px;font-size:16px}.board-filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:8px}.drawer-backdrop{z-index:var(--z-modal);background:var(--color-overlay);justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--color-surface);flex-direction:column;gap:12px;width:min(100%,560px);height:100%;padding:16px;display:flex;overflow-y:auto}.drawer__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-form{flex-direction:column;gap:12px;display:flex}.task-form__row{flex-wrap:wrap;gap:8px 12px;display:flex}.task-form textarea{width:100%;font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 12px;font-size:16px}.field input[type=date],.field input[type=time]{min-height:44px}.card-item--static{cursor:default}.card-item__take{width:100%;margin-top:8px}.app-header__user{align-items:center;gap:8px;display:inline-flex}.app-header__user span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.avatar--header{width:28px;height:28px}.avatar-chip--header{width:28px;height:28px;margin-left:0}.board-tabs{bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));z-index:var(--z-sticky);margin:8px calc(-1 * var(--page-pad)) calc(-1 * var(--page-pad));padding:8px var(--page-pad);background:var(--color-surface);border-top:1px solid var(--color-border);gap:4px;display:flex;position:sticky;overflow-x:auto}.board-tabs__tab{color:var(--color-muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 12px;text-decoration:none}.board-tabs__tab.active{color:var(--color-primary-text);background:var(--color-primary)}.tree{margin:4px 0;padding-left:16px;list-style:none}.tree--root{padding-left:0}.tree__toggle{min-height:36px;font:inherit;text-align:left;color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:4px 0;font-weight:600}.tree__link{font-size:var(--font-sm);color:var(--color-primary);margin-left:8px}.tree__leaf{padding:4px 0}.tree__leaf a{color:var(--color-primary)}.project-row{align-items:flex-start}.project-counts{flex-wrap:wrap;gap:8px 16px;display:flex}.project-counts a{color:var(--color-text);text-decoration:none}.project-counts a.count--danger{color:var(--color-error)}.progress{background:var(--color-divider);border-radius:999px;width:100%;max-width:320px;height:6px;margin-top:6px;overflow:hidden}.progress__bar{background:var(--color-success);height:100%}h2{margin:24px 0 8px;font-size:1.15rem}.task-extras{border-top:1px solid var(--color-border);flex-direction:column;gap:8px;padding-top:8px;display:flex}.task-extras h3{margin:12px 0 4px;font-size:1rem}.checklist,.comments{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.checklist li{justify-content:space-between;align-items:center;gap:8px;display:flex}.comment{background:var(--color-bg);border-radius:var(--radius);padding:8px 10px}.comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.field select,.field input{max-width:100%}.field select{text-overflow:ellipsis;width:100%}.field--compact{min-width:0;max-width:100%}.list__main strong{overflow-wrap:anywhere}.badge--ok{background:var(--color-success-bg);color:var(--color-success-text)}.card-item__epic{color:var(--color-primary)}.card-item__progress{font-size:var(--font-xs);flex-direction:column;gap:2px;display:flex}.card-item__progress .progress{margin-top:0}.epic-panel{border-top:1px solid var(--color-divider);flex-direction:column;gap:8px;margin-top:16px;padding-top:12px;display:flex}.epic-panel__progress,.epic-panel__badges,.epic-panel__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.epic-panel__progress .progress{margin-top:0}.children{margin:0;padding:0;list-style:none}.children__item{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;padding:4px 0;display:flex}.children__title{overflow-wrap:anywhere;text-align:left}.status-dot{background:var(--color-neutral);border-radius:50%;width:8px;height:8px}.status-dot--in_progress{background:var(--color-warn)}.status-dot--done{background:var(--color-success)}.status-dot--cancelled{background:var(--color-closed)}.invite-link code{overflow-wrap:anywhere;word-break:break-all}.planner-tabs{gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.planner-tabs__tab{color:var(--color-muted);white-space:nowrap;border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;padding:6px 12px}.planner-tabs__tab.active{color:var(--color-primary-text);background:var(--color-primary);border-color:var(--color-primary)}.planner-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.planner-row--overdue{border-left:4px solid var(--color-error)}.planner-row__plan{font-size:var(--font-xs);color:var(--color-muted);align-items:center;gap:4px;display:inline-flex}.planner-row__plan input{max-width:150px;font-size:var(--font-xs)}.planner-row__head{align-items:flex-start;gap:8px;display:flex}.planner-row__handle{min-width:32px;min-height:32px;color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:grab;touch-action:none;background:0 0;flex-shrink:0;padding:0}.gantt-toolbar{flex-wrap:wrap;gap:8px 16px;margin-bottom:12px;display:flex}.gantt-toolbar__group{align-items:center;gap:6px;display:inline-flex}.gantt-filters{margin-bottom:8px}.gantt-legend{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.gantt-legend__bar,.gantt-legend__milestone,.gantt-legend__baseline{vertical-align:middle;display:inline-block}.gantt-legend__bar{background:var(--color-primary);border-radius:4px;width:18px;height:8px}.gantt-legend__bar--conflict{background:var(--color-warn)}.gantt-legend__bar--overdue{background:var(--color-error)}.gantt-legend__milestone{background:var(--color-primary);width:9px;height:9px;transform:rotate(45deg)}.gantt-legend__baseline{background:var(--color-text);width:3px;height:14px}.gantt{--gantt-label:220px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=600px){.gantt{--gantt-label:130px}}.gantt__inner{min-width:100%}.gantt__row{border-bottom:1px solid var(--color-border);min-height:36px;display:flex}.gantt__row:last-child{border-bottom:0}.gantt__row--head{min-height:28px;font-size:var(--font-xs);color:var(--color-muted)}.gantt__label{z-index:2;width:var(--gantt-label);background:var(--color-surface);border-right:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px 6px;padding:4px 8px;display:flex;position:sticky;left:0;overflow:hidden}.gantt__label--head{font-weight:600}.gantt__title{max-width:100%;font-size:var(--font-sm);text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt__flag{font-size:var(--font-xs)}.gantt__track{flex-shrink:0;position:relative}.gantt__scale{height:100%}.gantt__month,.gantt__day,.gantt-bar,.gantt-milestone,.gantt-baseline,.gantt-today{left:0}.gantt__month,.gantt__day{position:absolute;top:0;bottom:0}.gantt__month{white-space:nowrap;border-left:1px solid var(--color-border);padding:4px 4px 0;overflow:hidden}.gantt-bar{background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:4px;height:14px;position:absolute;top:11px;overflow:hidden}.gantt-bar__progress{background:var(--color-success);height:100%;display:block}.gantt-bar--done{background:var(--color-closed);border-color:var(--color-neutral)}.gantt-bar--conflict{background:var(--color-warn-soft);border:2px solid var(--color-warn)}.gantt-bar--overdue{background:var(--color-error-soft);border:2px solid var(--color-error)}.gantt-milestone{background:var(--color-primary);width:12px;height:12px;margin-left:-6px;position:absolute;top:12px}.gantt-milestone.gantt-bar--conflict{background:var(--color-warn);border:0}.gantt-milestone.gantt-bar--overdue{background:var(--color-error);border:0}.gantt-milestone.gantt-bar--done{background:var(--color-neutral)}.gantt-baseline{background:var(--color-text);border-radius:1px;width:3px;margin-left:-1px;position:absolute;top:4px;bottom:4px}.gantt-today{border-left:2px dashed var(--color-primary-dashed);pointer-events:none;width:0;position:absolute;top:0;bottom:0}.gantt-filters .field{min-width:0}.gantt-filters select{width:100%;min-width:0;max-width:100%}.gantt__day{font-size:var(--font-xs);text-align:center;border-left:1px solid var(--color-divider);overflow:hidden}.metrics{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:16px 0;padding:0;list-style:none;display:grid}.metric__link{height:100%;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:2px;padding:12px;text-decoration:none;display:flex}.metric__link:hover,.metric__link:focus-visible{border-color:var(--color-primary)}.metric__value{color:var(--color-primary);font-size:2rem;font-weight:700;line-height:1.1}.metric__label{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-weight:600}.metric__hint{font-size:var(--font-sm)}.app-header__bell{justify-content:center;align-items:center;min-width:40px;min-height:40px;margin-left:auto;text-decoration:none;display:inline-flex;position:relative}.app-header__count{min-width:18px;font-size:var(--font-xs);color:var(--color-primary-text);text-align:center;background:var(--color-error);border-radius:999px;padding:0 4px;font-weight:700;line-height:18px;position:absolute;top:0;right:-2px}.notification--unread{border-left:4px solid var(--color-primary)}.notification__text{text-align:left;overflow-wrap:anywhere}.app-header__bell+.app-header__user{margin-left:4px}a,a:visited{color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.button:disabled{opacity:1;color:var(--color-muted);background:var(--color-surface-2);border-color:var(--color-border)}.checkbox{cursor:pointer}.checkbox input{width:20px;height:20px;margin:0}.board-page__header h1{flex-basis:100%}.page-actions{flex-wrap:wrap;gap:8px 16px;display:flex}@media (width<=639px),(pointer:coarse){.link-button,.button--secondary,.app-nav a,.board-tabs__tab,.planner-tabs__tab,.tree__toggle,.planner-row__handle,.app-header__bell,.list__actions a{flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.checkbox{min-height:44px}.tree__toggle{justify-content:flex-start}.quick-create input,.planner-row__plan input{min-height:44px;font-size:16px}}.card-item{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.card-item--placeholder{background:var(--color-surface-2);border:2px dashed var(--color-primary-dashed);box-shadow:none}.card-item--placeholder>*{visibility:hidden}.card-item--overlay{cursor:grabbing;box-shadow:var(--shadow-drag);transform:rotate(2deg)scale(1.02)}.card-item--returned{animation:card-returned var(--duration-slow) var(--ease-out)}@keyframes card-returned{0%{box-shadow:0 0 0 3px var(--color-error-soft);transform:translateY(-6px)}to{box-shadow:none;transform:none}}.board-columns--dragging{scroll-snap-type:none}.board-column{transition:background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.board-column--target{box-shadow:inset 0 0 0 2px var(--color-primary-soft)}.board-column--blocked{background:var(--color-surface-blocked)}.board-column--blocked .board-column__cards{opacity:.55}.board-column--blocked-over{box-shadow:inset 0 0 0 2px var(--color-error)}.board-column__hint{font-size:var(--font-sm);color:var(--color-error);background:var(--color-error-bg);border-radius:var(--radius);margin:0;padding:6px 8px}.toasts{left:50%;bottom:calc(16px + var(--bottom-nav-height,0px) + env(safe-area-inset-bottom));z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;transform:translate(-50%)}.toast{color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-left:4px solid var(--color-success);border-radius:var(--radius);box-shadow:var(--shadow);pointer-events:auto;animation:toast-in var(--duration-base) var(--ease-out);align-items:center;gap:8px;padding:10px 8px 10px 14px;display:flex}.toast--error{border-left-color:var(--color-error)}.toast--info{border-left-color:var(--color-primary)}.toast span{flex:1}.toast__close{min-width:32px;min-height:32px;color:var(--color-muted);border-radius:var(--radius);cursor:pointer;background:0 0;border:none;font-size:1.25rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.gantt{position:relative}.gantt--loading .gantt__inner,.list.gantt--loading{opacity:.55;transition:opacity var(--duration-fast) var(--ease-out)}.gantt__row--head{height:28px;min-height:28px}.gantt__row:not(.gantt__row--head){height:36px}.gantt__label{flex-wrap:nowrap}.gantt__flag{flex-shrink:0}.gantt .gantt__title{flex:auto;justify-content:flex-start;min-width:0;display:block}.app-header{z-index:var(--z-header);border-bottom-color:var(--color-divider);position:sticky;top:0}.icon-button{min-width:40px;min-height:40px;color:var(--color-muted);border-radius:var(--radius);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover,.app-header__bell:hover{color:var(--color-text);background:var(--color-surface-2)}.icon-button:active{background:var(--color-divider)}.app-header__bell{color:var(--color-muted);border-radius:var(--radius);margin-left:0}.app-header__count{font-variant-numeric:tabular-nums;border-radius:var(--radius-full)}.app-header__user{margin-left:0}.app-header__logout{align-items:center;gap:var(--space-2);display:inline-flex}.app-nav{gap:var(--space-1);overflow:visible}.app-nav__link,.app-header .app-nav__link{align-items:center;gap:var(--space-2);min-height:36px;padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--font-sm);color:var(--color-muted);white-space:nowrap;border-radius:var(--radius);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background:0 0;border:none;display:inline-flex;box-shadow:inset 0 -2px #0000}.app-nav__link:hover,.app-header .app-nav__link:hover{color:var(--color-text);background:var(--color-surface-2)}.app-nav__link:active{background:var(--color-divider)}.app-nav__link.active,.app-header .app-nav__link.active{font-weight:var(--font-weight-bold);color:var(--color-primary);box-shadow:inset 0 -2px 0 var(--color-primary)}.app-nav__more{display:contents}.app-header .app-nav__more-toggle,.app-nav__backdrop{display:none}.app-nav__link span{flex-direction:column;display:inline-flex}.app-nav__link span:after{height:0;font-weight:var(--font-weight-bold);visibility:hidden;content:attr(data-label);overflow:hidden}@media (width>=640px){.app-nav{flex-wrap:wrap;gap:2px}.app-header .app-nav__link{padding:var(--space-2)}.app-header .app-nav__link--phone{display:none}}@media (width<=639px){:root{--bottom-nav-height:56px}body{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}.app-header__logout-text{display:none}.app-header__logout{justify-content:center;min-width:44px;padding:0}.icon-button{min-width:44px;min-height:44px}.app-nav{z-index:var(--z-header);padding:0 0 env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-divider);grid-template-columns:repeat(5,1fr);gap:0;display:grid;position:fixed;bottom:0;left:0;right:0}.app-nav__link,.app-header .app-nav__link{min-width:0;min-height:var(--bottom-nav-height);padding:var(--space-1) 2px;font-size:var(--font-xs);border-radius:0;flex-direction:column;justify-content:center;gap:2px}.app-nav__link svg{width:22px;height:22px}.app-nav__link span{text-overflow:ellipsis;letter-spacing:-.01em;max-width:100%;overflow:hidden}.app-nav__link span:after{display:none}.app-nav__link.active,.app-header .app-nav__link.active{box-shadow:inset 0 2px 0 var(--color-primary)}.app-header .app-nav__more-toggle{display:inline-flex}.app-nav__more{right:0;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));z-index:var(--z-dropdown);gap:var(--space-1);padding:var(--space-3);background:var(--color-surface-raised);border-top:1px solid var(--color-divider);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);grid-template-columns:repeat(3,1fr);display:none;position:fixed;left:0}.app-nav--open .app-nav__more{animation:sheet-in var(--duration-base) var(--ease-out);display:grid}.app-nav__more .app-nav__link{border-radius:var(--radius)}.app-nav__backdrop{z-index:calc(var(--z-header) - 1);background:var(--color-overlay);display:block;position:fixed;inset:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}[data-theme] body{transition:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{padding:var(--space-2) 0}.skeleton__rows{gap:var(--space-2);flex-direction:column;display:flex}.skeleton__columns{gap:var(--space-3);display:flex;overflow:hidden}.skeleton__column{gap:var(--space-2);padding:var(--space-2);background:var(--color-surface-2);border-radius:var(--radius);flex-direction:column;flex:0 0 min(85vw,300px);display:flex}.skeleton__line,.skeleton__block{background:var(--color-divider);border-radius:var(--radius-sm);animation:1.2s ease-in-out infinite alternate skeleton-pulse;display:block}.skeleton__line{width:80%;height:12px}.skeleton__line:nth-child(2n){width:60%}.skeleton__line--title{width:40%;height:14px}.skeleton__block{border-radius:var(--radius);height:72px}.skeleton__column .skeleton__block{background:var(--color-surface)}@keyframes skeleton-pulse{0%{opacity:1}to{opacity:.6}}@media (width<=600px){.gantt .gantt__flag{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}input:not([type=checkbox],[type=radio],[type=file]),textarea,select{color:var(--color-text);background-color:var(--color-surface);border-color:var(--color-border)}input::placeholder,textarea::placeholder{color:var(--color-muted)}input:disabled,textarea:disabled,select:disabled{color:var(--color-muted);background-color:var(--color-surface-2)}.file-button{align-self:flex-start;align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.file-button:focus-within{outline:2px solid var(--color-focus-ring);outline-offset:2px}.board-column__note{font-size:var(--font-sm);margin:0;padding:0 4px}.gantt-legend__bar--progress{background:var(--color-success);border-color:var(--color-success)}.gantt-legend__bar--done{background:var(--color-closed);border-color:var(--color-neutral)}.app-header .app-header__logout{color:var(--color-muted);background:0 0;border-color:#0000}.app-header .app-header__logout:hover{color:var(--color-text);background:var(--color-surface-2)}@media (width<=639px){.app-nav__link,.app-header .app-nav__link{font-size:.6875rem}.app-nav__link span{letter-spacing:-.02em}.gantt .gantt__flag{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px;padding:0;font-size:0;position:static;overflow:hidden}.gantt .gantt__flag.badge--danger{background:var(--color-error)}.gantt .gantt__flag.badge--warn{background:var(--color-warn)}}.task-row__title{font-weight:var(--font-weight-bold);text-align:left;overflow-wrap:anywhere}@media (width<=639px),(pointer:coarse){.list__main .link-button{text-align:left;justify-content:flex-start}}.confirm-backdrop{z-index:calc(var(--z-modal) + 5);padding:var(--space-4);background:var(--color-overlay);animation:toast-in var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm{width:min(100%,420px);padding:var(--space-5);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.confirm h2{margin:0 0 var(--space-2);font-size:var(--font-lg)}.confirm p{margin:0 0 var(--space-4);color:var(--color-muted)}.confirm__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.button--danger{color:var(--color-primary-text);background:var(--color-error);border-color:var(--color-error)}[data-theme=dark] .button--danger{color:var(--color-bg)}.task-section h3{margin:var(--space-2) 0;font-size:var(--font-md)}.history{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.history__item{padding:var(--space-2) var(--space-3);background:var(--color-surface-2);border-radius:var(--radius);flex-direction:column;display:flex}.history__item .muted{font-size:var(--font-sm)}.metric--alert .metric__link{box-shadow:inset 4px 0 0 var(--color-error)}.metric--alert .metric__value{color:var(--color-error)}.participants{gap:var(--space-1) var(--space-3);margin-bottom:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.member__you{margin-left:var(--space-2);font-weight:var(--font-weight-medium);color:var(--color-primary);background:var(--color-info-bg);vertical-align:middle}.member__self-note{font-size:var(--font-sm);flex-basis:100%;margin:0}.members-search{max-width:360px}@media (width>=1024px){.gantt{--gantt-label:300px}}.gantt__label--head{position:sticky}.gantt__resizer{z-index:3;cursor:col-resize;touch-action:none;width:8px;position:absolute;top:0;bottom:0;right:-4px}.gantt__resizer:hover,.gantt__resizer:focus-visible{background:var(--color-primary-soft)}@media (pointer:coarse){.gantt__resizer{width:20px;right:-10px}}.list-search{max-width:360px}.list-toolbar{margin-bottom:var(--space-2);align-items:flex-end}.page-title{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.page-title h1{margin:0}.assign-dialog{gap:var(--space-3);max-height:calc(100vh - 2 * var(--space-4));flex-direction:column;display:flex;overflow-y:auto}.assign-dialog h2{margin:0}.card-item{position:relative}.move-menu{top:var(--space-1);right:var(--space-1);z-index:var(--z-raised);position:absolute}.move-menu__toggle{opacity:.6;min-width:32px;min-height:32px}.card-item:hover .move-menu__toggle,.move-menu__toggle:focus-visible,.move-menu__toggle[aria-expanded=true]{opacity:1}.card-item .card-item__open{padding-right:var(--space-7)}.move-menu__list{z-index:var(--z-dropdown);min-width:200px;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:toast-in var(--duration-fast) var(--ease-out);flex-direction:column;display:flex;position:absolute;top:100%;right:0}.move-menu__title{padding:var(--space-1) var(--space-2);font-size:var(--font-xs);color:var(--color-muted);margin:0}.move-menu__item{min-height:40px;padding:var(--space-2);font:inherit;color:var(--color-text);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;display:flex}.move-menu__item:hover:not(:disabled),.move-menu__item:focus-visible{background:var(--color-surface-2)}.move-menu__item:disabled{color:var(--color-muted);cursor:not-allowed}.move-menu__reason{font-size:var(--font-xs);color:var(--color-error)}@media (pointer:coarse){.move-menu__toggle{opacity:1;min-width:44px;min-height:44px}.move-menu__item{min-height:44px}}.gantt-frame{position:relative}.gantt{overscroll-behavior:contain;scrollbar-gutter:stable;height:clamp(280px,100svh - 300px,760px);overflow:auto}.gantt__inner{min-height:100%}.gantt__row--head{z-index:3;background:var(--color-surface);position:sticky;top:0}.gantt__row--days{top:28px}.gantt__message{top:calc(56px + var(--space-4));right:var(--space-4);left:calc(var(--gantt-label) + var(--space-4));pointer-events:none;margin:0;position:absolute}.gantt__message--bottom{top:auto;bottom:var(--space-4);left:var(--space-4)}@media (width<=600px){.gantt__message{left:var(--space-3);right:var(--space-3)}}.gantt-toolbar__zoom{min-width:5ch;font-size:var(--font-md);font-variant-numeric:tabular-nums;color:var(--color-muted);text-align:center}:focus:not(:focus-visible){outline:none}:where(a,button,summary,[tabindex]):where(:focus-visible){border-radius:var(--radius-sm)}.app-nav__link:focus-visible{border-radius:var(--radius);outline-offset:-2px}.card-item:focus-visible{outline-offset:1px}.card-item,.card-item--static,.card-item__open,.card-item .move-menu__toggle,.card-item__take{cursor:pointer}.is-dragging,.is-dragging *{cursor:grabbing!important}.gantt__title,.list__main .link-button,.card-item__open,.task-row__title,.notification__text,.tree__toggle{text-align:left;justify-content:flex-start}.list__main>.link-button,.list__main>button{align-self:flex-start;max-width:100%}.board-tabs{padding:var(--space-2) max(var(--space-4), calc((100% - 1200px) / 2 + var(--page-pad,16px)));border-top-color:var(--color-divider);margin:0;position:fixed;left:0;right:0}.board-page:has(.board-tabs){padding-bottom:calc(56px + var(--space-4))}@media (width<=639px),(pointer:coarse){.board-page:has(.board-tabs){padding-bottom:calc(64px + var(--space-4))}}.toasts{flex-direction:column-reverse}.toast{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.toast__icon{flex-shrink:0}.toast--success .toast__icon{color:var(--color-success)}.toast--info .toast__icon{color:var(--color-primary)}.toast--error .toast__icon{color:var(--color-error)}@media (width>=640px){.toasts{right:var(--space-6);bottom:calc(var(--space-6) + env(safe-area-inset-bottom));width:min(420px, calc(100vw - 2 * var(--space-6)));left:auto;transform:none}}@media (width<=639px),(pointer:coarse){.toast__close{min-width:44px;min-height:44px}}.app-header__brand{margin-right:0}.space-switcher{min-width:0;margin-right:auto;position:relative}.space-switcher__toggle{align-items:center;gap:var(--space-2);max-width:320px;min-height:40px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);font:inherit;color:var(--color-text);text-align:left;background:var(--color-surface-2);border-radius:var(--radius);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border:1px solid #0000;display:inline-flex}.space-switcher__toggle:hover,.space-switcher__toggle[aria-expanded=true]{background:var(--color-surface);border-color:var(--color-border)}.space-switcher__toggle svg{color:var(--color-muted);flex-shrink:0}.space-switcher__text{min-width:0;line-height:var(--line-height-tight,1.25);flex-direction:column;display:flex}.space-switcher__hint{font-size:var(--font-xs);color:var(--color-muted)}.space-switcher__name{font-size:var(--font-sm);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.space-switcher__chevron{transition:transform var(--duration-fast) var(--ease-out)}.space-switcher__toggle[aria-expanded=true] .space-switcher__chevron{transform:rotate(180deg)}.space-navigator{top:calc(100% + var(--space-1));z-index:var(--z-dropdown);width:min(420px, calc(100vw - 2 * var(--space-4)));max-height:min(70vh,560px);padding:var(--space-3) var(--space-4) var(--space-4);overscroll-behavior:contain;color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:toast-in var(--duration-fast) var(--ease-out);position:absolute;left:0;overflow-y:auto}.space-navigator__title{font-weight:var(--font-weight-bold);margin:0}.space-navigator__hint{margin:var(--space-1) 0 var(--space-3);font-size:var(--font-sm);color:var(--color-muted)}.space-navigator .tree--root{margin:0;padding:0}.tree__toggle{min-height:36px;padding:var(--space-1) var(--space-2) var(--space-1) 0;border-radius:var(--radius-sm);align-items:center;display:inline-flex}.tree__leaf{min-height:32px;padding:var(--space-1) 0}@media (width<=639px){.app-header__brand,.app-header .app-header__theme{display:none}.app-header__row{gap:var(--space-1)}.space-switcher{flex:1 1 0;min-width:112px;position:static}.app-header__user{flex:0 auto;max-width:96px}.app-header .app-nav__more-toggle{grid-area:1/5}.space-switcher__toggle{width:100%;max-width:100%;min-height:44px}.space-switcher__text{flex:auto}.space-navigator{top:100%;right:var(--space-2);left:var(--space-2);width:auto;max-height:calc(100svh - 140px)}.tree__toggle,.tree__leaf a,.tree__link{min-height:44px}.tree__leaf a,.tree__link{align-items:center;display:inline-flex}}.collapsible{margin-top:var(--space-2);border-top:1px solid var(--color-divider)}.collapsible__summary{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) 0;font-weight:var(--font-weight-bold);cursor:pointer;list-style:none;display:flex}.collapsible__summary::-webkit-details-marker{display:none}.collapsible__chevron{color:var(--color-muted);transition:transform var(--duration-fast) var(--ease-out);flex-shrink:0}details[open]>.collapsible__summary .collapsible__chevron{transform:rotate(90deg)}.collapsible__count{min-width:0;font-size:var(--font-sm);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.collapsible__summary:hover .collapsible__title{color:var(--color-primary)}.collapsible__body{padding-bottom:var(--space-2)}.collapsible__body>.muted:first-child{margin-top:0}@media (width>=640px){.app-nav{min-height:calc(var(--font-sm) * var(--line-height) + 2 * var(--space-2))}}@media (width<=639px){.app-header__user span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-header__user{flex:none;justify-content:center;min-width:44px;max-width:none;min-height:44px}.planner-tabs{flex-wrap:wrap;overflow:visible}.board-page__header>.button{flex:1 1 calc(50% - var(--space-2))}.app-nav__link span{letter-spacing:-.035em}}.gantt-legend{gap:var(--space-1) var(--space-3)}.gantt-legend__item{align-items:center;gap:var(--space-1);white-space:nowrap;display:inline-flex}.planner-row__plan input{min-height:32px;padding:2px var(--space-2);font:inherit;font-size:var(--font-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.planner-row__plan{font-size:var(--font-sm)}.task-form>.badge{align-self:flex-start;margin:0}.space-navigator a{color:var(--color-primary)}.space-navigator .tree__link{margin-left:var(--space-2);font-weight:var(--font-weight-medium)}.tree__toggle{gap:var(--space-1);font-size:var(--font-md)}.list__actions a{text-decoration:none}.list__actions a:hover{text-decoration:underline}.list-toolbar{margin-top:var(--space-4)}.metric__label{-webkit-hyphens:manual;hyphens:manual}.board-tabs__tab{max-width:min(280px,70vw)}.board-tabs__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}
