/* Phase 2 Executive Command Center. Synced to the Digital Twin workspace contract. */
body{--ecc-canvas:#f4f7fb;--ecc-surface:#fff;--ecc-ink:#10233f;--ecc-muted:#60738f;--ecc-line:#d9e3ef;--ecc-blue:#146ef5;--ecc-green:#16845b;--ecc-amber:#b86e0b;--ecc-red:#c53b47;background:var(--ecc-canvas)!important;color:var(--ecc-ink);font-size:12px}
body .shell{width:calc(100% - 286px);max-width:none;margin:0 12px 0 274px;padding:0 0 40px}body .hero{padding:18px 24px;border:0;border-bottom:1px solid var(--ecc-line);border-radius:0;background:#fff;box-shadow:none}body .tabs-row,body .topbar{display:none}body .demo-sidebar{inset:0 auto 0 0;width:262px;border:0;border-radius:0;padding:18px 14px;background:#071b37!important;box-shadow:8px 0 28px rgba(20,38,68,.08)}body .demo-sidebar-nav{gap:3px}body .demo-sidebar-link{padding:9px 10px;border:0;border-radius:8px;background:transparent}body .demo-sidebar-link strong{font-size:12px;font-weight:650}body .demo-sidebar-link.active{background:var(--ecc-blue)!important;box-shadow:inset 3px 0 0 #8fc1ff!important}
.ecc-header{display:flex;align-items:center;gap:12px}.ecc-menu{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--ecc-line);border-radius:9px;background:#fff;color:var(--ecc-ink)}.ecc-menu svg,.ecc-date svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ecc-header h1{margin:0;font-size:23px;letter-spacing:-.025em}.ecc-header p{margin:3px 0 0;color:var(--ecc-muted);font-size:12px}.ecc-header-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.ecc-date,.ecc-unit{min-height:34px;padding:0 10px;border:1px solid var(--ecc-line);border-radius:8px;display:flex;align-items:center;gap:7px;color:#29415f}.ecc-unit{cursor:default}.ecc-profile{display:flex;align-items:center;gap:7px;color:var(--ecc-ink);text-decoration:none}.ecc-profile small{display:block;color:var(--ecc-muted);font-size:11px}.ecc-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#163b68;color:#fff;font-weight:800}
.ecc-page{display:grid;width:100%;max-width:100%;min-width:0;gap:13px;padding:14px;container:executive-workspace / inline-size;font-size:12.5px;line-height:1.45}.ecc-surface{min-width:0;max-width:100%;border:1px solid var(--ecc-line);border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(20,45,80,.045);overflow:hidden;container:ecc-surface / inline-size}.ecc-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--ecc-line)}.ecc-section-header h2,.ecc-ai h2{margin:2px 0 0;font-size:14px}.ecc-section-header p{margin:3px 0 0;color:var(--ecc-muted);font-size:12px}.ecc-section-header a,.ecc-header-actions a{color:var(--ecc-blue);font-size:11.5px;font-weight:750;text-decoration:none}.ecc-eyebrow{color:#52708f;font-size:11px;font-weight:850;letter-spacing:.09em}.ecc-eyebrow.danger{color:var(--ecc-red)}
.ecc-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.ecc-kpi{position:relative;min-height:78px;padding:12px 14px;border:1px solid var(--ecc-line);border-radius:10px;background:#fff}.ecc-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:10px 0 0 10px;background:var(--ecc-blue)}.ecc-kpi small{display:block;color:var(--ecc-muted);font-size:11px}.ecc-kpi b{display:block;margin:7px 0 4px;font-size:20px;line-height:1}.ecc-kpi span{color:var(--ecc-muted);font-size:11.5px}
.ecc-pulse-surface{min-height:570px}.ecc-header-actions{display:flex;align-items:center;gap:14px}.ecc-header-actions span{padding:6px 9px;border-radius:6px;background:#edf5ff;color:#0759c7;font-weight:750}.pulse-canvas{position:relative;min-height:450px;padding:4px 18px;background:radial-gradient(circle at 50% 28%,rgba(20,110,245,.07),transparent 28%),linear-gradient(rgba(20,50,90,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(20,50,90,.025) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px}.pulse-canvas svg{display:block;width:100%;height:450px}.pulse-spoke{fill:none;stroke:#afbed0;stroke-width:1.5}.pulse-dependency{fill:none;stroke:#6f8fb4;stroke-width:1.6;stroke-dasharray:5 5;marker-end:url(#pulse-arrow)}.pulse-dependency.active{stroke:var(--ecc-blue);stroke-width:2.5}.pulse-spoke.muted,.pulse-dependency.muted{opacity:.2}.pulse-center rect{fill:#f7fbff;stroke:#83ade2;stroke-width:2}.pulse-center.insufficient rect{stroke:#8b98a9;stroke-dasharray:6 4}.pulse-center.insufficient .center-state{fill:#64748b}.pulse-center text{fill:#426181;font-size:11px;font-weight:700}.pulse-center .center-state{fill:var(--ecc-ink);font-size:18px;font-weight:850}.pulse-center .source{fill:#6f849d;font-size:10.5px}.pulse-node{cursor:pointer;outline:none;transition:opacity .25s ease,filter .25s ease}.pulse-node rect{fill:#fff;stroke:var(--tone,#95a7ba);stroke-width:2}.pulse-node circle{fill:var(--tone,#95a7ba)}.pulse-node.healthy{--tone:var(--ecc-green)}.pulse-node.watch{--tone:var(--ecc-amber)}.pulse-node.at-risk,.pulse-node.critical{--tone:var(--ecc-red)}.pulse-node.insufficient{--tone:#8b98a9}.pulse-node.insufficient rect{stroke-dasharray:4 3}.pulse-node.selected rect,.pulse-node:focus-visible rect{stroke:var(--ecc-blue);stroke-width:4;filter:drop-shadow(0 7px 10px rgba(20,110,245,.18))}.pulse-node.subdued{opacity:.35}.node-name{fill:var(--ecc-ink);font-size:11.5px;font-weight:800}.node-state{fill:var(--tone);font-size:11px;font-weight:900}.node-signal{fill:var(--ecc-muted);font-size:10.5px}.pulse-legend{display:flex;justify-content:center;gap:18px;padding:0 18px 16px;color:var(--ecc-muted);font-size:12px}.pulse-legend .healthy{color:var(--ecc-green)}.pulse-legend .watch{color:var(--ecc-amber)}.pulse-legend .at-risk,.pulse-legend .critical{color:var(--ecc-red)}.pulse-no-links{position:absolute;right:28px;bottom:14px;padding:5px 8px;border:1px dashed var(--ecc-line);border-radius:5px;color:var(--ecc-muted);font-size:12px}
.ecc-decision-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px}.ecc-ai{padding:14px;border-color:#3b82f6;background:#0b4fa8;color:#fff;box-shadow:0 8px 24px rgba(20,110,245,.18)}.ecc-ai h2,.ecc-ai .ecc-eyebrow{color:#fff}.ecc-ai>header{display:flex;align-items:center;gap:10px}.ecc-ai-mark{display:grid;place-items:center;width:38px;height:38px;clip-path:polygon(50% 0,90% 23%,90% 77%,50% 100%,10% 77%,10% 23%);background:#fff;color:#0b4fa8;font-weight:900}.ecc-ai-structure{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.ecc-ai-structure>div,.ecc-ai-details>div{padding:12px;border-left:2px solid #93c5fd;background:rgba(255,255,255,.1)}.ecc-ai-structure b,.ecc-ai-structure span,.ecc-ai-details b,.ecc-ai-details span{display:block}.ecc-ai-structure b,.ecc-ai-details b{margin-bottom:5px;color:#fff;font-size:12px}.ecc-ai-structure span,.ecc-ai-details span{color:rgba(255,255,255,.86);font-size:12px;line-height:1.55}.ecc-ai-details{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.3)}.ecc-ai-details summary{cursor:pointer;color:#fff;font-weight:800}.ecc-ai-details summary:focus-visible{outline:3px solid #fff;outline-offset:3px}.ecc-ai-details[open]>div{margin-top:8px}.ecc-ai footer{display:flex;gap:8px;margin-top:16px}.ecc-ai button,.exec-task-row button,.drawer-actions button{padding:8px 10px;border:1px solid #a9c8ef;border-radius:6px;background:#f4f8fe;color:#0759c7;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.ecc-ai button:first-child{background:#fff;color:#0b4fa8}.ecc-risk-action>div{padding:16px}.ecc-risk-action div>div{padding:9px;border:1px solid var(--ecc-line);border-radius:7px;background:#fafcfe}.ecc-risk-action small,.ecc-risk-action b{display:block}.ecc-risk-action small{color:var(--ecc-muted);font-size:12px}.ecc-risk-action b{margin-top:3px;font-size:12px}.ecc-risk-action i{display:block;color:var(--ecc-blue);font-style:normal;text-align:center}
.ecc-operations-grid{display:grid;min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px}.ecc-operations-grid>*:last-child{grid-column:1/-1}.timeline-event{display:grid;grid-template-columns:12px minmax(0,1fr);gap:9px;padding:10px 17px}.timeline-event i{position:relative;width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--ecc-blue)}.timeline-event i:after{content:"";position:absolute;top:9px;left:3px;width:1px;height:31px;background:var(--ecc-line)}.timeline-event:last-child i:after{display:none}.timeline-event small,.timeline-event b{display:block}.timeline-event small{color:var(--ecc-muted);font-size:12px}.timeline-event b{font-size:12px}.people-row{display:grid;grid-template-columns:28px minmax(150px,1fr) repeat(3,minmax(68px,auto));gap:9px;align-items:center;padding:10px 14px;border-bottom:1px solid #edf1f6}.people-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf4fd;color:#1b5fae;font-size:12px;font-weight:800}.people-row b,.people-row small{display:block}.people-row b{font-size:12px}.people-row small{color:var(--ecc-muted);font-size:11px}.people-row>div,.exec-team-name{word-break:normal;overflow-wrap:break-word}.exec-team-name{line-height:1.3}.approval-chain{display:grid;grid-template-columns:minmax(104px,1fr) auto minmax(112px,1fr) auto minmax(104px,1fr) auto minmax(104px,1fr);gap:5px;align-items:center;max-width:100%;padding:20px 14px}.approval-chain>div{min-width:0;padding:9px 5px;border:1px solid var(--ecc-line);border-radius:7px;text-align:center}.approval-chain small,.approval-chain b{display:block;word-break:normal;overflow-wrap:normal}.approval-chain small{font-size:11px;line-height:1.4;white-space:nowrap}.approval-chain b{margin-top:5px;font-size:12px}.approval-chain .current{border-color:var(--ecc-amber);background:#fff9eb}.approval-chain .good{border-color:var(--ecc-green);background:#effaf5}.approval-chain .rework{grid-column:1/-1;color:var(--ecc-amber);font-size:11px;text-align:right;white-space:nowrap}
.exec-task-table{display:grid}.exec-table-head,.exec-task-row{display:grid;grid-template-columns:minmax(220px,2fr) 1fr 1fr 1fr .8fr auto;gap:12px;align-items:center;padding:10px 18px}.exec-table-head{background:#f7f9fc;color:#78879a;font-size:12px;font-weight:850}.exec-task-row{border-top:1px solid #e7ecf2}.exec-task-row b{font-size:12px}.exec-task-row span{color:var(--ecc-muted);font-size:12px}.exec-pill{display:inline-flex!important;width:max-content;padding:4px 7px;border-radius:999px;background:#eaf3ff;color:#2367ad!important;font-weight:800}.exec-pill.risk{background:#fff0f1;color:#bd3948!important}.exec-pill.warn{background:#fff6df;color:#a16a00!important}.exec-empty{padding:20px;color:var(--ecc-muted);font-size:12px}.pulse-mobile{display:none}
.exec-drawer-backdrop{position:fixed;z-index:99;inset:0;background:#071a3655}.exec-drawer{position:fixed;z-index:100;right:0;top:0;width:min(500px,100%);height:100%;padding:27px;background:#fff;color:var(--ecc-ink);box-shadow:-20px 0 60px #06183244;overflow:auto}.exec-drawer-close,.exec-modal-close{float:right;border:0;background:none;color:var(--ecc-ink);font-size:26px}.drawer-meta{display:flex;gap:6px;margin:13px 0}.drawer-section{margin:18px 0;padding-top:14px;border-top:1px solid var(--ecc-line)}.drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.drawer-actions select{padding:8px;border:1px solid var(--ecc-line);border-radius:6px}.drawer-actions .primary{background:var(--ecc-blue);color:#fff}.exec-toast{margin-top:10px;padding:9px;background:#edf9f4;color:#176546}.exec-modal-backdrop{position:fixed;z-index:110;inset:0;display:grid;place-items:center;background:#03132ebb}.exec-modal-backdrop[hidden],.exec-drawer[hidden],.exec-drawer-backdrop[hidden]{display:none}.exec-modal{width:min(720px,92vw);max-height:90vh;overflow:auto;padding:26px;border-radius:12px;background:#fff}.sim-options{display:grid;gap:8px}.sim-option{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border:1px dashed #93b8e9;border-radius:7px}.sim-option small{display:block;margin-top:5px}.sim-option button{border:1px solid #a9c8ef;background:#f4f8fe;color:#0759c7}.exec-sim-metric{margin-top:6px;color:var(--ecc-muted)}
:where(.ecc-menu,.ecc-ai button,.exec-task-row button,.drawer-actions button,.pulse-node):focus-visible{outline:3px solid rgba(20,110,245,.3);outline-offset:2px}
@media(max-width:1180px){body .shell{width:calc(100% - 262px);margin-left:262px}.ecc-kpis{grid-template-columns:repeat(3,1fr)}.ecc-ai-structure{grid-template-columns:repeat(3,1fr)}.ecc-operations-grid{grid-template-columns:1fr 1fr}.ecc-operations-grid>*:last-child{grid-column:1/-1}}
@media(max-width:960px){body .demo-sidebar{position:fixed;width:262px;max-height:none;margin:0}body .shell{width:100%;margin:0}.ecc-unit,.ecc-date,.ecc-profile>span:last-child{display:none}.ecc-decision-grid,.ecc-operations-grid{grid-template-columns:1fr}.ecc-operations-grid>*:last-child{grid-column:auto}.pulse-canvas{overflow:auto}.pulse-canvas svg{min-width:800px}.ecc-ai-structure{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ecc-page{padding:10px}.ecc-header{align-items:flex-start}.ecc-header h1{font-size:22px}.ecc-header p{max-width:245px}.ecc-kpis{grid-template-columns:repeat(2,1fr)}.ecc-section-header{align-items:flex-start;flex-direction:column}.ecc-header-actions{align-items:flex-start;flex-direction:column}.pulse-canvas{min-height:0;padding:12px;overflow:visible;background:none}.pulse-desktop{display:none!important}.pulse-mobile{display:grid;gap:8px}.pulse-mobile-center,.pulse-mobile-node{width:100%;padding:14px;border:1px solid var(--ecc-line);border-radius:10px;background:#fff;text-align:left}.pulse-mobile-center{border-style:dashed;text-align:center}.pulse-mobile-center b,.pulse-mobile-node b,.pulse-mobile-node span,.pulse-mobile-node small{display:block}.pulse-mobile-node{border-left:4px solid var(--tone,#8b98a9);color:var(--ecc-ink)}.pulse-mobile-node.healthy{--tone:var(--ecc-green)}.pulse-mobile-node.watch{--tone:var(--ecc-amber)}.pulse-mobile-node.at-risk,.pulse-mobile-node.critical{--tone:var(--ecc-red)}.pulse-mobile-node.insufficient{border-style:dashed}.pulse-mobile-node.selected{outline:3px solid rgba(20,110,245,.3)}.pulse-mobile-arrow{text-align:center;color:var(--ecc-blue)}.pulse-legend{justify-content:flex-start;flex-wrap:wrap}.ecc-ai-structure{grid-template-columns:1fr}.exec-table-head{display:none}.exec-task-row{grid-template-columns:1fr 1fr}.exec-task-row>b{grid-column:1/-1}.people-row{grid-template-columns:28px 1fr 1fr}.approval-chain{grid-template-columns:1fr}.approval-chain>i{transform:rotate(90deg)}.approval-chain .rework{grid-column:auto}.pulse-no-links{position:static;margin-top:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Legacy selector contract retained for downstream theme assertions. */
.exec-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;color:#071a36}.exec-brief,.exec-brief *{color:#fff!important}.drawer-actions .primary,.exec-ai-summary button{color:#fff!important}

/* Executive explanations remain distinct from compact source and diagram labels. */
.ecc-ai-structure span,.ecc-risk-action b,.timeline-event b,.exec-task-row b{font-size:12.5px;line-height:1.45}

/* Pass 5D: executive-only visual hierarchy and supported signal treatment. */
.ecc-overview{display:grid;gap:10px;padding:16px 0 2px;border-top:4px solid var(--ecc-blue)}
.ecc-overview-heading h2{margin:2px 0 0;font-size:15px}.ecc-kpi:first-child{background:#f7fbff;border-color:#a9c9ef}.ecc-kpi:first-child b{font-size:22px}
.signal-provenance{padding:7px 14px;border-bottom:1px solid var(--ecc-line);background:#f7f9fc;color:var(--ecc-muted);font-size:11px;letter-spacing:.05em}.signal-provenance b{color:var(--ecc-ink)}
.pulse-node.attention{--tone:var(--ecc-amber)}.pulse-mobile-node.attention{--tone:var(--ecc-amber)}.pulse-legend .attention{color:var(--ecc-amber)}
.node-review{fill:var(--ecc-muted);font-size:10.5px}.pulse-node rect{height:104px}.ecc-pulse-surface{border-top:4px solid #163b68}
.people-row>span:not(.people-avatar){min-width:68px;text-align:right}.people-row small{line-height:1.35}.ecc-ai{border-top:4px solid #8fc1ff}.ecc-risk-action{border-top:4px solid var(--ecc-amber)}
@media(max-width:1180px){.ecc-kpi:first-child{grid-column:span 1}}
@media(max-width:620px){.ecc-overview{padding-top:12px}.ecc-kpi:first-child{grid-column:1/-1}.people-row{grid-template-columns:28px minmax(130px,1fr)}.people-row>span:not(.people-avatar){text-align:left;padding-left:37px}.pulse-mobile-node.attention{border-left-color:var(--ecc-amber)}}

/* Fit decisions follow the usable workspace, not the viewport (which includes the
   fixed navigation). Outer tracks may shrink; semantic people and approval nodes
   retain readable minima and stack before their labels can collapse. */
@container executive-workspace (max-width:1200px){.ecc-decision-grid,.ecc-operations-grid{grid-template-columns:minmax(0,1fr)}.ecc-operations-grid>*:last-child{grid-column:auto}.ecc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container executive-workspace (max-width:720px){.ecc-kpis{grid-template-columns:minmax(0,1fr)}}
@container ecc-surface (max-width:580px){.people-row{grid-template-columns:28px minmax(150px,1fr)}.people-row>span:not(.people-avatar){min-width:0;padding-left:37px;text-align:left}.approval-chain{grid-template-columns:minmax(112px,1fr)}.approval-chain>i{transform:rotate(90deg);text-align:center}.approval-chain .rework{grid-column:auto;text-align:center}}
