:root{--bg:#e8edf3;--surface:#fff;--surface-2:#f6f8fb;--surface-3:#eef3f8;--ink:#111827;--muted:#5b6675;--muted-strong:#344054;--line:#d8dee6;--line-strong:#b7c1ce;--focus:#1d5fd159;--green:#0f8a5f;--green-bg:#e8f7f0;--red:#b42318;--red-bg:#ffe9e7;--amber:#b66a00;--amber-bg:#fff2d5;--blue:#1d5fd1;--blue-bg:#eaf1ff;--purple:#7842b8;--shadow:0 14px 32px #1f29371c;--shadow-soft:0 1px 0 #1118270a;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--bg:#0b1117;--surface:#111a24;--surface-2:#162231;--surface-3:#1c2a3a;--ink:#edf4ff;--muted:#a8b3c2;--muted-strong:#d5deea;--line:#263648;--line-strong:#40536b;--focus:#5fa5fa6b;--green:#4bd0a0;--green-bg:#12362a;--red:#ff8d86;--red-bg:#461c1a;--amber:#f2b755;--amber-bg:#412d12;--blue:#8cbcff;--blue-bg:#132c53;--purple:#c7a7ff;--shadow:0 16px 40px #00000052;--shadow-soft:0 1px 0 #ffffff0a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 0%, #1d5fd114, transparent 32%), var(--bg);margin:0}button{font:inherit}button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tooltip-host{position:relative}.tooltip-anchor{display:none}.tooltip-content{background:var(--ink);border:1px solid var(--line-strong);box-shadow:var(--shadow);color:var(--surface);opacity:0;overflow-wrap:break-word;pointer-events:none;text-align:left;transform-origin:bottom;visibility:hidden;white-space:normal;word-break:normal;z-index:1000;border-radius:6px;max-height:min(160px,100vh - 24px);padding:9px 10px;font-size:12px;font-weight:650;line-height:1.35;transition:opacity .14s,transform .14s,visibility .14s;display:block;position:fixed;overflow-y:auto;transform:translateY(4px)scale(.98)}.tooltip-content[data-placement=bottom]{transform-origin:top;transform:translateY(-4px)scale(.98)}.tooltip-content[data-open=true]{opacity:1;visibility:visible;transform:translateY(0)scale(1)}#app{min-height:100vh}.loading-screen{justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.factory-app{flex-direction:column;gap:8px;min-height:100vh;padding:8px;display:flex}@media (width>=1181px){.factory-app{height:100vh;overflow:hidden}}.top-bar,.andon-strip,.view-tabs,.status-strip,.panel,.kanban-area,.hall-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.top-bar{border-color:var(--line-strong);grid-template-columns:minmax(250px,1.1fr) minmax(460px,2fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.brand-block{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{background:linear-gradient(135deg, var(--ink), var(--blue));color:#fff;border-radius:6px;flex:0 0 44px;justify-content:center;align-items:center;height:44px;font-weight:800;display:inline-flex}h1,h2,p{margin:0}h1{font-size:18px;line-height:1.1}.brand-block p,.section-heading span,.panel p,small{color:var(--muted);font-size:12px}.kpi-strip{grid-template-columns:repeat(5,minmax(92px,1fr));gap:8px;display:grid}.kpi,.metric{background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:6px;min-width:0;padding:7px 8px}.kpi span,.metric span{color:var(--muted);font-size:11px;display:block}.kpi strong,.metric strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:15px;line-height:1.25;display:block}.kpi-good{background:color-mix(in srgb, var(--green-bg) 45%, var(--surface-2));border-color:#0f8a5f59}.kpi-bad{background:color-mix(in srgb, var(--red-bg) 45%, var(--surface-2));border-color:#b4231859}.ui-button,.icon-button,.primary-action,.secondary-action,.confirm-actions button,.view-tabs button,.move-button,.tiny-action,.candidate-list button,.kaizen-grid button,.hall-header button{background:var(--ink);border:1px solid var(--ink);color:#fff;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:7px 10px;font-size:12px;font-weight:700;transition:background-color .12s,border-color .12s,color .12s,transform .12s;display:inline-flex}.ui-button:hover:not(:disabled),.primary-action:hover:not(:disabled),.secondary-action:hover:not(:disabled),.view-tabs button:hover:not(:disabled),.move-button:hover:not(:disabled),.tiny-action:hover:not(:disabled),.candidate-list button:hover:not(:disabled),.kaizen-grid button:hover:not(:disabled),.hall-header button:hover:not(:disabled){transform:translateY(-1px)}.ui-button-primary,.primary-action{background:var(--blue);border-color:var(--blue)}[data-theme=dark] .ui-button-primary,[data-theme=dark] .primary-action{color:#f8fbff;background:#2563eb;border-color:#3b82f6;box-shadow:0 0 0 1px #93c5fd24}.ui-button-secondary,.secondary-action{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.ui-button-ghost,.view-tabs button{color:var(--muted);background:0 0;border-color:#0000}.ui-button-icon,.icon-button{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink)}.ui-button-danger,.confirm-actions button:first-of-type{background:var(--red);border-color:var(--red)}.top-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}button:disabled{cursor:not-allowed;opacity:.45}svg{width:16px;height:16px}.andon-strip{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid}.andon-title,.panel-title,.panel-title-row,.section-heading{align-items:center;gap:7px;display:flex}.andon-title,.panel-title{color:var(--muted-strong);min-width:0;font-size:13px;font-weight:800}.andon-title small{background:var(--amber-bg);color:var(--amber);text-transform:uppercase;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:900}.andon-alerts{gap:6px;min-width:0;padding-bottom:1px;display:flex;overflow-x:auto}.andon-alert,.andon-empty,.badge-list span,.assigned-list span{white-space:nowrap;border-radius:999px;gap:6px;padding:7px 8px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.andon-danger{background:var(--red-bg);color:var(--red);animation:1.6s infinite pulse-alert}.andon-warning{background:var(--amber-bg);color:var(--amber)}.andon-success,.andon-empty{background:var(--green-bg);color:var(--green)}@keyframes pulse-alert{50%{box-shadow:0 0 0 4px #b423181f}}.view-tabs{gap:6px;width:max-content;padding:5px;display:flex}.andon-alert{align-items:center;gap:6px}.andon-alert strong{background:color-mix(in srgb, currentColor 12%, transparent);text-transform:uppercase;border-radius:999px;padding:3px 5px;font-size:10px}.status-strip{border-left:4px solid var(--blue);color:var(--muted);padding:7px 10px;font-size:12px}.status-strip strong{color:var(--ink);font-size:12px}.view-tabs button.active{background:var(--blue-bg);color:var(--blue);border-color:#1d5fd14d}.ops-grid{flex:1;grid-template-columns:248px minmax(580px,1fr) 296px;gap:8px;min-height:0;display:grid;overflow:hidden}.left-rail,.right-rail,.hall-grid{flex-direction:column;gap:10px;min-width:0;display:flex}@media (width>=1181px){.left-rail,.right-rail{min-height:0;padding-right:2px;overflow-y:auto}}.panel,.kanban-area,.hall-panel{padding:9px}.panel-title{margin-bottom:7px;font-size:14px}.panel-title-row{justify-content:space-between;margin-bottom:8px}.panel-title-row .panel-title{margin-bottom:0}.panel-title-row button{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;border-radius:6px;min-height:28px;padding:5px 8px;font-size:11px;font-weight:800}.onboarding-panel{border-color:#0f8a5f4d}.onboarding-panel ol{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.onboarding-panel li{color:var(--muted);font-size:12px;line-height:1.35}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.client-list,.event-list,.dev-list,.candidate-list,.history-panel ol{flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.client-list div,.candidate-list article,.impact-row,.mvp-box{background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:6px;justify-content:space-between;align-items:center;padding:8px;display:flex}.client-list span,.candidate-list span,.mvp-box span{color:var(--muted);font-size:12px}.client-list .inactive{opacity:.5}.event-list{max-height:132px;padding-right:2px;list-style:none;overflow-y:auto}.event-groups{gap:8px;display:grid}.event-groups h3{color:var(--muted-strong);text-transform:uppercase;margin:0 0 5px;font-size:11px}.event-list li{background:var(--amber-bg);color:var(--amber);border-radius:6px;padding:8px;font-size:12px;line-height:1.35}.event-list-applied li{background:var(--blue-bg);color:var(--blue)}.kanban-area{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.section-heading{justify-content:space-between;margin-bottom:8px}.kanban-columns{flex:1;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;min-height:0;display:grid}.kanban-column{background:linear-gradient(180deg, var(--surface-2), var(--surface-3));border:1px solid var(--line);border-radius:8px;flex-direction:column;min-width:0;min-height:410px;padding:8px;transition:background-color .12s,border-color .12s,box-shadow .12s;display:flex}.kanban-column.drop-valid{background:var(--green-bg);border-color:#0f8a5f8c;box-shadow:inset 0 0 0 2px #0f8a5f29}.kanban-column.drop-invalid{background:var(--red-bg);border-color:#b4231873;box-shadow:inset 0 0 0 2px #b423181f}.kanban-column header{border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:7px}.kanban-column header div{justify-content:space-between;align-items:center;gap:8px;display:flex}.kanban-column header span{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 6px;font-size:11px;font-weight:800}.card-stack{flex-direction:column;gap:7px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.work-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:7px;flex-direction:column;gap:7px;padding:8px;transition:border-color .12s,box-shadow .12s,opacity .12s,transform .12s;display:flex}.work-card.selected{border-color:#1d5fd16b;box-shadow:0 0 0 2px #1d5fd147}.work-card[draggable=true]{cursor:grab}.work-card.dragging{border-color:var(--blue);opacity:.62;transform:scale(.985);box-shadow:0 10px 22px #1d5fd12e}.work-card.jidoka{border-left-color:var(--red)}.card-select{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;gap:3px;padding:0;display:flex}.card-select strong{font-size:13px;line-height:1.2}.card-select span,.card-meta,.assigned-list{color:var(--muted);font-size:11px}.card-type{color:var(--blue);text-transform:uppercase;font-weight:800}.progress-track{background:var(--surface-3);border-radius:999px;height:7px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--blue), var(--green));height:100%;display:block}.card-meta,.assigned-list{flex-wrap:wrap;justify-content:space-between;gap:5px;display:flex}.assigned-list span{background:var(--blue-bg);color:var(--blue)}.move-button{background:var(--surface);border-color:var(--line-strong);color:var(--ink);width:100%}.dev-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:5px;display:grid}.dev-select{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;border-radius:6px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:6px 7px;transition:border-color .12s,box-shadow .12s,transform .12s;display:grid}.dev-select:hover{border-color:var(--line-strong);transform:translateY(-1px)}.dev-row.selected .dev-select{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}.avatar{background:var(--blue-bg);border:2px solid var(--blue);color:var(--blue);letter-spacing:0;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:900;line-height:1;display:inline-flex}.spec-backend{background:var(--green-bg);border-color:var(--green);color:var(--green)}.spec-qa{background:var(--amber-bg);border-color:var(--amber);color:var(--amber)}.spec-po{background:color-mix(in srgb, var(--purple) 14%, var(--surface-2));border-color:var(--purple);color:var(--purple)}.dev-row strong,.candidate-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2;display:block;overflow:hidden}.dev-row small{text-overflow:ellipsis;white-space:nowrap;line-height:1.2;display:block;overflow:hidden}.dev-row .dev-warning{color:var(--amber);font-weight:800}.morale{background:var(--green-bg);color:var(--green);border:1px solid #0f8a5f33;border-radius:999px;justify-content:center;align-items:center;min-width:32px;padding:4px 6px;font-size:11px;font-weight:900;display:inline-flex}.morale.low{background:var(--red-bg);color:var(--red)}.tiny-action,.candidate-list button,.kaizen-grid button{padding-inline:8px}.dev-row .tiny-action{background:var(--surface);border-color:var(--line-strong);color:var(--ink);align-self:center;min-width:62px;min-height:28px;padding:5px 8px;font-size:11px}.dev-row .tiny-action.remove-action{background:var(--red-bg);color:var(--red);border-color:#b4231847}.candidate-list article{align-items:center;gap:8px;min-width:0}.candidate-avatar{background:var(--surface-2);border:1px solid var(--line-strong);color:var(--ink);text-transform:uppercase;border-radius:999px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:900;display:inline-flex}.candidate-list small{color:var(--muted);font-size:11px;line-height:1.2;display:block}.candidate-identity{min-width:0}.candidate-meta{flex-wrap:wrap;gap:2px 6px;min-width:0;line-height:1.2;display:flex}.candidate-meta span{white-space:nowrap}.candidate-list button{background:var(--green);border-color:var(--green);white-space:nowrap;flex:none}.kaizen-panel p{margin-bottom:8px}.kaizen-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.kaizen-grid button{background:var(--surface);border-color:var(--line-strong);color:var(--ink);flex-direction:column;gap:1px;min-height:34px}.kaizen-grid button small{color:var(--muted);font-size:10px;font-weight:800;line-height:1}.kaizen-grid button.active{background:var(--green-bg);color:var(--green);border-color:#0f8a5f66}.kaizen-grid button.active small{color:var(--green)}.primary-action{background:var(--blue);border-color:var(--blue);min-width:150px}.secondary-action{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.onboarding-backdrop{z-index:20;background:#060a108f;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.onboarding-dialog{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;flex-direction:column;width:min(860px,100%);max-width:860px;max-height:min(760px,100vh - 32px);display:flex;overflow:hidden;box-shadow:0 24px 60px #00000052}.onboarding-header,.onboarding-footer{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.onboarding-header{border-bottom:1px solid var(--line)}.onboarding-header h2{font-size:20px;line-height:1.2}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.onboarding-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 16px;display:grid;overflow-y:auto}.tutorial-section{background:var(--surface);border:1px solid var(--line);border-radius:7px;min-width:0;padding:10px}.tutorial-victory{background:var(--green-bg);border-color:#0f8a5f47;grid-column:1/-1}.tutorial-victory h3{color:var(--green)}.tutorial-victory p+p{margin-top:6px}.tutorial-section h3{align-items:center;gap:7px;margin:0 0 6px;font-size:13px;display:flex}.tutorial-section p{color:var(--muted);font-size:12px;line-height:1.45}.onboarding-footer{background:var(--surface-2);border-top:1px solid var(--line)}.onboarding-footer p{color:var(--muted);font-size:12px;line-height:1.4}.confirm-actions{align-items:center;gap:8px;display:flex}.confirm-sprint{place-items:stretch end;gap:6px;max-width:min(420px,48vw);display:grid}.top-actions .confirm-actions{gap:6px}.confirm-actions button:first-of-type{background:var(--red);border-color:var(--red)}.confirm-actions button:last-of-type{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.sprint-risk-summary{background:var(--surface-2);border:1px solid var(--line-strong);border-left:4px solid var(--amber);color:var(--muted);text-align:left;border-radius:7px;width:100%;padding:7px 8px;font-size:11px;line-height:1.3}.sprint-risk-summary strong{color:var(--ink);text-transform:uppercase;margin-bottom:4px;font-size:11px;display:block}.sprint-risk-summary ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sprint-risk-summary p{margin-top:5px;font-size:11px;line-height:1.3}.sprint-risk{overflow-wrap:anywhere;border-radius:5px;padding:4px 6px;font-weight:750}.sprint-risk-danger{background:var(--red-bg);color:var(--red)}.sprint-risk-warning{background:var(--amber-bg);color:var(--amber)}.sprint-risk-info{background:var(--blue-bg);color:var(--blue)}.hall-panel{flex:1}.hall-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.hall-header div{align-items:center;gap:10px;display:flex}.hall-header>div>svg{color:var(--amber);width:32px;height:32px}.hall-header button{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink)}.hall-header button svg{color:currentColor;width:16px;height:16px}.hall-header h2{font-size:24px}.hall-scoreboard{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.hall-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.impact-row,.mvp-box{margin-top:6px}.badge-list{flex-wrap:wrap;gap:6px;display:flex}.badge-list span{background:var(--blue-bg);color:var(--blue)}.history-panel ol{max-height:150px;padding-right:2px;list-style:none;overflow-y:auto}.history-panel li{grid-template-columns:32px 1fr;gap:6px;display:grid}.history-panel li span{color:var(--muted);font-size:11px;font-weight:800}.history-panel li p{font-size:12px;line-height:1.35}@media (width<=1180px){.top-bar{grid-template-columns:1fr}.top-actions{justify-content:flex-start}.ops-grid{grid-template-columns:1fr}.left-rail,.right-rail{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.kanban-columns{overflow-x:auto}.kanban-column{min-width:210px}}@media (width<=760px){.factory-app{padding:6px}.kpi-strip,.hall-scoreboard,.hall-grid,.left-rail,.right-rail{grid-template-columns:1fr}.andon-strip,.hall-header{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.confirm-actions{flex-direction:column;align-items:stretch}.confirm-sprint{width:100%;max-width:none}.top-actions{flex-direction:column;align-items:stretch}.top-actions .primary-action,.top-actions .icon-button{width:100%}.onboarding-backdrop{align-items:stretch;padding:8px}.onboarding-body{grid-template-columns:1fr}.onboarding-header,.onboarding-footer{flex-direction:column;align-items:stretch}.onboarding-footer .primary-action,.onboarding-header .secondary-action{width:100%}}@media (width>=1181px) and (height<=760px){.top-bar{padding-block:7px}.brand-mark{flex-basis:38px;height:38px}.panel,.kanban-area{padding:8px}.panel-title{margin-bottom:6px}.kanban-column{min-height:0}.history-panel ol{max-height:118px}.event-list{max-height:108px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.andon-danger{animation:none;box-shadow:inset 0 0 0 2px #b423182e}.ui-button:hover:not(:disabled),.primary-action:hover:not(:disabled),.secondary-action:hover:not(:disabled),.view-tabs button:hover:not(:disabled),.move-button:hover:not(:disabled),.tiny-action:hover:not(:disabled),.candidate-list button:hover:not(:disabled),.kaizen-grid button:hover:not(:disabled),.hall-header button:hover:not(:disabled),.dev-select:hover,.work-card.dragging{transform:none}}
