:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7f8;color:#172026;--panel: #ffffff;--line: #d8dee4;--muted: #64727d;--ink-soft: #33424d;--ok: #12805c;--info: #2f6fed;--warning: #b7791f;--critical: #c92a2a;--ready: #126e82;--shadow: 0 12px 28px rgba(23, 32, 38, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f5f7f8}:root[data-theme=dark]{color-scheme:dark;background:#12171b;color:#edf2f5;--panel: #1b2329;--line: #33414a;--muted: #9cacb7;--ink-soft: #d4dde3;--shadow: 0 12px 28px rgba(0, 0, 0, .24)}:root[data-theme=dark] body{background:#12171b}:root[data-theme=dark] .panel,:root[data-theme=dark] .mini-filter,:root[data-theme=dark] .material-item,:root[data-theme=dark] .stage-checks li,:root[data-theme=dark] .operator-form input,:root[data-theme=dark] .operator-form select{background:#1b2329}:root[data-theme=dark] .stage-card.is-skipped,:root[data-theme=dark] .material-section>h3,:root[data-theme=dark] .rail-item,:root[data-theme=dark] .material-item.material-idle{background:#202a31;color:#edf2f5}:root[data-theme=dark] .cost-pill{background:#172e35;border-color:#2b6170;color:#b8edf5}button{font:inherit}.shell{width:min(1440px,calc(100vw - 32px));margin:0 auto;padding:20px 0 36px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 0 16px}.eyebrow,.panel-kicker{margin:0 0 4px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0}h1{margin:0;font-size:28px;line-height:1.15;letter-spacing:0}.hero-meta{margin:7px 0 0;color:var(--muted);font-size:13px;font-weight:700}.hero-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}h2{margin:0;font-size:17px;line-height:1.3;letter-spacing:0}p{line-height:1.5}.top-actions{display:flex;align-items:center;gap:10px}.brand-actions{justify-content:flex-end;min-width:min(260px,32vw)}.brand-logo{width:min(240px,28vw);height:58px;object-fit:contain;object-position:right center}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink-soft);cursor:pointer}.icon-button:hover{border-color:#9aa7b2}.meta-pill,.owner-chip,.state{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:7px;font-size:12px;font-weight:800;text-transform:uppercase;border:1px solid transparent}.owner-chip{background:#eef3f7;color:#273640;border-color:#d5dde5}.notice{margin-bottom:14px;padding:12px 14px;border-radius:8px;background:#fff;border:1px solid var(--line);font-weight:700}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.control-bar{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;box-shadow:0 8px 20px #1720260d}.control-bar p{margin:0;color:var(--ink-soft);font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.mini-player-filter{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.cost-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #b9dce6;border-radius:7px;background:#effafd;color:#126e82;font-size:12px;font-weight:900;white-space:nowrap}.mini-filter{min-height:30px;border:1px solid var(--line);border-radius:7px;background:#fbfcfd;color:var(--ink-soft);padding:0 9px;font-size:12px;font-weight:900;cursor:pointer}.mini-filter small{color:inherit;opacity:.72}.mini-filter.active{box-shadow:inset 0 0 0 2px currentColor;background:#fff}.process-section{margin-bottom:14px}.section-head.flush{padding-left:0;padding-right:0}.stage-board{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px}.stage-card{min-height:218px;display:flex;flex-direction:column;gap:12px;padding:14px;border-top-width:5px;box-shadow:0 8px 20px #1720260f}.stage-card header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.stage-card header .player-chips{justify-content:flex-end;margin-top:0}.stage-card h2{font-size:18px}.stage-card p{margin:0;color:var(--ink-soft);font-size:13px}.time-note{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:800}.stage-card.is-skipped{border-style:dashed;background:#f8fafb}.stage-checks{list-style:none;display:grid;grid-template-rows:repeat(3,minmax(46px,1fr));gap:7px;padding:0;margin:auto 0 0}.stage-checks li{min-height:46px;display:grid;grid-template-columns:20px minmax(0,1fr);gap:3px 7px;align-items:start;padding:5px 7px;color:var(--ink-soft);font-size:12px;background:#eef3f785}.stage-checks li small{grid-column:2;margin:0;min-height:15px}.stage-checks li small.empty-time{visibility:hidden}.stage-checks span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#eef3f7;color:var(--muted);font-weight:900}.stage-checks .state-ready span,.stage-checks .state-uploaded span{background:#e9f7f1;color:var(--ok)}.stage-checks .state-waiting span{background:#fff8e8;color:var(--warning)}.stage-checks .state-blocked span,.stage-checks .state-failed span{background:#fff0f0;color:var(--critical)}.ops-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.32fr);gap:14px;align-items:start}.ops-main{display:grid;gap:14px;min-width:0}.ops-rail{display:grid;gap:14px;position:sticky;top:12px;align-self:start}.stage-detail{padding:16px;border-left-width:5px}.stage-detail p{margin:8px 0 0;color:var(--ink-soft)}.detail-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.detail-split div{display:grid;gap:5px;padding:10px;border:1px solid #e6ebef;border-radius:7px;background:#fbfcfd}.detail-split strong{font-size:12px;color:var(--muted)}.detail-split small{color:var(--muted);overflow-wrap:anywhere}.materials-board{overflow:hidden}.materials-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 14px 14px}.material-sections{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.material-section{display:grid;gap:10px;min-width:0}.material-section>h3{margin:0;padding:9px 10px;border:1px solid #e4e9ed;border-radius:8px;background:#f2f6f8;color:#172026;font-size:15px}.material-section-groups{display:grid;gap:10px}.material-group{display:grid;gap:8px;min-width:0}.material-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 2px}.material-group-head h4{margin:0;font-size:13px;color:var(--ink-soft)}.material-group-head span{color:var(--muted);font-size:11px;font-weight:900;white-space:nowrap}.material-list{display:grid;gap:8px}.material-item{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:start;padding:10px 62px 10px 10px;min-height:92px;border:1px solid #e4e9ed;border-left-width:4px;border-radius:8px;background:#fbfcfd}.material-item .player-chips{margin-top:6px;gap:4px}.material-item .player-chips.compact{max-width:100%}.material-item .player-chip{min-height:20px;padding:0 6px;font-size:10px}.material-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#eef3f7;color:var(--muted);font-weight:900}.material-item strong{display:block;min-width:0;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.material-item small{display:block;min-width:0;margin-top:3px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.material-item.material-idle{border-color:#e4e9ed;background:#fbfcfd}.material-item.material-idle .material-icon{background:#eef3f7;color:var(--muted)}.material-item.material-late{border-color:#f2bcbc;background:#fff8f8}.material-item.material-late .material-icon{background:#fff0f0;color:var(--critical)}.material-item.material-running{border-color:#efd9a9;background:#fffaf0}.material-item.material-running .material-icon{background:#fff4d6;color:var(--warning)}.material-item.material-done{border-color:#bfe8d8;background:#f4fbf8}.material-item.material-done .material-icon{background:#e9f7f1;color:var(--ok)}.material-item.state-skipped{border-style:dashed}.rail-card{padding:14px}.rail-card p{margin:8px 0 0;color:var(--muted);font-size:13px}.rail-card .section-head{padding:0 0 10px}.section-head.compact h2{font-size:15px}.rail-list{display:grid;gap:7px}.rail-item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;align-items:start;padding:8px;border:1px solid #edf0f2;border-radius:7px;background:#fbfcfd}.rail-item time{color:var(--muted);font-size:12px;font-weight:900}.rail-item strong{font-size:12px;line-height:1.35}.ops-rail .player-panel{grid-template-columns:1fr;margin:0}.ops-rail .player-filter{grid-template-columns:1fr}.ops-rail .warning-panel .section-head{padding-top:12px}.today-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-bottom:14px}.today-strip h2{font-size:16px;color:var(--ink-soft)}.today-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.secondary-button.compact{min-height:32px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:7px;background:#fbfcfd;color:var(--ink-soft);padding:0 10px;font-size:12px;font-weight:900;text-decoration:none;cursor:pointer}.secondary-button.compact:hover{border-color:#9aa7b2}.link-button{white-space:nowrap}.ops-summary-grid{display:grid;grid-template-columns:minmax(260px,1.25fr) repeat(4,minmax(190px,.75fr));gap:14px;margin-bottom:14px}.ops-card{min-height:156px;padding:16px;border-left-width:5px}.ops-card h2{font-size:18px}.ops-card p{margin:8px 0 0;color:var(--muted)}.ops-card.primary h2{font-size:20px}.freshness-card dl{display:grid;gap:8px;margin:10px 0 0}.freshness-card dl div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid #edf0f2}.freshness-card dd{text-align:right}.handoff-board{margin-top:14px}.handoff-list{display:grid;gap:8px;padding:0 14px 14px}.handoff-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid #e4e9ed;border-left-width:4px;border-radius:8px;background:#fbfcfd}.handoff-item strong{font-size:14px}.handoff-item p{margin:4px 0 0;color:var(--muted);font-size:13px}.empty-handoff{padding:0 14px 14px}.details-panel{margin-top:14px;overflow:hidden}.details-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:0;background:#fbfcfd;color:inherit;text-align:left;cursor:pointer}.details-toggle strong{display:block;font-size:15px}.details-toggle small{display:block;margin-top:3px;color:var(--muted)}.details-toggle em{flex:0 0 auto;min-width:54px;padding:6px 9px;border:1px solid var(--line);border-radius:7px;color:var(--ink-soft);font-style:normal;font-size:12px;font-weight:900;text-align:center}.details-panel.open{padding-bottom:14px}.details-panel.open>.operator-panel{margin:0 14px 14px;box-shadow:none}.details-panel.open>.phase-line,.details-panel.open>.lanes,.details-panel.open>.lower-grid,.details-panel.open>.file-panel,.details-panel.open>.raw-panel{margin-left:14px;margin-right:14px}.status-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:14px;margin-bottom:14px}.next-action{display:flex;justify-content:space-between;gap:20px;padding:18px;border-left-width:5px}.next-action p:last-child{margin-bottom:0;color:var(--muted)}.broadcast-card{padding:18px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 14px}.facts div{border-top:1px solid #edf0f2;padding-top:8px}dt{color:var(--muted);font-size:12px;font-weight:700}dd{margin:2px 0 0;color:var(--ink-soft);font-weight:800}.source-link{display:inline-flex;color:#0b5cad;font-weight:800;text-decoration:none}.operator-panel{margin:-2px 0 14px;overflow:hidden}.operator-summary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.operator-summary strong{display:block;font-size:15px}.operator-summary small{display:block;margin-top:3px;color:var(--muted);overflow-wrap:anywhere}.operator-summary em{flex:0 0 auto;min-width:54px;padding:6px 9px;border:1px solid var(--line);border-radius:7px;color:var(--ink-soft);font-style:normal;font-size:12px;font-weight:900;text-align:center;text-transform:uppercase}.operator-panel.open{border-color:#b7c4ce}.operator-form{display:grid;gap:12px;padding:0 16px 16px;border-top:1px solid #edf0f2}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.operator-form label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:800}.operator-form input,.operator-form select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:7px;padding:7px 9px;background:#fbfcfd;color:#172026;font:inherit;font-size:13px}.operator-form input:focus,.operator-form select:focus{outline:2px solid #b9d0ff;border-color:var(--info)}.wide-label{grid-column:1 / -1}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.check-control{display:inline-flex!important;grid-template-columns:auto 1fr;align-items:center;gap:8px!important;color:var(--ink-soft)!important}.check-control input{width:16px;min-height:16px}.primary-button{min-height:40px;border:1px solid #1d5fd4;border-radius:7px;background:#2f6fed;color:#fff;padding:0 14px;font-weight:900;cursor:pointer}.primary-button:disabled{cursor:wait;opacity:.62}.form-message{padding:10px 12px;border-radius:7px;border:1px solid var(--line);font-size:13px;font-weight:800}.form-message.ok{background:#e9f7f1;color:var(--ok);border-color:#bfe8d8}.form-message.warning{background:#fff8e8;color:var(--warning);border-color:#efd9a9}.form-message.critical{background:#fff0f0;color:var(--critical);border-color:#f2bcbc}.player-panel{display:grid;grid-template-columns:minmax(220px,.45fr) minmax(0,1fr);gap:14px;align-items:center;padding:16px;margin:0 0 14px}.player-filter{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.player-button{min-height:54px;display:grid;gap:2px;justify-items:start;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;color:var(--ink-soft);padding:9px 10px;cursor:pointer;text-align:left}.player-button strong{font-size:13px;line-height:1.2}.player-button small{color:var(--muted);font-size:11px;font-weight:800}.player-button.active{box-shadow:inset 0 0 0 2px currentColor;background:#fff}.player-blue{color:#1d5fd4;border-color:#c8dafc;background:#f4f8ff}.player-green{color:#12805c;border-color:#bfe8d8;background:#f2fbf7}.player-orange{color:#b7791f;border-color:#efd9a9;background:#fffaf0}.player-purple{color:#7650c7;border-color:#dacdf8;background:#f8f5ff}.player-button.all{color:#33424d}.role-timeline-panel{margin:0 0 14px}.role-timeline{display:grid;gap:8px;padding:0 14px 14px}.timeline-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:12px;border:1px solid #e4e9ed;border-left-width:4px;border-radius:8px;background:#fbfcfd}.timeline-item time{color:var(--ink-soft);font-size:13px;font-weight:900}.timeline-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.timeline-title-row strong{font-size:14px;line-height:1.35}.timeline-item p{margin:5px 0 0;color:var(--muted);font-size:13px}.player-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.player-chip{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border:1px solid currentColor;border-radius:7px;font-size:11px;font-weight:900;background:#fff}.timeline-empty{padding:8px 0 2px}.phase-line{display:grid;grid-template-columns:repeat(6,1fr);align-items:center;gap:8px;margin:0 0 14px}.phase{position:relative;display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:12px;font-weight:800}.phase:after{content:"";height:3px;flex:1;background:#dfe5ea;border-radius:999px}.phase span{width:12px;height:12px;flex:0 0 auto;border-radius:50%;background:#cad3db}.phase.done,.phase.active{color:#172026}.phase.done span,.phase.done:after{background:var(--ok)}.phase.active span{background:var(--info)}.lanes{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;align-items:stretch}.lane{padding:14px;min-height:360px;display:flex;flex-direction:column;gap:12px;border-top-width:4px}.lane-head{display:flex;flex-direction:column;gap:12px}.lane-head p{min-height:44px;margin:6px 0 0;color:var(--muted);font-size:13px}.metric-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric-row div{min-height:58px;padding:9px;border:1px solid #e6ebef;border-radius:7px;background:#f9fafb}.metric-row span{display:block;color:var(--muted);font-size:11px;font-weight:700}.metric-row strong{display:block;margin-top:4px;color:#172026;font-size:16px;overflow-wrap:anywhere}.checklist{list-style:none;padding:0;margin:0;display:grid;gap:9px}.checklist li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:start}.checklist strong{display:block;font-size:13px;line-height:1.35}.checklist small{display:block;margin-top:2px;color:var(--muted);overflow-wrap:anywhere}.checklist em{color:var(--muted);font-size:11px;font-style:normal;font-weight:800;text-transform:uppercase}.dot{width:9px;height:9px;margin-top:4px;border-radius:50%;background:var(--info)}.lower-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:14px;margin-top:14px}.lower-grid.secondary{grid-template-columns:minmax(320px,.9fr) minmax(0,1.5fr)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 10px}.section-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.section-head span{color:var(--muted);font-weight:900}.table-wrap{overflow-x:auto;padding:0 14px 14px}table{width:100%;border-collapse:collapse;min-width:640px}th{color:var(--muted);font-size:12px;text-align:left;border-bottom:1px solid var(--line);padding:8px}td{border-bottom:1px solid #edf0f2;padding:10px 8px;vertical-align:top;font-size:13px}td strong{display:block;overflow-wrap:anywhere}td small{display:block;margin-top:3px;overflow-wrap:anywhere}.file-meta{color:var(--muted)}.file-path{color:#52616c;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.file-warning{color:var(--warning)}.table-action{display:inline-flex;align-items:center;justify-content:center;min-height:28px;max-width:54px;padding:0 8px;border:1px solid #c8dafc;border-radius:7px;background:#edf4ff;color:#1d5fd4;font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-item>.table-action{position:absolute;top:10px;right:10px}.inline-link{color:#1d5fd4;font-weight:800;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.inline-link:hover{color:#174aa6}.table-action.muted{background:#f6f8fa;border-color:var(--line);color:var(--muted)}.empty-row{color:var(--muted);text-align:center}.feed{display:grid;gap:8px;padding:0 14px 14px}.feed.compact{max-height:320px;overflow:auto}.feed-item{border:1px solid #e4e9ed;border-left-width:4px;border-radius:7px;padding:10px;background:#fbfcfd}.feed-item strong{display:block;font-size:13px;line-height:1.35}.feed-item p{margin:5px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.feed-item small{display:block;margin-top:4px;color:var(--muted)}.feed-item.acknowledged{background:#f8fafb}.warning-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ack-button{min-height:28px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink-soft);padding:0 9px;font-size:12px;font-weight:900;cursor:pointer}.ack-button:hover{border-color:#9aa7b2}.ack-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:7px;background:#e9f7f1;color:var(--ok);border:1px solid #bfe8d8;font-size:11px;font-weight:900;text-transform:uppercase}.quiet{margin:0;color:var(--muted)}.raw-panel{margin-top:14px;padding:14px}.raw-toggle{border:1px solid var(--line);border-radius:7px;background:#f8fafb;padding:8px 10px;font-weight:800;cursor:pointer}pre{max-height:560px;overflow:auto;margin:12px 0 0;padding:14px;border-radius:8px;background:#101820;color:#e7edf2;font-size:12px;line-height:1.5}.empty-state{padding:24px}.empty-state p{color:var(--muted)}.severity-ok{border-color:var(--ok)}.severity-info{border-color:var(--info)}.severity-warning{border-color:var(--warning)}.severity-critical{border-color:var(--critical)}.meta-pill.severity-ok,.state-ready,.state-uploaded{background:#e9f7f1;color:var(--ok);border-color:#bfe8d8}.meta-pill.severity-info,.state-running{background:#edf4ff;color:var(--info);border-color:#c8dafc}.meta-pill.severity-warning,.state-waiting,.state-skipped{background:#fff8e8;color:var(--warning);border-color:#efd9a9}.meta-pill.severity-critical,.state-blocked,.state-failed{background:#fff0f0;color:var(--critical);border-color:#f2bcbc}.dot.severity-ok{background:var(--ok)}.dot.severity-info{background:var(--info)}.dot.severity-warning{background:var(--warning)}.dot.severity-critical{background:var(--critical)}.home-shell{max-width:1120px}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:28px 0 18px}.home-hero h1{max-width:760px;font-size:28px}.home-hero p:not(.eyebrow){max-width:720px;margin:10px 0 0;color:var(--muted)}.home-picker.compact{display:grid;gap:14px;padding:14px;margin-bottom:14px}.home-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-section-head h2{font-size:18px}.reassembly-picker{border-left:5px solid var(--ready);box-shadow:0 8px 20px #1720260d}.live-hub{display:grid;gap:14px;padding:16px;margin-bottom:14px;border-left:5px solid var(--info)}.live-hub.is-offline{border-left-color:var(--critical)}.live-hub-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}.live-hub-head p:not(.panel-kicker){margin:6px 0 0;color:var(--muted);font-size:13px;font-weight:700;overflow-wrap:anywhere}.live-status-stack{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.live-error{padding:10px 12px;border:1px solid #f2bcbc;border-radius:7px;background:#fff0f0;color:var(--critical);font-size:13px;font-weight:800;overflow-wrap:anywhere}.live-warning{padding:10px 12px;border:1px solid #efd9a9;border-radius:7px;background:#fffaf0;color:var(--warning);font-size:13px;font-weight:800;overflow-wrap:anywhere}.live-command-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.live-command{min-height:78px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 9px;align-content:center;align-items:center;padding:12px;border:1px solid #c8dafc;border-radius:8px;background:#f4f8ff;color:#1d5fd4;text-decoration:none}.live-command span{grid-row:1 / span 2;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#2f6fed;color:#fff;font-size:13px;font-weight:900}.live-command strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172026;font-size:15px}.live-command small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;font-weight:800}.live-command em{grid-column:3;grid-row:1 / span 2;align-self:center;min-width:42px;padding:5px 8px;border:1px solid #c8dafc;border-radius:7px;background:#fff;color:#1d5fd4;font-size:11px;font-style:normal;font-weight:900;text-align:center}.live-command:hover{border-color:#8fb5fb;background:#eaf2ff}.live-command:hover em{border-color:#8fb5fb;background:#edf4ff}.live-health-checklist{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.live-health-item{min-width:0;min-height:66px;display:grid;align-content:center;gap:3px;padding:9px 10px;border:1px solid #d5dde5;border-radius:8px;background:#fbfcfd}.live-health-item span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.live-health-item strong{min-width:0;color:var(--ink-soft);font-size:16px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-health-item small{min-width:0;color:var(--muted);font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-health-item.severity-ok{background:#e9f7f1;border-color:#bfe8d8}.live-health-item.severity-warning{background:#fff8e8;border-color:#efd9a9}.live-health-item.severity-critical{background:#fff0f0;border-color:#f2bcbc}.live-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.live-metrics div{min-height:76px;padding:10px;border:1px solid #e6ebef;border-radius:7px;background:#fbfcfd}.live-metrics span,.live-language p{display:block;color:var(--muted);font-size:12px;font-weight:800}.live-metrics strong{display:block;margin-top:4px;color:var(--ink-soft);font-size:20px;line-height:1.2}.live-metrics small{display:block;margin-top:4px;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #c8dafc;border-radius:7px;background:#edf4ff;color:#1d5fd4;padding:0 12px;font-size:13px;font-weight:900;text-decoration:none;text-align:center}.live-link:hover{border-color:#8fb5fb;background:#e2eeff}.live-link.compact{min-height:30px;padding:0 9px;font-size:12px}.live-link.primary{background:#2f6fed;border-color:#2f6fed;color:#fff}.live-link.primary:hover{background:#1d5fd4;border-color:#1d5fd4}.live-default-feed{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:10px;align-items:end;padding:0 10px 2px}.live-default-feed label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:900}.live-default-feed select{min-height:34px;border:1px solid var(--line);border-radius:7px;background:#fbfcfd;color:var(--ink-soft);padding:0 9px;font:inherit;font-weight:800}.live-default-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.live-language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.live-language{display:grid;gap:9px;padding:10px;border:1px solid #e4e9ed;border-radius:8px;background:#fbfcfd}.live-language header{display:flex;align-items:center;justify-content:space-between;gap:8px}.live-language header strong{font-size:15px}.live-language p{margin:0}.live-language div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.live-feed-panel{display:grid;gap:10px;padding:0;border:1px solid #e4e9ed;border-radius:8px;background:#fbfcfd;overflow:hidden}.live-feed-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;color:var(--ink-soft);font-size:14px;font-weight:900;cursor:pointer;list-style:none}.live-feed-panel summary::-webkit-details-marker{display:none}.live-feed-panel summary:after{content:"열기";min-width:42px;color:var(--muted);font-size:12px;text-align:right}.live-feed-panel[open] summary:after{content:"닫기"}.live-feed-panel summary span{color:var(--muted);font-size:12px;font-weight:800}.live-feed-matrix{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.live-feed-row{display:grid;gap:8px;padding:10px;border:1px solid #e4e9ed;border-radius:8px;background:#fbfcfd}.live-feed-row header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.live-feed-row header strong{font-size:15px}.live-feed-row header span,.live-feed-row small{color:var(--muted);font-size:12px;font-weight:800}.live-feed-row div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.live-client-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.client-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 7px;border:1px solid #d5dde5;border-radius:6px;background:#eef3f7;color:var(--ink-soft);font-size:11px;font-weight:900;white-space:nowrap}.client-badge.severity-ok{background:#e9f7f1;color:var(--ok);border-color:#bfe8d8}.client-badge.severity-warning{background:#fff8e8;color:var(--warning);border-color:#efd9a9}.client-badge.severity-critical{background:#fff0f0;color:var(--critical);border-color:#f2bcbc}.live-feed-panel .live-feed-matrix{padding:0 10px 10px}:root[data-theme=dark] .live-metrics div,:root[data-theme=dark] .live-language,:root[data-theme=dark] .live-feed-row,:root[data-theme=dark] .live-feed-panel{background:#202a31;border-color:#33414a}:root[data-theme=dark] .client-badge{background:#202a31;border-color:#33414a}:root[data-theme=dark] .live-health-item{background:#202a31;border-color:#33414a}:root[data-theme=dark] .live-health-item.severity-ok{background:#12351f;border-color:#2f6f45}:root[data-theme=dark] .live-health-item.severity-warning{background:#3b3013;border-color:#7a6120}:root[data-theme=dark] .live-health-item.severity-critical{background:#3c1515;border-color:#7a2b2b}:root[data-theme=dark] .live-command{background:#172331;border-color:#345172}:root[data-theme=dark] .live-command strong{color:#edf2f5}:root[data-theme=dark] .live-command em{background:#202a31;border-color:#345172}:root[data-theme=dark] .live-default-feed select{background:#202a31;border-color:#33414a;color:#edf2f5}:root[data-theme=dark] .live-error{background:#3c1515;border-color:#7a2b2b;color:#ffcbc7}:root[data-theme=dark] .live-warning{background:#392a12;border-color:#72531e;color:#ffe0a8}.home-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.home-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.home-filter{min-height:34px;border:1px solid var(--line);border-radius:7px;background:#fbfcfd;color:var(--ink-soft);padding:0 12px;font-size:13px;font-weight:900;cursor:pointer}.home-filter.active{box-shadow:inset 0 0 0 2px currentColor;background:#fff}.picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.picker-row select{width:100%;min-height:40px;border:1px solid var(--line);border-radius:7px;background:#fbfcfd;color:#172026;padding:7px 9px;font:inherit;font-weight:700}.secondary-button{min-height:40px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink-soft);padding:0 14px;font-weight:900;cursor:pointer}.secondary-button:hover{border-color:#9aa7b2}@media(max-width:1180px){.stage-board{grid-template-columns:repeat(2,minmax(260px,1fr))}.ops-workspace{grid-template-columns:1fr}.ops-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.lanes{grid-template-columns:repeat(2,minmax(260px,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.control-bar{grid-template-columns:1fr;align-items:start;padding:9px;gap:9px}.control-bar p{white-space:normal;font-size:12px;line-height:1.45}.control-actions{align-items:stretch;justify-content:flex-start;flex-direction:column;gap:8px}.mini-player-filter{justify-content:flex-start;gap:5px}.cost-pill{justify-content:center;width:100%;min-height:28px;font-size:11px}.mini-filter{min-height:28px;padding:0 8px;font-size:11px}.mini-filter small{display:none}.shell{width:min(100vw - 20px,720px);padding-top:12px}.stage-board,.materials-columns,.detail-split,.ops-rail{grid-template-columns:1fr}.stage-card{min-height:0;padding:12px;gap:9px}.stage-card header .player-chips{display:none}.stage-checks{grid-template-rows:none;gap:5px}.stage-checks li{min-height:38px;padding:5px 7px}.material-item{min-height:96px;padding:10px 86px 44px 10px}.material-item .player-chips{position:absolute;top:10px;right:10px;display:flex;justify-content:flex-end;max-width:76px;margin-top:0}.material-item .player-chip{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-item>.table-action{top:auto;right:10px;bottom:10px;max-width:72px}.material-section>h3{font-size:14px;padding:8px 9px}.material-group-head h4{font-size:12px}.topbar,.status-grid,.ops-summary-grid,.player-panel,.lower-grid,.lower-grid.secondary{grid-template-columns:1fr;display:grid}.topbar,.today-strip{align-items:start;flex-direction:column}.today-actions{justify-content:flex-start}.lanes,.player-filter,.handoff-item{grid-template-columns:1fr}.phase-line{grid-template-columns:repeat(3,1fr);row-gap:12px}h1{font-size:22px;overflow-wrap:anywhere}.facts,.form-grid{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}.primary-button{width:100%}.home-hero,.home-picker,.picker-row,.live-hub-head,.live-command-grid,.live-health-checklist,.live-default-feed,.live-default-links,.live-metrics,.live-language-grid,.live-feed-matrix{grid-template-columns:1fr}.home-section-head{align-items:flex-start;flex-direction:column}.live-status-stack{justify-content:flex-start}.home-hero{align-items:start}.home-primary{width:100%}}
