
:root {
  --bg: #eef2f7;
  --card: #ffffff;
  --text: #172033;
  --muted: #667085;
  --line: #d8dee9;
  --primary: #3559e0;
  --primary-dark: #2445bd;
  --success: #19724c;
  --warning: #a15c00;
  --danger: #b42318;
  --flag: #7a4e00;
  --shadow: 0 12px 32px rgba(24, 39, 75, 0.09);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: linear-gradient(145deg, #f7f9fc 0%, var(--bg) 100%);
  color: var(--text);
  min-height: 100vh;
}

button, input, select { font: inherit; }

button {
  border: 0;
  border-radius: 10px;
  padding: 11px 18px;
  cursor: pointer;
  font-weight: 700;
}

button:disabled { opacity: .45; cursor: not-allowed; }

.primary { background: var(--primary); color: white; }
.primary:hover { background: var(--primary-dark); }
.secondary { background: #e8edf7; color: var(--text); }
.danger-outline { background: white; color: var(--danger); border: 1px solid #f0b7b1; }
.large { padding: 14px 25px; font-size: 1.05rem; }

.screen { max-width: 1460px; margin: 0 auto; padding: 28px; }
.hidden { display: none !important; }

.card {
  background: var(--card);
  border: 1px solid rgba(216, 222, 233, .9);
  border-radius: 18px;
  box-shadow: var(--shadow);
}

.hero {
  max-width: 850px;
  margin: 5vh auto;
  padding: 48px;
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--primary);
  font-size: .78rem;
  font-weight: 800;
  margin: 0 0 8px;
}

h1 { font-size: clamp(2rem, 5vw, 3.5rem); margin: 0; }
h2 { margin: 0; }
.subtitle { color: var(--muted); font-size: 1.12rem; line-height: 1.6; }

.notice {
  margin: 24px 0;
  border-left: 4px solid var(--primary);
  background: #f4f7ff;
  padding: 15px 17px;
  border-radius: 8px;
  color: #344054;
  line-height: 1.5;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 28px 0;
}

label { font-weight: 700; color: #344054; }

select, input[type="number"] {
  width: 100%;
  display: block;
  margin-top: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: white;
}

.exam-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 3px 18px;
}

.timer {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 1.65rem;
  font-weight: 900;
  background: #172033;
  color: white;
  border-radius: 12px;
  padding: 11px 16px;
}

.exam-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 18px;
}

.navigator { padding: 18px; align-self: start; position: sticky; top: 15px; }
.navigator-title { display: flex; justify-content: space-between; align-items: baseline; }
.navigator h3 { margin: 0 0 14px; }
#progress-label { color: var(--muted); font-size: .85rem; }

.nav-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
  max-height: 410px;
  overflow-y: auto;
  padding-right: 3px;
}

.nav-btn {
  min-width: 0;
  padding: 9px 4px;
  background: #edf1f7;
  border: 2px solid transparent;
  position: relative;
}
.nav-btn.current { border-color: var(--primary); background: #e5ebff; }
.nav-btn.answered { background: #dff4e9; color: var(--success); }
.nav-btn.flagged::after {
  content: "⚑";
  position: absolute;
  right: 3px;
  top: 0;
  font-size: .68rem;
  color: var(--flag);
}

.legend {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: .82rem;
  margin-top: 18px;
}
.legend span { display: flex; align-items: center; gap: 7px; }
.dot { width: 11px; height: 11px; border-radius: 50%; display: inline-block; }
.dot.current { border: 2px solid var(--primary); }
.dot.answered { background: #7dc7a4; }
.dot.flagged { background: #d6a24b; }

.question-panel {
  min-height: 590px;
  padding: clamp(24px, 4vw, 48px);
  display: flex;
  flex-direction: column;
}

.domain {
  color: var(--primary);
  font-weight: 800;
  margin: 0 0 14px;
}
#question-text { line-height: 1.42; font-size: clamp(1.3rem, 2.4vw, 1.8rem); }
.instruction { color: var(--muted); min-height: 24px; }

#answer-area { margin-top: 20px; flex: 1; }

.choice {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 11px;
  margin: 11px 0;
  cursor: pointer;
  font-weight: 500;
}
.choice:hover { border-color: #8da2f0; background: #f8faff; }
.choice input { margin-top: 3px; transform: scale(1.15); }

.pbq-table { width: 100%; border-collapse: collapse; }
.pbq-table th, .pbq-table td { padding: 13px; border-bottom: 1px solid var(--line); text-align: left; }
.pbq-table th { color: var(--muted); font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; }
.pbq-table select { margin: 0; min-width: 230px; }

.question-actions {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.flag-control { display: flex; align-items: center; gap: 8px; }
.flag-control input { transform: scale(1.15); }
.spacer { flex: 1; }
.exam-footer { display: flex; justify-content: flex-end; padding-top: 15px; }

.review-card, .results-card {
  max-width: 1050px;
  margin: 20px auto;
  padding: clamp(25px, 4vw, 48px);
}

.review-stats, .score-details {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 25px 0;
}
.review-stats div, .score-details div {
  background: #f5f7fb;
  border-radius: 13px;
  padding: 18px;
  text-align: center;
}
.review-stats strong, .score-details strong { display: block; font-size: 1.65rem; }
.review-stats span, .score-details span { color: var(--muted); }

.review-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: 10px;
  margin: 24px 0;
}
.review-item {
  padding: 12px 8px;
  border-radius: 9px;
  border: 1px solid var(--line);
  background: white;
  text-align: center;
}
.review-item.unanswered { background: #fff4f2; border-color: #f3b8b1; }
.review-item.flagged { box-shadow: inset 0 -4px #d6a24b; }
.review-actions { display: flex; justify-content: flex-end; gap: 10px; }

.score-ring {
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: conic-gradient(var(--primary) var(--score-angle, 0deg), #e7ebf2 0);
  margin: 30px auto;
  display: grid;
  place-items: center;
}
.score-ring > div {
  width: 148px;
  height: 148px;
  border-radius: 50%;
  background: white;
  display: grid;
  place-content: center;
  text-align: center;
}
.score-ring strong { font-size: 2.25rem; }
.score-ring span { color: var(--muted); }
.score-details { grid-template-columns: repeat(2, 1fr); }
.disclaimer { text-align: center; color: var(--muted); font-size: .9rem; }

.result-item {
  border: 1px solid var(--line);
  border-left: 5px solid;
  border-radius: 10px;
  padding: 16px;
  margin: 12px 0;
}
.result-item.correct { border-left-color: var(--success); }
.result-item.incorrect { border-left-color: var(--danger); }
.result-item h3 { margin: 0 0 8px; }
.result-item p { margin: 7px 0; line-height: 1.5; }
.answer-key { color: var(--muted); }

dialog { border: 0; border-radius: 16px; padding: 0; box-shadow: var(--shadow); }
dialog::backdrop { background: rgba(17, 24, 39, .55); }
.dialog-card { padding: 28px; min-width: 320px; }
.dialog-card h3 { margin-top: 0; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }

@media (max-width: 850px) {
  .screen { padding: 15px; }
  .hero { padding: 28px; margin: 10px auto; }
  .form-grid { grid-template-columns: 1fr; }
  .exam-layout { grid-template-columns: 1fr; }
  .navigator { position: static; }
  .nav-grid { grid-template-columns: repeat(8, 1fr); max-height: 150px; }
  .question-panel { min-height: 520px; }
}

@media (max-width: 560px) {
  .nav-grid { grid-template-columns: repeat(5, 1fr); }
  .question-actions { flex-wrap: wrap; }
  .spacer { display: none; }
  .question-actions button { flex: 1; }
  .review-stats { grid-template-columns: 1fr; }
  .pbq-table, .pbq-table tbody, .pbq-table tr, .pbq-table td { display: block; }
  .pbq-table th { display: none; }
  .pbq-table td { border: 0; padding: 7px 0; }
  .pbq-table tr { border-bottom: 1px solid var(--line); padding: 11px 0; }
  .pbq-table select { min-width: 0; width: 100%; }
}


/* Full simulation PBQs */
.sim-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:16px}
.sim-stage,.sim-console{background:#101827;color:#e5e7eb;border:1px solid #334155;border-radius:14px;padding:14px}
.sim-console h3,.sim-stage h3{color:#f8fafc}
.sim-status{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.sim-pill{border:1px solid #475569;background:#1e293b;color:#cbd5e1;padding:6px 9px;border-radius:999px;font-size:12px}
.sim-pill.good{border-color:#166534;color:#bbf7d0}.sim-pill.warn{border-color:#92400e;color:#fde68a}
.server-rack{background:linear-gradient(#1f2937,#0b1220);border:9px solid #050914;border-radius:12px;padding:12px}
.rack-title{text-align:center;color:#94a3b8;font-size:11px;letter-spacing:.12em;margin-bottom:8px}
.rack-unit{background:linear-gradient(#354052,#1f2937);border:2px solid #475569;border-radius:7px;padding:8px;margin:7px 0}
.rack-unit-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;margin-bottom:7px}
.ledset{display:flex;gap:5px}.sim-led{width:9px;height:9px;border-radius:50%;background:#64748b;display:inline-block}
.sim-led.green{background:#22c55e;box-shadow:0 0 7px #22c55e}.sim-led.amber{background:#f59e0b;box-shadow:0 0 7px #f59e0b}.sim-led.red{background:#ef4444;box-shadow:0 0 7px #ef4444}
.drive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.sas-drive{background:linear-gradient(90deg,#111827,#374151);border:2px solid #64748b;border-radius:5px;min-height:95px;padding:7px;cursor:pointer;transition:.2s;position:relative}
.sas-drive:hover{border-color:#a5b4fc;transform:translateY(-2px)}.sas-drive.chosen{outline:3px solid #818cf8}.sas-drive.out{transform:translateX(55px);opacity:.2}
.drive-handle{height:12px;border:1px solid #64748b;background:#020617;border-radius:3px;margin-bottom:6px}
.drive-info{font-size:10px;line-height:1.45}.drive-slot{font-size:12px;font-weight:800}
.drive-lights{position:absolute;right:5px;bottom:5px}
.raid-screen,.sim-log{background:#020617;border:1px solid #334155;border-radius:8px;padding:10px;font-family:ui-monospace,monospace;font-size:12px;color:#bbf7d0}
.raid-screen{min-height:100px}.sim-log{height:150px;overflow:auto;margin-top:10px}
.parts-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.replacement{border:2px solid #475569;background:#1e293b;border-radius:9px;padding:9px;color:#e5e7eb;cursor:pointer}
.replacement:hover{border-color:#a5b4fc}.replacement.chosen{border-color:#22c55e}.replacement small{display:block;color:#94a3b8;margin-top:3px}
.sim-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.sim-btn{border:1px solid #475569;background:#334155;color:white;border-radius:8px;padding:8px 10px;cursor:pointer}.sim-btn.primary{background:#4f46e5}.sim-btn.danger{background:#991b1b}.sim-btn.good{background:#166534}
.floorplan{position:relative;height:570px;background:#f8fafc;border-radius:10px;overflow:hidden;color:#0f172a;touch-action:none}
.room-box{position:absolute;border:4px solid #64748b;background:rgba(255,255,255,.78);padding:7px;font-size:12px;font-weight:800}
.room-a{left:3%;top:4%;width:40%;height:38%}.room-b{left:47%;top:4%;width:50%;height:28%}.room-c{left:47%;top:36%;width:22%;height:58%}.room-d{left:72%;top:36%;width:25%;height:58%}.room-e{left:3%;top:46%;width:40%;height:48%}
.wall{position:absolute;left:42%;top:42%;width:5%;height:49%;background:#475569}
.interference-source{position:absolute;left:78%;top:11%;background:#f59e0b;padding:5px;border-radius:5px;font-size:11px}
.wifi-client{position:absolute;width:17px;height:17px;border-radius:50%;background:#0f172a;border:3px solid white;z-index:5}
.access-point{position:absolute;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#4f46e5;color:white;font-weight:800;border:4px solid white;cursor:grab;z-index:8;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.coverage-ring{position:absolute;width:300px;height:300px;border:2px dashed rgba(79,70,229,.55);background:rgba(79,70,229,.11);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.survey-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.survey-metric{background:#1e293b;border:1px solid #334155;border-radius:9px;padding:9px;text-align:center}.survey-metric strong{display:block;font-size:22px}
.pbq-workbench{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.pbq-task-card{border:1px solid var(--line);border-radius:11px;padding:12px;background:#f8fafc}
.pbq-task-card strong{display:block;margin-bottom:7px}.pbq-task-card select{margin:0}
@media(max-width:950px){.sim-shell{grid-template-columns:1fr}.floorplan{height:520px}}

/* V3 full virtual lab engine */
.lab-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:16px}
.lab-scene,.lab-panel{background:#0f172a;color:#e5e7eb;border:1px solid #334155;border-radius:14px;padding:14px}
.lab-panel h3,.lab-scene h3{color:#f8fafc;margin:0 0 10px}
.lab-help{color:#cbd5e1;font-size:13px;line-height:1.5}
.lab-toolbar{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
.lab-button{background:#334155;color:#fff;border:1px solid #475569;border-radius:8px;padding:8px 10px;cursor:pointer}
.lab-button.primary{background:#4f46e5}.lab-button.good{background:#166534}.lab-button.bad{background:#991b1b}
.lab-button.active{outline:3px solid #a5b4fc}
.lab-status{padding:8px 10px;background:#1e293b;border:1px solid #334155;border-radius:8px;font-size:13px;margin:8px 0}
.lab-status.pass{border-color:#22c55e;color:#bbf7d0}.lab-status.fail{border-color:#ef4444;color:#fecaca}
.lab-log{height:145px;overflow:auto;background:#020617;border:1px solid #334155;border-radius:8px;padding:9px;font:12px/1.5 ui-monospace,monospace;color:#bbf7d0}
.drag-card{background:#1e293b;color:#e5e7eb;border:2px solid #475569;border-radius:9px;padding:9px;cursor:grab;margin:6px 0}
.drag-card.selected{border-color:#a5b4fc}.drop-zone{min-height:58px;border:2px dashed #64748b;border-radius:9px;padding:8px;margin:7px 0;background:rgba(30,41,59,.55)}
.drop-zone.over{border-color:#818cf8;background:rgba(79,70,229,.18)}
.visual-device{border:2px solid #64748b;border-radius:12px;background:linear-gradient(#334155,#1e293b);padding:12px}
.visual-screen{background:#020617;color:#86efac;border:1px solid #334155;border-radius:7px;padding:10px;font:12px/1.55 ui-monospace,monospace}
.port-row{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-top:8px}
.port{height:28px;background:#020617;border:2px solid #64748b;border-radius:3px;position:relative}.port::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#22c55e;right:2px;top:2px}
.office-scene{position:relative;height:540px;background:#f8fafc;color:#0f172a;border-radius:10px;overflow:hidden;touch-action:none}
.office-room{position:absolute;border:4px solid #64748b;background:rgba(255,255,255,.83);padding:7px;font-size:12px;font-weight:800}
.o1{left:2%;top:3%;width:42%;height:40%}.o2{left:48%;top:3%;width:50%;height:30%}.o3{left:48%;top:37%;width:22%;height:59%}.o4{left:73%;top:37%;width:25%;height:59%}.o5{left:2%;top:47%;width:42%;height:49%}
.ap-node{position:absolute;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#4f46e5;color:#fff;font-weight:800;border:4px solid #fff;cursor:grab;z-index:6;box-shadow:0 3px 12px #0005}
.ap-range{position:absolute;width:280px;height:280px;border-radius:50%;border:2px dashed #6366f1;background:#6366f122;transform:translate(-50%,-50%);pointer-events:none}
.client-dot{position:absolute;width:16px;height:16px;border-radius:50%;background:#0f172a;border:3px solid #fff;z-index:4}
.solid-wall{position:absolute;left:43%;top:42%;width:5%;height:51%;background:#475569}
.microwave-box{position:absolute;left:79%;top:12%;background:#f59e0b;padding:5px;border-radius:5px;font-size:11px}
.server-rack-v3{background:linear-gradient(#1f2937,#070b14);border:9px solid #050914;border-radius:12px;padding:12px}
.server-v3{background:linear-gradient(#374151,#1f2937);border:2px solid #64748b;border-radius:7px;padding:8px;margin:7px 0}
.server-title{display:flex;justify-content:space-between;font-size:12px;font-weight:800;margin-bottom:7px}
.disk-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.disk-caddy{background:linear-gradient(90deg,#111827,#374151);border:2px solid #64748b;border-radius:5px;padding:7px;min-height:92px;cursor:pointer;transition:.18s}
.disk-caddy.selected{outline:3px solid #818cf8}.disk-caddy.removed{opacity:.18;transform:translateX(50px)}
.disk-handle{height:12px;background:#020617;border:1px solid #64748b;border-radius:3px;margin-bottom:6px}.disk-meta{font-size:10px;line-height:1.4}
.led{display:inline-block;width:8px;height:8px;border-radius:50%;background:#64748b}.led.green{background:#22c55e;box-shadow:0 0 7px #22c55e}.led.red{background:#ef4444;box-shadow:0 0 7px #ef4444}.led.amber{background:#f59e0b;box-shadow:0 0 7px #f59e0b}
.inventory-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.inventory-item{background:#1e293b;color:#e5e7eb;border:2px solid #475569;border-radius:9px;padding:9px;cursor:pointer}.inventory-item.selected{border-color:#22c55e}
.pc-case{position:relative;min-height:510px;background:#cbd5e1;border:10px solid #475569;border-radius:14px;color:#0f172a;padding:20px}
.motherboard{position:absolute;left:8%;top:10%;width:68%;height:70%;background:#166534;border:5px solid #14532d;border-radius:9px}
.component{position:absolute;border:3px solid #0f172a;background:#e2e8f0;border-radius:6px;padding:6px;font-size:11px;font-weight:800;cursor:pointer}
.component.targeted{outline:4px solid #f59e0b}.cable-bin{position:absolute;right:3%;top:8%;width:18%;display:grid;gap:7px}
.cable{background:#1e293b;color:#fff;border:2px solid #64748b;border-radius:8px;padding:8px;cursor:grab;font-size:11px}
.printer-cutaway{position:relative;height:500px;background:#dbe4ee;color:#0f172a;border:8px solid #475569;border-radius:14px}
.printer-part{position:absolute;border:3px solid #334155;background:#fff;border-radius:8px;padding:7px;font-size:11px;font-weight:800;cursor:pointer}.printer-part.selected{outline:4px solid #f59e0b}
.cloud-board{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cloud-column{border:2px dashed #64748b;border-radius:9px;padding:8px;min-height:260px}.cloud-column h4{text-align:center;margin:0 0 8px}
.workflow-board{display:grid;gap:7px}.workflow-slot{min-height:48px;border:2px dashed #64748b;border-radius:8px;padding:7px;display:flex;align-items:center;gap:8px}.workflow-num{width:26px;height:26px;border-radius:50%;background:#334155;display:grid;place-items:center}
.desktop-window{background:#e5e7eb;color:#111827;border:6px solid #334155;border-radius:10px;min-height:470px}.titlebar{background:#2563eb;color:#fff;padding:7px;font-weight:700}.window-body{padding:12px}
.terminal{background:#020617;color:#d1fae5;border-radius:8px;padding:10px;min-height:250px;font:13px/1.6 ui-monospace,monospace}.terminal input{width:100%;background:#020617;color:#fff;border:0;border-bottom:1px solid #64748b;padding:7px}
.permission-grid{display:grid;grid-template-columns:170px 1fr;gap:10px}.user-list button{display:block;width:100%;margin:5px 0;text-align:left}.perm-table{width:100%;border-collapse:collapse}.perm-table th,.perm-table td{border:1px solid #94a3b8;padding:8px;text-align:center}
.soc-map{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.endpoint{background:#1e293b;border:2px solid #475569;border-radius:9px;padding:12px;text-align:center;cursor:pointer}.endpoint.infected{border-color:#ef4444}.endpoint.isolated{border-color:#22c55e;opacity:.7}
.ticket-board{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ticket-lane{border:2px dashed #64748b;border-radius:9px;padding:8px;min-height:260px}.ticket-lane h4{text-align:center;margin:0 0 8px}
@media(max-width:980px){.lab-shell{grid-template-columns:1fr}.cloud-board,.ticket-board{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cloud-board,.ticket-board{grid-template-columns:1fr}.disk-row{grid-template-columns:repeat(2,1fr)}}

/* Enhanced immersive lab visuals */
.rack-room{position:relative;background:radial-gradient(circle at 50% 10%,#26354a 0,#111827 48%,#050914 100%);padding:22px 28px;border-radius:14px;border:1px solid #475569;box-shadow:inset 0 0 45px #000}
.rack-side{position:absolute;top:16px;bottom:16px;width:16px;background:repeating-linear-gradient(to bottom,#111827 0 10px,#64748b 11px 13px,#111827 14px 23px);border:2px solid #020617}.rail-left{left:8px}.rail-right{right:8px}
.server-rack-v4{background:#070b12;border:7px solid #202938;border-radius:8px;padding:8px;box-shadow:0 12px 30px #0008,inset 0 0 18px #000;position:relative}
.rack-header,.rack-pdu{display:flex;justify-content:space-between;gap:12px;background:#111827;border:1px solid #475569;color:#94a3b8;padding:7px 10px;font:11px ui-monospace,monospace;letter-spacing:.05em}
.rack-pdu{margin-top:7px;color:#86efac}.server-v4{position:relative;margin:7px 0;padding:0 8px}.server-ear{position:absolute;top:5px;bottom:5px;width:12px;background:#303947;border:1px solid #64748b;z-index:2}.left-ear{left:0;border-radius:3px 0 0 3px}.right-ear{right:0;border-radius:0 3px 3px 0}
.server-face{background:linear-gradient(#3b4657,#202734 52%,#151b25);border:2px solid #64748b;border-radius:5px;min-height:138px;padding:8px 11px;box-shadow:inset 0 1px #94a3b866,inset 0 -8px 16px #0006}
.server-id{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:11px;color:#cbd5e1}.server-id b{font-size:13px;color:#fff}.server-id small{color:#94a3b8}
.bezel{display:flex;gap:8px;align-items:center;margin:7px 0}.lcd{background:#06130c;color:#7dff9d;border:2px inset #475569;border-radius:3px;padding:3px 8px;font:10px ui-monospace,monospace;min-width:52px;text-align:center}.vents{height:14px;flex:1;background:repeating-linear-gradient(90deg,#0b1018 0 3px,#4b5563 4px 5px)}
.disk-row-v4{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.disk-caddy-v4,.empty-bay{min-height:72px;position:relative;border-radius:4px}.disk-caddy-v4{display:grid;grid-template-columns:24px 1fr;gap:7px;background:linear-gradient(90deg,#151c27,#303b4a);border:2px solid #64748b;padding:5px;cursor:pointer;transition:transform .4s ease,opacity .4s ease,border-color .2s}.disk-caddy-v4:hover{border-color:#a5b4fc;transform:translateY(-2px)}.disk-caddy-v4.selected{outline:3px solid #818cf8}.disk-caddy-v4.failed{border-color:#b91c1c}.disk-caddy-v4.inserted,.disk-caddy-v4.rebuilding{border-color:#d97706}.disk-caddy-v4.online{border-color:#15803d}
.caddy-latch{background:#080d14;border:1px solid #64748b;border-radius:3px;display:flex;align-items:center;justify-content:center}.caddy-latch span{width:5px;height:38px;border:1px solid #94a3b8;border-radius:2px;background:#1f2937}.drive-label{display:flex;flex-direction:column;justify-content:center;min-width:0}.drive-label b{font-size:11px}.drive-label span,.drive-label small{font-size:9px;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drive-label small{color:#94a3b8}.drive-state{grid-column:1/-1;display:flex;align-items:center;gap:5px;font-size:9px;color:#cbd5e1}.drive-state em{font-style:normal}
.empty-bay{border:2px inset #020617;background:#080c12;color:#64748b;display:grid;place-items:center;padding:5px}.empty-bay small{font-size:9px}.backplane{display:flex;gap:5px}.backplane span{width:8px;height:22px;background:#b08a31;border:1px solid #f8d56b}
.disk-caddy-v4.extracting{transform:translateX(110px) scale(.96);opacity:0}.disk-caddy-v4.inserting{animation:insertDrive .5s ease-out}@keyframes insertDrive{from{transform:translateX(110px);opacity:.2}to{transform:translateX(0);opacity:1}}
.server-controls{display:flex;align-items:center;gap:5px;margin-top:7px;color:#94a3b8;font-size:9px}.usb-port{width:18px;height:7px;background:#050914;border:1px solid #64748b;margin-left:auto}.vga-port{width:23px;height:9px;background:#183e7a;border:1px solid #60a5fa;border-radius:2px}
.raid-console-v4{background:linear-gradient(#07120c,#020805);border:2px inset #475569;border-radius:7px;padding:11px;color:#a7f3d0;font:12px/1.5 ui-monospace,monospace;min-height:145px;box-shadow:inset 0 0 18px #000}.raid-console-v4 hr{border:0;border-top:1px solid #27513a}.raid-brand{color:#e2e8f0;font-weight:700;margin-bottom:5px}.oktxt{color:#4ade80}.warntxt{color:#fbbf24}.controller-tabs{display:flex;gap:4px;margin-top:6px}.mini-tab{background:#1e293b;color:#94a3b8;border:1px solid #475569;padding:5px 7px;border-radius:4px;font-size:10px}.mini-tab.active{color:#fff;border-color:#818cf8}
.parts-caddy{display:grid;grid-template-columns:22px 1fr;gap:6px;text-align:left}.parts-handle{grid-row:1/5;background:#090e16;border:1px solid #64748b;border-radius:3px}.parts-caddy b{font-size:11px}.parts-caddy small{font-size:9px;color:#cbd5e1}.parts-caddy em{font-size:9px;color:#94a3b8;font-style:normal}.inventory-item{min-height:82px}

/* Stronger visual depth and realism across all PBQs */
.lab-scene{background:linear-gradient(145deg,#111c2d,#0b1220);box-shadow:inset 0 1px #64748b44}.lab-panel{background:linear-gradient(180deg,#111827,#0c1320)}
.visual-device{box-shadow:inset 0 1px #94a3b855,0 8px 18px #0003}.port{box-shadow:inset 0 0 0 2px #111827}.pc-case{box-shadow:inset 0 0 35px #33415588,0 10px 24px #0004}.motherboard{background:linear-gradient(135deg,#155e35,#064e3b);box-shadow:inset 0 0 0 2px #22c55e33}.component{box-shadow:0 4px 8px #0004}.printer-cutaway{background:linear-gradient(160deg,#e5edf5,#b7c7d8);box-shadow:inset 0 0 35px #64748b66}.printer-part{box-shadow:0 5px 10px #0003}.desktop-window{box-shadow:0 12px 25px #0005}.terminal{box-shadow:inset 0 0 24px #000}.cloud-column,.ticket-lane,.workflow-slot{background:#11182766}.drag-card{box-shadow:0 4px 8px #0003}.soc-map .endpoint{min-height:90px;box-shadow:inset 0 1px #94a3b844}.office-scene{box-shadow:inset 0 0 30px #64748b55}.ap-node{transition:box-shadow .2s}.ap-node:hover{box-shadow:0 0 0 7px #6366f155,0 5px 16px #0005}


/* ITLabForge platform shell */
.launch-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.saved-note{margin-top:14px;color:var(--muted);font-size:.9rem}
.catalog-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:24px}
.catalog-section{margin:26px 0}
.lab-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:14px}
.lab-launch-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.lab-launch-card h3{margin:0}.lab-launch-card p{margin:0;color:var(--muted);line-height:1.45;flex:1}
.lab-launch-card .lab-tag{display:inline-block;align-self:flex-start;background:#edf1ff;color:var(--primary);padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:800}
.catalog-section>h2{margin-bottom:12px}

/* Realistic state-driven rack */
.dc-room{background:radial-gradient(circle at 50% 0,#243044,#080d16 62%);padding:18px;border-radius:14px;position:relative;overflow:hidden}
.dc-room::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 38px,rgba(255,255,255,.025) 39px 40px);pointer-events:none}
.rack-frame-v4{position:relative;background:#05080d;border:14px solid #151b24;border-top-width:18px;border-bottom-width:18px;border-radius:10px;padding:16px 22px 18px;box-shadow:inset 0 0 0 2px #3d4654,0 18px 35px rgba(0,0,0,.45)}
.rack-frame-v4::before,.rack-frame-v4::after{content:"";position:absolute;top:8px;bottom:8px;width:12px;background:repeating-linear-gradient(#64748b 0 3px,#111827 3px 17px);border:1px solid #778394}
.rack-frame-v4::before{left:5px}.rack-frame-v4::after{right:5px}
.rack-top-v4{display:flex;justify-content:space-between;align-items:center;color:#9ca3af;font:11px ui-monospace,monospace;letter-spacing:.13em;margin-bottom:8px}
.server-face-v4{position:relative;background:linear-gradient(180deg,#3d4652 0,#202631 45%,#151a22 100%);border:2px solid #687384;border-radius:5px;margin:7px 0;padding:8px 10px 9px;box-shadow:inset 0 1px #7c8798,inset 0 -2px #0a0d12}
.server-face-v4::before,.server-face-v4::after{content:"";position:absolute;top:4px;bottom:4px;width:13px;background:linear-gradient(90deg,#121720,#414a57,#151a22);border:1px solid #626d7c}
.server-face-v4::before{left:-17px}.server-face-v4::after{right:-17px}
.server-bar-v4{display:grid;grid-template-columns:130px 1fr 95px;gap:10px;align-items:center;margin-bottom:7px}
.asset-v4{font:700 11px ui-monospace,monospace;color:#e5e7eb}
.vent-v4{height:16px;border:1px solid #111827;background:repeating-linear-gradient(90deg,#070a0f 0 3px,#3b4350 3px 5px);border-radius:2px}
.front-io-v4{display:flex;justify-content:flex-end;gap:7px;align-items:center}
.lcd-v4{background:#04150c;border:1px solid #4b5563;color:#63f59a;padding:3px 6px;border-radius:2px;font:9px ui-monospace,monospace;min-width:47px;text-align:center}
.usb-v4{width:13px;height:6px;border:1px solid #9ca3af;background:#090d13}.power-v4{width:11px;height:11px;border-radius:50%;border:2px solid #94a3b8;position:relative}
.power-v4::after{content:"";position:absolute;width:2px;height:5px;background:#22c55e;left:3px;top:-3px}
.bay-bank-v4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:6px;background:#0b0f15;border:1px solid #4b5563;border-radius:4px}
.bay-v4{position:relative;min-height:112px;background:#10161f;border:2px solid #5d6878;border-radius:4px;overflow:visible}
.bay-v4.selected{outline:3px solid #818cf8}
.bay-label-v4{position:absolute;left:4px;top:3px;color:#94a3b8;font:9px ui-monospace,monospace;z-index:3}
.backplane-v4{position:absolute;inset:9px 7px 7px;background:linear-gradient(90deg,#1a202a,#05070a);border:1px solid #3e4958;display:grid;place-items:center;color:#718096;font:9px ui-monospace,monospace}
.backplane-v4::after{content:"SAS BACKPLANE";border:1px solid #596575;padding:4px}
.caddy-v4{position:absolute;inset:4px;background:linear-gradient(90deg,#343e4c 0 16%,#141a23 17% 82%,#485464 83%);border:1px solid #738094;border-radius:3px;transition:transform .34s ease,opacity .25s ease}
.caddy-v4.removing{transform:translateX(92%);opacity:.18}
.caddy-v4.inserting{animation:insertDrive .48s ease both}
@keyframes insertDrive{from{transform:translateX(100%);opacity:.3}to{transform:translateX(0);opacity:1}}
.caddy-handle-v4{position:absolute;left:4px;top:9px;bottom:9px;width:13px;background:linear-gradient(#64748b,#1f2937);border:1px solid #9ca3af;border-radius:2px}
.caddy-handle-v4.open{transform:rotateY(55deg);transform-origin:left}
.caddy-body-v4{position:absolute;left:23px;right:7px;top:8px;bottom:7px}
.caddy-cap-v4{font:800 11px ui-monospace,monospace;color:#f8fafc}
.caddy-detail-v4{font:9px/1.4 ui-monospace,monospace;color:#aeb8c6;margin-top:4px}
.caddy-led-v4{position:absolute;right:4px;bottom:4px;display:flex;gap:4px}
.mini-led-v4{width:7px;height:7px;border-radius:50%;background:#64748b}.mini-led-v4.green{background:#22c55e;box-shadow:0 0 7px #22c55e}.mini-led-v4.amber{background:#f59e0b;box-shadow:0 0 7px #f59e0b}.mini-led-v4.red{background:#ef4444;box-shadow:0 0 7px #ef4444}
.caddy-status-v4{position:absolute;left:23px;bottom:7px;font:800 9px ui-monospace,monospace}.status-failed{color:#fca5a5}.status-ready{color:#fde68a}.status-rebuild{color:#93c5fd}.status-online{color:#86efac}
.raid-progress-v4{height:9px;background:#1f2937;border:1px solid #475569;border-radius:999px;overflow:hidden;margin-top:8px}.raid-progress-v4 span{display:block;height:100%;background:#4f46e5;width:0;transition:width .15s}
.inventory-caddy-v4{position:relative;text-align:left;min-height:82px;padding:10px 10px 10px 36px;background:linear-gradient(90deg,#475569 0 23px,#1e293b 24px);border:2px solid #475569;color:#fff;border-radius:7px;cursor:pointer}
.inventory-caddy-v4::before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:9px;border:1px solid #94a3b8;background:#111827}.inventory-caddy-v4.selected{border-color:#22c55e;box-shadow:0 0 0 2px #14532d inset}
.inventory-caddy-v4 small{display:block;color:#94a3b8;margin-top:4px}
.phase-strip-v4{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:10px}.phase-v4{padding:6px 4px;background:#1e293b;border:1px solid #334155;border-radius:6px;text-align:center;font-size:10px;color:#94a3b8}.phase-v4.active{border-color:#818cf8;color:#e0e7ff}.phase-v4.done{border-color:#22c55e;color:#bbf7d0}
@media(max-width:720px){.server-bar-v4{grid-template-columns:90px 1fr}.front-io-v4{display:none}.bay-bank-v4{grid-template-columns:repeat(2,1fr)}.phase-strip-v4{grid-template-columns:1fr}}

/* v2 realism pass */
.status-led-stack{display:flex;gap:5px;align-items:center}.status-icon{width:12px;height:12px;border-radius:2px;border:1px solid #0f172a;display:inline-grid;place-items:center;font:8px ui-monospace,monospace}.status-icon.ok{background:#22c55e;color:#052e16}.status-icon.warn{background:#f59e0b;color:#451a03}
.health-label{font:800 9px ui-monospace,monospace;letter-spacing:.06em}.health-label.ok{color:#86efac}.health-label.warn{color:#fde68a}.bezeled-panel{background:linear-gradient(#4b5563,#222831);border:1px solid #7c8798;border-radius:4px;padding:5px}.drive-state-row{display:flex;justify-content:space-between;align-items:center;margin:5px 0}.server-brand-v2{font:800 10px ui-monospace,monospace;color:#dbeafe}.server-model-v2{font:9px ui-monospace,monospace;color:#94a3b8}.realistic-note{font:9px ui-monospace,monospace;color:#cbd5e1}
.rack-pdu-v2{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.pdu-strip{background:#10141b;border:1px solid #465161;border-radius:4px;padding:6px;font:9px ui-monospace,monospace;color:#cbd5e1}.pdu-strip span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#22c55e;margin-right:4px;box-shadow:0 0 5px #22c55e}.kvm-panel{background:#151a22;border:1px solid #475569;border-radius:4px;padding:6px;display:flex;justify-content:space-between;align-items:center;font:9px ui-monospace,monospace;color:#94a3b8}.kvm-screen{background:#03120a;color:#67e8a5;border:1px solid #3f4b59;padding:3px 7px;border-radius:2px}
.device-window{background:#d8dee9;border:1px solid #64748b;border-radius:8px;overflow:hidden;color:#111827}.device-titlebar{background:#334155;color:white;padding:7px 10px;font:700 12px Segoe UI,Arial}.device-toolbar{background:#e5e7eb;border-bottom:1px solid #94a3b8;padding:6px;display:flex;gap:6px}.device-body{padding:12px;background:#f8fafc}
.printer-ui{background:#dbe4ee;border:8px solid #475569;border-radius:12px;padding:12px;color:#0f172a;margin-bottom:10px}.printer-lcd{background:#b7d6a8;border:2px inset #64748b;color:#162312;padding:8px;font:12px ui-monospace,monospace}.printer-button-row{display:flex;gap:6px;margin-top:8px}.printer-button{width:18px;height:18px;border-radius:50%;background:#94a3b8;border:2px outset #cbd5e1}
.taskbar-v2{background:#1e293b;color:#fff;padding:6px 10px;display:flex;gap:8px;align-items:center;font-size:11px}.start-orb{width:22px;height:22px;border-radius:50%;background:#2563eb;display:grid;place-items:center}
.soc-console-v2{background:#0b1220;border:1px solid #334155;border-radius:10px;padding:12px;color:#dbeafe;margin-bottom:10px}.alert-table{width:100%;border-collapse:collapse;font-size:12px}.alert-table th,.alert-table td{border-bottom:1px solid #334155;padding:7px;text-align:left}.alert-table tr.active{background:#3f1d1d}
.ap-controller-ui{background:#eef2f7;border:1px solid #94a3b8;border-radius:8px;color:#0f172a}.ap-controller-head{background:#1e293b;color:#fff;padding:8px 10px;font-size:12px}.ap-controller-body{padding:10px}.heat-legend{display:flex;gap:8px;font-size:11px;align-items:center}.heat-box{width:18px;height:10px;border:1px solid #64748b}.heat-strong{background:#22c55e55}.heat-mid{background:#f59e0b55}.heat-weak{background:#ef444455}
.cloud-console-v2,.change-console,.ticket-app{background:#f8fafc;border:1px solid #94a3b8;border-radius:8px;color:#0f172a;margin-bottom:10px}.cloud-head-v2,.change-head,.ticket-head{background:#1e293b;color:#fff;padding:8px 10px}.cloud-body-v2,.ticket-body{padding:10px}.change-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px}

/* v3 layout fixes and realistic motherboard */
.caddy-v4{overflow:hidden}
.caddy-body-v4{display:grid;grid-template-rows:auto auto 1fr auto;gap:2px;min-width:0}
.caddy-cap-v4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}
.caddy-detail-v4{font-size:8px;line-height:1.25;white-space:normal;overflow:hidden}
.caddy-status-v4{position:static!important;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px}
.caddy-led-v4{bottom:3px}
.bay-bank-v4{align-items:stretch}
.bay-v4{min-height:124px}

.mobo-scene{background:radial-gradient(circle at 50% 20%,#dbeafe,#94a3b8 72%);border:1px solid #64748b;border-radius:14px;padding:18px}
.mobo-chassis{position:relative;min-height:620px;background:linear-gradient(145deg,#4b5563,#1f2937);border:12px solid #111827;border-radius:16px;box-shadow:inset 0 0 0 2px #6b7280}
.motherboard-v3{position:absolute;left:5%;top:6%;width:78%;height:84%;background:
radial-gradient(circle at 20% 20%,rgba(255,255,255,.06),transparent 25%),
repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 18px),
repeating-linear-gradient(rgba(255,255,255,.025) 0 1px,transparent 1px 18px),
#1f6f52;border:6px solid #164e3a;border-radius:9px;box-shadow:inset 0 0 0 2px #2f855a}
.board-silk{position:absolute;color:#d1fae5;font:700 9px ui-monospace,monospace;letter-spacing:.05em;pointer-events:none}
.mobo-part{position:absolute;border:2px solid #0f172a;background:#d1d5db;color:#111827;border-radius:4px;padding:4px;font:800 9px ui-monospace,monospace;cursor:pointer;box-shadow:0 2px 4px #0005}
.mobo-part:hover{outline:3px solid #f59e0b}.mobo-part.targeted{outline:4px solid #22c55e}.mobo-part.wrong{outline:4px solid #ef4444}
.cpu-socket-v3{left:31%;top:18%;width:20%;height:21%;background:
repeating-linear-gradient(90deg,#d1d5db 0 3px,#9ca3af 3px 5px);
display:grid;place-items:center}
.vrm-bank{left:17%;top:11%;width:12%;height:30%;background:repeating-linear-gradient(90deg,#111827 0 6px,#6b7280 6px 10px)}
.eps-v3{left:4%;top:4%;width:15%;height:8%;background:#111827;color:#fff}
.atx24-v3{right:2%;top:25%;width:9%;height:34%;background:repeating-linear-gradient(#111827 0 6px,#4b5563 6px 9px);color:#fff}
.dimm-slot{width:4%;height:38%;top:10%;background:#111827;border-color:#6b7280}
.dimm1{left:55%}.dimm2{left:61%}.dimm3{left:67%}.dimm4{left:73%}
.pcie-x16{left:27%;bottom:18%;width:46%;height:5%;background:#f8fafc}
.pcie-x1{left:27%;bottom:29%;width:18%;height:4%;background:#e5e7eb}
.m2-slot{left:43%;bottom:34%;width:24%;height:5%;background:#111827;color:#fff}
.sata-bank{right:2%;bottom:8%;width:12%;height:18%;background:#111827;color:#fff}
.usb-header{left:8%;bottom:8%;width:13%;height:8%;background:#111827;color:#fff}
.front-panel{left:23%;bottom:6%;width:16%;height:8%;background:#111827;color:#fff}
.cpu-fan{left:29%;top:6%;width:12%;height:7%;background:#111827;color:#fff}
.sys-fan{right:12%;top:5%;width:10%;height:7%;background:#111827;color:#fff}
.io-shield{position:absolute;left:-5%;top:16%;width:6%;height:38%;background:linear-gradient(#9ca3af,#475569);border:2px solid #111827}
.gpu-card-v3{position:absolute;left:33%;bottom:7%;width:44%;height:17%;background:linear-gradient(90deg,#111827,#374151);border:4px solid #0f172a;border-radius:7px;color:#fff;padding:10px;display:none}
.gpu-card-v3.installed{display:block}
.ssd-v3{position:absolute;right:4%;bottom:7%;width:13%;height:19%;background:linear-gradient(#6b7280,#1f2937);border:3px solid #111827;border-radius:6px;color:#fff;padding:7px;font-size:9px}
.psu-v3{position:absolute;right:2%;top:4%;width:14%;height:18%;background:linear-gradient(#111827,#374151);border:3px solid #0f172a;border-radius:7px;color:#fff;padding:8px;font-size:9px}
.psu-fan-v3{width:55px;height:55px;border-radius:50%;border:4px solid #6b7280;background:repeating-radial-gradient(circle,#111827 0 5px,#374151 6px 9px);margin:6px auto}
.cable-tray-v3{position:absolute;right:2%;top:27%;width:14%;display:grid;gap:7px}
.cable-v3{background:linear-gradient(90deg,#111827,#374151);color:#fff;border:2px solid #64748b;border-radius:7px;padding:8px;font:700 10px ui-monospace,monospace;cursor:grab}
.cable-v3.active{border-color:#f59e0b;box-shadow:0 0 0 2px #78350f inset}
.connection-summary{display:grid;gap:6px;font:12px ui-monospace,monospace}
.connection-line{display:flex;justify-content:space-between;padding:7px;background:#1e293b;border:1px solid #334155;border-radius:7px}
.connection-line.ok{border-color:#22c55e;color:#bbf7d0}
@media(max-width:850px){
  .mobo-chassis{min-height:760px}
  .motherboard-v3{width:88%;height:64%}
  .psu-v3,.cable-tray-v3,.ssd-v3{position:static;width:auto;margin:10px}
  .gpu-card-v3{left:28%;width:55%}
}

/* v4 realistic wireless site-survey environment */
.rf-office{position:relative;height:660px;background:#d7dde5;border:8px solid #475569;border-radius:12px;overflow:hidden;color:#0f172a;touch-action:none}
.rf-blueprint{position:absolute;inset:0;background:
linear-gradient(90deg,rgba(30,64,175,.05) 1px,transparent 1px),
linear-gradient(rgba(30,64,175,.05) 1px,transparent 1px),#eef2f7;background-size:24px 24px}
.rf-room{position:absolute;background:rgba(255,255,255,.88);border:4px solid #64748b;padding:8px;font:800 12px Segoe UI,Arial;z-index:2}
.rf-reception{left:2%;top:3%;width:26%;height:25%}.rf-open{left:2%;top:31%;width:52%;height:65%}.rf-conf-a{left:31%;top:3%;width:23%;height:25%}.rf-corridor{left:57%;top:3%;width:12%;height:93%;background:#e2e8f0}
.rf-break{left:72%;top:3%;width:26%;height:28%}.rf-conf-b{left:72%;top:34%;width:26%;height:27%}.rf-training{left:72%;top:64%;width:26%;height:32%}
.rf-server{left:57%;top:63%;width:12%;height:20%;background:#cbd5e1;border-color:#334155}.rf-storage{left:57%;top:85%;width:12%;height:11%;background:#d1d5db}
.rf-wall-concrete{position:absolute;background:#334155;z-index:5}.rf-wall-concrete.v1{left:56.3%;top:62%;width:1.4%;height:35%}.rf-wall-concrete.h1{left:56%;top:62%;width:14%;height:1.5%}
.rf-glass{position:absolute;border-top:4px double #38bdf8;z-index:5}.rf-glass.g1{left:32%;top:27.5%;width:20%}.rf-glass.g2{left:74%;top:61.2%;width:22%}
.rf-door{position:absolute;width:28px;height:6px;background:#92400e;z-index:6}.rf-door.d1{left:18%;top:27.3%}.rf-door.d2{left:42%;top:27.3%}.rf-door.d3{left:68%;top:17%;transform:rotate(90deg)}.rf-door.d4{left:82%;top:31.5%}.rf-door.d5{left:82%;top:61.5%}
.cubicle{position:absolute;border:2px solid #94a3b8;background:#e5e7eb;z-index:3}.desk{position:absolute;background:#a16207;border:2px solid #78350f;border-radius:3px;z-index:4}.chair{position:absolute;width:12px;height:12px;border-radius:50%;background:#475569;z-index:4}
.table-round{position:absolute;width:68px;height:68px;border-radius:50%;background:#a16207;border:4px solid #78350f;z-index:3}.table-long{position:absolute;background:#a16207;border:4px solid #78350f;border-radius:8px;z-index:3}
.kitchen-counter{position:absolute;background:#64748b;border:3px solid #334155;z-index:3}.microwave-real{position:absolute;width:46px;height:30px;background:linear-gradient(#d1d5db,#64748b);border:3px solid #334155;border-radius:4px;z-index:7;font:8px ui-monospace,monospace;display:grid;place-items:center}
.microwave-wave{position:absolute;border:2px dashed rgba(245,158,11,.7);border-radius:50%;z-index:1;pointer-events:none}
.rf-client{position:absolute;width:20px;height:20px;border-radius:4px;background:#111827;border:2px solid #fff;z-index:9;box-shadow:0 2px 5px #0005}.rf-client::after{content:"";position:absolute;left:3px;right:3px;bottom:2px;height:2px;background:#60a5fa}
.rf-client-label{position:absolute;transform:translate(-35%,22px);white-space:nowrap;background:#fff;border:1px solid #94a3b8;border-radius:3px;padding:2px 4px;font:8px ui-monospace,monospace;z-index:10}
.rf-ap{position:absolute;width:62px;height:62px;border-radius:50%;background:radial-gradient(circle,#f8fafc 0 38%,#cbd5e1 39% 56%,#334155 57%);border:4px solid #fff;z-index:12;cursor:grab;box-shadow:0 4px 12px #0006;display:grid;place-items:center;font:800 11px ui-monospace,monospace;color:#0f172a}
.rf-ap::before{content:"";position:absolute;width:34px;height:4px;border-radius:999px;background:#22c55e;bottom:8px}.rf-ap.dragging{cursor:grabbing;opacity:.88}
.rf-heatmap{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:.48}
.rf-client-table{width:100%;border-collapse:collapse;font:11px ui-monospace,monospace}.rf-client-table th,.rf-client-table td{padding:6px;border-bottom:1px solid #334155;text-align:left}.rf-good{color:#86efac}.rf-mid{color:#fde68a}.rf-bad{color:#fca5a5}
.rf-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rf-ap-control{background:#1e293b;border:1px solid #475569;border-radius:8px;padding:9px}.rf-ap-control label{color:#e2e8f0;font-size:11px}.rf-ap-control select{margin-top:4px;padding:7px}
.rf-scale{display:flex;align-items:center;gap:6px;font-size:10px;color:#cbd5e1;margin-top:8px}.rf-gradient{height:11px;flex:1;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e);border:1px solid #64748b}
.rf-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.rf-summary .survey-metric strong{font-size:19px}
@media(max-width:900px){.rf-office{height:720px}.rf-summary{grid-template-columns:repeat(2,1fr)}.rf-controls{grid-template-columns:1fr}}

/* v5 AP seating and microwave interference UI */
.mount-point{position:absolute;width:30px;height:30px;border-radius:50%;border:2px dashed #475569;background:rgba(255,255,255,.72);z-index:8;display:grid;place-items:center;font:700 9px ui-monospace,monospace;color:#475569}
.mount-point::after{content:"MOUNT";font-size:7px}
.mount-point.occupied{border-style:solid;border-color:#22c55e;background:#dcfce7;color:#166534}
.mount-point.warn{border-color:#f59e0b;background:#fef3c7;color:#92400e}
.mount-point.danger{border-color:#ef4444;background:#fee2e2;color:#991b1b}
.rf-ap.seated{box-shadow:0 0 0 4px #22c55e55,0 4px 12px #0006}
.rf-ap.unseated::after{content:"UNSEATED";position:absolute;top:-20px;background:#7c2d12;color:#fff;padding:2px 4px;border-radius:3px;font:7px ui-monospace,monospace}
.microwave-zone{position:absolute;border-radius:50%;pointer-events:none;z-index:2}
.microwave-zone.high{border:3px solid rgba(239,68,68,.9);background:rgba(239,68,68,.15)}
.microwave-zone.medium{border:2px dashed rgba(245,158,11,.85);background:rgba(245,158,11,.10)}
.microwave-zone.low{border:2px dotted rgba(234,179,8,.65);background:rgba(234,179,8,.06)}
.microwave-panel{background:#111827;border:1px solid #475569;border-radius:9px;padding:10px;color:#e5e7eb;margin-top:10px}
.microwave-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mw-status{padding:8px;border-radius:7px;border:1px solid #475569;background:#1e293b;font:11px ui-monospace,monospace}
.mw-status.none{border-color:#22c55e;color:#bbf7d0}
.mw-status.medium{border-color:#f59e0b;color:#fde68a}
.mw-status.high{border-color:#ef4444;color:#fecaca}
.mw-indicator{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;background:#64748b}
.mw-indicator.none{background:#22c55e;box-shadow:0 0 7px #22c55e}
.mw-indicator.medium{background:#f59e0b;box-shadow:0 0 7px #f59e0b}
.mw-indicator.high{background:#ef4444;box-shadow:0 0 7px #ef4444}
.snap-hint{font-size:11px;color:#cbd5e1;margin-top:8px}

/* v6 RF status clarification and SVG motherboard */
.proximity-status{font-size:10px;margin-top:3px;color:#cbd5e1}
.mw-status.proximity{border-color:#f59e0b;color:#fde68a}
.mw-status.safe{border-color:#22c55e;color:#bbf7d0}
.rf-design-note{background:#172554;border:1px solid #3730a3;color:#c7d2fe;border-radius:7px;padding:8px;font-size:11px;margin-top:8px}

.svg-mobo-wrap{background:radial-gradient(circle at 50% 10%,#e2e8f0,#64748b);border:8px solid #1f2937;border-radius:14px;padding:10px}
.svg-mobo{width:100%;height:auto;display:block;max-height:660px}
.svg-mobo .board{fill:#176b4d;stroke:#0f3f31;stroke-width:8}
.svg-mobo .trace{stroke:#77b99d;stroke-width:1;opacity:.35;fill:none}
.svg-mobo .silk{fill:#d1fae5;font:700 12px ui-monospace,monospace}
.svg-mobo .small-silk{fill:#d1fae5;font:700 9px ui-monospace,monospace}
.svg-mobo .socket{fill:#cbd5e1;stroke:#111827;stroke-width:4}
.svg-mobo .dark-socket{fill:#111827;stroke:#64748b;stroke-width:3}
.svg-mobo .slot{fill:#e5e7eb;stroke:#111827;stroke-width:3}
.svg-mobo .chip{fill:#1f2937;stroke:#020617;stroke-width:3}
.svg-mobo .heatsink-line{stroke:#94a3b8;stroke-width:3}
.svg-mobo .pin{fill:#020617;stroke:#9ca3af;stroke-width:1}
.svg-mobo .click-target{cursor:pointer}
.svg-mobo .click-target:hover .target-outline{stroke:#f59e0b;stroke-width:6}
.svg-mobo .connected .target-outline{stroke:#22c55e;stroke-width:7}
.svg-mobo .wrong .target-outline{stroke:#ef4444;stroke-width:7}
.svg-mobo .target-outline{fill:transparent;stroke:transparent}
.plug-rack{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}
.real-plug{position:relative;background:#111827;border:2px solid #64748b;border-radius:7px;color:#fff;padding:10px 8px 10px 44px;min-height:56px;text-align:left;cursor:pointer;font:700 10px ui-monospace,monospace}
.real-plug::before{content:"";position:absolute;left:8px;top:9px;width:27px;height:34px;background:repeating-linear-gradient(90deg,#020617 0 6px,#4b5563 6px 8px);border:2px solid #94a3b8;border-radius:3px}
.real-plug.active{border-color:#f59e0b;box-shadow:0 0 0 2px #78350f inset}
.real-plug.connected{border-color:#22c55e;opacity:.65}
.component-shelf{background:#0f172a;border:1px solid #475569;border-radius:8px;padding:10px;margin-top:10px}
.post-screen{background:#020617;color:#86efac;border:1px solid #334155;border-radius:7px;padding:10px;min-height:95px;font:11px/1.55 ui-monospace,monospace}
@media(max-width:700px){.plug-rack{grid-template-columns:1fr}.svg-mobo{min-height:540px}}

/* v8 post-exam analysis dashboard */
.analysis-section{margin:28px 0}.analysis-heading-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.domain-analysis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.domain-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#f8fafc}.domain-card h3{margin:0 0 8px;font-size:1rem}.domain-card .domain-score{font-size:1.45rem;font-weight:800}.domain-progress{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:8px}.domain-progress span{display:block;height:100%;background:var(--primary)}.domain-card.weak .domain-progress span{background:#b42318}.domain-card.mid .domain-progress span{background:#a15c00}.review-filter-group{display:flex;gap:7px}.review-filter{background:#e8edf7;color:#172033;border-radius:999px;padding:8px 12px}.review-filter.active{background:var(--primary);color:#fff}.result-navigator{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 20px}.result-nav-btn{width:42px;height:38px;padding:0;border:2px solid transparent;background:#e2e8f0;color:#172033}.result-nav-btn.correct{background:#dcfce7;color:#166534}.result-nav-btn.incorrect{background:#fee2e2;color:#991b1b}.result-nav-btn.pbq::after{content:'P';font-size:8px;vertical-align:top;margin-left:2px}.analysis-card{border:1px solid var(--line);border-left:6px solid;border-radius:12px;padding:17px;margin:14px 0;background:#fff;scroll-margin-top:16px}.analysis-card.correct{border-left-color:#15803d}.analysis-card.incorrect{border-left-color:#b42318}.analysis-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.analysis-badges{display:flex;gap:6px;flex-wrap:wrap}.analysis-badge{padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.75rem;font-weight:800}.analysis-badge.correct{background:#dcfce7;color:#166534}.analysis-badge.incorrect{background:#fee2e2;color:#991b1b}.answer-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.answer-panel{border:1px solid var(--line);border-radius:10px;padding:12px;background:#f8fafc}.answer-panel.user-wrong{background:#fff1f0;border-color:#f0b7b1}.answer-panel.correct-answer{background:#effcf5;border-color:#9ed9bd}.answer-panel h4{margin:0 0 7px}.pbq-analysis{border:1px solid #c7d2fe;background:#f5f7ff;border-radius:10px;padding:12px;margin:12px 0}.pbq-analysis h4{margin:0 0 8px}.pbq-step{display:flex;gap:9px;align-items:flex-start;border-top:1px solid #d8dee9;padding:8px 0}.pbq-step:first-of-type{border-top:0}.pbq-step-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#fee2e2;color:#991b1b}.pbq-step.ok .pbq-step-icon{background:#dcfce7;color:#166534}.question-explanation{line-height:1.55}.analysis-card.hidden-result{display:none}.review-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.review-open-btn{background:#e8edf7;color:#172033}.objective-line{color:var(--muted);font-size:.86rem;margin-top:4px}
@media(max-width:700px){.answer-comparison{grid-template-columns:1fr}.analysis-card-head{display:block}.analysis-badges{margin-top:8px}}

/* v9 explicit microwave fault */
.mount-point[data-mount="M8"]::before{content:"INTERFERENCE RISK";position:absolute;top:-28px;left:50%;transform:translateX(-50%);background:#991b1b;color:#fff;padding:3px 6px;border-radius:4px;white-space:nowrap;font:8px ui-monospace,monospace}.microwave-fault-banner{background:#450a0a;color:#fecaca;border:1px solid #ef4444;border-radius:8px;padding:9px 10px;margin:8px 0;font:11px/1.45 ui-monospace,monospace}

#mwFaultBanner{transition:opacity .2s ease}

.variant-banner{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#172554;border:1px solid #3730a3;color:#c7d2fe;border-radius:8px;padding:8px 10px;margin-bottom:10px;font-size:11px}.variant-banner span{color:#a5b4fc}.variant-settings{font:11px ui-monospace,monospace;color:#cbd5e1}

/* ITLabForge Pro v12 */
.difficulty-banner{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#172554;border:1px solid #3730a3;color:#c7d2fe;padding:8px 10px;border-radius:8px;margin-bottom:10px;font-size:12px}
.difficulty-banner.beginner{background:#052e16;border-color:#15803d;color:#bbf7d0}
.difficulty-banner.expert{background:#450a0a;border-color:#b91c1c;color:#fecaca}
.coach-box{background:#ecfdf5;border:1px solid #34d399;color:#064e3b;border-radius:8px;padding:9px;margin:8px 0;font-size:12px}
.store-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.part-card-pro{background:#1e293b;border:2px solid #475569;color:#e5e7eb;border-radius:9px;padding:10px;cursor:pointer;text-align:left}
.part-card-pro.selected{border-color:#22c55e;box-shadow:0 0 0 2px #14532d inset}
.part-card-pro strong{display:block}.part-card-pro small{display:block;color:#94a3b8;margin-top:3px}
.build-meter{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.build-stat{background:#1e293b;border:1px solid #475569;border-radius:8px;padding:10px;text-align:center}.build-stat strong{display:block;font-size:21px}
.compat-list{font:11px/1.55 ui-monospace,monospace}.compat-ok{color:#86efac}.compat-bad{color:#fca5a5}
.scan-samples{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.scan-sheet{height:220px;background:#fff;border:6px solid #64748b;border-radius:7px;color:#111827;padding:14px;position:relative;overflow:hidden}
.scan-sheet .streak{position:absolute;top:0;bottom:0;width:12px;background:rgba(15,23,42,.72);left:48%}
.mfp-body{background:linear-gradient(#d8dee8,#8994a3);border:9px solid #475569;border-radius:13px;padding:14px;color:#111827}
.scanner-bed{height:170px;background:#dbeafe;border:8px solid #334155;border-radius:8px;position:relative}.adf-strip{position:absolute;right:8%;top:7%;bottom:7%;width:8%;background:#9ca3af;border:2px solid #111827;cursor:pointer}.adf-strip.dirty::after{content:"";position:absolute;left:45%;top:12%;width:5px;height:72%;background:#111827}
.service-part{display:inline-block;background:#e5e7eb;border:2px solid #64748b;border-radius:6px;padding:7px;margin:5px;cursor:pointer}.service-part.selected{outline:4px solid #f59e0b}
.config-window{background:#eef2f7;border:1px solid #94a3b8;border-radius:9px;color:#0f172a;overflow:hidden}.config-head{background:#1e293b;color:#fff;padding:8px 10px}.config-body{padding:12px}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.config-field label{font-size:11px;color:#334155}.config-field input,.config-field select{margin-top:4px}
.cable-tester{background:#f59e0b;border:8px solid #78350f;border-radius:13px;padding:14px;color:#111827}.tester-screen{background:#b7d6a8;border:3px inset #64748b;padding:10px;font:13px/1.5 ui-monospace,monospace}.wire-map{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin-top:10px}.wire-pin{background:#fff;border:2px solid #334155;border-radius:4px;padding:7px 2px;text-align:center;font:10px ui-monospace,monospace}
.display-wall{display:flex;gap:9px;align-items:end;justify-content:center;background:#111827;padding:18px;border-radius:9px}.monitor-pro{background:#0f172a;border:8px solid #475569;border-bottom-width:14px;color:#fff;display:grid;place-items:center;min-height:150px;flex:1;position:relative}.monitor-pro::after{content:"";position:absolute;width:45px;height:28px;background:#64748b;bottom:-38px}
.disk-bench{display:grid;grid-template-columns:1fr 1fr;gap:12px}.disk-pro{background:linear-gradient(#64748b,#1f2937);border:4px solid #111827;color:#fff;border-radius:8px;padding:14px;min-height:150px}
.ups-front{background:linear-gradient(#1f2937,#020617);border:8px solid #475569;border-radius:12px;color:#fff;padding:16px}.ups-lcd{background:#9fefb5;color:#052e16;border:3px inset #64748b;padding:10px;font:13px ui-monospace,monospace}
.email-client{background:#f8fafc;border:1px solid #94a3b8;color:#0f172a;border-radius:8px;overflow:hidden}.email-toolbar{background:#e2e8f0;padding:7px}.email-body{padding:14px}.suspicious{background:#fee2e2;border:1px solid #ef4444;padding:4px}
@media(max-width:700px){.store-layout,.scan-samples,.config-grid,.disk-bench{grid-template-columns:1fr}.build-meter{grid-template-columns:1fr}}

/* v13 realistic dual PC Builder */
.pc-builder-shell{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px}
.pc-store{background:#111827;border:1px solid #334155;border-radius:12px;padding:14px;color:#e5e7eb}
.pc-category-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.pc-cat-btn{background:#1e293b;color:#cbd5e1;border:1px solid #475569;border-radius:7px;padding:7px 10px;cursor:pointer}
.pc-cat-btn.active{background:#4f46e5;color:#fff}
.pc-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:10px}
.pc-product{background:#1e293b;border:2px solid #475569;border-radius:10px;padding:10px;color:#e5e7eb;cursor:pointer;min-height:180px;display:flex;flex-direction:column}
.pc-product:hover{border-color:#818cf8}.pc-product.selected{border-color:#22c55e;box-shadow:0 0 0 2px #14532d inset}
.pc-product h4{margin:6px 0}.pc-product p{font-size:11px;color:#cbd5e1;line-height:1.45;margin:2px 0}.pc-product .price{font-size:20px;font-weight:900;margin-top:auto}
.part-visual{height:75px;border-radius:8px;background:#0f172a;border:1px solid #334155;position:relative;overflow:hidden}
.part-visual.cpu::before{content:"";position:absolute;width:54px;height:54px;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(145deg,#d1d5db,#64748b);border:4px solid #f59e0b;box-shadow:inset 0 0 0 5px #9ca3af}
.part-visual.cpu::after{content:"CPU";position:absolute;inset:0;display:grid;place-items:center;color:#111827;font:900 12px ui-monospace}
.part-visual.board::before{content:"";position:absolute;left:10%;top:10%;width:80%;height:80%;background:#176b4d;border:3px solid #0f3f31}
.part-visual.board::after{content:"CPU  DIMM  PCIe  M.2";position:absolute;left:15%;right:15%;top:38%;color:#d1fae5;font:700 9px ui-monospace;word-spacing:8px}
.part-visual.ram::before,.part-visual.ram::after{content:"";position:absolute;left:12%;right:12%;height:23px;background:#14532d;border:2px solid #22c55e}
.part-visual.ram::before{top:12px}.part-visual.ram::after{bottom:12px}
.part-visual.gpu::before{content:"";position:absolute;left:7%;right:7%;top:13px;bottom:13px;background:linear-gradient(90deg,#1f2937,#475569);border:3px solid #020617}
.part-visual.gpu::after{content:"◉  ◉  PCIe GPU";position:absolute;inset:0;display:grid;place-items:center;color:#e5e7eb;font:800 12px ui-monospace}
.part-visual.storage::before{content:"NVMe SSD";position:absolute;left:12%;right:12%;top:24px;height:25px;background:#166534;border:2px solid #22c55e;color:#fff;display:grid;place-items:center;font:800 10px ui-monospace}
.part-visual.psu::before{content:"PSU";position:absolute;width:66px;height:58px;left:50%;top:50%;transform:translate(-50%,-50%);background:#111827;border:4px solid #64748b;color:#fff;display:grid;place-items:center;font-weight:900}
.part-visual.case::before{content:"";position:absolute;width:48px;height:65px;left:50%;top:5px;transform:translateX(-50%);background:linear-gradient(#334155,#111827);border:3px solid #64748b}
.part-visual.case::after{content:"◉";position:absolute;left:50%;top:24px;transform:translateX(-50%);color:#60a5fa;font-size:24px}
.part-visual.cooler::before{content:"";position:absolute;width:58px;height:58px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);background:repeating-radial-gradient(circle,#111827 0 7px,#64748b 8px 11px);border:4px solid #94a3b8}
.pc-build-side{background:#0f172a;border:1px solid #334155;border-radius:12px;padding:14px;color:#e5e7eb}
.pc-work-order{background:#172554;border:1px solid #3730a3;border-radius:9px;padding:10px;color:#c7d2fe;font-size:12px;line-height:1.5}
.pc-case-preview{position:relative;height:345px;background:linear-gradient(145deg,#374151,#111827);border:8px solid #020617;border-radius:12px;margin:12px 0;overflow:hidden}
.pc-case-preview .preview-board{position:absolute;left:9%;top:10%;width:61%;height:68%;background:#176b4d;border:4px solid #0f3f31;border-radius:7px}
.preview-cpu{position:absolute;left:23%;top:22%;width:60px;height:60px;background:#9ca3af;border:4px solid #f59e0b;display:grid;place-items:center;color:#111827;font:800 9px ui-monospace}
.preview-ram{position:absolute;left:52%;top:15%;width:12px;height:120px;background:#14532d;border:2px solid #22c55e;box-shadow:20px 0 #14532d}
.preview-gpu{position:absolute;left:19%;bottom:16%;width:45%;height:42px;background:#1f2937;border:4px solid #020617;color:#fff;display:grid;place-items:center;font:800 9px ui-monospace}
.preview-storage{position:absolute;right:8%;bottom:9%;width:78px;height:38px;background:#166534;border:2px solid #22c55e;color:#fff;display:grid;place-items:center;font:800 8px ui-monospace}
.preview-psu{position:absolute;right:5%;top:7%;width:83px;height:72px;background:#111827;border:4px solid #64748b;color:#fff;display:grid;place-items:center;font:900 10px ui-monospace}
.preview-cooler{position:absolute;left:25%;top:20%;width:56px;height:56px;border-radius:50%;border:5px solid #94a3b8;background:repeating-radial-gradient(circle,#111827 0 6px,#64748b 7px 10px)}
.preview-empty{opacity:.2}
.pc-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.pc-metric{background:#1e293b;border:1px solid #475569;border-radius:8px;padding:9px;text-align:center}.pc-metric strong{display:block;font-size:20px}
.pc-checks{display:grid;gap:5px;margin:10px 0;font:11px/1.45 ui-monospace,monospace}.pc-check.ok{color:#86efac}.pc-check.bad{color:#fca5a5}.pc-check.warn{color:#fde68a}
.pc-selected-list{font-size:11px;line-height:1.55;color:#cbd5e1}.pc-selected-list b{color:#fff}
@media(max-width:1000px){.pc-builder-shell{grid-template-columns:1fr}.pc-case-preview{height:310px}}

/* v14 stable PC workbench and save/resume */
.exam-header-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.resume-ready{box-shadow:0 0 0 3px rgba(34,197,94,.25)}
.save-toast{position:fixed;right:18px;bottom:18px;background:#052e16;color:#bbf7d0;border:1px solid #22c55e;padding:10px 14px;border-radius:8px;z-index:9999;font-weight:700}
.pbq-ticket{background:#e8eef8;border:1px solid #94a3b8;border-radius:8px;color:#0f172a;overflow:hidden}
.pbq-ticket-head{background:#334155;color:#fff;padding:8px 10px;font-weight:800}
.pbq-ticket-body{padding:11px;font-size:12px;line-height:1.5}
.requirements-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:11px}
.requirements-table th,.requirements-table td{border:1px solid #94a3b8;padding:6px;text-align:left}
.pc-workbench-pro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(315px,.65fr);gap:14px}
.parts-terminal{background:#101827;border:1px solid #334155;border-radius:12px;color:#e5e7eb;overflow:hidden}
.parts-terminal-head{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#1e293b;padding:10px}
.parts-terminal-body{padding:12px}
.parts-tabs-stable{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
.parts-tab-stable{background:#334155;color:#e2e8f0;border:1px solid #64748b;border-radius:7px;padding:8px;cursor:pointer;font-size:11px}
.parts-tab-stable.active{background:#4f46e5;color:#fff;border-color:#818cf8}
.parts-tab-stable.complete::after{content:" ✓";color:#86efac}
.parts-shelf-stable{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:9px;min-height:390px}
.exam-part-card{background:#1e293b;color:#e5e7eb;border:2px solid #475569;border-radius:9px;padding:9px;text-align:left;cursor:pointer;display:flex;flex-direction:column;min-height:185px}
.exam-part-card:hover{border-color:#a5b4fc}.exam-part-card.selected{border-color:#22c55e;box-shadow:inset 0 0 0 2px #14532d}
.exam-part-card h4{margin:6px 0}.exam-part-card p{font-size:10px;color:#cbd5e1;line-height:1.45;margin:2px 0}
.exam-part-card .price{font-size:20px;font-weight:900;margin-top:auto}
.build-console{background:#0f172a;border:1px solid #334155;border-radius:12px;color:#e5e7eb;padding:12px}
.build-slot-list{display:grid;gap:5px;margin:9px 0}
.build-slot-row{display:grid;grid-template-columns:86px 1fr auto;gap:6px;align-items:center;background:#1e293b;border:1px solid #334155;border-radius:7px;padding:6px;font-size:10px}
.build-slot-row.filled{border-color:#166534}.build-slot-row .slot-name{font-weight:900}
.compatibility-console{background:#020617;border:1px solid #334155;border-radius:8px;padding:8px;min-height:110px;font:10px/1.55 ui-monospace,monospace}
.boot-console{background:#020617;border:1px solid #334155;color:#86efac;border-radius:8px;padding:8px;min-height:72px;font:10px/1.5 ui-monospace,monospace;margin-top:8px}
@media(max-width:980px){.pc-workbench-pro{grid-template-columns:1fr}.parts-tabs-stable{grid-template-columns:repeat(2,1fr)}}

.danger-reset{border-color:#b91c1c!important;color:#fecaca!important;background:#450a0a!important}
.danger-reset:hover{background:#7f1d1d!important}

/* v17 inline answer checking */
.inline-answer-feedback{margin-top:12px;border-radius:9px;padding:11px 13px;border:1px solid #475569;background:#0f172a;color:#e5e7eb}
.inline-answer-feedback.correct{border-color:#22c55e;background:#052e16;color:#bbf7d0}
.inline-answer-feedback.incorrect{border-color:#ef4444;background:#450a0a;color:#fecaca}
.inline-answer-feedback .feedback-title{font-weight:900;margin-bottom:6px}
.inline-answer-feedback .feedback-row{font-size:12px;line-height:1.5;margin-top:4px}
.answer-locked-note{font-size:11px;color:#94a3b8;margin-top:6px}


/* ===== ITLabForge Elite Multi-Cert Portal v20 ===== */
/* All new website styles are scoped to .portal-home to protect legacy exam/PBQ UI. */
.portal-home{
  --p-navy:#10233f;
  --p-navy2:#17385d;
  --p-blue:#356fe5;
  --p-cyan:#15aeb5;
  --p-ink:#122033;
  --p-muted:#5f7187;
  --p-bg:#f5f8fc;
  --p-card:#ffffff;
  --p-line:#dbe4ef;
  --p-green:#16865d;
  --p-orange:#d87918;
  --p-purple:#6b5bd6;
  padding:0!important;
  max-width:none!important;
  min-height:100vh;
  background:var(--p-bg);
  color:var(--p-ink);
}
.portal-home *{box-sizing:border-box}
.portal-home button,.portal-home input,.portal-home select{font:inherit}
.portal-nav{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:72px;padding:12px max(24px,calc((100vw - 1240px)/2));
  background:rgba(255,255,255,.95);border-bottom:1px solid var(--p-line);
  backdrop-filter:blur(14px);
}
.portal-brand{display:flex;align-items:center;gap:10px;background:transparent;border:0;cursor:pointer;color:var(--p-ink);text-align:left}
.portal-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,var(--p-navy),var(--p-blue));color:white;display:grid;place-items:center;font-weight:950;letter-spacing:-.03em;box-shadow:0 8px 22px rgba(32,76,132,.22)}
.portal-brand-text strong,.portal-brand-text small{display:block}.portal-brand-text strong{font-size:17px}.portal-brand-text small{font-size:9px;color:#778aa1;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.portal-links{display:flex;gap:2px}.portal-links button{border:0;background:transparent;padding:9px 11px;border-radius:8px;color:#556a82;cursor:pointer;font-size:12px}.portal-links button:hover{background:#eef4fb;color:var(--p-navy)}
.portal-nav-actions{display:flex;gap:8px}
.portal-btn{border-radius:9px;padding:10px 15px;border:1px solid transparent;font-weight:850;cursor:pointer;transition:.15s ease}
.portal-btn.primary{background:linear-gradient(135deg,var(--p-navy),#285c9a);color:white;box-shadow:0 8px 20px rgba(16,35,63,.18)}
.portal-btn.primary:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(16,35,63,.25)}
.portal-btn.secondary{background:#edf4fb;color:var(--p-navy);border-color:#c8d8e9}
.portal-btn.ghost{background:white;color:#526a83;border-color:#d1dce8}
.portal-btn:disabled{opacity:.42;cursor:not-allowed;transform:none!important}
.portal-btn.large{padding:13px 19px;font-size:14px}
.portal-main{max-width:1240px;margin:auto;padding:0 24px 70px}
.portal-hero{display:grid;grid-template-columns:1.02fr .98fr;gap:55px;align-items:center;padding:72px 0 47px;min-height:600px}
.portal-eyebrow,.portal-kicker{font-size:10px;font-weight:900;letter-spacing:.13em;color:#167f91;text-transform:uppercase}.portal-eyebrow{display:flex;align-items:center;gap:8px}.portal-eyebrow span{width:8px;height:8px;border-radius:50%;background:#1ab3b0;box-shadow:0 0 0 5px rgba(26,179,176,.10)}
.portal-hero h1{font-size:clamp(46px,5.4vw,74px);line-height:1.01;letter-spacing:-.055em;margin:17px 0 20px;color:#0d2039}.portal-hero h1 em{font-style:normal;background:linear-gradient(90deg,#285f9f,#6164d6,#13a4a8);-webkit-background-clip:text;background-clip:text;color:transparent}
.portal-hero-copy>p{font-size:17px;line-height:1.72;color:#60758c;max-width:650px}
.portal-hero-actions{display:flex;gap:10px;margin:28px 0 20px}.portal-trust-row{display:flex;gap:17px;flex-wrap:wrap;color:#657b91;font-size:11px}
.portal-hero-panel{background:#10233f;color:#fff;border-radius:20px;padding:19px;box-shadow:0 28px 70px rgba(16,35,63,.24);position:relative;overflow:hidden}.portal-hero-panel::after{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;background:rgba(73,129,216,.12)}
.hero-panel-top{display:flex;justify-content:space-between;gap:15px;align-items:center;position:relative;z-index:2}.hero-panel-top small,.hero-panel-top strong{display:block}.hero-panel-top small{font-size:8px;letter-spacing:.13em;color:#7fa1c6}.hero-panel-top strong{font-size:15px;margin-top:3px}.online-pill{font-size:8px;color:#8ce7c3;border:1px solid rgba(92,216,171,.25);background:rgba(22,134,93,.12);padding:5px 7px;border-radius:999px}
.hero-cert-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:18px 0}.hero-cert{background:#162f50;border:1px solid #29486b;border-radius:9px;padding:9px 5px;text-align:center;color:#9bb1ca}.hero-cert b,.hero-cert span{display:block}.hero-cert b{font-size:11px;color:#e9f1fa}.hero-cert span{font-size:7px;margin-top:2px}.hero-cert.active{border-color:#50c8c5;background:#143f55}
.hero-dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:7px}.hero-readiness-card{grid-row:span 3;background:#0b1a30;border:1px solid #294563;border-radius:11px;padding:12px;display:flex;align-items:center;gap:12px}.readiness-ring{width:75px;height:75px;border-radius:50%;background:conic-gradient(#39c2b9 0 86%,#29415e 86%);display:grid;place-items:center;position:relative;flex:0 0 auto}.readiness-ring::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#0b1a30}.readiness-ring span{position:relative;z-index:2;font-weight:950}.hero-readiness-card b,.hero-readiness-card small{display:block}.hero-readiness-card small{font-size:8px;color:#83a0bc;line-height:1.45;margin-top:4px}.hero-mini-card{background:#162e4e;border:1px solid #294766;border-radius:9px;padding:8px}.hero-mini-card b,.hero-mini-card span{display:block}.hero-mini-card b{font-size:16px;color:#8ee7dd}.hero-mini-card span{font-size:7px;color:#9cb1c8;margin-top:2px}
.hero-task{margin-top:9px;background:#0a1a2e;border:1px solid #29445f;border-radius:11px;padding:10px}.hero-task-head{display:flex;justify-content:space-between;color:#92aac2;font-size:8px}.hero-task-head b{color:white}.hero-office-map{height:100px;margin-top:8px;background:#e8eef5;border-radius:7px;position:relative;overflow:hidden}.office-wall{position:absolute;background:#61748a}.office-wall.w1{left:44%;top:0;width:4px;height:100%}.office-wall.w2{left:0;top:48%;height:4px;width:75%}.hero-ap{position:absolute;width:30px;height:30px;border-radius:50%;background:#326fe1;border:4px solid white;color:white;font-size:7px;font-weight:900;display:grid;place-items:center;box-shadow:0 0 0 22px rgba(50,111,225,.10)}.hero-ap.ap1{left:20%;top:20%}.hero-ap.ap2{right:18%;bottom:17%}.hero-mw{position:absolute;right:7%;top:10%;background:#e09027;color:white;border-radius:4px;padding:5px;font-size:7px}.hero-signal{position:absolute;border:2px dashed rgba(43,129,193,.45);border-radius:50%}.hero-signal.s1{left:10%;top:6%;width:115px;height:85px}.hero-signal.s2{right:7%;bottom:-6%;width:130px;height:105px}
.portal-stats{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--p-line);border-radius:14px;overflow:hidden;box-shadow:0 13px 38px rgba(27,56,89,.06);margin:5px 0 85px}.portal-stats div{text-align:center;padding:21px;border-right:1px solid var(--p-line)}.portal-stats div:last-child{border-right:0}.portal-stats strong{display:block;font-size:25px;color:var(--p-navy)}.portal-stats span{font-size:10px;color:#71849a}
.portal-section{margin:84px 0}.portal-section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:28px}.portal-section-heading h2,.engine-intro h2,.portal-roadmap h2{font-size:34px;letter-spacing:-.04em;color:#10233f;margin:6px 0}.portal-section-heading>p{max-width:500px;color:#64788e;line-height:1.6;font-size:12px}
.cert-path-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}.cert-path-card{background:white;border:1px solid var(--p-line);border-radius:14px;padding:18px;box-shadow:0 12px 34px rgba(31,62,96,.05);display:flex;flex-direction:column;min-height:305px}.cert-path-card:hover{border-color:#9fb5cd;transform:translateY(-2px)}.cert-path-top{display:flex;align-items:center;justify-content:space-between}.cert-symbol{font-size:18px;font-weight:950;color:#18385d}.track-live,.track-blueprint{font-size:7px;font-weight:900;letter-spacing:.08em;border-radius:999px;padding:5px 7px}.track-live{background:#e7f8f0;color:#11724f}.track-blueprint{background:#edf3fa;color:#52708f}.cert-path-card h3{font-size:17px;margin:23px 0 8px}.cert-path-card p{font-size:11px;line-height:1.55;color:#687b8f;flex:1}.cert-meta{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}.cert-meta span{font-size:8px;border:1px solid #d8e2ec;background:#f6f9fc;color:#647990;border-radius:999px;padding:4px 6px}.cert-action{border-radius:8px;padding:9px;border:1px solid #cbd8e5;background:white;color:#294c72;font-size:10px;font-weight:850;cursor:pointer;margin-top:5px}.active-action{background:#173a62;color:white;border-color:#173a62}.outline-action:hover{background:#edf4fb}
.blueprint-section{background:#edf3f9;margin-left:-24px;margin-right:-24px;padding:65px 24px}.blueprint-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.blueprint-card{background:white;border:1px solid #d8e2ed;border-radius:14px;padding:18px;box-shadow:0 9px 28px rgba(30,61,96,.05)}.blueprint-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #e7edf4;padding-bottom:12px;margin-bottom:13px}.blueprint-code{font-size:8px;font-weight:900;color:#62819e;letter-spacing:.08em}.blueprint-head h3{font-size:17px;margin:3px 0;color:#163252}.blueprint-head h3 small{font-size:10px;color:#6a7e92;font-weight:600}.blueprint-head>strong{font-size:19px;color:#2c608e}.domain-bars{display:grid;gap:9px}.domain-bars label{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#526a80}.domain-bars label b{color:#183b61}.domain-bars i{height:7px;background:#edf2f7;border-radius:99px;display:block;overflow:hidden;margin-top:3px}.domain-bars em{display:block;height:100%;background:linear-gradient(90deg,#2b649f,#22a8aa);border-radius:99px}.blueprint-note{margin-top:17px;background:white;border:1px solid #d7e1eb;border-radius:10px;padding:12px;color:#60758a;font-size:10px;line-height:1.55}
.portal-lab-showcase .portal-section-heading button{flex:0 0 auto}.lab-showcase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.lab-showcase-grid article{background:white;border:1px solid var(--p-line);border-radius:13px;overflow:hidden}.lab-showcase-grid h3{font-size:14px;margin:13px 14px 5px}.lab-showcase-grid p{font-size:10px;color:#6c7f92;line-height:1.55;margin:0 14px 16px}.showcase-art{height:135px;background:#10233f;position:relative;overflow:hidden}
.raid-showcase i{position:absolute;left:25%;width:50%;height:20px;background:#566a80;border:1px solid #91a2b3}.raid-showcase i:nth-child(1){top:28px}.raid-showcase i:nth-child(2){top:56px}.raid-showcase i:nth-child(3){top:84px}.raid-showcase b{position:absolute;width:7px;height:7px;border-radius:50%;background:#e24f4f;left:63%;top:90px;box-shadow:0 0 7px #e24f4f}
.rf-showcase .rf-room{position:absolute;left:9%;top:13%;width:82%;height:73%;background:#dae3ec;border:3px solid #728396}.rf-ap{position:absolute;width:28px;height:28px;border-radius:50%;background:#326fe1;border:4px solid white}.rf-ap.a{left:27%;top:33%}.rf-ap.b{right:22%;bottom:23%}.rf-mw{position:absolute;right:14%;top:20%;background:#df8a28;color:white;padding:4px;font-size:7px}
.pc-showcase span{position:absolute;left:12%;top:13%;width:62%;height:72%;background:#28765a;border:4px solid #164f3b}.pc-showcase i{position:absolute;left:27%;bottom:24%;width:47%;height:18px;background:#333f4e}.pc-showcase b{position:absolute;right:10%;top:22%;width:43px;height:39px;background:#0a1018;border:3px solid #617288}.cli-showcase{padding:20px}.cli-showcase code{color:#8ee8ae;font:9px/1.8 ui-monospace,monospace}
.engine-section{display:grid;grid-template-columns:.65fr 1.35fr;gap:28px;align-items:start}.engine-intro p{color:#62768c;line-height:1.65;font-size:12px}.engine-card{background:white;border:1px solid var(--p-line);border-radius:15px;padding:21px;box-shadow:0 14px 40px rgba(30,61,96,.06)}.engine-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.engine-form-grid label{font-size:9px;color:#60768c;text-transform:uppercase;letter-spacing:.07em}.engine-form-grid select,.engine-form-grid input{width:100%;margin-top:5px;border:1px solid #cedae6;border-radius:8px;background:#fbfdff;color:#18324f;padding:10px}.engine-actions{display:flex;gap:8px;margin-top:12px}.resume-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid #e7edf3;margin-top:16px;padding-top:14px}.resume-row strong{font-size:11px}.resume-row p{font-size:9px;color:#718499;margin:3px 0 0}
.portal-roadmap{margin:90px 0 15px;text-align:center}.roadmap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:25px}.roadmap-grid div{background:white;border:1px solid var(--p-line);border-radius:10px;padding:13px}.roadmap-grid b,.roadmap-grid span{display:block}.roadmap-grid b{font-size:13px;color:#17385e}.roadmap-grid span{font-size:8px;color:#728499;margin-top:4px}.roadmap-grid .done{border-color:#a7d9c5;background:#f3fcf8}
.portal-footer{max-width:1240px;margin:auto;padding:28px 24px 42px;border-top:1px solid #dbe4ee;display:grid;grid-template-columns:auto 1fr auto;gap:25px;align-items:center;color:#72859a;font-size:9px}.portal-footer p{text-align:center;margin:0}.footer-brand{cursor:default}
@media(max-width:1100px){
  .portal-hero{grid-template-columns:1fr}.portal-hero-copy{text-align:center}.portal-hero-actions,.portal-trust-row{justify-content:center}.portal-eyebrow{justify-content:center}.portal-links{display:none}.cert-path-grid{grid-template-columns:repeat(3,1fr)}.blueprint-grid{grid-template-columns:repeat(2,1fr)}.lab-showcase-grid{grid-template-columns:repeat(2,1fr)}.engine-section{grid-template-columns:1fr}
}
@media(max-width:720px){
  .portal-main{padding:0 15px 50px}.portal-nav{padding:10px 15px}.portal-brand-text small,.portal-nav-actions .ghost{display:none}.portal-hero{padding-top:38px;min-height:auto}.portal-hero h1{font-size:42px}.portal-hero-copy>p{font-size:14px}.portal-hero-actions{flex-direction:column}.portal-hero-panel{padding:12px}.hero-cert-row{grid-template-columns:repeat(3,1fr)}.hero-dashboard-grid{grid-template-columns:1fr}.hero-readiness-card{grid-row:auto}.portal-stats{grid-template-columns:1fr 1fr;margin-bottom:60px}.portal-stats div:nth-child(2){border-right:0}.portal-section{margin:60px 0}.portal-section-heading{display:block}.portal-section-heading h2,.engine-intro h2,.portal-roadmap h2{font-size:28px}.cert-path-grid,.blueprint-grid,.lab-showcase-grid,.engine-form-grid,.roadmap-grid{grid-template-columns:1fr}.blueprint-section{margin-left:-15px;margin-right:-15px;padding:50px 15px}.engine-actions{flex-direction:column}.resume-row{display:block}.resume-row button{margin-top:10px}.portal-footer{display:block;text-align:center}.portal-footer p{margin:15px 0}
}

/* ===== v21 portal layout refinements ===== */
.portal-home .cert-path-grid{grid-template-columns:repeat(6,1fr);gap:14px}
.portal-home .cert-path-card{grid-column:span 2;min-height:292px;padding:20px}
.portal-home .cert-path-card.ccna,.portal-home .cert-path-card.tech{grid-column:span 3;min-height:265px}
.portal-home .blueprint-grid{grid-template-columns:repeat(2,1fr);gap:16px}
.portal-home .blueprint-card{padding:21px}
.portal-home .domain-bars{gap:11px}
.portal-home .domain-bars i{height:8px}
.portal-home .engine-card{border-top:4px solid #2d659d}
.portal-home .engine-intro::after{
  content:"Blueprint-weighted question selection enabled";
  display:inline-block;margin-top:10px;padding:6px 9px;border-radius:999px;
  background:#e9f6f4;color:#16776f;border:1px solid #bde3df;
  font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase
}
.portal-home .portal-hero-panel{box-shadow:0 24px 60px rgba(16,35,63,.20)}
.portal-home .cert-path-card,.portal-home .blueprint-card,.portal-home .engine-card,.portal-home .lab-showcase-grid article{
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease
}
.portal-home .blueprint-card:hover,.portal-home .lab-showcase-grid article:hover{
  transform:translateY(-2px);border-color:#aebfd1;box-shadow:0 14px 36px rgba(30,61,96,.08)
}
@media(max-width:1100px){
  .portal-home .cert-path-grid{grid-template-columns:repeat(2,1fr)}
  .portal-home .cert-path-card,.portal-home .cert-path-card.ccna,.portal-home .cert-path-card.tech{grid-column:auto}
  .portal-home .blueprint-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .portal-home .cert-path-grid,.portal-home .blueprint-grid{grid-template-columns:1fr}
}

.portal-home .engine-field-note{display:block;margin-top:4px;color:#8999aa;font-size:8px;text-transform:none;letter-spacing:0}

/* ===== v23 Aurora Certification Workspace ===== */
.portal-home{
  --aurora-bg:#070a14;--aurora-panel:#101625;--aurora-panel2:#151d30;--aurora-text:#f7f8ff;--aurora-muted:#aab4ca;
  background:
    radial-gradient(circle at 8% 5%,rgba(151,92,255,.28),transparent 26%),
    radial-gradient(circle at 82% 8%,rgba(0,218,203,.18),transparent 24%),
    radial-gradient(circle at 62% 45%,rgba(48,112,255,.10),transparent 30%),
    linear-gradient(180deg,#070a14 0,#0a1020 40%,#080c16 100%)!important;
  color:var(--aurora-text)!important;
}
.portal-home .portal-nav{background:rgba(8,11,22,.88);border-bottom-color:rgba(255,255,255,.10);box-shadow:0 10px 30px rgba(0,0,0,.15)}
.portal-home .portal-brand,.portal-home .portal-brand strong{color:#fff}.portal-home .portal-brand-text small{color:#9eabc3}
.portal-home .portal-logo{background:linear-gradient(145deg,#8f5bff,#2ab8e6);box-shadow:0 9px 28px rgba(117,76,255,.34)}
.portal-home .portal-links button{color:#a9b5cc}.portal-home .portal-links button:hover{background:rgba(255,255,255,.07);color:#fff}
.portal-home .portal-btn.primary{background:linear-gradient(135deg,#8e5cff,#3c78ff 55%,#1ac6c3);box-shadow:0 12px 30px rgba(80,77,255,.26)}
.portal-home .portal-btn.secondary,.portal-home .portal-btn.ghost{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:#f2f5ff}
.portal-home .portal-hero h1,.portal-home .portal-section-heading h2,.portal-home .portal-roadmap h2{color:#fff}
.portal-home .portal-hero h1 em{background:linear-gradient(90deg,#c594ff,#6da2ff,#56e8da,#ffd16d);-webkit-background-clip:text;background-clip:text;color:transparent}
.portal-home .portal-hero-copy>p,.portal-home .portal-section-heading>p{color:#a9b5ca}
.portal-home .portal-eyebrow,.portal-home .portal-kicker{color:#6be6db}
.portal-home .portal-hero-panel{background:linear-gradient(155deg,#121931,#0b2132);border:1px solid rgba(116,169,255,.22);box-shadow:0 34px 80px rgba(0,0,0,.34)}
.portal-home .portal-stats{background:rgba(17,23,40,.72);border-color:rgba(255,255,255,.10);box-shadow:none}
.portal-home .portal-stats div{border-color:rgba(255,255,255,.09)}.portal-home .portal-stats strong{color:#fff}.portal-home .portal-stats span{color:#9facbf}
.portal-home .portal-section{color:#f6f8ff}
.portal-home .portal-lab-showcase .lab-showcase-grid article{background:#111828;border-color:#283653;color:#fff}.portal-home .lab-showcase-grid p{color:#9fabc0}
.portal-home .portal-roadmap{color:#fff}.portal-home .roadmap-grid div,.portal-home .roadmap-grid .done{background:#111828;border-color:#283653}.portal-home .roadmap-grid b{color:#fff}.portal-home .roadmap-grid span{color:#9ba8bd}
.portal-home .portal-footer{border-color:rgba(255,255,255,.10);color:#8795ac}
.portal-home .portal-session-card{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,rgba(143,91,255,.16),rgba(20,200,192,.10));border:1px solid rgba(151,120,255,.26);border-radius:20px;padding:27px}.portal-home .portal-session-card h2{color:#fff;font-size:30px;margin:6px 0}.portal-home .portal-session-card p{color:#a8b4c9}
.cert-workspace-section{position:relative}.cert-heading{margin-bottom:20px!important}
.cert-workspace{background:rgba(12,16,29,.82);border:1px solid rgba(255,255,255,.11);border-radius:24px;padding:12px;box-shadow:0 26px 70px rgba(0,0,0,.26);backdrop-filter:blur(14px)}
.cert-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:5px}
.cert-tab{min-height:68px;border:1px solid transparent;background:#111829;color:#9fabbe;border-radius:14px;padding:10px;cursor:pointer;text-align:left;transition:.18s}.cert-tab b,.cert-tab span{display:block}.cert-tab b{font-size:14px;color:#eef2ff}.cert-tab span{font-size:8px;margin-top:4px;color:#77869f}.cert-tab:hover{transform:translateY(-1px);border-color:#34425d}.cert-tab.active{background:linear-gradient(145deg,#1a2035,#121a2e);border-color:#5c668b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.cert-tab.aplus-tab.active{box-shadow:inset 4px 0 #9a67ff}.cert-tab.network-tab.active{box-shadow:inset 4px 0 #14d9c4}.cert-tab.security-tab.active{box-shadow:inset 4px 0 #ff5ca8}.cert-tab.ccna-tab.active{box-shadow:inset 4px 0 #35a7ff}.cert-tab.tech-tab.active{box-shadow:inset 4px 0 #ffc94a}
.cert-panel{display:none;margin-top:8px;border-radius:18px;background:
  radial-gradient(circle at 95% 0,color-mix(in srgb,var(--cert-accent) 20%, transparent),transparent 26%),
  linear-gradient(145deg,#11182a,#0e1423);border:1px solid rgba(255,255,255,.09);overflow:hidden}
.cert-panel.active{display:block}
.cert-panel-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:28px 30px 20px}.cert-panel-code{font-size:9px;letter-spacing:.14em;font-weight:900;color:var(--cert-accent)}.cert-panel-hero h3{font-size:30px;margin:7px 0 8px;color:#fff}.cert-panel-hero p{max-width:720px;color:#a8b5ca;font-size:12px;line-height:1.65}.cert-panel-mark{font-size:52px;font-weight:950;letter-spacing:-.08em;color:var(--cert-accent);opacity:.92}.ccna-mark{font-size:34px}.tech-mark{font-size:44px}
.cert-panel-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px;padding:10px 20px 22px}.cert-objectives,.cert-launch-box{border:1px solid rgba(255,255,255,.09);background:rgba(6,10,20,.48);border-radius:15px;padding:18px}
.objective-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center;margin:10px 0}.objective-row>span{font-size:11px;color:#c8d0df}.objective-row>b{text-align:right;color:#fff;font-size:11px}.objective-row i{grid-column:1/-1;height:7px;background:#242d40;border-radius:999px;overflow:hidden}.objective-row em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cert-accent),var(--cert-accent2));box-shadow:0 0 14px color-mix(in srgb,var(--cert-accent) 35%, transparent)}
.objective-switcher{display:flex;gap:6px;margin-bottom:13px}.objective-toggle{border:1px solid #303b52;background:#151d2e;color:#9fabc0;border-radius:8px;padding:8px 10px;cursor:pointer;font-size:9px}.objective-toggle.active{background:linear-gradient(135deg,var(--cert-accent),var(--cert-accent2));color:#fff;border-color:transparent}.objective-set{display:none}.objective-set.active{display:block}
.cert-launch-box{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-content:start}.launch-kicker{grid-column:1/-1;color:var(--cert-accent);font-size:9px;font-weight:900;letter-spacing:.12em}.cert-launch-box label{font-size:8px;color:#8695ad;text-transform:uppercase;letter-spacing:.07em}.cert-launch-box select{display:block;width:100%;margin-top:5px;background:#0b1120;color:#f3f6ff;border:1px solid #33405a;border-radius:8px;padding:10px;font-size:11px}.cert-launch-exam,.cert-lab-link{grid-column:1/-1;border:0;border-radius:10px;padding:12px;font-weight:900;cursor:pointer}.cert-launch-exam{background:linear-gradient(135deg,var(--cert-accent),var(--cert-accent2));color:#fff;margin-top:4px;box-shadow:0 10px 24px color-mix(in srgb,var(--cert-accent) 20%, transparent)}.cert-lab-link{background:#182238;color:#dce4f4;border:1px solid #35445f}.bank-status{grid-column:1/-1;text-align:center;color:#75859f;font-size:8px;margin-top:1px}
.portal-home .showcase-art{background:#0c1323}
.portal-home .cert-workspace-section+.portal-section{margin-top:70px}
@media(max-width:900px){.cert-tabs{grid-template-columns:repeat(2,1fr)}.cert-panel-grid{grid-template-columns:1fr}.cert-panel-mark{font-size:38px}}
@media(max-width:620px){.cert-tabs{grid-template-columns:1fr}.cert-panel-hero{padding:22px 18px 15px}.cert-panel-hero h3{font-size:25px}.cert-panel-mark{display:none}.cert-panel-grid{padding:8px 12px 15px}.cert-launch-box{grid-template-columns:1fr}.cert-launch-box>*{grid-column:1!important}.portal-home .portal-session-card{display:block}.portal-home .portal-session-card button{margin-top:12px}}

/* ===== v24 Workspace / synchronization polish ===== */
.portal-home .exam-authenticity-banner{
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  margin:0 0 14px;padding:14px 16px;border-radius:14px;
  background:linear-gradient(90deg,rgba(24,207,190,.10),rgba(135,91,255,.10));
  border:1px solid rgba(111,213,207,.20)
}
.portal-home .exam-authenticity-banner b,.portal-home .exam-authenticity-banner span{display:block}
.portal-home .exam-authenticity-banner b{font-size:12px;color:#efffff}
.portal-home .exam-authenticity-banner div>span{font-size:9px;color:#93a6bf;line-height:1.5;margin-top:3px}
.portal-home .authenticity-badge{flex:0 0 auto;font-size:8px!important;font-weight:950;letter-spacing:.10em;color:#70e8dd!important;border:1px solid rgba(112,232,221,.28);background:rgba(18,180,169,.10);padding:7px 9px;border-radius:999px}
.portal-home .cert-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px;align-items:start}
.portal-home .cert-tabs{display:flex;flex-direction:column;position:sticky;top:90px;grid-template-columns:none}
.portal-home .cert-tab{min-height:73px}
.portal-home .cert-panel{margin-top:5px;min-width:0}
.portal-home .cert-panel.active{display:block}
.portal-home .cert-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:0 20px 10px}
.portal-home .cert-facts span{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px;color:#8191a9;font-size:8px}
.portal-home .cert-facts b{display:block;color:#f6f8ff;font-size:10px;margin-bottom:2px}
.portal-home .cert-panel-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}
.portal-home .cert-objectives{min-height:330px}
.portal-home .cert-launch-box{position:sticky;top:90px}
.portal-home .cert-launch-exam{font-size:12px;padding:13px}
.portal-home .cert-lab-link{font-size:10px}
.portal-home .bank-status{line-height:1.45;padding-top:4px}
.portal-home .objective-row{grid-template-columns:minmax(0,1fr) 48px}
.portal-home .portal-lab-showcase{margin-top:72px}
.portal-home .portal-roadmap{display:none}
.lab-case-binding{
  margin:8px 0;padding:7px 9px;border-radius:7px;background:#eaf6ff;border:1px solid #add8f2;color:#173d59;font-size:10px
}
@media(max-width:1000px){
  .portal-home .cert-workspace{grid-template-columns:1fr}
  .portal-home .cert-tabs{position:static;display:grid;grid-template-columns:repeat(5,1fr)}
  .portal-home .cert-launch-box{position:static}
}
@media(max-width:760px){
  .portal-home .cert-tabs{grid-template-columns:1fr 1fr}
  .portal-home .cert-facts{grid-template-columns:1fr 1fr}
  .portal-home .cert-panel-grid{grid-template-columns:1fr}
  .portal-home .exam-authenticity-banner{display:block}
  .portal-home .authenticity-badge{display:inline-block!important;margin-top:9px}
}
@media(max-width:480px){
  .portal-home .cert-tabs{grid-template-columns:1fr}
  .portal-home .cert-facts{grid-template-columns:1fr}
}

/* v25 objective testing + explicit PBQ controls */
.portal-home .cert-pbq-library{margin:0 20px 22px;padding:18px;border:1px solid rgba(255,255,255,.09);background:rgba(6,10,20,.48);border-radius:16px}
.portal-home .pbq-library-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:13px}
.portal-home .pbq-library-head h4{margin:4px 0 0;color:#fff;font-size:17px}
.portal-home .pbq-count-badge{border:1px solid color-mix(in srgb,var(--cert-accent) 40%,transparent);background:color-mix(in srgb,var(--cert-accent) 12%,transparent);color:var(--cert-accent);border-radius:999px;padding:7px 9px;font-size:9px;font-weight:900}
.portal-home .pbq-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.portal-home .pbq-mini-card{border:1px solid #2d3850;background:#11192a;border-radius:11px;padding:12px;min-width:0}
.portal-home .pbq-mini-top{display:flex;justify-content:space-between;color:#74859e;font-size:7px}.portal-home .pbq-mini-top b{color:var(--cert-accent)}
.portal-home .pbq-mini-card h5{font-size:12px;color:#f5f7ff;margin:9px 0 5px}.portal-home .pbq-mini-card p{font-size:8px;color:#8797ad;line-height:1.5;min-height:36px}
.portal-home .pbq-mini-card button{width:100%;border:1px solid #34435e;background:#182338;color:#dce5f4;border-radius:7px;padding:8px;font-size:8px;font-weight:850;cursor:pointer}
.portal-home .pbq-mini-card button:hover{border-color:var(--cert-accent);color:#fff}
.portal-home .cert-launch-box{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-home .cert-launch-box select:disabled{opacity:.48}
@media(max-width:1000px){.portal-home .pbq-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.portal-home .cert-launch-box{grid-template-columns:1fr}.portal-home .cert-launch-box>*{grid-column:1!important}.portal-home .pbq-library-grid{grid-template-columns:1fr}.portal-home .pbq-library-head{display:block}.portal-home .pbq-count-badge{display:inline-block;margin-top:8px}.portal-home .cert-pbq-library{margin-left:12px;margin-right:12px}}

.portal-home .exam-builder-note{grid-column:1/-1;border-top:1px solid #29364d;padding-top:9px;color:#7889a2;font-size:8px;line-height:1.5}
.portal-home .exam-builder-note b{color:#bdc8d8}
