.shift-card { background:var(--bg-panel); border:1px solid var(--border); border-radius:10px; padding:16px; margin-bottom:12px; line-height:1.55; }
.shift-card h2,.shift-card h3,#incident-panel h3 { color:var(--text-bright); margin:5px 0 8px; }
.shift-card p,#incident-panel p { margin:8px 0; font-size:13px; }
.eyebrow { color:var(--accent); font-size:10px; letter-spacing:1.5px; font-weight:700; }
#shift-brief { width:100%; max-width:460px; text-align:left; flex-shrink:0; }
#shift-brief p { min-height:40px; }
.shift-card button,#incident-panel button,.sell-server { font:inherit; font-size:12px; border:1px solid var(--accent); border-radius:6px; padding:9px 12px; background:#102e2a; color:#b9fff0; cursor:pointer; margin:4px 5px 4px 0; min-height:38px; }
.shift-card button:disabled,#incident-panel button:disabled { opacity:.45; cursor:not-allowed; }
.shift-card button:hover:not(:disabled),#incident-panel button:hover:not(:disabled),.sell-server:hover { background:#20594f; }
button:focus-visible,input:focus-visible { outline:2px solid #ffd166; outline-offset:3px; }
.shift-card progress { display:block; width:100%; height:8px; margin:16px 0 8px; accent-color:var(--accent); }
.shift-card.delivered { border-color:var(--accent); }
#shift-log { padding-left:18px; font-size:12px; } #shift-log li { margin-bottom:10px; }
.scope-note { font-size:11px; color:var(--text); line-height:1.5; padding:8px; }
#incident-panel:empty { display:none; }
#incident-panel { background:#302317; border:1px solid #e6aa51; border-radius:10px; padding:14px; margin:10px; max-height:42vh; overflow-y:auto; flex-shrink:0; font-size:13px; }
#incident-panel .eyebrow { color:#ffd166; }
#incident-controls { padding:8px 0; } #airflow { display:block; width:100%; margin:15px 0; }
.purchase-reason { font-size:11px; color:#edc77e; margin-top:4px; }
.sell-server { font-size:11px; padding:4px 8px; min-height:32px; }
.shop-item.disabled { opacity:.7; }
#shop-tabs { flex-wrap:wrap; } #shop-tabs .tab { flex:1 0 auto; }
@media(max-width:767px) {
 body { overflow:auto; } #game { height:auto; min-height:100dvh; } #main { overflow:visible; }
 #clicker-zone { flex-shrink:0; } #shift-brief { max-width:none; padding:12px; }
 #rack-view { max-height:110px; } #shop { overflow:visible; min-height:420px; }
 #shop-content { overflow:visible; } #incident-panel { max-height:none; }
 .shop-item .info { min-width:0; } .shop-item .desc { white-space:normal; }
}

#tab-operations { grid-column:1 / -1; }
#tab-workorders { grid-column:1 / -1; }
@media(min-width:768px) { #contract-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:12px; } }
.career-card,.workorder-card,.project-card { background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:12px;line-height:1.5; }
.career-card { display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(260px,1fr);gap:20px;align-items:center; }
.career-card h2,.section-heading h2,.workorder-card h3,.project-card h3 { color:var(--text-bright);margin:4px 0 7px; }
.career-stats { display:grid;grid-template-columns:repeat(4,auto);grid-template-rows:auto auto;gap:2px 18px;text-align:center; }
.career-stats strong { color:var(--accent);font-size:22px; }.career-stats span { font-size:10px;text-transform:uppercase;color:var(--text); }
.career-goal p,.workorder-card p,.project-card p { font-size:13px; }.career-goal button,.diagnosis-actions button,.hint-button,.project-card button { font:inherit;font-size:12px;border:1px solid var(--accent);border-radius:6px;padding:9px 12px;background:#102e2a;color:#b9fff0;cursor:pointer; }
.career-goal button:disabled,.diagnosis-actions button:disabled,.hint-button:disabled,.project-card button:disabled { opacity:.45;cursor:not-allowed; }
.section-heading { display:flex;justify-content:space-between;align-items:end;gap:20px;margin:22px 4px 12px; }.section-heading>p { max-width:520px;font-size:12px; }
#workorder-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.workorder-head { display:flex;justify-content:space-between;gap:10px;align-items:start; }.workorder-head>strong { color:var(--money);white-space:nowrap;font-size:12px; }
.telemetry { white-space:pre-wrap;background:#090b10;border-left:3px solid #ffd166;padding:10px;color:#d9d7c8;font:12px/1.5 monospace;min-height:58px; }
.order-hint { color:#edc77e;min-height:40px; }.diagnosis-actions { display:grid;gap:7px;margin:12px 0; }.diagnosis-actions button { text-align:left; }.diagnosis-actions button.rejected { border-color:var(--error);text-decoration:line-through; }
.hint-button { border-color:var(--border);background:transparent;color:var(--text); }
#project-list { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }.project-card { display:flex;flex-direction:column; }.project-card p { flex:1; }
#career-log { margin:0;padding-left:18px;font-size:12px; }.career-card:last-child { display:block; }
@media(max-width:1000px) { #workorder-list { grid-template-columns:1fr; } #project-list { grid-template-columns:repeat(2,1fr); } .career-card { grid-template-columns:1fr; } }
@media(max-width:600px) { #project-list { grid-template-columns:1fr; }.section-heading { display:block; }.career-stats { justify-content:start; }.workorder-card,.project-card,.career-card { padding:13px; } }

/* v0.9 physical rack renderer */
#rack-frame { padding:7px;background:linear-gradient(90deg,#141821,#242936 5%,#0a0c11 10%,#0a0c11 90%,#242936 95%,#141821);border:3px solid #444b5d;box-shadow:inset 0 0 28px #000,0 14px 35px rgba(0,0,0,.45); }
#rack-header { margin-bottom:5px;background:linear-gradient(#313746,#1c2029);border-color:#555e70;color:#b9c3d7;box-shadow:inset 0 1px rgba(255,255,255,.08); }
#rack-view { height:min(52vh,510px);min-height:350px;max-height:510px;padding:0;overflow-y:auto;overflow-x:hidden;background:#06080b;border:1px solid #464e60;scrollbar-color:#3b4658 #090c12; }
.rack-grid { position:relative;display:grid;grid-template-columns:23px minmax(0,1fr) 23px;grid-template-rows:repeat(42,11px);min-height:462px;background:repeating-linear-gradient(to bottom,#0a0d12 0,#0a0d12 10px,#242a36 10px,#242a36 11px); }
.rack-grid::before,.rack-grid::after { content:"";position:absolute;top:0;bottom:0;width:4px;background:repeating-linear-gradient(to bottom,#70798a 0,#70798a 2px,#202631 2px,#202631 9px,#07090c 9px,#07090c 11px);z-index:1; }
.rack-grid::before { left:18px; }.rack-grid::after { right:18px; }
.rack-u { z-index:2;display:flex;align-items:center;justify-content:center;color:#667084;font:7px/1 monospace;user-select:none; }.rack-u.left { grid-column:1; }.rack-u.right { grid-column:3; }
.rack-device { grid-column:2;z-index:3;position:relative;display:flex;align-items:center;gap:5px;min-width:0;margin:1px 2px;padding:0 7px 0 8px;border:1px solid #596274;border-radius:2px;color:#dbe2ee;background:linear-gradient(180deg,#343b48 0,#202632 45%,#131821 50%,#252c38 100%);box-shadow:inset 0 1px rgba(255,255,255,.12),inset 0 -1px #080a0e,0 1px 2px #000;cursor:pointer;overflow:hidden;font:8px/1 monospace;text-align:left; }
.rack-device:hover,.rack-device:focus-visible,.rack-device.selected { border-color:var(--accent);box-shadow:inset 0 1px rgba(255,255,255,.15),0 0 0 1px var(--accent),0 0 12px rgba(0,240,200,.22);z-index:4; }
.rack-device.warning { border-color:#b87c22; }.rack-device.critical { border-color:#d13e4b;animation:rackAlarm 1s step-end infinite; }
@keyframes rackAlarm { 50% { box-shadow:inset 0 0 10px rgba(240,64,64,.35); } }
.rack-handle { flex:0 0 5px;align-self:stretch;border-left:2px solid #080a0e;border-right:1px solid #626b7a;background:#222833; }.rack-handle.right { margin-left:auto; }
.rack-status { display:flex;gap:2px;flex:0 0 auto; }.rack-status i { width:3px;height:3px;border-radius:50%;background:#35e884;box-shadow:0 0 4px #35e884; }.rack-status i:nth-child(2) { background:#54a8ff;box-shadow:0 0 4px #54a8ff;animation:driveBlink 1.4s infinite; }.rack-status i:nth-child(3) { background:#171b22;box-shadow:none; }
.warning .rack-status i:first-child { background:#ffb13b;box-shadow:0 0 5px #ffb13b; }.critical .rack-status i:first-child { background:#ff4254;box-shadow:0 0 6px #ff4254; }
.rack-device-label { min-width:0;max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;letter-spacing:.2px; }.rack-device-label small { color:#8791a5;font-size:7px; }
.rack-vents { flex:1 1 35px;align-self:stretch;min-width:16px;background:radial-gradient(circle,#090b0e 1px,transparent 1.5px) 0 0/5px 5px;opacity:.85; }
.rack-ports { display:flex;gap:2px;flex:0 0 auto; }.rack-port { width:5px;height:4px;border:1px solid #050607;background:#151a21; }.rack-port.active { background:#00b99c;box-shadow:0 0 3px #00f0c8; }
.rack-drives { display:grid;grid-template-columns:repeat(6,4px);gap:1px;flex:0 0 auto; }.rack-drive { width:4px;height:6px;border:1px solid #090a0d;background:#303746;box-shadow:inset 0 -1px #11151c; }.rack-drive.active::after { content:"";display:block;width:1px;height:1px;margin:1px;background:#4df49b;box-shadow:0 0 2px #4df49b; }
.rack-asset { color:#9ca7ba;font-size:7px;white-space:nowrap; }
.type-pi,.type-pi_cluster { background:linear-gradient(180deg,#234537,#183429 48%,#0c2119 52%,#18372b); }.type-pi .rack-vents,.type-pi_cluster .rack-vents { background:repeating-linear-gradient(90deg,#101d18 0,#101d18 3px,#3f705c 3px,#3f705c 5px); }
.type-tower,.type-mac_pro { background:linear-gradient(180deg,#5b5d61,#30343a 48%,#1b1f24 52%,#3e4349); }.type-storage { background:linear-gradient(180deg,#26364d,#151f2e 48%,#0c131d 52%,#1c2a3e); }.type-gpu,.type-ai { background:linear-gradient(180deg,#493226,#2d1e18 48%,#18100d 52%,#39251d); }.type-quantum { background:linear-gradient(180deg,#3c2b54,#231833 48%,#130d1d 52%,#2d1e40); }.type-mainframe { background:linear-gradient(180deg,#353b43,#15191e 48%,#080a0d 52%,#272c33); }
.rack-empty-state { grid-column:2;grid-row:14/29;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #2e3745;color:#596477;text-align:center;gap:7px;font:9px/1.4 monospace; }.rack-empty-state strong { color:#76839a;letter-spacing:1px; }
#rack-inspector { min-height:64px;padding:8px 5px 2px;color:var(--text); }
#rack-inspector>div:not(.rack-inspector-empty) { display:flex;flex-direction:column;gap:3px; }.rack-inspector-empty { padding:10px 4px;font-size:10px;line-height:1.4;color:#697386; }
#rack-inspector strong { color:var(--text-bright);font-size:12px; }#rack-inspector small { font-size:9px;color:#929caf; }
#rack-inspector button { width:100%;margin-top:8px;padding:7px;border:1px solid #775348;border-radius:5px;background:#251917;color:#e9a995;font:10px monospace;cursor:pointer; }#rack-inspector button:hover { background:#3a211d;border-color:#c26b54; }
@media(max-width:767px) { #rack-view { height:430px;min-height:430px;max-height:55vh; }.rack-grid { grid-template-columns:20px minmax(0,1fr) 20px; }.rack-grid::before { left:16px; }.rack-grid::after { right:16px; }.rack-device-label { max-width:72px; }.rack-drives { grid-template-columns:repeat(4,4px); }.rack-asset { display:none; } }

/* v1.0 Operations Academy */
#tab-drills { grid-column:1/-1; }
.academy-hero { display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;padding:20px;border:1px solid #31504b;border-radius:12px;background:radial-gradient(circle at 15% 0,rgba(0,240,200,.1),transparent 38%),linear-gradient(135deg,#121820,#0b0e14); }.academy-hero h2 { margin:5px 0;color:var(--text-bright);font-size:26px; }.academy-hero p { max-width:720px;line-height:1.6; }
.academy-score { display:grid;grid-template-columns:repeat(3,auto);grid-template-rows:auto auto;gap:2px 20px;text-align:center; }.academy-score strong { color:var(--accent);font-size:25px; }.academy-score span { color:#8792a7;font-size:9px;text-transform:uppercase; }
.badge-wall { display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 20px; }.badge-wall span { padding:6px 9px;border:1px solid #7c6630;background:#241f13;color:#ffd166;border-radius:4px;font:9px monospace;letter-spacing:.7px; }.badge-wall .locked { border-color:var(--border);background:transparent;color:#6f788a; }
.scenario-report { padding:12px 15px;border-left:3px solid #ffd166;background:#1f1b10;color:#ffe4a1;font:12px/1.5 monospace;margin-bottom:18px; }
#scenario-list { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }.scenario-card { display:flex;flex-direction:column;padding:15px;border:1px solid var(--border);border-radius:10px;background:var(--bg-panel); }.scenario-card h3 { margin:5px 0;color:var(--text-bright); }.scenario-card p { flex:1;font-size:12px;line-height:1.55; }.scenario-card>strong { color:#ffd166;font-size:10px;margin:12px 0 8px; }.scenario-meta { display:flex;flex-wrap:wrap;gap:5px; }.scenario-meta span { padding:3px 5px;background:#0c1118;border:1px solid #26313e;border-radius:3px;font-size:9px;color:#8e9bb0; }.scenario-card button,.scenario-controls button { padding:9px;border:1px solid var(--accent);border-radius:5px;background:#102e2a;color:#b9fff0;font:11px monospace;cursor:pointer; }.scenario-card button:disabled { opacity:.4;cursor:not-allowed; }
.scenario-console { margin:0 0 22px;padding:20px;border:1px solid #b7842f;border-radius:12px;background:radial-gradient(circle at 100% 0,rgba(255,177,59,.12),transparent 35%),#101218;box-shadow:0 10px 35px rgba(0,0,0,.25); }.scenario-top { display:flex;justify-content:space-between;align-items:start;gap:20px; }.scenario-top h2 { color:#ffe0a0;margin:5px 0; }.scenario-grade { text-align:center; }.scenario-grade strong { display:block;color:#ffd166;font-size:28px; }.scenario-grade span { font-size:9px;text-transform:uppercase; }
.scenario-progress { display:flex;gap:5px;margin:12px 0 18px; }.scenario-progress i { flex:1;height:4px;background:#292e38;border-radius:4px; }.scenario-progress i.done { background:#3ce58b; }.scenario-progress i.active { background:#ffd166;box-shadow:0 0 8px rgba(255,209,102,.5); }
.scenario-step>span { color:#ffd166;font:9px monospace; }.scenario-step h3 { color:var(--text-bright);font-size:20px;margin:5px 0; }.scenario-step p { line-height:1.6; }.scenario-step pre { padding:12px;border-left:3px solid #ffd166;background:#080a0e;color:#e2e8f0;white-space:pre-wrap;font:12px/1.5 monospace; }
.scenario-choices { display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0; }.scenario-choices button { min-height:64px;padding:10px;text-align:left;border:1px solid #536073;border-radius:6px;background:#171d27;color:#dce5f3;font:11px/1.4 monospace;cursor:pointer; }.scenario-choices button:hover:not(:disabled) { border-color:#ffd166;background:#272416; }.scenario-choices button.failed { border-color:#8c3942;color:#a66e74;text-decoration:line-through; }.scenario-choices button:disabled:not(.failed) { opacity:.55; }
.scenario-feedback { min-height:44px;padding:10px;border:1px solid #3c4656;background:#0c1016;color:#aeb9cb;font-size:12px;line-height:1.5; }.scenario-feedback.success { border-color:#2f8d68;color:#a7f4d1;background:#0e211b; }.scenario-controls { display:flex;justify-content:space-between;gap:10px;margin-top:10px; }.scenario-controls [data-abort] { margin-left:auto;border-color:#5c4247;background:#25191c;color:#c99a9f; }
#manual-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }.manual-entry { border:1px solid var(--border);border-radius:6px;background:#0e1117; }.manual-entry summary { padding:11px;color:#c9d3e4;font:11px monospace;cursor:pointer; }.manual-entry p { padding:0 12px 12px;margin:0;color:#929eb1;font-size:12px;line-height:1.55; }.manual-entry strong { display:block;padding:8px 12px 4px;color:#ffd166;font-size:11px; }.scenario-lesson { border-color:#4f472b; }.manual-empty { grid-column:1/-1;padding:20px;border:1px dashed var(--border);text-align:center;color:#737e91; }
@media(max-width:1100px){#scenario-list{grid-template-columns:repeat(2,1fr)}.scenario-choices{grid-template-columns:1fr}.academy-hero{grid-template-columns:1fr}.academy-score{justify-content:start}}
@media(max-width:600px){#scenario-list,#manual-list{grid-template-columns:1fr}.scenario-console,.academy-hero{padding:14px}.scenario-top{display:block}.academy-score{gap:2px 12px}.scenario-step h3{font-size:17px}}

/* v1.1 — one immersive Night Shift instead of three disconnected apps */
#tab-shift { grid-column:1/-1; }
#shift-tabs { display:flex;gap:6px;padding:8px;margin:-2px 0 14px;border:1px solid #26303d;border-radius:8px;background:#0b0e14;position:sticky;top:0;z-index:8; }
#shift-tabs button { flex:1;min-height:38px;padding:8px;border:1px solid transparent;border-radius:5px;background:transparent;color:#7f8a9d;font:10px monospace;text-transform:uppercase;letter-spacing:.7px;cursor:pointer; }
#shift-tabs button:hover { color:#d3deed;border-color:#344153; }#shift-tabs button.active { color:#08110f;background:var(--accent);border-color:var(--accent);font-weight:800; }
.shift-view { display:none; }.shift-view.active { display:block; }
#click-btn { min-height:54px;padding:11px;max-width:320px;opacity:.82; }
#click-btn:hover { opacity:1; }#click-btn .icon { font-size:16px; }#click-btn .reward { font-size:10px; }
.sell-server { display:none; }
@media(max-width:600px){#shift-tabs{position:static;display:grid;grid-template-columns:1fr}#shift-tabs button{min-height:34px}}

/* Guided opening: same rack, focused surface, isolated save. */
.first-shift #shop-tabs,.first-shift #shop-content,.first-shift #incident-panel{display:none!important}
.first-shift #shop{overflow-y:auto;padding:18px}.first-shift #opening-console{max-width:1050px;width:100%;margin:auto;color:#b8c6d9;line-height:1.5}
.opening-hero{padding:20px;border:1px solid #276459;border-radius:12px;background:linear-gradient(130deg,#10362e,#101520)}.opening-hero h1{font-size:25px;color:#e6fff6;margin:8px 0}.opening-hero p{font-size:13px}
.opening-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.opening-metrics>div{padding:14px;border:1px solid #314150;border-radius:8px;background:#101722}.opening-metrics small{display:block;font-size:9px;color:#8fa9b9}.opening-metrics strong{display:block;font-size:18px;color:#50edc0}
.opening-objective,.opening-boost{padding:16px;background:#111a24;border:1px solid #345165;border-radius:10px;margin:12px 0}.opening-objective h2{color:#e8f6ff;font-size:20px;margin:5px 0}.opening-choices{display:flex;flex-wrap:wrap;gap:8px}
#opening-console button{font:12px monospace;padding:12px;border:1px solid #18cba7;background:#10382f;color:#caffee;border-radius:7px;cursor:pointer;min-height:44px;margin:4px 4px 4px 0}#opening-console button:hover:enabled{background:#1d5e4c}#opening-console button:disabled{opacity:.5;cursor:not-allowed}
.opening-machines{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.opening-machine{padding:14px;border:1px solid #334b59;border-radius:10px;background:#111822}.opening-machine h3{color:white}.opening-machine small{display:block;font-size:11px;color:#e7c787}.opening-boost progress{width:100%;accent-color:#36e5b6}.opening-message,.opening-rush{padding:12px;border-left:3px solid #ffce70;background:#282214;color:#ffe1a0;font-size:12px}.opening-milestone{color:#58e4b2}.opening-diagnostic{padding:10px;background:#31270f;border:1px solid #ffc06b;border-radius:6px;margin-top:8px}.opening-diagnostic p{font-size:11px}.first-shift .rack-device.offline{border-color:#ffbf55;box-shadow:0 0 8px #ffac4466}.first-shift .rack-device.offline .rack-port{background:#181b22;box-shadow:none}.first-shift #click-btn{touch-action:none;user-select:none}.first-shift details{padding:12px;border:1px solid #283b46;margin-top:12px;font-size:12px}.first-shift details a{color:#74eaca}
@media(max-width:767px){.first-shift #shop{padding:10px;overflow:visible}.opening-metrics{grid-template-columns:1fr 1fr}.opening-metrics>div:last-child{grid-column:1/-1}.opening-hero h1{font-size:21px}.first-shift #rack-view{height:270px;min-height:270px;max-height:270px}.first-shift .rack-grid{transform-origin:bottom;}.first-shift #rack-view{display:flex;flex-direction:column-reverse}.first-shift #opening-console{overflow-wrap:anywhere}.opening-machines{grid-template-columns:1fr}.first-shift #clicker-zone{padding-bottom:8px}}

/* v1.2 — connected facility, services and causal operations */
#tab-infrastructure,#tab-services{grid-column:1/-1}.infra-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:20px;margin-bottom:14px;border:1px solid #29483f;border-radius:12px;background:radial-gradient(circle at 85% 0,rgba(0,240,200,.12),transparent 35%),#10141b}.infra-hero h2{margin:5px 0;color:var(--text-bright);font-size:25px}.infra-hero p{max-width:760px;line-height:1.6}.shift-clock,.service-total{text-align:center}.shift-clock strong,.service-total strong{display:block;color:var(--accent);font:28px monospace}.shift-clock span,.service-total span{font:9px monospace;letter-spacing:1px;color:#8390a4}.capacity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.capacity-meter{padding:11px;border:1px solid #2d3745;background:#0d1117;border-radius:7px}.capacity-meter span{display:block;color:#788599;font:9px monospace}.capacity-meter strong{display:block;margin:4px 0;color:#d7e1ef;font:11px monospace}.capacity-meter i{display:block;height:4px;background:#202835}.capacity-meter b{display:block;height:100%;background:var(--accent)}.capacity-meter.warning b{background:#ffd166}.capacity-meter.critical b{background:var(--error)}
.topology-map{display:grid;grid-template-columns:repeat(9,auto);gap:7px;align-items:center;padding:13px;border:1px solid #293442;border-radius:8px;background:#080b10;overflow-x:auto}.topology-node,.topology-secondary{padding:8px;border:1px solid #335348;color:#aef2da;background:#10221d;border-radius:4px;white-space:nowrap;font:9px monospace;text-align:center}.topology-node.failed{border-color:#c94e59;background:#30161a;color:#ff9ca5}.topology-secondary{grid-column:span 4;opacity:.35}.topology-secondary.online{opacity:1}.topology-map>i{color:#4e5d70}.component-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.infra-component{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel)}.infra-component>div{display:flex;align-items:center;gap:7px}.infra-component p{min-height:46px;font-size:11px;line-height:1.45}.infra-component small{display:block;color:#e5bd70;margin-bottom:8px}.infra-component button,.asset-table button,.overlay-controls button,.maintenance-grid button,.incident-console button,.service-card button{padding:7px 9px;border:1px solid var(--accent);border-radius:5px;background:#102e2a;color:#b9fff0;font:10px monospace;cursor:pointer}.infra-component button:disabled,.service-card button:disabled{opacity:.45}.infra-component.installed{border-color:#2f8e71}.infra-led{width:7px;height:7px;border-radius:50%;background:#4d5664}.installed .infra-led{background:#31e39c;box-shadow:0 0 7px #31e39c}
.asset-table-wrap{overflow-x:auto}.asset-table{width:100%;border-collapse:collapse;background:#0c1016}.asset-table th,.asset-table td{padding:9px;border:1px solid #25303d;text-align:left;font:10px monospace}.asset-table td:first-child{min-width:190px}.asset-table td strong,.asset-table td small{display:block}.asset-table td small{margin-top:3px;color:var(--accent)}.asset-table select{min-width:70px;padding:6px;background:#111821;color:#dce4f0;border:1px solid #3c4859}.overlay-controls{display:flex;gap:7px;margin-bottom:15px}.overlay-controls button{text-transform:uppercase}.overlay-controls button.active{background:var(--accent);color:#08110f;font-weight:800}.maintenance-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.maintenance-grid label{display:block;padding:5px 0;font-size:12px}.age-row{display:grid;grid-template-columns:110px 1fr 60px;gap:8px;align-items:center;margin:9px 0;font-size:10px}.age-row progress{width:100%;accent-color:#ffd166}.age-row strong{text-align:right;color:#e6bd70}.infra-log{max-height:150px;overflow:auto;padding-left:19px;font:10px/1.5 monospace}
.incident-console{padding:16px;margin-bottom:14px;border:1px solid #405064;border-radius:10px;background:#0d1118}.incident-console.active{border-color:#d18d3b;background:radial-gradient(circle at 100% 0,rgba(255,142,54,.14),transparent 40%),#16120d}.incident-console h2,.incident-console h3{color:var(--text-bright);margin:5px 0}.incident-console pre{padding:11px;background:#07090c;border-left:3px solid #ffd166;color:#e5dfc9;white-space:pre-wrap}.toolbelt{display:flex;flex-wrap:wrap;gap:5px}.toolbelt button{text-transform:uppercase}.toolbelt button:disabled{opacity:.35}.incident-feedback{min-height:34px;color:#e5bd70}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.service-card{padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-panel)}.service-card.deployed{border-color:#2c8069}.service-card.degraded{border-color:#bf6547}.service-card h3{color:var(--text-bright);margin:5px 0}.service-card p{font-size:12px;line-height:1.5}.service-card ul{padding:0;list-style:none}.service-card li{display:flex;justify-content:space-between;padding:6px;border-bottom:1px solid #252d38;font:10px monospace}.service-card li strong{color:var(--accent)}.service-sla{display:flex;justify-content:space-between;padding:9px;margin:10px 0;background:#090c11}.service-sla strong{color:#dfe9f5}.service-sla span{color:#ffd166;font:10px monospace}
.rack-device.path-a::after,.rack-device.path-b::after,.rack-device.path-ab::after{content:'A';position:absolute;right:3px;top:1px;color:#69a9ff;font-size:6px}.rack-device.path-b::after{content:'B';color:#ff9f43}.rack-device.path-ab::after{content:'A+B';color:#8cf7c9}.rack-device.offline{filter:saturate(.15);border-color:#be3e4c}.rack-device.service-bound{box-shadow:inset 0 0 0 1px #1d846f}.rack-device.thermal-high{background-image:linear-gradient(90deg,rgba(255,62,50,.25),transparent)}
@media(max-width:1050px){.component-grid{grid-template-columns:repeat(2,1fr)}.capacity-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.infra-hero,.maintenance-grid{grid-template-columns:1fr}.capacity-grid,.component-grid,.service-grid{grid-template-columns:1fr}.topology-map{grid-template-columns:repeat(9,max-content)}.shift-clock,.service-total{text-align:left}.infra-hero h2{font-size:20px}.age-row{grid-template-columns:90px 1fr 55px}}
/* Incremental expansion control desk */
#growth-console{padding:18px;border-bottom:1px solid var(--border);background:linear-gradient(140deg,#101e28,#10141e);color:var(--text,#dce7ef);font-size:13px;overflow-wrap:anywhere}
#growth-console h2{font-size:22px;margin:8px 0 16px}#growth-console p{line-height:1.6;color:#b1becb}#growth-console details{border-top:1px solid #30414e;padding:14px 0}#growth-console summary{cursor:pointer;font-weight:700;color:#8de5e2;line-height:1.5}#growth-console button,#growth-racks button{border:1px solid #47616b;border-radius:6px;background:#1b3540;color:#e4ffff;padding:9px 12px;margin:4px 4px 4px 0;cursor:pointer;font:inherit;min-height:38px}#growth-console button:hover:not(:disabled),#growth-racks button[aria-pressed=true]{background:#26535b;border-color:#66ded4}#growth-console button:disabled{opacity:.4;cursor:not-allowed}.growth-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0}.growth-grid article{padding:12px;border:1px solid #30414e;background:#141f2a;border-radius:8px}.growth-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.growth-toolbar span{font-size:11px;color:#a7b9c8;flex:1;min-width:140px}.growth-runbook{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid #273541;padding:5px 0}.growth-return{border:1px solid #79d9bd;padding:12px;border-radius:8px;background:#15332e}#growth-racks{display:flex;flex-wrap:wrap;padding:8px;gap:4px;max-width:100%}#growth-console .opening-metrics strong{font-size:18px}#growth-console small{display:block}#growth-console button:focus-visible{outline:2px solid #fff;outline-offset:2px}@media(max-width:600px){#growth-console{padding:12px}.growth-grid{grid-template-columns:1fr}.growth-runbook{align-items:flex-start;flex-direction:column}#growth-console .opening-metrics{grid-template-columns:1fr}#growth-console h2{font-size:19px}}
@media(min-width:900px){#growth-console{flex:0 1 auto;max-height:55vh;min-height:180px;overflow-y:auto;scrollbar-color:#397581 #10141e}#shop-tabs{flex-shrink:0}#shop-content{min-height:120px}}
.growth-move{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.growth-move button{background:#19343e;border:1px solid #55727d;color:#dcebef;padding:6px;cursor:pointer}.growth-move button:disabled{opacity:.4}
