:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,Noto Sans SC,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}#root{min-height:100dvh}:root{--bg:#f4f7fb;--surface:#fff;--surface-soft:#f8fafc;--surface-strong:#eef4ff;--surface-highlight:#eff6ff;--ink:#111827;--ink-heading:#0f172a;--ink-soft:#334155;--muted:#64748b;--faint:#64748b;--line:#dfe7f1;--line-soft:#edf2f7;--line-focus:#bfdbfe;--primary:#2563eb;--primary-dark:#1d4ed8;--primary-soft:#dbeafe;--success:#16a34a;--success-soft:#dcfce7;--warning:#d97706;--warning-soft:#fef3c7;--warning-text:#b45309;--danger:#be123c;--danger-soft:#ffe4e6;--purple:#7c3aed;--purple-soft:#ede9fe;--sidebar:#0f172a;--sidebar-raised:#172033;--sidebar-line:#94a3b838;--sidebar-ink:#f8fafc;--sidebar-ink-muted:#cbd5e1;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 10px 28px #0f172a14;--shadow-lg:0 24px 70px #0f172a3d;--shadow-popover:0 12px 28px #0f172a1f;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-full:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--control-sm:32px;--control-md:36px;--control-lg:40px;--focus-ring:0 0 0 3px #2563eb2e;--sidebar-width:276px}:where(a,button,[role=button],[tabindex]):focus-visible,:where(input,select,textarea,summary):focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.sidebar :where(a,button,input,select,textarea):focus-visible{outline-color:#93c5fd}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:radial-gradient(circle at top left, #2563eb14, transparent 34rem), var(--bg);min-height:100dvh;color:var(--ink);display:grid}.sidebar{background:linear-gradient(180deg, #111c31 0%, var(--sidebar) 58%);height:100dvh;color:var(--sidebar-ink);border-right:1px solid #94a3b82e;flex-direction:column;gap:18px;padding:22px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.nav-scrim,.nav-close,.nav-toggle{display:none}.brand{align-items:center;gap:12px;padding:2px 2px 12px;display:flex}.brand-mark{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg,#2dd4bf,#3b82f6 78%);place-items:center;width:40px;height:40px;font-weight:900;display:grid;box-shadow:0 10px 24px #2563eb47}.brand strong,.brand span{display:block}.brand strong{font-size:15px;line-height:1.3}.brand span{color:#a8b3c7;margin-top:2px;font-size:12px}.nav-stack{gap:6px;display:grid}.nav-group{border-top:1px solid #94a3b829;padding-top:10px}.biz-line-switch{border-bottom:1px solid #94a3b838;gap:4px;margin-bottom:4px;padding:0 0 12px;display:grid}.biz-line-switch button{border-radius:var(--radius);color:#cbd5e1;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.biz-line-switch button:hover{color:#f1f5f9;background:#94a3b824}.biz-line-switch button.active{color:#fff;background:#2563eb3d;border-color:#3b82f68c}.nav-group-label{color:#94a3b8;letter-spacing:.04em;text-transform:none;align-items:center;gap:8px;padding:4px 12px 8px;font-size:12px;font-weight:700;display:flex}.nav-stack button,.month-switcher button,.segmented button{font:inherit;cursor:pointer;border:0}.nav-stack button{border-radius:var(--radius);color:#cbd5e1;text-align:left;cursor:grab;background:0 0;align-items:center;gap:10px;height:42px;padding:0 12px;transition:background .18s,color .18s;display:flex;position:relative}.nav-stack button.nav-sub-item{cursor:pointer;color:#9aa8bd;height:38px;padding-left:22px;font-size:13px}.nav-stack button:active{cursor:grabbing}.nav-stack button.nav-sub-item:active{cursor:pointer}.nav-stack button span{flex:1;min-width:0}.nav-stack button:hover{color:#fff;background:#94a3b81f}.nav-stack button.active{background:var(--sidebar-raised);color:#fff;box-shadow:inset 3px 0 #60a5fa}.nav-stack button.dragging{opacity:.54}.nav-stack button.drop-target{outline-offset:2px;background:#60a5fa29;outline:1px dashed #60a5fadb}.drag-handle{color:#94a3b8;opacity:0;flex:none;margin-left:auto;transition:opacity .16s,color .16s}.nav-stack button:hover .drag-handle,.nav-stack button:focus-visible .drag-handle,.nav-stack button.dragging .drag-handle,.nav-stack button.drop-target .drag-handle{opacity:1}.nav-stack button.active .drag-handle{color:#bfdbfe}.source-card{border:1px solid var(--sidebar-line);border-radius:var(--radius);background:#0f172a94;margin-top:auto;padding:14px}.source-card span,.source-card p{color:#a8b3c7;font-size:12px}.source-card strong{color:#fff;margin:8px 0 6px;font-size:15px;display:block}.source-card p{overflow-wrap:anywhere;margin:0;line-height:1.45}.source-card .sync-line{border-top:1px solid #94a3b82e;margin-top:8px;padding-top:8px}.sync-line.ok{color:#86efac}.sync-line.error{color:#fda4af}.sync-line.syncing{color:#bfdbfe}.workspace{min-width:0;padding:22px 24px 28px}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.topbar>div:first-child{min-width:0}.topbar-heading{align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.page-label{color:var(--muted);margin:0 0 6px;font-size:13px;font-weight:800}.topbar h1{color:var(--ink-heading);letter-spacing:0;margin:0;font-size:30px;line-height:1.15}.alert-bar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius);color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;font-size:13px;font-weight:700;display:flex}.alert-bar.is-info{border-color:var(--line-focus);background:var(--surface-highlight);color:var(--primary-dark)}.alert-bar>span{flex:auto;min-width:0}.alert-bar button{height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--radius);color:inherit;cursor:pointer;background:0 0;border:1px solid;flex:none;font-size:12px;font-weight:800}.alert-bar button:hover{background:#fff9}.board-skeleton{gap:var(--space-4);display:grid}.board-skeleton-label{align-items:center;gap:var(--space-2);color:var(--muted);margin:0;font-size:13px;font-weight:700;display:flex}.board-skeleton-metrics,.board-skeleton-body{gap:var(--space-3);display:grid}.board-skeleton-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.board-skeleton-body{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.skeleton-block{border-radius:var(--radius-lg);background:linear-gradient(90deg,#eef2f8 25%,#f8fafc 50%,#eef2f8 75%) 0 0/240% 100%;height:84px;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-block.tall{height:260px}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.skeleton-block{animation:none}.sidebar,.nav-scrim{transition:none}}.sync-badge{border-radius:var(--radius);width:fit-content;max-width:100%;color:var(--primary-dark);background:#eff6ff;border:1px solid #bfdbfe;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:6px 10px;font-size:12px;font-weight:800;display:flex}.sync-badge span{overflow-wrap:anywhere}.sync-badge.ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.sync-badge.error{color:var(--danger);background:#fff1f2;border-color:#fecdd3}.sync-badge.syncing{color:var(--primary-dark)}.top-actions,.controls-row,.month-switcher,.segmented{align-items:center;gap:9px;display:flex}.top-actions{flex-wrap:wrap;justify-content:flex-end}.refresh-button{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);height:38px;color:var(--ink);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:13px;font-weight:800;transition:transform .16s,border-color .16s,box-shadow .16s;display:inline-flex}.refresh-button:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.refresh-button{color:var(--primary-dark);border-color:#bfdbfe}.refresh-button.ok{color:#166534;border-color:#bbf7d0}.refresh-button.error{color:var(--danger);border-color:#fecdd3}.refresh-button.syncing svg{animation:.9s linear infinite spin}.refresh-button:disabled{cursor:wait;opacity:.74;transform:none}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.9s linear infinite spin}@media (prefers-reduced-motion:reduce){.spin,.refresh-button.syncing svg{animation:none}}.controls-row{justify-content:space-between;margin-bottom:14px}.month-switcher,.segmented{border-radius:var(--radius);border:1px solid var(--line);min-height:40px;box-shadow:var(--shadow-sm);background:#ffffffe0;padding:4px}.month-switcher button,.segmented button{height:30px;color:var(--ink-soft);background:0 0;border-radius:6px;place-items:center;display:grid}.month-switcher button:hover,.segmented button:hover{background:var(--surface-soft)}.month-switcher button{width:30px}.month-switcher strong{min-width:88px;color:var(--ink);text-align:center;white-space:nowrap;font-size:13px}.month-switcher button.month-today{border-left:1px solid var(--line-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;width:auto;color:var(--muted);margin-left:2px;padding:0 10px;font-size:12px;font-weight:800}.segmented button{padding:0 14px;font-size:13px;font-weight:800}.segmented button.active{background:var(--ink);color:#fff;box-shadow:0 6px 16px #0f172a29}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.metric-card{border-radius:var(--radius);border:1px solid var(--line);min-height:106px;box-shadow:var(--shadow-sm);background:linear-gradient(#fff 0%,#fbfdff 100%);gap:13px;padding:16px;display:flex}.metric-icon{border-radius:var(--radius);width:36px;height:36px;color:var(--primary);background:var(--primary-soft);flex:none;place-items:center;display:grid}.metric-card.warn .metric-icon{color:#b45309;background:var(--warning-soft)}.metric-card.danger .metric-icon{color:var(--danger);background:var(--danger-soft)}.metric-card span{color:var(--muted);font-size:12px;font-weight:800}.metric-card strong{color:#0f172a;margin:3px 0 5px;font-size:29px;line-height:1.08;display:block}.metric-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.35}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);overflow:hidden}.panel-heading{border-bottom:1px solid var(--line-soft);background:linear-gradient(#fff 0%,#fbfdff 100%);justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.panel-heading span{color:var(--primary);font-size:12px;font-weight:900}.panel-heading h2{color:#0f172a;letter-spacing:0;margin:4px 0 0;font-size:20px;line-height:1.2}.panel-heading p{max-width:320px;color:var(--muted);text-align:right;margin:0;font-size:12px;line-height:1.55}.panel-heading.calendar-heading{align-items:flex-start}.panel-heading.calendar-heading p{max-width:560px}.calendar-legend{flex-wrap:wrap;gap:8px 12px;margin-top:10px;display:flex}.calendar-legend span{color:var(--ink-soft);align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.legend-dot{border-radius:999px;width:8px;height:8px}.legend-dot.planned{background:var(--primary)}.legend-dot.actual{background:var(--success)}.calendar-grid{border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(7,minmax(112px,1fr));display:grid;overflow-x:auto}.calendar-grid.week{grid-template-columns:repeat(7,minmax(150px,1fr))}.day-cell{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:#fff;flex-direction:column;min-height:128px;padding:10px;display:flex}.day-cell:nth-child(7n){border-right:0}.day-cell.muted{color:var(--faint);background:#f8fafc}.day-cell.has-items{background:#fbfdff}.day-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.day-top span{color:var(--ink);font-size:13px;font-weight:900}.day-cell.muted .day-top span{color:var(--faint)}.day-top small{color:var(--faint);font-size:11px}.day-items,.workload-tasks,.modal-fields{display:grid}.day-items{gap:6px;min-height:0}.day-items.is-scrollable{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:168px;padding-right:2px;overflow-y:auto}.calendar-grid.week .day-items.is-scrollable{max-height:320px}.day-items.is-scrollable::-webkit-scrollbar{width:6px}.day-items.is-scrollable::-webkit-scrollbar-thumb{background:#94a3b88c;border-radius:999px}.day-items.is-scrollable::-webkit-scrollbar-track{background:0 0}.day-items em,.workload-tasks em,.undated-strip em{color:var(--muted);font-size:12px;font-style:normal}.demand-chip{border:1px solid #0000;border-left:3px solid var(--primary);border-radius:var(--radius);background:var(--surface-soft);width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;font:inherit;gap:5px;padding:8px 9px;transition:background .16s,border-color .16s,transform .16s;display:grid}.demand-chip.compact{padding:6px 7px}.demand-chip.launch-planned{background:#eff6ff;border-color:#bfdbfe;border-left-width:3px}.demand-chip.launch-actual{background:#f0fdf4;border-color:#bbf7d0;border-left-width:3px}.demand-chip:hover{background:#eef6ff;border-color:#bfdbfe;transform:translateY(-1px)}.demand-chip.launch-actual:hover{background:#dcfce7;border-color:#86efac}.demand-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.launch-badge{border-radius:999px;justify-self:start;padding:2px 7px;font-size:11px;font-weight:900;line-height:1.2}.launch-planned .launch-badge{background:var(--primary-soft);color:var(--primary-dark)}.launch-actual .launch-badge{background:var(--success-soft);color:#15803d}.demand-chip b,.demand-chip small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.demand-chip b{color:var(--ink);font-size:12px;line-height:1.25}.demand-chip small{color:var(--muted);font-size:11px}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;width:fit-content;max-width:190px;padding:3px 8px;font-size:11px;font-weight:900;line-height:1.2;display:inline-flex}.status-pill.done{color:#166534;background:var(--success-soft)}.status-pill.active{color:var(--primary-dark);background:var(--primary-soft)}.status-pill.testing{color:#92400e;background:var(--warning-soft)}.status-pill.planned{color:#6d28d9;background:var(--purple-soft)}.status-pill.dropped,.status-pill.unknown{color:#475569;background:#e2e8f0}.undated-strip{background:#fbfdff;padding:14px 18px 18px}.undated-strip-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.undated-strip-head span{color:var(--muted);font-size:12px;font-weight:800}.undated-strip-head span:only-child{margin-left:auto}.undated-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.undated-group{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;flex-direction:column;min-width:0;max-height:360px;display:flex;overflow:hidden}.undated-group-title{border-bottom:1px solid var(--line-soft);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:9px 12px;display:flex}.undated-group-title span{color:#6d28d9;font-size:13px;font-weight:900}.undated-group-title b{background:var(--purple-soft);color:#6d28d9;border-radius:999px;place-items:center;min-width:24px;height:22px;font-size:12px;display:grid}.undated-group-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;max-height:306px;padding:10px;display:grid;overflow-y:auto}.undated-group-list::-webkit-scrollbar{width:8px}.undated-group-list::-webkit-scrollbar-track{background:0 0}.undated-group-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.empty-hint{color:var(--muted);margin:0;font-size:13px}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a75;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.access-backdrop{z-index:50}.access-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:12px;width:min(420px,100%);padding:20px;display:grid;box-shadow:0 24px 70px #0f172a3d}.access-card>span{color:var(--primary);font-size:12px;font-weight:900}.access-card h2{color:#0f172a;margin:0;font-size:20px;line-height:1.25}.access-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.access-card .access-error{color:var(--danger);font-weight:800}.access-card input{border:1px solid var(--line);border-radius:var(--radius);height:40px;color:var(--ink);font:inherit;outline:none;padding:0 12px;font-size:13px}.access-card input:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb1f}.access-card button{border-radius:var(--radius);background:var(--ink);color:#fff;cursor:pointer;height:40px;font:inherit;border:0;font-size:13px;font-weight:900}.access-card button:disabled{cursor:not-allowed;opacity:.62}.access-card button.access-secondary{height:var(--control-md);border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:800}.access-card button.access-secondary:hover{border-color:var(--line-focus);color:var(--ink-soft)}.feishu-gate-card small{color:var(--muted);font-size:11px;font-weight:700;line-height:1.4}.feishu-user-chip{border:1px solid var(--line);height:38px;color:var(--ink-soft);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 10px;font-size:12px;font-weight:800;display:inline-flex}.feishu-user-chip img{object-fit:cover;border-radius:50%;width:22px;height:22px}.feishu-user-chip button{height:26px;color:var(--ink-soft);cursor:pointer;font:inherit;background:#f1f5f9;border:0;border-radius:999px;padding:0 8px;font-size:11px;font-weight:800}.feishu-user-chip button:hover{background:#e2e8f0}.demand-modal{border-radius:var(--radius);border:1px solid var(--line);background:#fff;width:min(580px,100%);padding:18px;box-shadow:0 24px 70px #0f172a3d}.demand-modal-wide{width:min(760px,100%);max-height:min(92vh,920px);overflow:auto}.modal-title-field{gap:6px;margin-bottom:14px;display:grid}.modal-title-field>span{color:var(--muted);font-size:12px;font-weight:800}.field-error{color:#b91c1c;font-size:12px;font-style:normal;font-weight:800}.modal-title-field input,.detail-field input,.detail-field select{border:1px solid var(--line);width:100%;min-height:36px;color:var(--ink);font:inherit;background:#f8fafc;border-radius:8px;padding:0 10px;font-size:13px;font-weight:700}.modal-title-field input:focus,.detail-field input:focus,.detail-field select:focus,.progress-editor textarea:focus{background:#fff;border-color:#93c5fd;outline:2px solid #bfdbfe}.modal-title-field input:disabled,.detail-field input:disabled,.detail-field select:disabled{opacity:.62;cursor:not-allowed}.modal-fields-grid{grid-template-columns:1fr 1fr;gap:12px 14px;display:grid}.modal-checkbox{min-height:36px;color:var(--ink-soft);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.modal-checkbox input{width:16px;height:16px;min-height:16px;accent-color:var(--primary)}.muted-text{color:var(--muted)}.modal-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.modal-top span{color:var(--primary);font-size:12px;font-weight:900}.modal-top button{border-radius:var(--radius);width:32px;height:32px;color:var(--muted);cursor:pointer;background:#f1f5f9;border:0;place-items:center;display:grid}.demand-modal h2{color:#0f172a;letter-spacing:0;margin:0 0 16px;font-size:20px;line-height:1.35}.modal-fields{gap:12px}.detail-field{border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:108px minmax(0,1fr);align-items:start;gap:12px;padding:12px;display:grid}.detail-field>span{color:var(--muted);font-size:12px;font-weight:900}.detail-field>div{color:#0f172a;overflow-wrap:anywhere;min-height:18px;font-size:13px;line-height:1.5}.detail-field a{color:var(--primary-dark);font-weight:800;text-decoration:none}.detail-field a:hover{text-decoration:underline}.chart-frame{padding:12px 12px 4px}.chart-loading{border-radius:var(--radius);background:linear-gradient(90deg,#eef2f8 25%,#f8fafc 50%,#eef2f8 75%) 0 0/240% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}@media (prefers-reduced-motion:reduce){.chart-loading{animation:none}}.workload-body{grid-template-columns:minmax(260px,.26fr) minmax(0,1fr);display:grid}.workload-chart{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:#fbfdff}.workload-heading{gap:16px}.workload-role-filter{border-bottom:1px solid var(--line-soft);background:#fbfdff;gap:10px;padding:12px 18px 14px;display:grid}.workload-role-filter-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.workload-role-filter-head>span{color:var(--ink-soft);align-items:center;gap:7px;font-size:13px;font-weight:900;display:inline-flex}.workload-role-filter-actions{align-items:center;gap:8px;display:flex}.workload-role-filter-actions button{border:1px solid var(--line);height:30px;color:var(--ink-soft);cursor:pointer;font:inherit;background:#fff;border-radius:6px;padding:0 10px;font-size:12px;font-weight:900}.workload-role-filter-actions button:hover{color:var(--primary-dark);border-color:#bfdbfe}.workload-role-filter-options{flex-wrap:wrap;gap:8px;display:flex}.workload-role-filter-empty{margin:0}.workload-heading-meta{justify-content:flex-end;align-items:center;gap:12px;margin-left:auto;display:flex}.workload-heading-meta p{margin:0}.workload-heading-meta button{border:1px solid var(--line);border-radius:var(--radius);height:34px;color:var(--ink-soft);font:inherit;cursor:pointer;background:#fff;padding:0 12px;font-size:12px;font-weight:900;transition:border-color .16s,color .16s,background .16s}.workload-heading-meta button:hover:not(:disabled){color:var(--primary-dark);background:#eff6ff;border-color:#bfdbfe}.workload-heading-meta button:disabled{cursor:not-allowed;opacity:.48}.workload-list{background:#fff;max-height:calc(100dvh - 286px);display:grid;overflow:auto}.workload-row{border-bottom:1px solid var(--line-soft);background:#fff;grid-template-columns:190px minmax(0,1fr) 64px;align-items:start;gap:16px;padding:17px 18px;display:grid}.workload-row:hover{background:#fbfdff}.workload-row.dragging{opacity:.58}.workload-row.drop-target{background:#f8fbff;box-shadow:inset 3px 0 #60a5fa}.workload-person{grid-template-columns:20px 34px 1fr;align-items:center;gap:8px;min-width:0;display:grid}.workload-drag-handle{color:#94a3b8;cursor:grab;opacity:.45;background:0 0;border:0;border-radius:6px;place-items:center;width:20px;height:32px;padding:0;transition:opacity .16s,background .16s,color .16s;display:grid}.workload-drag-handle:hover,.workload-row:hover .workload-drag-handle,.workload-drag-handle:focus-visible{color:var(--primary-dark);opacity:1;background:#edf2f7}.workload-drag-handle:active{cursor:grabbing}.avatar{color:#0369a1;background:#e0f2fe;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:900;display:grid}.workload-person strong,.workload-person small{align-items:center;display:flex}.workload-person strong{color:#0f172a;font-size:14px}.workload-person small{color:var(--muted);gap:5px;margin-top:4px;font-size:12px}.workload-tasks{gap:9px;min-width:0}.workload-task-group{grid-template-columns:136px minmax(0,1fr);align-self:start;align-items:start;gap:10px;min-width:0;display:grid}.workload-status-head{color:#64748b;background:#f1f5f9;border-radius:999px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;padding:5px 8px;font-size:12px;font-weight:900;line-height:1;display:flex}.workload-status-head span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.workload-status-head b{min-width:20px;height:20px;color:inherit;background:#ffffffb8;border-radius:999px;place-items:center;font-size:11px;display:grid}.workload-status-head.planned{color:#7c3aed;background:#f5f3ff}.workload-status-head.active{color:#2563eb;background:#eff6ff}.workload-status-head.testing{color:#d97706;background:#fff7ed}.workload-status-head.done{color:#16a34a;background:#f0fdf4}.workload-status-head.dropped{color:#64748b;background:#f1f5f9}.workload-status-items{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.workload-status-items .demand-chip{width:auto;min-width:0;max-width:252px;min-height:30px;box-shadow:none;background:#f8fafc;border-color:#e8eef7;border-left-width:3px;border-radius:7px;flex:156px;padding:6px 9px}.workload-status-items .demand-chip:hover{background:#eff6ff;border-color:#bfdbfe}.workload-status-items .demand-chip b{max-width:226px;font-size:12px}.workload-counts{text-align:center;place-self:center end}.workload-counts strong,.workload-counts span,.workload-counts small{display:block}.workload-counts strong{color:#0f172a;font-size:24px;line-height:1}.workload-counts strong.danger{color:var(--danger)}.workload-counts span{color:var(--muted);margin-top:4px;font-size:12px}.workload-counts small{color:var(--faint);margin-top:5px;font-size:11px}.throughput-panel{overflow:hidden}.throughput-heading .week-range{color:var(--ink-soft);margin-top:8px;font-size:13px;font-weight:900}.throughput-summary-grid{border-bottom:1px solid var(--line-soft);background:#fbfdff;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;display:grid}.throughput-metric{border:1px solid var(--line);border-radius:var(--radius);min-height:116px;box-shadow:var(--shadow-sm);background:#fff;gap:6px;padding:14px;display:grid}.throughput-metric>div{border-radius:var(--radius);width:34px;height:34px;color:var(--purple);background:var(--purple-soft);place-items:center;display:grid}.throughput-metric.planned>div{color:var(--primary);background:var(--primary-soft)}.throughput-metric.done>div{color:var(--success);background:var(--success-soft)}.throughput-metric.risk>div{color:var(--danger);background:var(--danger-soft)}.throughput-metric span{color:var(--muted);font-size:12px;font-weight:900}.throughput-metric strong{color:#0f172a;font-size:28px;line-height:1}.throughput-metric p{color:var(--muted);margin:0;font-size:12px;line-height:1.35}.throughput-layout{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);display:grid}.throughput-chart-frame,.ai-analysis-card,.throughput-list-card,.throughput-status-strip{background:#fff;min-width:0;padding:14px}.throughput-chart-frame{border-right:1px solid var(--line-soft)}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-title span{color:#0f172a;align-items:center;gap:7px;font-size:13px;font-weight:900;display:inline-flex}.section-title small{color:var(--muted);font-size:12px;font-weight:800}.insight-list{gap:9px;display:grid}.insight-item{border:1px solid var(--line-soft);border-left:3px solid var(--primary);border-radius:var(--radius);background:var(--surface-soft);padding:10px 11px}.insight-item.good{border-left-color:var(--success);background:#f0fdf4}.insight-item.warn{border-left-color:var(--warning);background:#fffbeb}.insight-item.danger{border-left-color:var(--danger);background:#fff1f2}.insight-item strong{color:#0f172a;font-size:13px;display:block}.insight-item p{color:var(--ink-soft);margin:5px 0 0;font-size:12px;line-height:1.5}.throughput-detail-grid{border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.throughput-list-card{border-right:1px solid var(--line-soft)}.throughput-list-card:nth-child(3n){border-right:0}.throughput-demand-list{gap:8px;display:grid}.throughput-demand-list em{color:var(--muted);font-size:12px;font-style:normal}.throughput-demand-row{border:1px solid var(--line-soft);border-radius:var(--radius);width:100%;min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:#fbfdff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.throughput-demand-row:hover{background:#eff6ff;border-color:#bfdbfe}.throughput-demand-row>span{gap:5px;min-width:0;display:grid}.throughput-demand-row b,.throughput-demand-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.throughput-demand-row b{color:#0f172a;font-size:13px}.throughput-demand-row small{color:var(--muted);font-size:11px}.throughput-status-strip{background:#fbfdff}.status-bars{gap:9px;display:grid}.status-bar-row{grid-template-columns:132px minmax(0,1fr) 34px;align-items:center;gap:10px;display:grid}.status-bar-row span{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;overflow:hidden}.status-bar-row div{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.status-bar-row i{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #14b8a6);height:100%;display:block}.status-bar-row b{color:#0f172a;text-align:right;font-size:12px}.kanban-panel{overflow:hidden}.promo-board{flex-direction:column;gap:10px;display:flex}.promo-empty-panel{flex-shrink:0;padding:16px 18px}.promo-split{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;flex-direction:column;display:flex}.promo-calendar-wrap{flex-shrink:0;height:auto;overflow:visible}.promo-calendar-wrap .panel{box-shadow:none;border:0;border-radius:0;margin:0}.promo-calendar-wrap .calendar-panel.is-compact .panel-heading{padding:10px 12px 8px}.promo-calendar-wrap .calendar-panel.is-compact .panel-heading h2{font-size:15px}.promo-calendar-wrap .calendar-panel.is-compact .panel-heading p{font-size:11px;line-height:1.45}.promo-calendar-wrap .calendar-panel.is-compact .calendar-legend{gap:6px 10px;margin-top:6px}.promo-calendar-wrap .calendar-panel.is-compact .calendar-legend span{font-size:10px}.promo-calendar-wrap .calendar-panel.is-compact .legend-dot{width:6px;height:6px}.promo-calendar-wrap .calendar-panel.is-compact .calendar-grid{grid-template-columns:repeat(7,minmax(72px,1fr))}.promo-calendar-wrap .calendar-panel.is-compact .calendar-grid.week{grid-template-columns:repeat(7,minmax(84px,1fr))}.promo-calendar-wrap .calendar-panel.is-compact .day-cell{min-height:68px;padding:5px 6px}.promo-calendar-wrap .calendar-panel.is-compact .day-top{margin-bottom:4px}.promo-calendar-wrap .calendar-panel.is-compact .day-top span{font-size:11px}.promo-calendar-wrap .calendar-panel.is-compact .day-top small{font-size:10px}.promo-calendar-wrap .calendar-panel.is-compact .day-items{gap:3px}.promo-calendar-wrap .calendar-panel.is-compact .day-items.is-scrollable{max-height:108px}.promo-calendar-wrap .calendar-panel.is-compact .calendar-grid.week .day-items.is-scrollable{max-height:168px}.promo-calendar-wrap .calendar-panel.is-compact .demand-chip.compact{border-left-width:2px;gap:2px;padding:3px 5px}.promo-calendar-wrap .calendar-panel.is-compact .demand-chip.compact b{white-space:normal;overflow-wrap:anywhere;word-break:break-word;font-size:10px;line-height:1.25}.promo-calendar-wrap .calendar-panel.is-compact .demand-chip.compact .launch-badge{padding:1px 4px;font-size:9px}.promo-kanban-wrap{flex-shrink:0}.promo-kanban-wrap .kanban-panel{box-shadow:none;border:0;border-radius:0}.promo-kanban-wrap .kanban-board{min-height:360px;max-height:none}.kanban-card.is-readonly{cursor:pointer}.kanban-promo-tag-wrap{z-index:2;flex:none;justify-items:end;gap:4px;max-width:48%;display:grid;position:relative}.kanban-promo-tag{border:1px solid var(--line-soft);width:auto;min-width:88px;max-width:100%;height:26px;color:var(--ink-soft);font:inherit;cursor:pointer;text-align:center;background:#f8fafc;border-radius:999px;padding:0 10px;font-size:11px;font-weight:900}.kanban-promo-tag.is-pending{color:#c2410c;background:#fff7ed;border-color:#fdba74}.kanban-promo-tag.is-planned{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.kanban-promo-tag.is-done{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.kanban-promo-tag:disabled{opacity:.65;cursor:not-allowed}.kanban-promo-date-mini{max-width:100%;color:var(--muted);cursor:pointer;justify-items:end;gap:1px;padding:0 2px;display:grid;position:relative}.kanban-promo-date-mini>span{font-size:10px;font-weight:800;line-height:1.2}.kanban-promo-date-mini>b{color:var(--ink-soft);font-size:11px;font-weight:800;line-height:1.25}.kanban-promo-date-mini.is-planned>b{color:#1d4ed8}.kanban-promo-date-mini.is-done>b{color:#047857}.kanban-promo-date-mini input[type=date]{opacity:0;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.kanban-promo-date-mini:has(input:disabled){opacity:.65;cursor:not-allowed}.kanban-card-priority{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:0 2px;font-size:11px;font-weight:800;display:flex}.kanban-card-priority b{color:var(--ink-soft);font-size:11px;font-weight:900}.kanban-toolbar{border-bottom:1px solid var(--line-soft);background:#fbfdff;gap:10px;padding:10px 14px;display:grid}.kanban-toolbar.is-collapsed{padding-block:8px}.kanban-toolbar-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.kanban-filter-toggle{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;font:inherit;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.kanban-filter-toggle:hover{color:var(--primary-dark);background:#eff6ff;border-color:#bfdbfe}.kanban-filter-toggle small{color:var(--muted);font-size:12px;font-weight:700}.kanban-filter-toggle svg:last-child{color:var(--muted);transition:transform .15s}.kanban-filter-toggle svg:last-child.is-open{transform:rotate(180deg)}.kanban-toolbar-body{gap:12px;padding-top:4px;display:grid}.kanban-version-filter{border-bottom:1px dashed var(--line-soft);gap:8px;margin-bottom:4px;padding-bottom:10px;display:grid;position:relative}.kanban-version-trigger{border:1px solid var(--line);min-height:36px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:13px;font-weight:800;display:flex}.kanban-version-trigger:hover,.kanban-version-trigger.open{color:var(--primary-dark);background:#eff6ff;border-color:#bfdbfe}.kanban-version-trigger small{color:var(--muted);font-size:12px;font-weight:700}.kanban-version-panel{border:1px solid var(--line);background:#fff;border-radius:10px;gap:10px;padding:10px;display:grid;box-shadow:0 10px 28px #0f172a14}.kanban-version-search{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#f8fafc;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.kanban-version-search input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:13px;font-weight:700}.kanban-version-list{flex-wrap:wrap;gap:8px;max-height:160px;display:flex;overflow:auto}.kanban-version-chips{flex-wrap:wrap;gap:6px;display:flex}.kanban-version-chips button{height:28px;color:var(--primary-dark);cursor:pointer;font:inherit;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.kanban-version-chips button:hover{background:#dbeafe;border-color:#93c5fd}.kanban-toolbar-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.kanban-toolbar-head>span{color:var(--ink-soft);align-items:center;gap:7px;font-size:13px;font-weight:900;display:inline-flex}.kanban-column-actions{align-items:center;gap:8px;display:flex}.kanban-column-actions button{border:1px solid var(--line);height:30px;color:var(--ink-soft);cursor:pointer;font:inherit;background:#fff;border-radius:6px;padding:0 10px;font-size:12px;font-weight:900}.kanban-column-actions button:hover{color:var(--primary-dark);border-color:#bfdbfe}.kanban-column-filters{flex-wrap:wrap;gap:8px;display:flex}.kanban-filter-option{border:1px solid var(--line);min-height:32px;color:var(--muted);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:7px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.kanban-filter-option.checked{color:var(--primary-dark);background:#eff6ff;border-color:#bfdbfe}.kanban-filter-option input{width:14px;height:14px;accent-color:var(--primary);margin:0}.kanban-filter-option span{white-space:nowrap}.kanban-filter-option b{color:#475569;background:#e2e8f0;border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:11px;display:grid}.kanban-filter-option.checked b{background:var(--primary-soft);color:var(--primary-dark)}.kanban-board{background:#fbfdff;align-items:stretch;gap:12px;min-height:420px;max-height:calc(100dvh - 220px);padding:14px;display:flex;overflow:auto}.kanban-column{border:1px solid var(--line);border-top:3px solid var(--faint);border-radius:var(--radius);background:var(--surface-soft);flex-direction:column;flex:0 0 288px;min-width:0;display:flex;overflow:hidden}.kanban-column.is-empty{background:0 0;flex:0 0 152px}.kanban-column.is-empty .kanban-column-head{opacity:.7}.kanban-column.is-empty.drop-target{background:var(--surface-highlight);opacity:1}.kanban-column.planned{border-top-color:var(--purple)}.kanban-column.active{border-top-color:var(--primary)}.kanban-column.testing{border-top-color:var(--warning)}.kanban-column.done{border-top-color:var(--success)}.kanban-column.dropped{border-top-color:var(--faint)}.kanban-column-head{border-bottom:1px solid var(--line-soft);background:#fff;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:11px 12px;display:flex}.kanban-column-head span{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:900;overflow:hidden}.kanban-column-head b{color:#334155;background:#e2e8f0;border-radius:999px;place-items:center;min-width:26px;height:22px;font-size:12px;display:grid}.kanban-column-body{align-content:start;gap:9px;min-height:0;padding:10px;display:grid;overflow:auto}.kanban-card{border:1px solid var(--line-soft);border-radius:var(--radius);width:100%;min-width:0;color:inherit;cursor:grab;font:inherit;text-align:left;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;touch-action:none;background:#fff;gap:9px;padding:10px;transition:transform .16s,border-color .16s,box-shadow .16s,opacity .16s;display:grid;position:relative}.kanban-card:hover{border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 10px 20px #0f172a14}.kanban-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.kanban-card.dragging{opacity:.55;cursor:grabbing}.kanban-card.pending{opacity:.72;cursor:progress}.kanban-card-title{z-index:2;overflow-wrap:anywhere;word-break:break-word;white-space:normal;min-width:0;position:relative}.kanban-card strong{color:#0f172a;overflow-wrap:anywhere;word-break:break-word;white-space:normal;font-size:13px;line-height:1.4}.kanban-version-tag{z-index:2;color:#3730a3;text-overflow:ellipsis;white-space:nowrap;background:#eef2ff;border-radius:999px;width:fit-content;max-width:100%;padding:3px 8px;font-size:11px;font-weight:800;line-height:1.3;position:relative;overflow:hidden}.kanban-version-field{z-index:2;border:1px solid var(--line-soft);cursor:default;background:#eef2ff;border-radius:8px;gap:4px;padding:8px;display:grid;position:relative}.kanban-version-field span{color:#4338ca;font-size:11px;font-weight:800}.kanban-version-field select{color:#312e81;width:100%;min-width:0;font:inherit;cursor:pointer;background:0 0;border:0;outline:0;font-size:12px;font-weight:800}.kanban-version-field select:disabled{opacity:.6;cursor:not-allowed}.kanban-card-body{gap:9px;min-width:0;display:grid;position:relative}.kanban-progress-hint{z-index:3;width:100%;position:relative}.kanban-progress-trigger{border:1px solid var(--line);width:100%;height:30px;color:var(--ink-soft);cursor:default;font:inherit;text-align:left;background:#f8fafc;border-radius:8px;padding:0 10px;font-size:12px;font-weight:800;line-height:1}.kanban-progress-trigger.has-content{color:var(--primary-dark);background:#eff6ff;border-color:#bfdbfe}.kanban-progress-trigger:hover,.kanban-progress-trigger.open,.kanban-progress-trigger:focus-visible{color:var(--primary-dark);background:#dbeafe;border-color:#93c5fd;outline:none}.kanban-progress-trigger:disabled{opacity:.55;cursor:not-allowed}.kanban-progress-float{z-index:80;color:#0f172a;pointer-events:auto;background:#fff;border:1px solid #bfdbfe;border-radius:12px;align-content:start;gap:8px;padding:12px 14px;display:grid;position:fixed;overflow:auto;box-shadow:0 16px 36px #0f172a2e}.kanban-progress-float strong{color:#2563eb;font-size:12px;font-weight:800}.kanban-progress-float p{color:#1e293b;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.55}.progress-editor{gap:8px;width:100%;display:grid}.progress-editor textarea{border:1px solid var(--line);color:#0f172a;width:100%;min-height:110px;font:inherit;resize:vertical;background:#fff;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5}.progress-editor textarea:disabled{opacity:.7;background:#f8fafc}.progress-editor small{color:var(--muted);font-size:11px;font-weight:700}.progress-mention-editor{gap:0;display:grid;position:relative}.mention-popover{z-index:30;border:1px solid var(--line);background:#fff;border-radius:10px;gap:4px;max-height:240px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 12px 28px #0f172a1f}.mention-popover button{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.mention-popover button:hover,.mention-popover button.active{background:#eff6ff}.mention-popover img,.mention-avatar-fallback{border-radius:50%;flex:none;width:28px;height:28px}.mention-avatar-fallback{color:var(--primary-dark);background:#dbeafe;place-items:center;font-size:12px;font-weight:900;display:grid}.mention-popover b{color:var(--ink);font-size:13px;display:block}.mention-popover small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:700;display:block}.kanban-column.drop-target{outline-offset:-2px;background:#eff6ff;outline:2px dashed #2563eb8c}.kanban-column.is-empty .kanban-column-body{min-height:96px}.kanban-sync-error{color:#b91c1c;background:#fef2f2;border-radius:8px;margin:0 18px 12px;padding:10px 12px;font-size:13px;font-weight:700}.kanban-card .kanban-card-warn{color:var(--warning-text);font-weight:800}.kanban-card-facts{z-index:2;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex;position:relative}.kanban-fact-date{align-items:baseline;gap:5px;min-width:0;padding:2px 0;display:inline-flex;position:relative}.kanban-fact-date>span{color:#64748b;white-space:nowrap;font-size:11px;font-weight:800}.kanban-fact-date>b{color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:800}.kanban-fact-date.is-unset>b{color:#94a3b8;font-weight:700}.kanban-fact-date.is-editable{cursor:pointer;border-radius:6px}.kanban-fact-date.is-editable:hover>b{color:#1d4ed8;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.kanban-fact-date.is-editable input[type=date]{opacity:0;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.kanban-fact-date.is-editable:has(input:focus-visible){outline:var(--focus-ring);outline-offset:2px}.kanban-fact-date.is-editable:has(input:disabled){opacity:.6;cursor:not-allowed}.kanban-fact-prd{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;flex:none;align-items:center;gap:3px;max-width:50%;padding:2px 7px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.kanban-fact-prd:hover{background:#dbeafe;border-color:#60a5fa}.kanban-fact-prd.is-empty{border-color:var(--line-soft);color:#94a3b8;background:#f8fafc;font-weight:700}.kanban-card-top,.kanban-card-meta,.kanban-card-resources{align-items:center;display:flex}.kanban-card-top{justify-content:space-between;align-items:flex-start;gap:8px}.kanban-card-top>span:last-child{max-width:42%;color:var(--muted);text-align:right;overflow-wrap:anywhere;word-break:break-word;white-space:normal;flex:0 auto;font-size:11px;font-weight:900}.kanban-card-meta{color:var(--muted);justify-content:space-between;align-items:flex-start;gap:8px;font-size:11px;line-height:1.45}.kanban-card-meta span{overflow-wrap:anywhere;word-break:break-word;white-space:normal;flex:auto;min-width:0}.kanban-card-meta span:last-child{flex:none}.kanban-card-resources{flex-wrap:wrap;gap:5px}.kanban-card-resources span{color:var(--primary-dark);background:#eef6ff;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:900}.demand-table-panel{overflow:hidden}.demand-list-toolbar{flex-wrap:wrap;align-items:end;gap:10px;padding:0 16px 12px;display:flex}.demand-list-search{flex:220px;min-width:180px;position:relative}.demand-list-search svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.demand-list-search input,.demand-multi-trigger{border:1px solid var(--line);width:100%;height:36px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;outline:none;font-size:13px}.demand-list-search input{padding:0 10px 0 32px}.demand-multi-select{gap:4px;min-width:148px;display:grid;position:relative}.demand-multi-select>span{color:var(--muted);font-size:11px;font-weight:800}.demand-multi-trigger{border:1px solid var(--line);height:36px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:13px;font-weight:700;display:flex}.demand-multi-trigger:hover,.demand-multi-trigger.open,.demand-multi-trigger.active{color:var(--primary-dark);background:#eff6ff;border-color:#bfdbfe}.demand-multi-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.demand-multi-trigger svg{flex:none;transition:transform .15s}.demand-multi-trigger svg.is-open{transform:rotate(180deg)}.demand-multi-panel{z-index:20;border:1px solid var(--line);background:#fff;border-radius:10px;gap:8px;width:min(280px,72vw);padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 28px #0f172a1f}.demand-multi-actions{gap:8px;display:flex}.demand-multi-actions button{border:1px solid var(--line-soft);height:28px;color:var(--ink-soft);cursor:pointer;font:inherit;background:#f8fafc;border-radius:7px;padding:0 10px;font-size:12px;font-weight:800}.demand-multi-actions button:hover{color:var(--primary-dark);background:#eff6ff;border-color:#bfdbfe}.demand-multi-search{border:1px solid var(--line);min-height:32px;color:var(--muted);background:#f8fafc;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.demand-multi-search input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:13px;font-weight:700}.demand-multi-list{gap:4px;max-height:240px;display:grid;overflow:auto}.demand-list-clear{border:1px solid var(--line);height:36px;color:var(--ink-soft);cursor:pointer;font:inherit;background:#f8fafc;border-radius:8px;padding:0 12px;font-size:12px;font-weight:800}.demand-list-clear:hover,.demand-list-chip:hover{color:var(--primary-dark);background:#eff6ff;border-color:#bfdbfe}.demand-list-clear.is-inline{margin-top:10px}.demand-list-chips{flex-wrap:wrap;gap:8px;padding:0 16px 12px;display:flex}.demand-list-chip{height:28px;color:var(--primary-dark);cursor:pointer;font:inherit;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.demand-list-empty{text-align:center;padding:28px 16px}.demand-table-row{cursor:pointer;transition:background .12s}.demand-table-row:hover,.demand-table-row:focus-visible{background:#f8fbff;outline:none}.table-wrap{max-height:calc(100dvh - 280px);overflow:auto}.demand-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:980px}.demand-table th,.demand-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:10px 12px;font-size:13px}.demand-table th{z-index:2;color:#475569;white-space:nowrap;background:#f8fafc;font-size:12px;font-weight:900;position:sticky;top:0}.demand-table th:first-child,.demand-table td:first-child{z-index:1;width:240px;box-shadow:1px 0 0 var(--line-soft);background:#fff;position:sticky;left:0}.demand-table th:first-child{z-index:3;background:#f8fafc}.demand-table-row:hover td:first-child,.demand-table-row:focus-visible td:first-child{background:#f8fbff}.demand-table th:nth-child(2),.demand-table td:nth-child(2){width:120px}.demand-table th:nth-child(3),.demand-table td:nth-child(3){width:72px}.demand-table th:nth-child(4),.demand-table td:nth-child(4){width:130px}.demand-table th:nth-child(5),.demand-table td:nth-child(5){width:108px}.demand-table th:nth-child(6),.demand-table td:nth-child(6){width:140px}.demand-table th:nth-child(7),.demand-table td:nth-child(7){width:180px}.demand-table tbody tr:hover{background:#fbfdff}.demand-table td strong,.demand-table td span,.demand-table td small{display:block}.demand-name-cell strong{color:#0f172a;overflow-wrap:anywhere;word-break:break-word;max-width:220px;font-size:13px}.demand-table td small{color:var(--muted);margin-top:4px;font-size:11px}.demand-table td:nth-child(5) span,.demand-table td:nth-child(5) small{white-space:nowrap}.resource-tags{flex-wrap:wrap;gap:5px;max-width:140px;display:flex}.resource-tags span{color:var(--primary-dark);background:#eef6ff;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:900}.progress-cell{color:#475569;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;max-width:180px;line-height:1.45;display:-webkit-box;overflow:hidden}.role-dot{border-radius:50%;width:8px;height:8px;display:inline-block}@media (width<=1180px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:60;width:min(300px,86vw);height:100dvh;box-shadow:var(--shadow-lg);transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-102%)}.app-shell.nav-open .sidebar{transform:translate(0)}.nav-scrim{z-index:50;opacity:0;pointer-events:none;background:#0f172a73;border:0;padding:0;transition:opacity .22s;display:block;position:fixed;inset:0}.app-shell.nav-open .nav-scrim{opacity:1;pointer-events:auto}.nav-toggle{width:var(--control-md);height:var(--control-md);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink-soft);cursor:pointer;flex:none;place-items:center;display:inline-grid}.nav-close{border:1px solid var(--sidebar-line);border-radius:var(--radius);width:32px;height:32px;color:var(--sidebar-ink);cursor:pointer;background:#0f172a80;place-items:center;margin-left:auto;display:inline-grid}.metric-grid,.workload-body{grid-template-columns:1fr 1fr}}@media (width<=760px){.workspace{padding:16px}.demand-list-toolbar{align-items:stretch}.demand-multi-select,.demand-list-search,.demand-list-clear{flex:100%}.topbar,.controls-row,.panel-heading{flex-direction:column;align-items:stretch}.top-actions,.metric-grid,.workload-body,.throughput-summary-grid,.throughput-layout,.throughput-detail-grid,.undated-groups,.undated-group-list{grid-template-columns:1fr;display:grid}.throughput-chart-frame,.throughput-list-card{border-right:0;border-bottom:1px solid var(--line-soft)}.throughput-demand-row{grid-template-columns:1fr}.status-bar-row{grid-template-columns:104px minmax(0,1fr) 28px}.kanban-board{grid-auto-columns:minmax(260px,84vw);max-height:none}.panel-heading p{text-align:left;max-width:none}.kanban-toolbar-head,.kanban-toolbar-summary{flex-direction:column;align-items:stretch}.kanban-column-actions{grid-template-columns:1fr 1fr;display:grid}.modal-fields-grid{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(7,minmax(96px,1fr))}.workload-row{grid-template-columns:1fr;align-items:start}.workload-counts{text-align:left;justify-self:start}}.intake-board{gap:var(--space-3);grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;display:grid}.intake-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:12px var(--space-4);flex-wrap:wrap;display:flex}.intake-slices{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.intake-scope{margin-right:var(--space-2);color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.intake-slice{height:var(--control-md);border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:800;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.intake-slice b{background:var(--surface-soft);min-width:18px;color:var(--muted);text-align:center;border-radius:999px;padding:1px 6px;font-size:12px}.intake-slice:hover{border-color:var(--line-focus);color:var(--ink)}.intake-slice.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.intake-slice.is-active b{color:#fff;background:#fff3}.intake-slice.warn:not(.is-active) b{color:var(--warning-text);background:#fef3c7}.intake-bar-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.intake-primary-btn{height:var(--control-md);border-radius:var(--radius);background:var(--ink);color:#fff;font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:900;transition:opacity .16s,transform .16s;display:inline-flex}.intake-primary-btn:hover:not(:disabled){transform:translateY(-1px)}.intake-primary-btn:disabled{cursor:not-allowed;opacity:.5}.intake-toast{align-items:center;gap:var(--space-2);padding:10px var(--space-4);border-radius:var(--radius);color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;margin:0;font-size:13px;font-weight:800;display:flex}.intake-board>.kanban-board{min-height:0}.intake-empty-panel{align-content:center;justify-items:center;gap:var(--space-3);padding:56px var(--space-5);text-align:center;display:grid}.intake-empty-panel h3{color:var(--ink-heading);margin:0;font-size:16px}.intake-empty-panel p{max-width:460px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.drawer-backdrop{z-index:80;background:#0f172a6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.intake-drawer{background:var(--surface);width:min(560px,100%);height:100dvh;box-shadow:var(--shadow-modal);grid-template-rows:auto auto auto minmax(0,1fr) auto;animation:.22s drawer-in;display:grid}@keyframes drawer-in{0%{opacity:.4;transform:translate(24px)}}@media (prefers-reduced-motion:reduce){.intake-drawer{animation:none}}.intake-drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line-soft);display:flex}.intake-drawer-head h2{color:var(--ink-heading);margin:0 0 4px;font-size:17px}.intake-drawer-head p{color:var(--muted);margin:0;font-size:12px;font-weight:700}.intake-drawer-head button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:32px;height:32px;color:var(--muted);cursor:pointer;flex:none;place-items:center;display:grid}.intake-drawer-head button:hover:not(:disabled){border-color:var(--line-focus);color:var(--ink)}.intake-smart{padding:var(--space-3) var(--space-5) var(--space-4);border-bottom:1px solid var(--line-soft);background:var(--surface-soft);transition:background .16s,box-shadow .16s}.intake-smart.is-drag{background:var(--surface-highlight);box-shadow:inset 0 0 0 2px var(--line-focus)}.intake-smart-label{color:var(--muted);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:800;display:inline-flex}.intake-smart-row{align-items:stretch;gap:var(--space-2);display:flex}.intake-smart-row textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;color:var(--ink);font:inherit;resize:none;flex:auto;padding:9px 12px;font-size:13px;line-height:1.6}.intake-smart-actions{flex:none;gap:6px;display:grid}.intake-smart-attach{height:var(--control-sm);gap:4px;font-size:12px}.intake-smart-examples{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.intake-smart-examples button{border:1px dashed var(--line);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:12px}.intake-smart-examples button:hover:not(:disabled){border-style:solid;border-color:var(--line-focus);color:var(--ink-soft)}.intake-attachments{margin-top:10px}.intake-attachments ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.intake-attachments li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:700;display:flex}.intake-attachments li span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.intake-attachments li em{color:var(--faint);flex:none;font-size:11px;font-style:normal}.intake-attachments li button{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.intake-attachments li button:hover:not(:disabled){background:var(--surface-soft);color:var(--danger)}.intake-attachments small{color:var(--faint);margin-top:6px;font-size:11px;line-height:1.5;display:block}.intake-autofill-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:9px var(--space-5);border-bottom:1px solid var(--line-soft);background:var(--surface-highlight);color:var(--primary-dark);font-size:12px;font-weight:800;display:flex}.intake-drawer-form{align-content:start;gap:var(--space-3);padding:var(--space-4) var(--space-5);display:grid;overflow-y:auto}.intake-fields-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.intake-field{align-content:start;gap:6px;min-width:0;display:grid}.intake-field-full{grid-column:1/-1}.intake-field>span{color:var(--muted);align-items:center;gap:4px;font-size:12px;font-weight:800;display:flex}.intake-field>span b{color:var(--danger)}.intake-field.is-autofilled>input,.intake-field.is-autofilled>select,.intake-field.is-autofilled>textarea{border-color:var(--line-focus);box-shadow:inset 3px 0 0 var(--primary);background:var(--surface-highlight)}.modal-checkbox.is-autofilled{color:var(--primary-dark)}.intake-field input,.intake-field select,.intake-field textarea{width:100%;min-height:var(--control-md);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;padding:8px 11px;font-size:13px;font-weight:700}.intake-field textarea{resize:vertical;min-height:76px;line-height:1.6}.intake-field input:disabled,.intake-field select:disabled,.intake-field textarea:disabled{cursor:not-allowed;opacity:.6}.intake-visibility-hint{border-radius:var(--radius);color:var(--warning-text);background:#fffbeb;border:1px solid #fde68a;margin:0;padding:10px 12px;font-size:12px;line-height:1.6}.intake-create-error{border-radius:var(--radius);color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;margin:0;padding:10px 12px;font-size:12px;font-weight:800}.intake-drawer-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--line-soft);background:var(--surface-soft);display:flex}.intake-drawer-foot>div{gap:var(--space-2);display:flex}.intake-required-hint{min-width:0;color:var(--muted);font-size:12px;font-weight:700}@media (width<=720px){.intake-bar{flex-direction:column;align-items:stretch}.intake-bar-actions{justify-content:flex-end}.intake-drawer{width:100%}.intake-fields-grid{grid-template-columns:1fr}.intake-smart-row{flex-direction:column}.intake-smart-actions{grid-auto-flow:column;justify-content:end}.intake-drawer-foot{flex-direction:column-reverse;align-items:stretch}.intake-drawer-foot>div button{flex:1 1 0}}.agent-entry{height:var(--control-md);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink-soft);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.agent-entry:hover{border-color:var(--line-focus);color:var(--primary-dark)}.agent-entry b{min-width:18px;color:var(--warning-text);text-align:center;background:#fef3c7;border-radius:999px;padding:1px 6px;font-size:11px}.agent-panel{background:var(--surface);width:min(560px,100%);height:100dvh;box-shadow:var(--shadow-modal);grid-template-rows:auto minmax(0,1fr) auto;animation:.22s drawer-in;display:grid}@media (prefers-reduced-motion:reduce){.agent-panel{animation:none}}.agent-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line-soft);display:flex}.agent-head h2{color:var(--ink-heading);align-items:center;gap:7px;margin:0 0 4px;font-size:17px;display:flex}.agent-head p{color:var(--muted);margin:0;font-size:12px;font-weight:700}.agent-head button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:32px;height:32px;color:var(--muted);cursor:pointer;flex:none;place-items:center;display:grid}.agent-head button:hover{border-color:var(--line-focus);color:var(--ink)}.agent-stream{align-content:start;gap:var(--space-3);padding:var(--space-4) var(--space-5);display:grid;overflow-y:auto}.agent-risks{border-radius:var(--radius);background:#fffbeb;border:1px solid #fde68a;gap:6px;padding:12px;display:grid}.agent-risks h3{color:var(--warning-text);align-items:center;gap:6px;margin:0 0 2px;font-size:13px;display:flex}.agent-risks details{border-radius:var(--radius-sm);background:#ffffffb3}.agent-risks summary{border-radius:var(--radius-sm);color:var(--ink-soft);cursor:pointer;align-items:center;gap:8px;padding:7px 10px;font-size:13px;font-weight:800;display:flex}.agent-risks summary b{color:var(--warning-text);background:#fde68a;border-radius:999px;padding:1px 7px;font-size:11px}.agent-risks summary em{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:auto;font-size:11px;font-style:normal;font-weight:700;overflow:hidden}.agent-notice{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);color:var(--muted);margin:0;padding:11px 13px;font-size:12px;line-height:1.7}.agent-notice code{background:var(--surface);color:var(--ink-soft);border-radius:4px;padding:1px 5px;font-size:11px}.agent-turn{gap:8px;display:grid}.agent-question{border-radius:var(--radius) var(--radius) 4px var(--radius);background:var(--ink);color:#fff;justify-self:end;max-width:88%;margin:0;padding:9px 13px;font-size:13px;line-height:1.6}.agent-thinking{color:var(--muted);margin:0;font-size:12px;font-weight:700}.agent-error{border-radius:var(--radius);color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;margin:0;padding:9px 12px;font-size:12px;font-weight:800}.agent-answer{gap:8px;display:grid}.agent-reply{color:var(--muted);margin:0;font-size:12px;font-weight:800}.agent-text{color:var(--ink);margin:0;font-size:13px;line-height:1.75}.agent-demand-list{gap:4px;margin:0;padding:6px 8px 8px;list-style:none;display:grid}.agent-demand-list button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);text-align:left;cursor:pointer;gap:2px;width:100%;padding:8px 10px;display:grid}.agent-demand-list button:hover{border-color:var(--line-focus);background:var(--surface-highlight)}.agent-demand-list strong{color:var(--ink);font-size:13px;line-height:1.4}.agent-demand-list span{color:var(--muted);font-size:11px;font-weight:700}.agent-more{color:var(--faint);margin:0 0 0 8px;font-size:11px;font-weight:700}.agent-draft{border:1px solid var(--line-focus);border-radius:var(--radius);background:var(--surface-highlight);justify-items:start;gap:8px;padding:11px 13px;display:grid}.agent-draft p{color:var(--ink-soft);margin:0;font-size:13px}.agent-examples{justify-items:start;gap:6px;display:grid}.agent-examples p{color:var(--muted);margin:0;font-size:12px;font-weight:800}.agent-examples button{border:1px dashed var(--line);color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:999px;padding:6px 11px;font-size:12px}.agent-examples button:hover:not(:disabled){border-style:solid;border-color:var(--line-focus);color:var(--ink-soft)}.agent-composer{align-items:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--line-soft);background:var(--surface-soft);display:flex}.agent-composer textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;color:var(--ink);font:inherit;resize:none;flex:auto;padding:9px 12px;font-size:13px;line-height:1.6}@media (width<=720px){.agent-panel{width:100%}}.kanban-column-empty{border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--faint);text-align:center;margin:0;padding:18px 10px;font-size:12px;font-weight:700}.kanban-column.drop-target .kanban-column-empty{border-color:var(--primary);color:var(--primary-dark)}.modal-sync-error{border-radius:var(--radius);color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;align-items:center;gap:7px;margin:0 0 12px;padding:9px 12px;font-size:12px;font-weight:800;display:flex}.agent-error{align-items:center;gap:var(--space-2);display:flex}.agent-error span{flex:auto;min-width:0}.agent-error button{height:var(--control-sm);border-radius:var(--radius-sm);color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;flex:none;padding:0 10px;font-size:12px;font-weight:800}.agent-head p strong{color:var(--ink-soft)}.table-sort{color:inherit;font:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.table-sort span{color:var(--faint);font-size:11px}.table-sort:hover,.table-sort.is-active,.table-sort.is-active span{color:var(--primary-dark)}.undated-strip-head{align-items:center;gap:8px;display:flex}.undated-strip-head b{background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:11px}.kanban-filter-option.is-empty:not(.checked){opacity:.7;border-style:dashed}.kanban-filter-option.is-empty b{color:var(--faint)}.form-multi-select{gap:6px;min-width:0;display:grid;position:relative}.form-multi-trigger{width:100%;min-height:var(--control-md);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--faint);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:8px 11px;font-size:13px;font-weight:700;display:flex}.form-multi-trigger.has-value{color:var(--ink)}.form-multi-trigger>span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.form-multi-trigger svg{color:var(--muted);flex:none;transition:transform .16s}.form-multi-trigger svg.is-open{transform:rotate(180deg)}.form-multi-trigger:disabled{cursor:not-allowed;opacity:.6}.form-multi-chips{flex-wrap:wrap;gap:5px;display:flex}.form-multi-chips>span{background:var(--surface-highlight);color:var(--primary-dark);border-radius:999px;align-items:center;gap:4px;padding:3px 6px 3px 9px;font-size:12px;font-weight:800;display:inline-flex}.form-multi-chips button{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.form-multi-chips button:hover:not(:disabled){background:#2563eb29}.form-multi-popover{z-index:40;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-popover);gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0}.form-multi-popover>input{width:100%;min-height:var(--control-sm);border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;padding:0 9px;font-size:13px}.form-multi-list{gap:2px;max-height:220px;display:grid;overflow-y:auto}.form-multi-list label{border-radius:var(--radius-sm);color:var(--ink-soft);cursor:pointer;align-items:center;gap:8px;padding:6px 8px;font-size:13px;font-weight:700;display:flex}.form-multi-list label:hover,.form-multi-list label.checked{background:var(--surface-soft)}.form-multi-list label.checked{color:var(--primary-dark)}.person-picker{min-width:0;position:relative}.person-picker>input{width:100%;min-height:var(--control-md);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;padding:8px 11px;font-size:13px;font-weight:700}.person-picker-popover{z-index:40;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-height:220px;box-shadow:var(--shadow-popover);gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.person-picker-popover button{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:8px;padding:7px 9px;display:flex}.person-picker-popover button.active,.person-picker-popover button:hover{background:var(--surface-highlight)}.person-picker-popover strong{color:var(--ink);font-size:13px}.person-picker-popover small{color:var(--muted);font-size:11px;font-weight:700}.intake-doc-ref{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:6px;margin-top:10px;padding:9px 11px;display:grid}.intake-doc-ref.is-ok{background:#f0fdf4;border-color:#bbf7d0}.intake-doc-ref.is-error{background:#fffbeb;border-color:#fde68a}.intake-doc-ref p{color:var(--ink-soft);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:800;display:flex}.intake-doc-ref.is-ok p{color:#166534}.intake-doc-ref.is-error p{color:var(--warning-text)}.intake-doc-link{align-items:center;gap:6px;display:flex}.intake-doc-link a{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--primary-dark);flex:auto;font-size:11px;overflow:hidden}.intake-doc-link button{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.intake-doc-link button:hover:not(:disabled){background:var(--surface-soft);color:var(--danger)}.intake-doc-ref small{color:var(--faint);font-size:11px;line-height:1.5}.chip-status{min-width:0;color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:4px;font-size:11px;font-weight:800;line-height:1.3;display:inline-flex}.chip-status em{background:var(--surface);color:var(--ink-soft);border-radius:4px;flex:none;padding:0 4px;font-size:10px;font-style:normal;font-weight:900}.chip-status.active{color:var(--primary-dark)}.chip-status.testing{color:var(--warning-text)}.chip-status.done{color:#166534}.chip-status.dropped,.chip-status.unknown{color:var(--faint)}.person-tags{min-width:0;position:relative}.person-tags-box{min-height:var(--control-md);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:5px;padding:5px 8px;display:flex}.person-tags-box.is-disabled{background:var(--surface-soft);opacity:.7}.person-tag{background:var(--surface-highlight);color:var(--primary-dark);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:12px;font-weight:800;display:inline-flex}.person-tag button{width:15px;height:15px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.person-tag button:hover:not(:disabled){background:#2563eb2e}.person-tags-box input{min-width:70px;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:90px;font-size:13px;font-weight:700}.prd-field{gap:6px;min-width:0;display:grid}.prd-card{border:1px solid var(--line-soft);border-radius:var(--radius);background:#f8fafc;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.prd-doc{min-width:0;color:var(--primary-dark);flex:auto;align-items:center;gap:6px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.prd-doc>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prd-doc:hover>span{text-decoration:underline}.prd-doc.is-plain{color:var(--ink-soft);font-weight:700}.prd-doc.is-plain:hover>span{text-decoration:none}.prd-actions{flex:none;gap:4px;display:flex}.prd-actions .ghost-btn{height:var(--control-sm);padding:0 8px;font-size:12px}.prd-actions .ghost-btn.is-danger:hover:not(:disabled){color:#b91c1c;border-color:#fca5a5}.prd-add{width:fit-content;min-height:var(--control-sm);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.prd-add:hover:not(:disabled){border-color:var(--primary);color:var(--primary-dark)}.prd-add:disabled{cursor:not-allowed;opacity:.7}.prd-field .field-hint{color:var(--muted);font-size:11px;font-style:normal;font-weight:700}.prd-field-row{align-items:center;gap:6px;display:flex}.prd-field-row input{min-width:0;min-height:var(--control-sm);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;flex:auto;padding:0 10px;font-size:12px}.prd-field-row .ghost-btn{height:var(--control-sm);flex:none;padding:0 10px;font-size:12px}.promo-pipeline{gap:0;display:grid}.promo-pools{gap:var(--space-3);padding:var(--space-4);background:#fbfdff;max-height:calc(100dvh - 260px);display:grid;overflow-y:auto}.promo-pool{border:1px solid var(--line);border-left:3px solid var(--faint);border-radius:var(--radius);background:var(--surface);overflow:hidden}.promo-pool.is-pending{border-left-color:var(--faint)}.promo-pool.is-planned{border-left-color:var(--primary)}.promo-pool.is-done{border-left-color:#16a34a}.promo-pool-head{align-items:center;gap:var(--space-2);width:100%;padding:11px var(--space-4);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.promo-pool-head:hover{background:var(--surface-soft)}.promo-pool-head strong{color:var(--ink-heading);flex:none;font-size:14px}.promo-pool-head b{background:var(--surface-soft);min-width:22px;color:var(--muted);text-align:center;border-radius:999px;flex:none;padding:1px 7px;font-size:12px}.promo-pool.is-planned .promo-pool-head b{background:var(--surface-highlight);color:var(--primary-dark)}.promo-pool.is-done .promo-pool-head b{color:#166534;background:#f0fdf4}.promo-pool-head em{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--faint);flex:auto;font-size:12px;font-style:normal;font-weight:700;overflow:hidden}.promo-pool-head svg{color:var(--muted);flex:none;transition:transform .16s}.promo-pool-head svg.is-open{transform:rotate(180deg)}.promo-pool-empty{padding:0 var(--space-4) 14px;margin:0}.promo-time-group{border-top:1px solid var(--line-soft)}.promo-time-head{padding:8px var(--space-4) 0;color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.promo-time-head b{background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:0 6px;font-size:11px}.promo-pool-list{padding:8px var(--space-4) 14px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}@media (width<=720px){.promo-pool-list{grid-template-columns:1fr}}
