:root{
  --bg:#07111f;--panel:#0d2038;--panel2:#102b4a;--line:#244c72;--text:#eef7ff;
  --muted:#9fbed7;--accent:#2e9dff;--green:#2ed47a;--orange:#ffb020;--danger:#ff5b66;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;background:
radial-gradient(circle at 50% 0,#113560 0,#07111f 48%,#030a12 100%);color:var(--text);min-height:100vh}
button,input{font:inherit}
button{cursor:pointer}
.app{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}
.topbar{display:flex;align-items:center;gap:18px;padding:12px 18px;background:#07172aee;border-bottom:1px solid #1f4e79;position:sticky;top:0;z-index:30}
.brand{display:flex;align-items:center;gap:10px;min-width:320px}
.logo{width:42px;height:42px;border:2px solid #39b8ff;border-radius:11px;display:grid;place-items:center;background:#0f3458;box-shadow:0 0 22px #1da5ff55;font-size:24px}
.brand b{font-size:20px}.brand small{display:block;color:var(--muted);margin-top:2px}
.nav{display:flex;gap:8px;flex:1;flex-wrap:wrap}
.nav button,.action{border:1px solid #24537d;background:#102844;color:var(--text);border-radius:10px;padding:10px 14px}
.nav button.active,.action.primary{background:linear-gradient(#168ef0,#0c5eb0);border-color:#4ec0ff;box-shadow:0 0 14px #249dfb55}
.status{display:flex;align-items:center;gap:12px}
.xp{width:130px;height:9px;background:#17314f;border-radius:99px;overflow:hidden}.xp span{display:block;height:100%;width:64%;background:linear-gradient(90deg,#2ed47a,#30dcb7)}
.main{display:grid;grid-template-columns:330px minmax(560px,1fr) 370px;gap:14px;padding:14px}
.panel{background:linear-gradient(180deg,#0d223b,#091827);border:1px solid #234a70;border-radius:14px;box-shadow:0 16px 35px #0008;overflow:hidden}
.panel h2{margin:0;padding:14px 16px;font-size:18px;border-bottom:1px solid #1c4164}
.parts-tools{padding:12px;display:flex;gap:8px}.parts-tools input{width:100%;background:#081828;border:1px solid #2a5278;border-radius:10px;color:#fff;padding:10px}
.tabs{display:flex;gap:6px;padding:0 12px 12px;flex-wrap:wrap}.tabs button{padding:7px 9px;border-radius:8px;border:1px solid #244b70;background:#102844;color:#b8d0e4}.tabs .active{background:#126fd1;color:white}
.parts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 12px 14px;max-height:calc(100vh - 230px);overflow:auto}
.part{position:relative;min-height:132px;border:1px solid #26557d;border-radius:12px;background:linear-gradient(160deg,#143253,#0b1b2d);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:9px;user-select:none;touch-action:none}
.part:hover{border-color:#47baff;box-shadow:0 0 0 2px #248ee633 inset}
.part.selected{border-color:#38c5ff;box-shadow:0 0 18px #2da7ff66}
.part.dragging{opacity:.45}
.part svg{width:88px;height:76px;filter:drop-shadow(0 8px 10px #0008)}
.part strong{font-size:13px;text-align:center}
.workspace{min-width:0;display:flex;flex-direction:column;gap:10px}
.worktop{position:relative;min-height:760px;border:1px solid #234c72;border-radius:14px;background:
linear-gradient(#102239aa,#07111fcc),repeating-linear-gradient(0deg,#ffffff07 0 1px,transparent 1px 28px),
repeating-linear-gradient(90deg,#ffffff05 0 1px,transparent 1px 28px);overflow:hidden}
.work-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #204464;background:#071827bb}
.case{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:min(700px,92%);aspect-ratio:1/1.04;border:8px solid #303b47;border-radius:20px;background:linear-gradient(145deg,#19242e,#0b1016);box-shadow:0 25px 70px #000, inset 0 0 0 3px #68737f55}
.case::before{content:"";position:absolute;inset:24px;border:2px solid #5e6b7860;border-radius:10px;background:linear-gradient(120deg,#0b1117,#111922)}
.case-top{position:absolute;left:6%;right:6%;top:3%;height:8%;display:flex;gap:14px;justify-content:center}
.fan{width:70px;height:70px;border:6px solid #222f3d;border-radius:50%;background:conic-gradient(#2da7ff,#07182a,#2da7ff,#07182a);box-shadow:0 0 18px #209cff66;animation:spin 3s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.mobo{position:absolute;left:12%;top:16%;width:62%;height:62%;border:2px solid #455764;border-radius:8px;background:
linear-gradient(90deg,#1d2d31 0 8%,transparent 8% 92%,#1c2c31 92%),
repeating-linear-gradient(0deg,#24444a 0 2px,transparent 2px 28px),
linear-gradient(145deg,#112326,#0b171a);box-shadow:inset 0 0 30px #000}
.mobo-label{position:absolute;left:12px;top:12px;font-size:12px;color:#7ab4bd;letter-spacing:2px}
.io-shroud{position:absolute;left:2%;top:7%;width:18%;height:28%;border-radius:6px;background:linear-gradient(145deg,#263944,#14242d);border:1px solid #556c78}
.vrm{position:absolute;left:22%;top:6%;width:32%;height:10%;background:repeating-linear-gradient(90deg,#566a75 0 8px,#24343c 8px 13px);border-radius:4px}
.chipset{position:absolute;right:12%;bottom:14%;width:18%;height:15%;transform:skew(-8deg);background:linear-gradient(145deg,#384d59,#18262e);border:1px solid #6d7f89}
.atx24{position:absolute;right:1%;top:30%;width:6%;height:24%;background:repeating-linear-gradient(0deg,#c0c9ce 0 5px,#27373f 5px 9px);border:2px solid #76868f}
.cpu8{position:absolute;left:63%;top:2%;width:16%;height:6%;background:repeating-linear-gradient(90deg,#bec6ca 0 6px,#25353d 6px 10px);border:2px solid #76868f}
.sata{position:absolute;right:2%;bottom:10%;width:9%;height:18%;display:grid;gap:3px}.sata span{background:#293b44;border:1px solid #6d7e87}
.socket-wrap{position:absolute;left:39%;top:19%;width:138px;height:138px;z-index:5}
.socket{position:absolute;inset:0;border:6px solid #b7c6ce;border-radius:6px;background:linear-gradient(#8c9aa2,#58666e);display:grid;place-items:center;box-shadow:0 0 0 4px #0b1318 inset}
.socket::after{content:"CPU SOCKET";width:76%;height:76%;background:#29383e;border:2px solid #dde7ec;color:#a8c4d1;font-size:10px;display:grid;place-items:center}
.socket-triangle{position:absolute;left:6px;bottom:5px;width:0;height:0;border-right:13px solid transparent;border-top:13px solid #e9bc3f;z-index:7}
.socket-lid{position:absolute;inset:-8px;border:4px solid #c3d0d6;border-radius:7px;transform-origin:left center;transform:perspective(400px) rotateY(0deg);transition:.35s;z-index:9;pointer-events:none}
.socket-lid.open{transform:perspective(400px) rotateY(-110deg)}
.latch{position:absolute;right:-18px;top:7px;width:12px;height:118px;border-radius:8px;background:#d3dde1;transform-origin:top center;transition:.25s;z-index:10}
.latch.open{transform:rotate(28deg)}
.cpu-zone{position:absolute;inset:6px;border-radius:5px;z-index:8}
.cpu-installed{position:absolute;inset:11px;background:linear-gradient(145deg,#ded7c0,#7a9d9e);border:3px solid #d1b04e;border-radius:4px;z-index:8;display:grid;place-items:center;color:#10202a;font-weight:800}
.cpu-installed::before{content:"▲";position:absolute;left:4px;bottom:1px;color:#b47b00}
.cpu-rotate{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);z-index:12;display:none}
.cpu-rotate button{background:#0e2a45;color:white;border:1px solid #2b75aa;border-radius:8px;padding:6px 9px}
.ram-bank{position:absolute;right:8%;top:18%;width:20%;height:52%;display:flex;gap:7px}
.ram-slot{flex:1;border:3px solid #536773;background:#091318;border-radius:3px;position:relative}
.ram-slot::after{content:"";position:absolute;left:20%;right:20%;top:3%;bottom:3%;background:repeating-linear-gradient(0deg,#d2ba5b 0 2px,transparent 2px 7px)}
.ram-clip{position:absolute;width:100%;height:7px;left:0;background:#8aa0ab;transition:.2s}.ram-clip.top{top:-9px}.ram-clip.bottom{bottom:-9px}
.ram-slot.locked .ram-clip.top{transform:rotate(10deg)}.ram-slot.locked .ram-clip.bottom{transform:rotate(-10deg)}
.ram-zone{position:absolute;right:8%;top:18%;width:20%;height:52%;z-index:3}
.ram-stick-installed{position:absolute;right:11%;top:20%;width:6%;height:48%;background:linear-gradient(#1f2329,#263945);border:2px solid #2fd0ff;z-index:6;box-shadow:0 0 14px #1ab7ff77}
.ram-stick-installed::after{content:"RAM";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-90deg);font-size:10px}
.pcie{position:absolute;left:16%;bottom:19%;width:52%;height:8%;border:4px solid #d8dfe4;background:#23323a;border-radius:3px}
.gpu-zone{position:absolute;left:15%;bottom:8%;width:59%;height:18%;z-index:3}
.m2{position:absolute;left:19%;top:53%;width:32%;height:5%;border:2px solid #68777f;background:#1e2a30}
.m2-zone{position:absolute;left:18%;top:49%;width:38%;height:12%;z-index:3}
.m2-screw{position:absolute;left:50.5%;top:54.2%;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle,#d9dde0 0 30%,#6b7478 31% 70%,#cbd1d4 71%);z-index:8;display:none}
.m2-screw.show{display:block}
.cooler-zone{position:absolute;left:34%;top:12%;width:34%;height:40%;z-index:14;pointer-events:none}
.cooler-installed{position:absolute;left:32%;top:10%;width:38%;height:44%;z-index:14;display:none;pointer-events:none}
.cooler-installed.show{display:block}
.cooler-heatsink{position:absolute;left:17%;top:8%;width:66%;height:82%;border-radius:8px;background:repeating-linear-gradient(90deg,#76858e 0 4px,#aeb9bf 4px 7px,#4c5a62 7px 10px);border:2px solid #c1ccd2;box-shadow:0 12px 22px #000b}
.cooler-fan{position:absolute;left:22%;top:17%;width:56%;aspect-ratio:1;border-radius:50%;background:conic-gradient(#24333d,#0a1116,#24333d,#0a1116);border:7px solid #1a252d;box-shadow:0 0 16px #2aa7ff55}
.cooler-fan::after{content:"CPU";position:absolute;inset:35%;border-radius:50%;display:grid;place-items:center;background:#263a45;font-size:10px;color:#cfefff}
.mount-screw{position:absolute;width:17px;height:17px;border-radius:50%;background:radial-gradient(circle,#edf3f5 0 20%,#6a767d 21% 55%,#c3cbd0 56% 75%,#59666d 76%);z-index:16;display:none}
.mount-screw.show{display:block}.mount-screw.s1{left:32%;top:11%}.mount-screw.s2{left:66%;top:11%}.mount-screw.s3{left:32%;top:48%}.mount-screw.s4{left:66%;top:48%}
.paste-dot{position:absolute;left:49%;top:35%;width:34px;height:34px;border-radius:48% 52% 44% 56%;background:radial-gradient(circle at 40% 35%,#eceff1,#90979d 65%,#646a6f);box-shadow:0 3px 8px #0008;z-index:13;display:none}
.paste-dot.show{display:block}
.cpu-fan-header{position:absolute;left:70%;top:15%;width:42px;height:22px;border:2px solid #85949c;background:repeating-linear-gradient(90deg,#c4cdd1 0 4px,#24333a 4px 7px);z-index:9}
.cpu-fan-header::after{content:"CPU_FAN";position:absolute;top:-17px;left:-5px;font-size:8px;color:#9cc9dd}
.front-panel-block{position:absolute;right:4%;bottom:2%;width:22%;height:10%;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:5px;border:1px solid #5f747f;background:#0a1216;z-index:9}
.front-panel-block span{background:#c3cdd2;border:1px solid #697981;position:relative}
.front-panel-block::after{content:"F_PANEL";position:absolute;left:0;top:-15px;font-size:8px;color:#9cc9dd}
.usb3-header{position:absolute;right:2%;top:60%;width:10%;height:11%;background:#173f75;border:2px solid #6fa4d0;z-index:9}
.usb3-header::after{content:"USB 3.0";position:absolute;top:-15px;left:-2px;font-size:8px;color:#9cc9dd}
.audio-header{position:absolute;left:4%;bottom:3%;width:12%;height:7%;background:repeating-linear-gradient(90deg,#c7d0d5 0 4px,#26353d 4px 7px);border:2px solid #788891;z-index:9}
.audio-header::after{content:"HD_AUDIO";position:absolute;top:-15px;left:-2px;font-size:8px;color:#9cc9dd}
.case-front-io{position:absolute;right:1.5%;top:5%;width:14%;height:9%;display:flex;gap:6px;align-items:center;justify-content:center;z-index:12}
.case-front-io .power-button{width:25px;height:25px;border-radius:50%;border:2px solid #6f8591;background:#17222a;box-shadow:0 0 10px #1ba5ff55}
.case-front-io .small-led{width:8px;height:8px;border-radius:50%;background:#22303a;border:1px solid #61737d}
.case-front-io .small-led.on{background:#30d67c;box-shadow:0 0 10px #30d67c}
.case-front-io .usb-port{width:26px;height:12px;border:2px solid #437eb1;background:#0f2740}
.case-front-io .audio-port{width:12px;height:12px;border-radius:50%;border:2px solid #6c7f88;background:#111b21}
.front-wire{position:absolute;display:none;height:7px;border-radius:20px;z-index:13;box-shadow:0 0 0 1px #52606a inset}
.front-wire.show{display:block}
.front-wire.power{right:13%;bottom:12%;width:22%;background:#24292d;transform:rotate(-18deg)}
.front-wire.reset{right:13%;bottom:15%;width:24%;background:#39434a;transform:rotate(-21deg)}
.front-wire.hddled{right:14%;bottom:18%;width:22%;background:#7b2323;transform:rotate(-18deg)}
.front-wire.pled{right:13%;bottom:21%;width:22%;background:#2b6f3e;transform:rotate(-16deg)}
.front-wire.usb3{right:10%;top:55%;width:30%;height:10px;background:#174a86;transform:rotate(-10deg)}
.front-wire.audio{left:14%;bottom:9%;width:30%;height:8px;background:#27333b;transform:rotate(12deg)}
.cable-layer{position:absolute;inset:0;z-index:13;pointer-events:none}
.cable{position:absolute;display:none;border-radius:99px;background:#111820;box-shadow:0 0 0 2px #333f47 inset,0 4px 12px #0009}
.cable.show{display:block}
.cable.atx{right:13%;top:30%;width:18%;height:12px;transform:rotate(-8deg)}
.cable.cpu8{left:56%;top:12%;width:24%;height:11px;transform:rotate(-32deg)}
.cable.gpu{left:52%;bottom:22%;width:27%;height:12px;transform:rotate(10deg)}
.cable.sata{right:17%;bottom:16%;width:20%;height:9px;transform:rotate(-18deg)}
.cable.fanlead{left:57%;top:27%;width:16%;height:7px;transform:rotate(-32deg);background:#1b2730}
.connector-glow{box-shadow:0 0 0 3px #2fb4ff,0 0 24px #1f9fff99!important}
.psu-bay{position:absolute;left:5%;bottom:5%;width:38%;height:20%;border:2px solid #47545f;border-radius:6px;background:#121a20}
.psu-zone{position:absolute;left:5%;bottom:5%;width:38%;height:20%;z-index:3}
.drive-bay{position:absolute;right:6%;bottom:5%;width:26%;height:22%;border:2px solid #47545f;background:repeating-linear-gradient(0deg,#1d2931 0 18px,#0f171d 18px 28px)}
.drive-zone{position:absolute;right:6%;bottom:5%;width:26%;height:22%;z-index:3}
.front-fans{position:absolute;right:1%;top:18%;width:12%;height:55%;display:flex;flex-direction:column;justify-content:space-around;align-items:center}
.front-fans .fan{width:58px;height:58px}
.drop-zone{outline:3px dashed transparent;transition:.2s}.drop-zone.active{outline-color:#46c0ff;box-shadow:0 0 25px #1fa2ff88}.drop-zone.filled{outline-color:#32d583}
.installed{position:absolute;z-index:10;display:grid;place-items:center;border-radius:6px;color:#fff;font-size:11px;text-align:center;font-weight:700;pointer-events:none}
.installed.gpu{background:linear-gradient(145deg,#1f2932,#0b1116);border:2px solid #6d8aa0}
.installed.ssd{background:#12181d;border:2px solid #b9c4cc}
.installed.psu{background:#151a20;border:2px solid #67737b}
.installed.hdd{background:#d9e2e7;color:#27343b;border:2px solid #79868c}
.tooltip{position:absolute;left:50%;top:10%;transform:translateX(-50%);background:#0b2745;border:1px solid #2c9df1;border-radius:10px;padding:8px 12px;font-size:13px;box-shadow:0 0 22px #179dff55;z-index:15}
.bottom-tools{display:flex;gap:8px;flex-wrap:wrap}.bottom-tools button{border:1px solid #28557e;background:#0e2540;color:#dff1ff;padding:9px 12px;border-radius:9px}
.mission{padding:14px}
.mission-card{border:1px solid #9c6b18;background:linear-gradient(180deg,#1c3145,#0b1a28);border-radius:12px;padding:14px}
.mission-card h3{margin:0;color:#ffbd37;font-size:21px}.mission-card p{color:#c6d7e4;margin-bottom:0}
.checklist{display:grid;gap:12px;padding:16px 4px}.check{display:flex;gap:10px;align-items:flex-start}.dot{width:22px;height:22px;border:2px solid #6f97b8;border-radius:50%;display:grid;place-items:center;flex:none}.check.done .dot{border-color:#2ed47a;background:#2ed47a;color:#062417}.check.done{color:#dfffea}
.hint{border:1px solid #2e6798;background:#0d2945;border-radius:10px;padding:12px;color:#cce8ff}.hint b{display:block;color:#fff;margin-bottom:6px}
.detailbox{margin-top:12px;border:1px solid #315a7b;border-radius:10px;padding:10px;background:#091a2a}
.detailbox b{display:block;margin-bottom:6px}
.detail-actions{display:flex;gap:6px;flex-wrap:wrap}.detail-actions button{background:#14395c;color:white;border:1px solid #337cb5;border-radius:8px;padding:8px 10px}.detail-actions button.good{background:#176f49}
.right-actions{display:flex;gap:8px;padding-top:12px}.right-actions button{flex:1;padding:11px;border-radius:9px;border:1px solid #2e77b2;color:white;background:#123859}.right-actions .ok{background:#1579cf}.right-actions .next{background:#1aa45e}.right-actions button:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}
.progress{margin-top:12px;padding:14px;border-top:1px solid #20496f}.bar{height:10px;border-radius:99px;background:#1a3858;overflow:hidden}.bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2ed47a,#4bc3ff);transition:.3s}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;text-align:center}.stats div{background:#0b1c2c;border:1px solid #1c3f5f;border-radius:9px;padding:8px}.stats b{display:block;font-size:18px}
.footer{padding:9px 14px;color:#7fa4bf;border-top:1px solid #163954;background:#071421}
.toast{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:#0c2136;border:1px solid #2f87c4;padding:10px 14px;border-radius:10px;display:none;z-index:50}
@media(max-width:1150px){.main{grid-template-columns:280px 1fr}.right{grid-column:1/-1}.parts-grid{max-height:none}.worktop{min-height:660px}}
@media(max-width:780px){.topbar{align-items:flex-start;flex-wrap:wrap}.brand{min-width:0}.status{width:100%}.main{grid-template-columns:1fr}.left,.right{grid-column:auto}.parts-grid{grid-template-columns:repeat(3,1fr)}.worktop{min-height:560px}.case{width:94%}}
@media(max-width:520px){.parts-grid{grid-template-columns:repeat(2,1fr)}.worktop{min-height:500px}.fan{width:44px;height:44px}.front-fans .fan{width:40px;height:40px}}

.bios-overlay{position:absolute;inset:0;background:#03070d;z-index:80;display:none;color:#d7ebff;font-family:Consolas,Monaco,monospace}
.bios-overlay.show{display:flex;flex-direction:column}
.post-screen{position:absolute;inset:0;background:#020406;color:#d9e6ef;padding:28px;display:none;z-index:85;font-family:Consolas,Monaco,monospace}
.post-screen.show{display:block}
.post-logo{font-size:22px;color:#6bc4ff;margin-bottom:18px}
.post-line{margin:7px 0;opacity:0}
.post-line.show{opacity:1}
.post-ok{color:#54d78a}.post-warn{color:#ffca5c}.post-err{color:#ff6a73}
.post-progress{height:8px;background:#13202c;margin-top:18px;border-radius:20px;overflow:hidden}
.post-progress span{display:block;height:100%;width:0;background:#2da7ff;transition:width .35s}
.bios-top{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#0a294c;border-bottom:1px solid #2b6ca0}
.bios-brand{font-family:Inter,system-ui,sans-serif;font-weight:800;font-size:20px}
.bios-brand small{display:block;font-size:11px;color:#8abbdc;font-weight:500}
.bios-clock{font-size:13px;color:#b8d7ee}
.bios-tabs{display:flex;gap:4px;padding:8px 12px;background:#061a30;border-bottom:1px solid #25557d;flex-wrap:wrap}
.bios-tabs button{background:#0c2b49;color:#b9d9ef;border:1px solid #245c86;border-radius:5px;padding:8px 12px}
.bios-tabs button.active{background:#1f78ba;color:#fff;border-color:#63bfff}
.bios-body{display:grid;grid-template-columns:1fr 290px;gap:12px;padding:12px;min-height:0;flex:1}
.bios-main{border:1px solid #235176;background:#071521;padding:14px;overflow:auto}
.bios-side{border:1px solid #235176;background:#071521;padding:14px}
.bios-section{display:none}.bios-section.active{display:block}
.bios-table{width:100%;border-collapse:collapse;font-size:13px}
.bios-table td{padding:8px;border-bottom:1px solid #143956}.bios-table td:first-child{color:#86bde2;width:48%}
.bios-meter{height:10px;background:#10263a;border-radius:20px;overflow:hidden;margin:5px 0 10px}.bios-meter span{display:block;height:100%;background:#43b9ff}
.bios-setting{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px;border-bottom:1px solid #143956}
.bios-setting select,.bios-setting input{background:#0b2945;color:#fff;border:1px solid #31658d;border-radius:4px;padding:6px}
.boot-list{display:grid;gap:8px;margin-top:10px}
.boot-item{display:flex;align-items:center;justify-content:space-between;border:1px solid #245579;background:#0b2237;padding:9px;border-radius:6px}
.boot-item button{background:#123d62;border:1px solid #3279a9;color:#fff;border-radius:4px;padding:4px 8px}
.bios-help{font-size:12px;line-height:1.5;color:#adc7da}
.bios-footer{display:flex;justify-content:space-between;padding:9px 14px;background:#061a30;border-top:1px solid #25557d;font-size:12px}
.bios-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.bios-actions button{background:#13456e;color:#fff;border:1px solid #3187bd;border-radius:5px;padding:8px 11px}
.bios-actions .save{background:#18704b;border-color:#38c780}
.monitor-mini{margin-top:10px;border:1px solid #2b5f84;background:#06111b;padding:10px;border-radius:6px}
.boot-splash{position:absolute;inset:0;background:#02060b;z-index:86;display:none;align-items:center;justify-content:center;flex-direction:column;color:#cfeaff}
.boot-splash.show{display:flex}
.boot-spinner{width:48px;height:48px;border-radius:50%;border:4px solid #173552;border-top-color:#43b9ff;animation:spin 1s linear infinite;margin-bottom:14px}


/* ===== POST / BIOS UEFI ===== */
.boot-overlay{position:fixed;inset:0;background:#02060be8;z-index:999;display:none;place-items:center;padding:18px}
.boot-overlay.show{display:grid}
.boot-screen{width:min(980px,96vw);max-height:92vh;overflow:auto;background:#06101b;border:1px solid #2a6b9d;border-radius:14px;box-shadow:0 28px 90px #000;overflow-x:hidden}
.boot-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#0b2034;border-bottom:1px solid #26567a}
.boot-toolbar button,.post-view button,.bios-footer button,.bios-switch,.boot-device,.bios-tab{background:#123653;color:#eef8ff;border:1px solid #3477a8;border-radius:8px;padding:9px 12px}
.post-view{padding:28px;background:#02070d;min-height:520px;font-family:Consolas,monospace}
.post-logo{font-size:34px;font-weight:800;color:#58b9ff;margin-bottom:20px}
.post-view pre{white-space:pre-wrap;color:#d6e8f5;line-height:1.6;font-size:15px;min-height:300px}
.post-hint{color:#8fb9d3;margin:12px 0 18px}
.bios-view{background:#09131f;min-height:540px}
.bios-tabs{display:flex;gap:6px;padding:10px;background:#10263b;border-bottom:1px solid #2b5473}
.bios-tab.active{background:#177bc3}
.bios-panel{display:none;padding:20px}.bios-panel.active{display:block}
.bios-panel h3{margin-top:0;color:#75c9ff}
.bios-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bios-grid>div,.bios-row{background:#0e2234;border:1px solid #254e6e;border-radius:9px;padding:12px}
.bios-grid span,.bios-row span{color:#9fc0d6;display:block;font-size:12px}.bios-grid b{font-size:16px}
.bios-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bios-switch.on{background:#176e49;border-color:#2ed47a}
.bios-note{color:#8aabc1}
.boot-order{display:grid;gap:8px}.boot-device{text-align:left}.boot-device.selected{outline:2px solid #3fb3ff}
.gauge-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gauge{aspect-ratio:1;border-radius:50%;border:10px solid #203f56;display:grid;place-items:center;align-content:center;background:radial-gradient(circle,#10283a,#07111b);box-shadow:inset 0 0 22px #0008}
.gauge b{font-size:24px}.gauge span{font-size:11px;color:#93b7ce}
.bios-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px;border-top:1px solid #244a67;background:#0d1e2d}
@media(max-width:700px){.bios-grid,.gauge-wrap{grid-template-columns:1fr}.boot-screen{width:100%}}


/* ===== HELP ===== */
.help-overlay{position:fixed;inset:0;background:#020811d9;z-index:1200;display:none;place-items:center;padding:18px}
.help-overlay.show{display:grid}
.help-window{width:min(1040px,96vw);max-height:92vh;background:#0a1725;border:1px solid #2b648f;border-radius:14px;box-shadow:0 30px 100px #000;overflow:hidden}
.help-titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;background:linear-gradient(180deg,#133557,#0b2239);border-bottom:1px solid #2c5b80}
.help-titlebar b{display:block;font-size:17px}.help-titlebar small{display:block;color:#9fc3dc;margin-top:2px}
.help-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:white}
.help-body{display:grid;grid-template-columns:220px 1fr;min-height:560px;max-height:78vh}
.help-nav{padding:12px;background:#08131f;border-right:1px solid #214561;overflow:auto}
.help-nav-btn{width:100%;text-align:left;margin-bottom:6px;padding:10px 11px;border-radius:8px;border:1px solid transparent;background:transparent;color:#bdd4e5}
.help-nav-btn:hover{background:#102b45}.help-nav-btn.active{background:#166dad;color:white;border-color:#379ddd}
.help-content{overflow:auto;padding:22px}
.help-page{display:none}.help-page.active{display:block}
.help-page h3{margin-top:0;color:#6fc8ff;font-size:24px}.help-page h4{color:#e7f6ff;margin-bottom:5px}
.help-page p,.help-page li{line-height:1.6;color:#c5d9e7}
.help-callout{margin:14px 0;padding:12px 14px;border-left:4px solid #32a7f4;background:#0e2b45;border-radius:6px;color:#dff3ff}
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.help-grid>div{padding:12px;border:1px solid #28516f;background:#0d2234;border-radius:9px}
.help-grid b,.help-grid span{display:block}.help-grid span{margin-top:5px;color:#9dbcd1;font-size:13px}
.help-mission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.help-mission-list>div{padding:9px 11px;background:#0d2234;border:1px solid #254b67;border-radius:8px}
@media(max-width:700px){.help-body{grid-template-columns:1fr;max-height:80vh}.help-nav{display:flex;gap:6px;overflow-x:auto;border-right:0;border-bottom:1px solid #214561}.help-nav-btn{width:auto;white-space:nowrap}.help-grid,.help-mission-list{grid-template-columns:1fr}}


/* ===== DIAGNOSTICS ===== */
.diag-overlay{position:fixed;inset:0;background:#020811df;z-index:1250;display:none;place-items:center;padding:18px}
.diag-overlay.show{display:grid}
.diag-window{width:min(1120px,97vw);max-height:93vh;background:#081522;border:1px solid #2e6489;border-radius:14px;box-shadow:0 30px 100px #000;overflow:hidden}
.diag-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}
.diag-titlebar b{font-size:18px}.diag-titlebar small{display:block;color:#9ebdd1;margin-top:2px}
.diag-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.diag-layout{display:grid;grid-template-columns:250px 1fr;min-height:620px;max-height:82vh}
.diag-list{padding:12px;background:#07111c;border-right:1px solid #21425c;overflow:auto}
.diag-scenario{width:100%;text-align:left;padding:11px;margin-bottom:8px;border-radius:9px;border:1px solid #214761;background:#0b1c2c;color:#d4e7f5}
.diag-scenario span{display:block;color:#89a9bf;font-size:12px;margin-top:3px}.diag-scenario.active{background:#155f94;border-color:#42a8e7}
.diag-main{padding:18px;overflow:auto}
.diag-screen{display:grid;grid-template-columns:1fr 180px;gap:18px;align-items:center;margin-bottom:16px}
.diag-monitor{display:grid;justify-items:center}
.diag-monitor-screen{width:min(520px,100%);aspect-ratio:16/9;border:10px solid #1b252d;border-radius:10px;background:#03080c;display:grid;place-items:center;color:#ff5b66;font-family:Consolas,monospace;font-size:24px;box-shadow:inset 0 0 40px #000}
.diag-monitor-screen.ok{color:#54d98b;background:#06130b}.diag-monitor-stand{width:120px;height:32px;border-top:8px solid #333f47;margin-top:4px}
.diag-case-mini{display:grid;gap:8px}.diag-led{padding:10px;border-radius:8px;border:1px solid #314d61;background:#101c25;color:#6f8798;text-align:center;font-weight:700}.diag-led.on{background:#6f1d25;color:#ffdce0;border-color:#ff5b66;box-shadow:0 0 16px #ff5b6655}.diag-led.good{background:#123b28;color:#b7ffd1;border-color:#2ed47a}
.diag-description,.diag-checks,.diag-actions,.diag-result{background:#0d2030;border:1px solid #254b67;border-radius:10px;padding:13px;margin-bottom:12px}
.diag-description h3{margin:0 0 6px;color:#77cbff}.diag-description p,.diag-checks li{color:#bdd1df;line-height:1.5}
.diag-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:9px}
.diag-action-grid button,.diag-footer button{border:1px solid #36759f;background:#12344f;color:#edf8ff;border-radius:8px;padding:10px}
.diag-action-grid button.correct{background:#176d49;border-color:#2ed47a}.diag-action-grid button.wrong{background:#67262b;border-color:#ff6f78}
.diag-result{min-height:58px;color:#dcebf5}.diag-result.good{border-color:#2ed47a;background:#0f2c1f}.diag-result.bad{border-color:#ff5b66;background:#35171b}
.diag-footer{display:flex;gap:8px;justify-content:flex-end}.diag-footer #diagRepairBtn{background:#176e49}.diag-footer #diagRetestBtn{background:#176a9d}
@media(max-width:760px){.diag-layout{grid-template-columns:1fr}.diag-list{display:flex;gap:7px;overflow-x:auto;border-right:0;border-bottom:1px solid #21425c}.diag-scenario{min-width:180px}.diag-screen{grid-template-columns:1fr}.diag-case-mini{grid-template-columns:repeat(4,1fr)}.diag-action-grid{grid-template-columns:repeat(2,1fr)}}


/* ===== HELP PARTS ===== */
.part-help-card{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:14px;margin:14px 0;border:1px solid #28516f;background:#0d2234;border-radius:12px}
.part-help-illustration{display:grid;place-items:center;background:linear-gradient(180deg,#10283d,#0a1826);border:1px solid #284a65;border-radius:10px;padding:10px}
.part-help-illustration svg{width:100%;max-width:180px;height:auto;filter:drop-shadow(0 8px 14px #0008)}
.part-help-text h4{margin:0 0 8px;color:#f0f8ff;font-size:20px}
.part-help-text p{margin:7px 0;color:#c4d8e7;line-height:1.65}
@media(max-width:760px){.part-help-card{grid-template-columns:1fr}.part-help-illustration{min-height:180px}}


/* ===== HELP SCROLL FIX ===== */
.help-overlay{
  overflow:hidden;
}
.help-window{
  height:min(900px,92vh);
  max-height:92vh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
}
.help-body{
  min-height:0;
  height:100%;
  max-height:none;
  overflow:hidden;
}
.help-nav{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.help-content{
  min-height:0;
  height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-bottom:48px;
}
.help-page{
  min-height:min-content;
}
.part-help-card{
  break-inside:avoid;
}
@media(max-width:700px){
  .help-window{height:min(940px,95vh);max-height:95vh}
  .help-body{grid-template-rows:auto minmax(0,1fr)}
  .help-nav{overflow-x:auto;overflow-y:hidden;max-height:62px}
  .help-content{overflow-y:auto}
}

/* ===== AIRFLOW LAB ===== */
.air-overlay{position:fixed;inset:0;background:#020811df;z-index:1260;display:none;place-items:center;padding:18px}.air-overlay.show{display:grid}
.air-window{width:min(1180px,97vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:14px;overflow:hidden}.air-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#12324d;border-bottom:1px solid #2f5b79}.air-titlebar small{display:block;color:#9ebdd1}.air-titlebar button{width:38px;height:38px;border-radius:8px;background:#102f4b;color:#fff;border:1px solid #3b7198}
.air-layout{display:grid;grid-template-columns:minmax(520px,1fr) 360px;gap:14px;padding:16px;max-height:86vh;overflow:auto}.air-case{position:relative;width:100%;aspect-ratio:1.25/1;background:#0a1117;border:8px solid #3b4650;border-radius:18px;overflow:hidden}.air-case::after{content:"";position:absolute;inset:24px;border:2px solid #56677155;border-radius:9px}
.air-label{position:absolute;font-size:11px;color:#7898ad;z-index:4}.front-label{right:5px;top:50%}.rear-label{left:5px;top:50%}.air-fan{position:absolute;width:74px;height:74px;border-radius:50%;border:7px solid #24313b;background:conic-gradient(#2a3942,#0d151a,#2a3942,#0d151a);z-index:5;display:grid;place-items:center;font-size:22px}.air-fan.intake{box-shadow:0 0 22px #26a8ff99;border-color:#297bb1}.air-fan.exhaust{box-shadow:0 0 22px #ff8c4a88;border-color:#a85f35}.air-fan.off{opacity:.35}.air-fan.front{right:4%}.air-fan.f1{top:18%}.air-fan.f2{top:41%}.air-fan.f3{top:64%}.air-fan.rear{left:4%;top:24%}.air-fan.top{top:3%}.air-fan.t1{left:35%}.air-fan.t2{left:55%}
.air-cpu,.air-gpu,.air-psu{position:absolute;z-index:4;display:grid;place-items:center;font-weight:800;border-radius:8px}.air-cpu{left:38%;top:32%;width:105px;height:105px;background:#2b3b42;border:3px solid #9eabb0}.air-gpu{left:30%;top:58%;width:260px;height:62px;background:#1a242b;border:3px solid #6d8290}.air-psu{left:7%;bottom:5%;width:150px;height:75px;background:#141b21;border:3px solid #53636c}
.air-arrow{position:absolute;height:12px;border-radius:12px;background:#2ba7ffaa;z-index:3}.air-arrow::after{content:"";position:absolute;right:-13px;top:-6px;border-left:16px solid #2ba7ff;border-top:12px solid transparent;border-bottom:12px solid transparent}.air-arrow.a1{right:18%;top:30%;width:28%;transform:rotate(180deg)}.air-arrow.a2{right:18%;top:50%;width:34%;transform:rotate(180deg)}.air-arrow.a3{left:36%;top:20%;width:25%;transform:rotate(-80deg)}.air-arrow.a4{left:20%;top:37%;width:25%;transform:rotate(180deg)}
.dust-filter{position:absolute;right:0;top:14%;width:22px;height:70%;z-index:6;background:repeating-linear-gradient(0deg,#6f8796 0 2px,transparent 2px 6px);writing-mode:vertical-rl}.dust-filter.off{opacity:.15}.cable-obstacle{position:absolute;left:48%;top:44%;width:130px;height:90px;background:#20282e;border:2px solid #55636c;border-radius:10px;z-index:8;display:none;place-items:center}.cable-obstacle.show{display:grid}
.air-legend{display:flex;gap:16px;padding:10px 4px}.air-legend i{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:5px}.legend-in{background:#2aa7ff}.legend-out{background:#ff8b47}.legend-off{background:#59636a}.air-controls{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}.air-control-list{display:grid;gap:7px}.air-control{display:flex;justify-content:space-between;align-items:center;background:#0f2639;border:1px solid #28506d;border-radius:8px;padding:8px}.air-control button,.air-actions button{border:1px solid #367ba8;background:#143c5a;color:#fff;border-radius:7px;padding:8px}
.air-options{display:grid;gap:8px;margin:14px 0}.air-meters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.air-meters div{background:#091a29;border:1px solid #254861;border-radius:9px;text-align:center;padding:10px}.air-meters span,.air-meters b{display:block}.air-score{min-height:72px;border:1px solid #29506b;background:#0d2233;border-radius:9px;padding:11px}.air-score.good{border-color:#2ed47a;background:#0e2b1e}.air-score.bad{border-color:#ff666f;background:#34171b}.air-actions{display:flex;gap:7px;margin-top:12px}.air-tip{margin-top:12px;padding:10px;border-left:4px solid #32a7f4;background:#0d2b43;border-radius:6px}
@media(max-width:900px){.air-layout{grid-template-columns:1fr}.air-controls{order:-1}}
/* ===== COMPATIBILITY LAB ===== */
.compat-overlay{position:fixed;inset:0;background:#020811e5;z-index:1270;display:none;place-items:center;padding:18px}
.compat-overlay.show{display:grid}
.compat-window{width:min(1080px,97vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:14px;box-shadow:0 30px 100px #000;overflow:hidden}
.compat-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}
.compat-titlebar small{display:block;color:#9ebdd1;margin-top:2px}.compat-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.compat-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:14px;padding:16px;max-height:86vh;overflow:auto}
.compat-builder,.compat-results{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}
.compat-builder h3,.compat-results h3{margin-top:0;color:#78ccff}
.compat-row{display:grid;grid-template-columns:1fr 64px;gap:10px;align-items:end;margin-bottom:10px}
.compat-row label{display:grid;gap:5px;color:#bcd1df;font-size:13px}
.compat-row select{width:100%;background:#081724;color:#eef8ff;border:1px solid #2e5a78;border-radius:8px;padding:10px;font-size:15px}
.compat-badge{height:42px;display:grid;place-items:center;border-radius:8px;background:#12334d;border:1px solid #34749e;color:#ccecff;font-weight:800}
.compat-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.compat-actions button{border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px;padding:10px 12px}.compat-actions .compat-primary{background:#176fa5}
.compat-score{padding:14px;border:1px solid #2b526d;border-radius:10px;background:#0d2233;min-height:70px;line-height:1.45}.compat-score.good{border-color:#2ed47a;background:#0e2b1e}.compat-score.bad{border-color:#ff666f;background:#34171b}
.compat-check-list{display:grid;gap:8px;margin:12px 0}.compat-check-list>div{display:flex;justify-content:space-between;gap:10px;padding:10px;border-radius:8px;background:#0c2030;border:1px solid #264a64}.compat-check-list b.ok{color:#4fe28c}.compat-check-list b.err{color:#ff7b84}
.compat-summary{padding:12px;border-radius:9px;background:#0c2030;border:1px solid #264a64}.compat-powerbar{height:12px;margin:8px 0;background:#152d40;border-radius:99px;overflow:hidden}.compat-powerbar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2ed47a,#ffb020,#ff5b66);transition:.3s}
.compat-tip{margin-top:12px;padding:10px;border-left:4px solid #32a7f4;background:#0d2b43;border-radius:6px;color:#c8deec}
@media(max-width:820px){.compat-layout{grid-template-columns:1fr}.compat-results{order:-1}}

/* ===== BOARD MOUNT LAB ===== */
.boardmount-overlay{position:fixed;inset:0;background:#020811e5;z-index:1280;display:none;place-items:center;padding:18px}
.boardmount-overlay.show{display:grid}
.boardmount-window{width:min(1120px,97vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:14px;box-shadow:0 30px 100px #000;overflow:hidden}
.boardmount-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}
.boardmount-titlebar small{display:block;color:#9ebdd1;margin-top:2px}.boardmount-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.boardmount-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:14px;padding:16px;max-height:86vh;overflow:auto}
.boardmount-visual{min-width:0}
.board-case{position:relative;width:100%;aspect-ratio:1.22/1;background:linear-gradient(145deg,#171f25,#090e12);border:9px solid #46525b;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 40px #000}
.io-cutout{position:absolute;left:4%;top:12%;width:17%;height:27%;border:3px dashed #526672;color:#7f98a6;display:grid;place-items:center;font-size:12px}
.io-shield-sim{position:absolute;left:4%;top:12%;width:17%;height:27%;background:linear-gradient(#aab5bb,#6f7d84);border:3px solid #d4dde1;color:#24323a;display:none;place-items:center;font-weight:800;font-size:11px;z-index:5}
.io-shield-sim.show{display:grid}
.standoff-grid{position:absolute;left:24%;top:10%;width:66%;height:77%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center;z-index:3}
.standoff{width:22px;height:22px;border-radius:50%;border:2px solid #7a6531;background:#2e2a1d;box-shadow:inset 0 0 0 4px #111;cursor:pointer}
.standoff.on{background:#d2a84e;box-shadow:0 0 10px #e1b85a88,inset 0 0 0 4px #6f541f}
.sim-board{position:absolute;left:24%;top:10%;width:66%;height:77%;background:linear-gradient(145deg,#143038,#0d2026);border:3px solid #5e7c86;border-radius:8px;z-index:6;opacity:.2;transform:translateY(-115%);transition:.35s}
.sim-board.placed{opacity:1;transform:translateY(0)}
.sim-socket{position:absolute;left:36%;top:20%;width:95px;height:95px;background:#7d8b91;border:4px solid #cad4d8;display:grid;place-items:center;color:#1b2a31;font-weight:800}
.sim-ram{position:absolute;right:12%;top:15%;width:15%;height:48%;background:repeating-linear-gradient(90deg,#0f171c 0 8px,#60727c 8px 11px)}
.sim-pcie{position:absolute;left:18%;bottom:20%;width:57%;height:10%;background:#c6d0d5;border:3px solid #6c7b84}
.board-hole{position:absolute;width:13px;height:13px;border-radius:50%;background:#111;border:3px solid #c4b477;z-index:8}.board-hole.h1{left:4%;top:4%}.board-hole.h2{left:47%;top:4%}.board-hole.h3{right:4%;top:4%}.board-hole.h4{left:4%;top:47%}.board-hole.h5{left:47%;top:47%}.board-hole.h6{right:4%;top:47%}.board-hole.h7{left:4%;bottom:4%}.board-hole.h8{left:47%;bottom:4%}.board-hole.h9{right:4%;bottom:4%}
.board-hole.screwed{background:#d7dde0;border-color:#606c72;box-shadow:0 0 0 2px #bcc8ce inset}
.rogue-screw{position:absolute;left:55%;top:58%;width:28px;height:28px;border-radius:50%;background:#c3cbd0;color:#8c171f;display:none;place-items:center;z-index:4;font-weight:900}
.rogue-screw.show{display:grid}
.boardmount-statusline{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.boardmount-statusline span{padding:8px;background:#0d2233;border:1px solid #28506b;border-radius:8px;text-align:center;font-size:12px;color:#b7cede}
.boardmount-controls{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}.boardmount-controls h3{margin-top:0;color:#78ccff}
.bm-step-list{display:grid;gap:7px}.bm-step{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;padding:8px;background:#0e2436;border:1px solid #274d68;border-radius:8px}.bm-step b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#173c59}.bm-step.done{border-color:#2ed47a;background:#0e2a1d}.bm-step.done b{background:#2ed47a;color:#072317}
.bm-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}.bm-actions button{border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px;padding:9px}.bm-actions .bm-primary{background:#176fa5}.bm-actions #bmRogueScrewBtn{border-color:#a85e39;background:#55291b}
.bm-result{margin-top:12px;min-height:70px;border:1px solid #29506b;background:#0d2233;border-radius:9px;padding:11px;line-height:1.45}.bm-result.good{border-color:#2ed47a;background:#0e2b1e}.bm-result.bad{border-color:#ff666f;background:#34171b}
.bm-tip{margin-top:12px;padding:10px;border-left:4px solid #ffb020;background:#302611;border-radius:6px;color:#efdca9}
@media(max-width:860px){.boardmount-layout{grid-template-columns:1fr}.boardmount-controls{order:-1}.boardmount-statusline{grid-template-columns:1fr 1fr}}


/* ===== HELP MISSIONS LINKS ===== */
.help-mission-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:14px 0 22px;
}
.help-mission-link{
  display:block;
  padding:10px 12px;
  background:#0d2234;
  border:1px solid #28516f;
  border-radius:9px;
  color:#dff2ff;
  text-decoration:none;
  transition:.15s;
}
.help-mission-link:hover{
  background:#12304a;
  border-color:#41a2df;
  transform:translateY(-1px);
}
.help-mission-link b{
  color:#6fc8ff;
  margin-right:6px;
}
.help-mission-details{
  display:grid;
  gap:12px;
}
.help-mission-card{
  padding:14px;
  border:1px solid #28516f;
  background:#0d2234;
  border-radius:11px;
  scroll-margin-top:16px;
}
.help-mission-card h4{
  margin:0 0 8px;
  color:#f0f8ff;
  font-size:19px;
}
.help-mission-card p{
  margin:7px 0;
  color:#c5d9e7;
  line-height:1.6;
}
@media(max-width:760px){
  .help-mission-links{grid-template-columns:1fr;}
}

/* ===== PORTS LAB ===== */
.ports-overlay{position:fixed;inset:0;background:#020811e5;z-index:1290;display:none;place-items:center;padding:18px}
.ports-overlay.show{display:grid}
.ports-window{width:min(1120px,97vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:14px;box-shadow:0 30px 100px #000;overflow:hidden}
.ports-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}
.ports-titlebar small{display:block;color:#9ebdd1;margin-top:2px}.ports-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.ports-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;padding:16px;max-height:86vh;overflow:auto}
.ports-toolbar{display:flex;gap:8px;margin-bottom:10px}.ports-toolbar button,.ports-actions button{border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px;padding:9px 11px}.ports-toolbar button.active{background:#176fa5}
.ports-board{position:relative;width:100%;aspect-ratio:1.28/1;background:linear-gradient(145deg,#17333a,#0d2026);border:5px solid #58707c;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 34px #000}
.ports-board::before{content:"EDU MAINBOARD";position:absolute;left:20px;top:14px;color:#6fa5b5;font-size:11px;letter-spacing:2px}
.p-zone{position:absolute;border:2px solid #718b97;background:#1b3138cc;border-radius:7px;display:grid;place-items:center;color:#cde7ef;font-size:11px;cursor:pointer;transition:.15s;z-index:5}
.p-zone:hover,.p-zone.highlight{border-color:#44bfff;box-shadow:0 0 20px #24a8ff88;background:#204a5a}
.p-zone.correct{border-color:#2ed47a;box-shadow:0 0 22px #2ed47a88}.p-zone.wrong{border-color:#ff5b66;box-shadow:0 0 22px #ff5b6677}
.p-zone.cpu{left:38%;top:20%;width:120px;height:120px;background:#74858d;color:#14232a}.p-zone.ram{right:9%;top:15%;width:17%;height:50%}.p-zone.pcie{left:18%;bottom:17%;width:53%;height:9%}.p-zone.m2{left:25%;top:54%;width:30%;height:7%}.p-zone.sata{right:3%;bottom:11%;width:12%;height:19%}.p-zone.atx{right:2%;top:31%;width:7%;height:25%}.p-zone.eps{left:58%;top:4%;width:18%;height:7%}.p-zone.usb3{right:2%;top:62%;width:11%;height:10%}.p-zone.audio{left:5%;bottom:5%;width:14%;height:7%}.p-zone.fpanel{right:4%;bottom:3%;width:22%;height:8%}.p-zone.fan{left:70%;top:17%;width:11%;height:7%}
.ports-board-decor{position:absolute;background:#294049;border:1px solid #536975}.ports-board-decor.d1{left:5%;top:12%;width:20%;height:24%}.ports-board-decor.d2{left:20%;top:70%;width:18%;height:10%}.ports-board-decor.d3{right:22%;bottom:10%;width:15%;height:13%}
.ports-question{margin-top:10px;padding:11px;background:#0d2233;border:1px solid #28506b;border-radius:9px;color:#d9eaf5}
.ports-info{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}.ports-info h3{margin-top:0;color:#78ccff}
.ports-info-illustration{height:100px;border-radius:12px;background:#0c2334;border:1px solid #2c5775;display:grid;place-items:center;font-size:30px;font-weight:900;color:#62c4ff;margin-bottom:12px}
.ports-facts{display:grid;gap:8px;margin:12px 0}.ports-facts>div{padding:9px;background:#0c2030;border:1px solid #264a64;border-radius:8px}.ports-facts span,.ports-facts b{display:block}.ports-facts span{font-size:11px;color:#8caabe}.ports-result{min-height:60px;padding:10px;background:#0d2233;border:1px solid #28506b;border-radius:8px}.ports-result.good{border-color:#2ed47a;background:#0e2b1e}.ports-result.bad{border-color:#ff5b66;background:#34171b}
.ports-actions{display:flex;gap:8px;margin-top:10px}.ports-scorebox{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-top:12px;padding:10px;border-radius:8px;background:#0c2030;border:1px solid #264a64}
@media(max-width:850px){.ports-layout{grid-template-columns:1fr}.ports-info{order:-1}}

/* ===== BOOT LAB ===== */
.bootlab-overlay{position:fixed;inset:0;background:#020811e8;z-index:1300;display:none;place-items:center;padding:18px}
.bootlab-overlay.show{display:grid}
.bootlab-window{width:min(1120px,97vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:14px;box-shadow:0 30px 100px #000;overflow:hidden}
.bootlab-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}
.bootlab-titlebar small{display:block;color:#9ebdd1;margin-top:2px}.bootlab-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.bootlab-layout{display:grid;grid-template-columns:minmax(0,1.2fr) 360px;gap:14px;padding:16px;max-height:86vh;overflow:auto}
.bootlab-monitor{background:#111820;border:9px solid #2d3840;border-radius:14px;padding:12px;box-shadow:inset 0 0 30px #000}
.bootlab-stage{min-height:430px;border-radius:7px;background:radial-gradient(circle at center,#10263d,#02070c 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:#dff3ff;font-family:Consolas,monospace}
.bootlab-logo{font-size:34px;font-weight:900;letter-spacing:4px;color:#70c8ff;margin-bottom:18px}.bootlab-stage h2{margin:0 0 10px;font-family:inherit}.bootlab-stage p{max-width:560px;line-height:1.6;color:#abc4d4}
.bootlab-stage .boot-lines{text-align:left;width:min(560px,90%);line-height:1.65}.bootlab-stage .boot-ok{color:#53da8d}.bootlab-stage .boot-warn{color:#ffb45a}.bootlab-stage .boot-error{color:#ff6b75}
.bootlab-timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:10px}.bl-step{padding:8px 5px;text-align:center;border-radius:8px;border:1px solid #284e69;background:#0d2233;color:#8eaabd}.bl-step b{display:block;margin:auto auto 3px;width:24px;height:24px;line-height:24px;border-radius:50%;background:#173d5b;color:#ccecff}.bl-step.active{border-color:#43aeea;color:#e9f7ff}.bl-step.done{border-color:#2ed47a;background:#0f2a1e;color:#caffdc}.bl-step.done b{background:#2ed47a;color:#062416}
.bootlab-controls{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}.bootlab-controls h3{margin-top:0;color:#78ccff}
.bl-control,.bl-partitions{margin-bottom:11px;padding:10px;background:#0d2233;border:1px solid #28506b;border-radius:8px}.bl-control label{display:grid;gap:6px;color:#c1d4e1}.bl-control select{background:#071722;color:#edf8ff;border:1px solid #2f5f80;border-radius:7px;padding:9px}
.bl-partitions{display:grid;gap:8px}.bl-part-row{display:flex;justify-content:space-between;gap:8px;padding:7px;background:#091925;border-radius:6px}.bl-partitions button,.bl-actions button{border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px;padding:9px}
.bl-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.bl-actions .bl-primary{background:#176fa5}.bl-actions #blResetBtn{grid-column:1/-1}
.bl-result{margin-top:12px;min-height:68px;padding:11px;border:1px solid #29506b;background:#0d2233;border-radius:9px;line-height:1.45}.bl-result.good{border-color:#2ed47a;background:#0e2b1e}.bl-result.bad{border-color:#ff666f;background:#34171b}
@media(max-width:850px){.bootlab-layout{grid-template-columns:1fr}.bootlab-controls{order:-1}.bootlab-timeline{grid-template-columns:repeat(3,1fr)}}

/* ===== DRIVERS LAB ===== */
.drivers-overlay{position:fixed;inset:0;background:#020811e8;z-index:1310;display:none;place-items:center;padding:18px}
.drivers-overlay.show{display:grid}
.drivers-window{width:min(1080px,97vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:14px;box-shadow:0 30px 100px #000;overflow:hidden}
.drivers-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}
.drivers-titlebar small{display:block;color:#9ebdd1;margin-top:2px}.drivers-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.drivers-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;padding:16px;max-height:86vh;overflow:auto}
.drivers-manager,.drivers-info{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}
.drivers-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.drivers-toolbar button,.drv-actions button{border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px;padding:9px 11px}
.device-tree{display:grid;gap:8px}.device-group{border:1px solid #264a64;border-radius:9px;overflow:hidden}.device-group-title{padding:8px 10px;background:#0d2233;color:#9eb9ca;font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.device-item{width:100%;display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;text-align:left;padding:10px;border:0;border-top:1px solid #203f56;background:#091925;color:#e4f1f8}.device-item:first-of-type{border-top:0}.device-item span{font-size:20px;color:#72c8ff}.device-item em{font-style:normal;font-size:12px;color:#ffb066}.device-item.ok em{color:#54dc8e}.device-item.selected{background:#123b5a}
.drivers-info h3{margin-top:0;color:#78ccff}.drv-icon{height:95px;border-radius:12px;background:#0c2334;border:1px solid #2c5775;display:grid;place-items:center;font-size:34px;font-weight:900;color:#62c4ff;margin-bottom:12px}
.drv-status-box{padding:10px;background:#0c2030;border:1px solid #264a64;border-radius:8px}.drv-status-box span,.drv-status-box b{display:block}.drv-status-box span{font-size:11px;color:#8caabe}
.drv-actions{display:grid;gap:7px;margin-top:10px}.drv-result{margin-top:10px;min-height:65px;padding:10px;border:1px solid #29506b;background:#0d2233;border-radius:8px}.drv-result.good{border-color:#2ed47a;background:#0e2b1e}.drv-result.bad{border-color:#ff666f;background:#34171b}
.drv-summary{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-top:12px;padding:10px;border-radius:8px;background:#0c2030;border:1px solid #264a64}
@media(max-width:800px){.drivers-layout{grid-template-columns:1fr}.drivers-info{order:-1}}

/* ===== STRESS LAB ===== */
.stress-overlay{position:fixed;inset:0;background:#020811e8;z-index:1320;display:none;place-items:center;padding:18px}.stress-overlay.show{display:grid}
.stress-window{width:min(1100px,97vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:14px;overflow:hidden;box-shadow:0 30px 100px #000}
.stress-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.stress-titlebar small{display:block;color:#9ebdd1}.stress-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.stress-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;padding:16px;max-height:86vh;overflow:auto}
.stress-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stress-card{padding:14px;text-align:left;border-radius:10px;border:1px solid #2b5674;background:#0d2233;color:#fff}.stress-card b,.stress-card span,.stress-card em{display:block}.stress-card b{font-size:22px;color:#72c8ff}.stress-card span{color:#a9c0cf;margin:5px 0}.stress-card em{font-style:normal;color:#ffbd68}.stress-card.done{border-color:#2ed47a}.stress-card.bad{border-color:#ff5b66}
.stress-chart{margin-top:12px;padding:12px;background:#0b1c2b;border:1px solid #244a66;border-radius:10px}.stress-bar-row{display:grid;grid-template-columns:55px 1fr 48px;gap:8px;align-items:center;margin:9px 0}.stress-bar-row>div{height:12px;background:#132b3d;border-radius:99px;overflow:hidden}.stress-bar-row i{display:block;height:100%;width:0;background:linear-gradient(90deg,#2ed47a,#ffb020,#ff5b66);transition:.3s}
.stress-log{margin-top:12px;min-height:160px;max-height:210px;overflow:auto;padding:12px;background:#03080d;border:1px solid #233f54;border-radius:10px;font-family:Consolas,monospace;color:#b8d5e8}.stress-log div{margin:5px 0}
.stress-side{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}.stress-side h3{margin-top:0;color:#78ccff}.stress-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stress-metrics div{padding:10px;background:#0d2233;border:1px solid #28506b;border-radius:8px;text-align:center}.stress-metrics span,.stress-metrics b{display:block}.stress-metrics span{font-size:11px;color:#8daabc}.stress-metrics b{font-size:18px;margin-top:3px}
.stress-options{display:grid;gap:8px;margin:12px 0}.stress-options label{padding:9px;background:#0d2233;border:1px solid #28506b;border-radius:8px}.stress-actions{display:grid;gap:7px}.stress-actions button{border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px;padding:9px}.stress-actions .stress-primary{background:#176fa5}.stress-result{margin-top:10px;min-height:70px;padding:10px;border:1px solid #29506b;background:#0d2233;border-radius:8px}.stress-result.good{border-color:#2ed47a;background:#0e2b1e}.stress-result.bad{border-color:#ff666f;background:#34171b}
@media(max-width:820px){.stress-layout{grid-template-columns:1fr}.stress-side{order:-1}.stress-cards{grid-template-columns:1fr}}

/* ===== SERVICE LAB ===== */
.service-overlay{position:fixed;inset:0;background:#020811e8;z-index:1330;display:none;place-items:center;padding:18px}.service-overlay.show{display:grid}
.service-window{width:min(1080px,97vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:14px;box-shadow:0 30px 100px #000;overflow:hidden}
.service-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.service-titlebar small{display:block;color:#9ebdd1}.service-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.service-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;padding:16px;max-height:86vh;overflow:auto}
.service-case{position:relative;width:100%;aspect-ratio:1.2/1;background:linear-gradient(145deg,#151d22,#080d11);border:8px solid #46525b;border-radius:18px;overflow:hidden}.service-case::after{content:"";position:absolute;inset:24px;border:2px solid #56677155;border-radius:8px}
.service-fan{position:absolute;width:76px;height:76px;border-radius:50%;border:7px solid #38454e;background:conic-gradient(#29343b,#10171b,#29343b,#10171b);display:grid;place-items:center;z-index:4}.service-fan.front{right:5%;top:28%}.service-fan.rear{left:5%;top:24%}
.service-cpu,.service-gpu,.service-ssd{position:absolute;display:grid;place-items:center;z-index:3;border-radius:8px;font-weight:800}.service-cpu{left:38%;top:25%;width:110px;height:110px;background:#394950;border:3px solid #9eabb0}.service-gpu{left:28%;top:58%;width:260px;height:64px;background:#1b262c;border:3px solid #6f8490}.service-ssd{right:10%;bottom:12%;width:90px;height:45px;background:#18252c;border:2px solid #607783}
.service-filter{position:absolute;right:0;top:12%;width:24px;height:74%;background:repeating-linear-gradient(0deg,#808f97 0 2px,transparent 2px 6px);writing-mode:vertical-rl;color:#a5b6c0;font-size:9px}
.service-dust{position:absolute;color:#c6a25c;font-size:28px;z-index:8;opacity:.85}.service-dust.d1{left:28%;top:18%}.service-dust.d2{left:52%;top:46%}.service-dust.d3{right:15%;top:62%}.service-dust.d4{left:16%;bottom:17%}.service-case.clean .service-dust{display:none}
.service-meter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.service-meter-grid div{padding:10px;background:#0d2233;border:1px solid #28506b;border-radius:8px;text-align:center}.service-meter-grid span,.service-meter-grid b{display:block}.service-meter-grid span{font-size:11px;color:#8daabc}
.service-controls{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}.service-controls h3{margin-top:0;color:#78ccff}.service-checklist{display:grid;gap:8px}.service-checklist label{padding:9px;background:#0d2233;border:1px solid #28506b;border-radius:8px}
.service-actions{display:grid;gap:7px;margin-top:12px}.service-actions button{border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px;padding:9px}.service-actions .service-primary{background:#176fa5}.service-report{margin-top:12px;min-height:90px;padding:11px;border:1px solid #29506b;background:#0d2233;border-radius:8px;line-height:1.45}.service-report.good{border-color:#2ed47a;background:#0e2b1e}.service-report.bad{border-color:#ff666f;background:#34171b}
@media(max-width:820px){.service-layout{grid-template-columns:1fr}.service-controls{order:-1}.service-meter-grid{grid-template-columns:1fr 1fr}}

/* ===== STUDENT PANEL ===== */
.student-overlay{position:fixed;inset:0;background:#020811e9;z-index:1340;display:none;place-items:center;padding:18px}.student-overlay.show{display:grid}
.student-window{width:min(1180px,98vw);height:min(850px,94vh);background:#081522;border:1px solid #2e6489;border-radius:14px;box-shadow:0 30px 100px #000;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.student-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.student-titlebar small{display:block;color:#9ebdd1}.student-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.student-layout{display:grid;grid-template-columns:240px 1fr;min-height:0}
.student-sidebar{padding:14px;background:#07121d;border-right:1px solid #21445d;overflow:auto}.student-avatar{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:4px auto 10px;background:#12344d;border:2px solid #428fc1;font-size:36px}
.student-name-input{width:100%;box-sizing:border-box;padding:9px;border-radius:8px;border:1px solid #2d5b7b;background:#0b1d2b;color:#fff}.student-sidebar>button{width:100%;margin-top:7px;padding:8px;border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px}
.student-class-card{margin:12px 0;padding:10px;background:#0d2233;border:1px solid #28506b;border-radius:9px}.student-class-card span,.student-class-card b,.student-class-card small{display:block}.student-class-card span{font-size:11px;color:#8daabc}.student-class-card small{margin-top:4px;color:#73c8ff}
.student-side-nav{display:grid;gap:6px}.student-tab-btn{padding:10px;text-align:left;border:1px solid transparent;background:transparent;color:#bdd2df;border-radius:8px}.student-tab-btn.active{background:#155e91;border-color:#3a9ddd;color:#fff}
.student-content{padding:18px;overflow:auto}.student-tab{display:none}.student-tab.active{display:block}.student-tab h3{margin-top:0;color:#78ccff}
.student-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.student-stats-grid>div{padding:14px;background:#0d2233;border:1px solid #28506b;border-radius:10px;text-align:center}.student-stats-grid span,.student-stats-grid b{display:block}.student-stats-grid span{font-size:12px;color:#8daabc}.student-stats-grid b{font-size:24px;margin-top:4px}
.student-progress-card,.student-current-path,.student-recent{margin-top:12px;padding:13px;background:#0d2233;border:1px solid #28506b;border-radius:10px}.student-progress-head{display:flex;justify-content:space-between}.student-progress-bar{height:14px;background:#122b3e;border-radius:99px;overflow:hidden;margin-top:9px}.student-progress-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2ed47a,#3eb5ff);transition:.3s}
.student-current-path span,.student-current-path b{display:block}.student-current-path span{font-size:11px;color:#8daabc}.student-recent h4{margin:0 0 8px}
.student-path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.student-path-card{text-align:left;padding:14px;border-radius:10px;border:1px solid #2a5674;background:#0d2233;color:#fff}.student-path-card b,.student-path-card span,.student-path-card em{display:block}.student-path-card span{margin:7px 0;color:#a9c0cf}.student-path-card em{font-style:normal;color:#67c7ff}.student-path-card.active{border-color:#2ed47a;background:#0d2a1d}
.student-random-options{display:flex;gap:10px;align-items:end;margin:12px 0;padding:10px;background:#0b1c2b;border:1px solid #244a66;border-radius:9px}.student-random-options label{display:grid;gap:5px}.student-random-options select,.student-random-options button,.student-mission-actions button,.student-join-box button{padding:9px;border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px}
.student-mission-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;max-height:350px;overflow:auto;padding-right:4px}.student-mission-item{display:flex;justify-content:space-between;gap:8px;padding:9px;background:#0d2233;border:1px solid #28506b;border-radius:8px}.student-mission-item.done{border-color:#2ed47a}.student-mission-item small{color:#8daabc}.student-mission-actions{display:flex;gap:8px;margin-top:12px}
.student-badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.student-badge{padding:14px;text-align:center;background:#0d2233;border:1px solid #28506b;border-radius:11px}.student-badge span{display:block;font-size:34px}.student-badge b,.student-badge small{display:block}.student-badge small{margin-top:5px;color:#9cb6c7}.student-badge.locked{opacity:.35;filter:grayscale(1)}.student-badge.unlocked{border-color:#e5bb4d;box-shadow:0 0 16px #e5bb4d33}
.student-join-box{display:flex;gap:9px;align-items:end;padding:14px;background:#0d2233;border:1px solid #28506b;border-radius:10px}.student-join-box label{display:grid;gap:6px;flex:1}.student-join-box input{padding:11px;border:1px solid #36759f;background:#081824;color:#fff;border-radius:8px;text-transform:uppercase;font-size:18px;letter-spacing:2px}
.student-class-result,.student-class-info{margin-top:12px;padding:12px;background:#0d2233;border:1px solid #28506b;border-radius:9px}.student-class-result.good{border-color:#2ed47a;background:#0e2b1e}.student-class-result.bad{border-color:#ff666f;background:#34171b}
@media(max-width:880px){.student-layout{grid-template-columns:1fr}.student-sidebar{display:grid;grid-template-columns:auto 1fr;gap:8px;border-right:0;border-bottom:1px solid #21445d}.student-avatar{grid-row:1/4}.student-side-nav{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.student-stats-grid,.student-badge-grid{grid-template-columns:repeat(2,1fr)}.student-path-grid{grid-template-columns:1fr}.student-mission-list{grid-template-columns:1fr}}

/* ===== ADMIN PANEL ===== */
.admin-overlay{position:fixed;inset:0;background:#020811ef;z-index:1400;display:none;place-items:center;padding:16px}.admin-overlay.show{display:grid}
.admin-window{width:min(1280px,99vw);height:min(900px,96vh);background:#07131f;border:1px solid #2f668c;border-radius:14px;box-shadow:0 35px 120px #000;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.admin-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#183956,#0d2438);border-bottom:1px solid #2d5a7a}.admin-titlebar small{display:block;color:#9abbd0}.admin-titlebar button{width:38px;height:38px;border-radius:8px;background:#102f4b;color:#fff;border:1px solid #3b7198}
.admin-login{display:grid;place-items:center;padding:20px}.admin-login-card{width:min(420px,92%);padding:24px;background:#0b1d2d;border:1px solid #2b5878;border-radius:14px;text-align:center}.admin-shield{font-size:50px}.admin-login-card input{width:100%;box-sizing:border-box;margin:6px 0;padding:11px;border-radius:8px;border:1px solid #356b90;background:#071824;color:#fff}.admin-login-card button{width:100%;margin-top:8px;padding:11px;border-radius:8px;border:1px solid #3d8abd;background:#176fa5;color:#fff}.admin-login-result{min-height:24px;margin-top:8px;color:#ff8b94}
.admin-shell{display:none;grid-template-columns:245px 1fr;min-height:0}.admin-shell.show{display:grid}
.admin-sidebar{padding:14px;background:#06101a;border-right:1px solid #21445d;overflow:auto}.admin-profile{text-align:center;padding:8px 8px 14px}.admin-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#7e1f25;border:2px solid #ff727c;font-size:30px;font-weight:900}.admin-profile b,.admin-profile span{display:block}.admin-profile span{margin-top:3px;color:#9ab6c8;font-size:12px}
.admin-nav{display:grid;gap:6px}.admin-tab-btn{padding:10px;text-align:left;border-radius:8px;border:1px solid transparent;background:transparent;color:#bed2df}.admin-tab-btn.active{background:#7d252b;border-color:#cc5961;color:#fff}.admin-logout{width:100%;margin-top:14px;padding:9px;border:1px solid #874149;background:#3a171a;color:#ffd6d9;border-radius:8px}
.admin-content{padding:18px;overflow:auto}.admin-page{display:none}.admin-page.active{display:block}.admin-page h3{margin-top:0;color:#80d0ff}.admin-page-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.admin-page-head button,.admin-page>button{padding:9px 12px;border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.admin-kpi-grid>div{padding:14px;background:#0d2233;border:1px solid #28506b;border-radius:10px;text-align:center}.admin-kpi-grid span,.admin-kpi-grid b{display:block}.admin-kpi-grid span{font-size:12px;color:#8caabd}.admin-kpi-grid b{font-size:27px;margin-top:3px}
.admin-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.admin-card{padding:14px;background:#0d2233;border:1px solid #28506b;border-radius:10px}.admin-card h4{margin-top:0}.admin-card li{margin:6px 0;color:#c5d8e5}
.admin-form-row,.admin-class-create{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:12px 0}.admin-form-row input,.admin-class-create input,.admin-form-row select,.admin-class-create select{padding:10px;background:#081925;color:#fff;border:1px solid #2f5e7d;border-radius:8px}.admin-form-row button,.admin-class-create button{padding:10px 12px;border:1px solid #3476a2;background:#176fa5;color:#fff;border-radius:8px}
.admin-table-wrap{overflow:auto;border:1px solid #244a66;border-radius:10px}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid #1d3a50;text-align:left}.admin-table th{background:#0d2233;color:#90b3c9;font-size:12px}.admin-table tr:last-child td{border-bottom:0}.admin-status-active{color:#53dc8d}.admin-status-suspended{color:#ffb45c}.admin-action-btn{padding:6px 8px;margin:2px;border-radius:6px;border:1px solid #356b90;background:#11324b;color:#fff}.admin-action-btn.warn{border-color:#a56a2e;background:#4a3013}.admin-action-btn.danger{border-color:#9a4148;background:#461a1e}
.admin-class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin-class-card{padding:13px;background:#0d2233;border:1px solid #28506b;border-radius:10px}.admin-class-card h4{margin:0 0 6px}.admin-class-code{font-size:22px;letter-spacing:2px;color:#79d0ff}.admin-class-card small{display:block;color:#9ab4c5;margin:4px 0}.admin-class-card button{margin-top:8px;padding:7px;border-radius:7px;border:1px solid #3476a2;background:#123650;color:#fff}
.admin-permission-grid,.admin-settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.admin-permission-grid label,.admin-settings-grid label{padding:10px;background:#0d2233;border:1px solid #28506b;border-radius:8px}
.admin-mission-manage{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:12px 0}.admin-mission-manage label{padding:8px;background:#0d2233;border:1px solid #28506b;border-radius:8px}
.admin-audit-list{display:grid;gap:7px}.admin-audit-item{padding:10px;background:#0d2233;border:1px solid #28506b;border-radius:8px}.admin-audit-item time{display:block;color:#7fa3ba;font-size:11px}
.admin-backup-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-backup-actions button,.admin-import-label{padding:9px 12px;border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px;cursor:pointer}.admin-import-label input{display:none}.admin-backup-actions .danger{border-color:#9d4249;background:#42191c}.admin-page textarea{width:100%;box-sizing:border-box;min-height:350px;margin-top:12px;background:#040b10;color:#bfe1f4;border:1px solid #28506b;border-radius:8px;padding:10px;font-family:Consolas,monospace}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid #21445d}.admin-nav{grid-template-columns:repeat(4,1fr)}.admin-dashboard-grid,.admin-kpi-grid,.admin-class-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.admin-nav,.admin-kpi-grid,.admin-dashboard-grid,.admin-class-grid,.admin-permission-grid,.admin-settings-grid,.admin-mission-manage{grid-template-columns:1fr}.admin-form-row,.admin-class-create{grid-template-columns:1fr}}

/* ===== TEACHER PANEL ===== */
.teacher-overlay{position:fixed;inset:0;background:#020811ef;z-index:1390;display:none;place-items:center;padding:16px}.teacher-overlay.show{display:grid}
.teacher-window{width:min(1240px,99vw);height:min(900px,96vh);background:#07131f;border:1px solid #2e668b;border-radius:14px;overflow:hidden;box-shadow:0 35px 120px #000;display:grid;grid-template-rows:auto 1fr}
.teacher-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173957,#0c2338);border-bottom:1px solid #2d5b7c}.teacher-titlebar small{display:block;color:#9abbd0}.teacher-titlebar button{width:38px;height:38px;border-radius:8px;background:#102f4b;color:#fff;border:1px solid #3b7198}
.teacher-login{display:grid;place-items:center;padding:20px}.teacher-login-card{width:min(440px,92%);padding:24px;background:#0b1d2d;border:1px solid #2b5878;border-radius:14px;text-align:center}.teacher-icon{font-size:52px}.teacher-access-note{padding:11px;border-left:4px solid #32a7f4;background:#0d2b43;text-align:left;border-radius:6px;color:#cce3f1}.teacher-login-card input{width:100%;box-sizing:border-box;margin:6px 0;padding:11px;border-radius:8px;border:1px solid #356b90;background:#071824;color:#fff}.teacher-login-card button{width:100%;margin-top:8px;padding:11px;border-radius:8px;border:1px solid #3d8abd;background:#176fa5;color:#fff}.teacher-login-result{min-height:30px;margin-top:8px;color:#ff8b94;line-height:1.4}
.teacher-shell{display:none;grid-template-columns:240px 1fr;min-height:0}.teacher-shell.show{display:grid}.teacher-sidebar{padding:14px;background:#06101a;border-right:1px solid #21445d;overflow:auto}.teacher-profile{text-align:center;padding:6px 6px 14px}.teacher-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#164c73;border:2px solid #55b4ef;font-size:27px;font-weight:900}.teacher-profile b,.teacher-profile span{display:block}.teacher-profile span{color:#95b4c8;font-size:12px;margin-top:3px}
.teacher-nav{display:grid;gap:6px}.teacher-tab-btn{padding:10px;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;color:#bdd2df}.teacher-tab-btn.active{background:#155e91;border-color:#3a9ddd;color:#fff}.teacher-logout{width:100%;margin-top:14px;padding:9px;border:1px solid #5a7181;background:#112737;color:#ddebf4;border-radius:8px}
.teacher-content{padding:18px;overflow:auto}.teacher-page{display:none}.teacher-page.active{display:block}.teacher-page h3{margin-top:0;color:#80d0ff}.teacher-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.teacher-kpi-grid>div{padding:14px;background:#0d2233;border:1px solid #28506b;border-radius:10px;text-align:center}.teacher-kpi-grid span,.teacher-kpi-grid b{display:block}.teacher-kpi-grid span{font-size:12px;color:#8caabd}.teacher-kpi-grid b{font-size:26px;margin-top:3px}
.teacher-card{padding:14px;background:#0d2233;border:1px solid #28506b;border-radius:10px;margin-top:12px}.teacher-page-head{display:flex;justify-content:space-between}.teacher-class-create{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0}.teacher-class-create input,.teacher-mission-selector select,.teacher-random-box select{padding:10px;background:#081925;color:#fff;border:1px solid #2f5e7d;border-radius:8px}.teacher-class-create button,.teacher-random-box button,.teacher-mission-actions button,.teacher-card button{padding:10px 12px;border:1px solid #3476a2;background:#176fa5;color:#fff;border-radius:8px}
.teacher-class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.teacher-class-card{padding:13px;background:#0d2233;border:1px solid #28506b;border-radius:10px}.teacher-class-card h4{margin:0 0 6px}.teacher-class-code{font-size:22px;letter-spacing:2px;color:#79d0ff}.teacher-class-card small{display:block;color:#9ab4c5;margin:4px 0}.teacher-class-card button{margin-top:8px;padding:7px;border-radius:7px;border:1px solid #3476a2;background:#123650;color:#fff}
.teacher-mission-selector{margin-bottom:12px}.teacher-mission-selector label{display:grid;gap:5px}.teacher-mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.teacher-mode-card{text-align:left;padding:12px;border:1px solid #2a5674;background:#0d2233;color:#fff;border-radius:10px}.teacher-mode-card b,.teacher-mode-card span{display:block}.teacher-mode-card span{margin-top:6px;color:#9fb8c8;font-size:12px}.teacher-mode-card.active{border-color:#2ed47a;background:#0d2a1d}
.teacher-random-box{display:flex;gap:8px;align-items:end;margin:12px 0;padding:10px;background:#0b1c2b;border:1px solid #244a66;border-radius:9px}.teacher-random-box label{display:grid;gap:5px}.teacher-manual-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;max-height:320px;overflow:auto}.teacher-manual-list label{padding:8px;background:#0d2233;border:1px solid #28506b;border-radius:8px}.teacher-lock-box{margin-top:12px;padding:10px;border-left:4px solid #ffb020;background:#302611;border-radius:6px}.teacher-mission-actions{display:flex;gap:8px;margin-top:12px}.teacher-mission-result{margin-top:12px;padding:11px;min-height:60px;background:#0d2233;border:1px solid #28506b;border-radius:8px}.teacher-mission-result.good{border-color:#2ed47a;background:#0e2b1e}.teacher-mission-result.bad{border-color:#ff666f;background:#34171b}
.teacher-table-wrap{overflow:auto;border:1px solid #244a66;border-radius:10px}.teacher-table{width:100%;border-collapse:collapse;min-width:700px}.teacher-table th,.teacher-table td{padding:10px;border-bottom:1px solid #1d3a50;text-align:left}.teacher-table th{background:#0d2233;color:#90b3c9;font-size:12px}.teacher-page textarea{width:100%;box-sizing:border-box;min-height:350px;margin-top:12px;background:#040b10;color:#bfe1f4;border:1px solid #28506b;border-radius:8px;padding:10px;font-family:Consolas,monospace}
.admin-form-row{grid-template-columns:1fr 1fr 1fr auto}
@media(max-width:900px){.teacher-shell{grid-template-columns:1fr}.teacher-sidebar{border-right:0;border-bottom:1px solid #21445d}.teacher-nav{grid-template-columns:repeat(5,1fr)}.teacher-kpi-grid,.teacher-class-grid,.teacher-mode-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.teacher-nav,.teacher-kpi-grid,.teacher-class-grid,.teacher-mode-grid,.teacher-manual-list{grid-template-columns:1fr}.admin-form-row{grid-template-columns:1fr}}

/* ===== SAFETY LAB ===== */
.safety-overlay{position:fixed;inset:0;background:#020811e8;z-index:1335;display:none;place-items:center;padding:18px}.safety-overlay.show{display:grid}
.safety-window{width:min(1080px,97vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:14px;box-shadow:0 30px 100px #000;overflow:hidden}
.safety-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.safety-titlebar small{display:block;color:#9ebdd1}.safety-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.safety-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:14px;padding:16px;max-height:86vh;overflow:auto}
.safety-bench{position:relative;width:100%;aspect-ratio:1.25/1;background:linear-gradient(#63492f 0 13%,#2e241d 13% 100%);border:7px solid #3e3026;border-radius:14px;overflow:hidden}
.safety-case-box,.safety-motherboard-box,.safety-ram-stick,.safety-cpu-chip{position:absolute;display:grid;place-items:center;font-weight:800;border-radius:8px}
.safety-case-box{left:7%;top:25%;width:36%;height:58%;background:#252d32;border:5px solid #56646d;color:#b9c8d0}
.safety-motherboard-box{right:9%;top:24%;width:38%;height:42%;background:#163a35;border:4px solid #50766f;color:#bde6db}
.safety-ram-stick{right:12%;bottom:16%;width:24%;height:7%;background:#245d43;border:2px solid #7fb69d;color:#d8ffea}
.safety-cpu-chip{right:38%;bottom:12%;width:58px;height:58px;background:#7a8588;border:3px solid #c8d0d2;color:#172126}
.safety-psu-plug{position:absolute;left:9%;top:12%;font-size:34px}.safety-screw{position:absolute;left:31%;bottom:10%;font-size:26px;color:#f2c15f}.safety-esd{position:absolute;right:4%;top:5%;padding:6px 9px;background:#4e2419;border:1px solid #c06e4b;border-radius:8px;color:#ffba8c}
.safety-bench.safe .safety-esd{background:#123522;border-color:#2ed47a;color:#9cf0bf}.safety-bench.safe .safety-screw{display:none}.safety-bench.safe .safety-psu-plug{opacity:.35}
.safety-risk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.safety-risk-grid div{padding:10px;text-align:center;background:#0d2233;border:1px solid #28506b;border-radius:8px}.safety-risk-grid span,.safety-risk-grid b{display:block}.safety-risk-grid span{font-size:11px;color:#8daabc}.safety-risk-grid b{margin-top:3px}
.safety-controls{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}.safety-controls h3{margin-top:0;color:#78ccff}.safety-controls>label{display:block;padding:9px;margin-bottom:7px;background:#0d2233;border:1px solid #28506b;border-radius:8px}
.safety-actions{display:grid;gap:7px;margin-top:12px}.safety-actions button{padding:9px;border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px}.safety-actions .safety-primary{background:#176fa5}
.safety-result{margin-top:12px;min-height:75px;padding:11px;background:#0d2233;border:1px solid #28506b;border-radius:8px;line-height:1.45}.safety-result.good{border-color:#2ed47a;background:#0e2b1e}.safety-result.bad{border-color:#ff666f;background:#34171b}
@media(max-width:820px){.safety-layout{grid-template-columns:1fr}.safety-controls{order:-1}.safety-risk-grid{grid-template-columns:1fr 1fr}}

/* ===== PREDEFINED MISSION SCHEMES ===== */
.teacher-preset-section{margin:12px 0;padding:12px;background:#0a1a28;border:1px solid #244a66;border-radius:10px}
.teacher-preset-section h4{margin:0 0 10px;color:#84d2ff}
.teacher-preset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.teacher-preset-card{text-align:left;padding:12px;border:1px solid #2a5674;background:#0d2233;color:#fff;border-radius:10px}
.teacher-preset-card b,.teacher-preset-card span,.teacher-preset-card em{display:block}
.teacher-preset-card span{margin:6px 0;color:#9fb8c8;font-size:12px;line-height:1.4}
.teacher-preset-card em{font-style:normal;color:#65c8ff}
.teacher-preset-card.active{border-color:#2ed47a;background:#0d2a1d;box-shadow:0 0 14px #2ed47a22}
.teacher-preset-preview{margin-top:10px;padding:10px;background:#081722;border:1px solid #264c67;border-radius:8px;color:#bad3e2;line-height:1.5}
@media(max-width:720px){.teacher-preset-grid{grid-template-columns:1fr}}

/* ===== MODULAR PSU LAB ===== */
.modpsu-overlay{position:fixed;inset:0;background:#020811e9;z-index:1337;display:none;place-items:center;padding:18px}.modpsu-overlay.show{display:grid}
.modpsu-window{width:min(1100px,97vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:14px;overflow:hidden;box-shadow:0 30px 100px #000}
.modpsu-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.modpsu-titlebar small{display:block;color:#9ebdd1}.modpsu-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.modpsu-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:14px;padding:16px;max-height:86vh;overflow:auto}
.modpsu-scene{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}.modpsu-psu{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px;background:#151c21;border:4px solid #4e5c64;border-radius:12px}.modpsu-psu>b{grid-column:1/-1;color:#c5d6df}
.modpsu-port,.modpsu-target,.modpsu-cable{padding:10px;border:1px solid #3b6f91;background:#12324a;color:#fff;border-radius:8px}.modpsu-port.selected,.modpsu-target.selected,.modpsu-cable.selected{border-color:#55c9ff;box-shadow:0 0 14px #55c9ff66}.modpsu-port.good,.modpsu-target.good{border-color:#2ed47a;background:#10311f}.modpsu-port.bad,.modpsu-target.bad{border-color:#ff666f;background:#3a171b}
.modpsu-components{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.modpsu-target b,.modpsu-target span{display:block}.modpsu-target span{margin-top:4px;font-size:11px;color:#9fc0d4}
.modpsu-cables{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.modpsu-cable{background:#0e2537}
.modpsu-flow{margin-top:12px;padding:10px;background:#071722;border:1px solid #28506b;border-radius:8px;color:#c3d9e7}
.modpsu-side{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}.modpsu-side h3{margin-top:0;color:#78ccff}.modpsu-current{padding:11px;background:#0d2233;border:1px solid #28506b;border-radius:8px;font-weight:700}
.modpsu-status-list{display:grid;gap:7px;margin:12px 0}.modpsu-status-list>div{display:flex;justify-content:space-between;gap:8px;padding:9px;background:#0d2233;border:1px solid #28506b;border-radius:8px}.modpsu-status-list span{color:#9eb8c8}
.modpsu-warning{padding:10px;border-left:4px solid #ffb020;background:#302611;border-radius:6px}.modpsu-warning p{margin:6px 0 0}
.modpsu-actions{display:grid;gap:7px;margin-top:12px}.modpsu-actions button{padding:9px;border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px}.modpsu-actions .modpsu-primary{background:#176fa5}
.modpsu-result{margin-top:12px;min-height:75px;padding:11px;background:#0d2233;border:1px solid #28506b;border-radius:8px}.modpsu-result.good{border-color:#2ed47a;background:#0e2b1e}.modpsu-result.bad{border-color:#ff666f;background:#34171b}
@media(max-width:820px){.modpsu-layout{grid-template-columns:1fr}.modpsu-side{order:-1}.modpsu-psu,.modpsu-components,.modpsu-cables{grid-template-columns:repeat(2,1fr)}}

/* ===== TEACHER QUESTION SETS ===== */
.teacher-question-builder{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.teacher-question-builder textarea{width:100%;box-sizing:border-box;min-height:90px;background:#071824;color:#fff;border:1px solid #356b90;border-radius:8px;padding:9px}
.teacher-question-builder input,.teacher-question-builder select,.teacher-set-create input,.teacher-set-create select{width:100%;box-sizing:border-box;padding:9px;background:#071824;color:#fff;border:1px solid #356b90;border-radius:8px}
.teacher-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.teacher-answer-grid label,.teacher-question-builder label{display:grid;gap:5px}
.teacher-question-bank{display:grid;gap:8px;max-height:420px;overflow:auto}
.teacher-question-item{padding:10px;background:#0b1e2d;border:1px solid #28506b;border-radius:8px}
.teacher-question-item header{display:flex;justify-content:space-between;gap:8px;align-items:start}
.teacher-question-item p{margin:6px 0;color:#c6d9e5}
.teacher-question-item small{display:block;color:#91adbf}
.teacher-question-item button{padding:5px 7px;border:1px solid #874149;background:#3a171a;color:#ffd6d9;border-radius:6px}
.teacher-question-item input[type=checkbox]{transform:scale(1.15)}
.teacher-set-create{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}
.teacher-question-sets{display:grid;gap:8px;margin-top:12px}
.teacher-question-set-card{padding:11px;background:#0d2233;border:1px solid #28506b;border-radius:9px}
.teacher-question-set-card b,.teacher-question-set-card span,.teacher-question-set-card small{display:block}
.teacher-question-set-card span{margin:5px 0;color:#9eb8c8}
.teacher-question-set-card button{margin-top:7px;padding:6px 8px;border:1px solid #3476a2;background:#123650;color:#fff;border-radius:7px}
@media(max-width:850px){.teacher-question-builder{grid-template-columns:1fr}.teacher-set-create{grid-template-columns:1fr}}


/* ===== COLLAPSIBLE TOP MENU ===== */
#appTopMenu.app-top-menu-collapsible{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  width:100%;
}
#appTopMenu .top-menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:36px;
  font-size:18px;
  font-weight:700;
  flex:0 0 auto;
}
#appTopMenu.is-collapsed{
  width:auto;
  display:inline-flex;
  flex-wrap:nowrap;
}
#appTopMenu.is-collapsed > button:not(.top-menu-toggle),
#appTopMenu.is-collapsed > a,
#appTopMenu.is-collapsed > select,
#appTopMenu.is-collapsed > span,
#appTopMenu.is-collapsed > div{
  display:none !important;
}
#appTopMenu.is-collapsed .top-menu-toggle{
  display:inline-flex !important;
}

/* ===== AIO LAB ===== */
.aio-overlay{position:fixed;inset:0;background:#020811e9;z-index:1338;display:none;place-items:center;padding:18px}.aio-overlay.show{display:grid}
.aio-window{width:min(1080px,97vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:14px;overflow:hidden;box-shadow:0 30px 100px #000}
.aio-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.aio-titlebar small{display:block;color:#9ebdd1}.aio-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.aio-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:14px;padding:16px;max-height:86vh;overflow:auto}
.aio-chassis{position:relative;width:100%;aspect-ratio:1.15/1;background:#111920;border:7px solid #46545d;border-radius:16px;overflow:hidden}
.aio-radiator{position:absolute;background:#252f35;border:4px solid #606f77;color:#b9cad3;display:grid;place-items:center;font-size:12px;font-weight:700}.aio-radiator.top{left:22%;top:4%;width:55%;height:12%}.aio-radiator.front{right:3%;top:24%;width:13%;height:52%;display:none}
.aio-cpu{position:absolute;left:42%;top:40%;width:90px;height:90px;background:#68777e;border:3px solid #c1c8ca;border-radius:8px;display:grid;place-items:center;color:#162126;font-weight:900}
.aio-pump{position:absolute;left:44%;top:42%;width:70px;height:70px;border-radius:50%;background:#15374d;border:4px solid #5dbff4;display:grid;place-items:center;color:#d8f4ff;opacity:.3}
.aio-tube{position:absolute;width:180px;height:4px;background:#4d6977;transform-origin:left center}.aio-tube.t1{left:49%;top:43%;transform:rotate(-42deg)}.aio-tube.t2{left:49%;top:50%;transform:rotate(-28deg)}
.aio-fan-row{position:absolute;left:31%;top:7%;display:flex;gap:18px;opacity:.3}.aio-fan-row span{width:58px;height:58px;border-radius:50%;border:7px solid #3b4850;background:conic-gradient(#29343b,#10171b,#29343b,#10171b);display:grid;place-items:center;font-size:10px}
.aio-header{position:absolute;padding:6px 8px;background:#0d2938;border:1px solid #47738d;border-radius:6px;font-size:10px;color:#b8dceb}.aio-header.pump{left:20%;bottom:12%}.aio-header.fan{left:20%;bottom:22%}
.aio-chassis.pump-on .aio-pump,.aio-chassis.fans-on .aio-fan-row{opacity:1}.aio-chassis.front-pos .aio-radiator.top{display:none}.aio-chassis.front-pos .aio-radiator.front{display:grid}
.aio-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.aio-metrics div{padding:10px;text-align:center;background:#0d2233;border:1px solid #28506b;border-radius:8px}.aio-metrics span,.aio-metrics b{display:block}.aio-metrics span{font-size:11px;color:#8daabc}
.aio-controls{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}.aio-controls h3{margin-top:0;color:#78ccff}.aio-controls>label{display:block;padding:9px;margin-bottom:7px;background:#0d2233;border:1px solid #28506b;border-radius:8px}.aio-controls select{width:100%;margin-top:5px;padding:8px;background:#071824;color:#fff;border:1px solid #356b90;border-radius:7px}
.aio-actions{display:grid;gap:7px;margin-top:12px}.aio-actions button{padding:9px;border:1px solid #3476a2;background:#123650;color:#fff;border-radius:8px}.aio-actions .aio-primary{background:#176fa5}
.aio-result{margin-top:12px;min-height:72px;padding:11px;background:#0d2233;border:1px solid #28506b;border-radius:8px}.aio-result.good{border-color:#2ed47a;background:#0e2b1e}.aio-result.bad{border-color:#ff666f;background:#34171b}
@media(max-width:820px){.aio-layout{grid-template-columns:1fr}.aio-controls{order:-1}.aio-metrics{grid-template-columns:1fr 1fr}}

/* ===== MULTI STUDENT PROFILES ===== */
.student-profile-overlay{position:fixed;inset:0;background:#020811ef;z-index:1450;display:none;place-items:center;padding:18px}.student-profile-overlay.show{display:grid}
.student-profile-window{width:min(980px,96vw);max-height:92vh;background:#081522;border:1px solid #2e6489;border-radius:14px;overflow:hidden;box-shadow:0 30px 100px #000}
.student-profile-titlebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.student-profile-titlebar small{display:block;color:#9ebdd1}.student-profile-titlebar button{width:38px;height:38px;border-radius:8px;border:1px solid #3b7198;background:#102f4b;color:#fff}
.student-profile-body{display:grid;grid-template-columns:1fr 320px;gap:14px;padding:16px;max-height:80vh;overflow:auto}
.student-profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.student-profile-card{padding:14px;background:#0d2233;border:1px solid #28506b;border-radius:10px;color:#fff;text-align:left}
.student-profile-card b,.student-profile-card span,.student-profile-card small{display:block}
.student-profile-card b{font-size:18px;color:#7fd3ff}.student-profile-card span{margin:5px 0;color:#b7ccda}.student-profile-card small{color:#8daabc}
.student-profile-card:hover{border-color:#43aeea;transform:translateY(-1px)}
.student-new-profile{background:#0b1c2b;border:1px solid #244a66;border-radius:12px;padding:14px}.student-new-profile h3{margin-top:0;color:#78ccff}.student-new-profile label{display:grid;gap:5px;margin-bottom:10px}.student-new-profile input{padding:10px;border:1px solid #356b90;background:#071824;color:#fff;border-radius:8px}.student-new-profile button{width:100%;padding:10px;border:1px solid #3d8abd;background:#176fa5;color:#fff;border-radius:8px}.student-profile-result{margin-top:10px;min-height:24px;color:#ff9ca3}.student-profile-result.good{color:#79e6a2}
@media(max-width:760px){.student-profile-body{grid-template-columns:1fr}.student-profile-grid{grid-template-columns:1fr}}

/* ===== HYBRID STUDENT ACCOUNTS ===== */
.student-access-overlay,.student-password-overlay{position:fixed;inset:0;background:#020811ef;z-index:1460;display:none;place-items:center;padding:18px}
.student-access-overlay.show,.student-password-overlay.show{display:grid}
.student-access-window{width:min(820px,96vw);background:#081522;border:1px solid #2e6489;border-radius:14px;overflow:hidden;box-shadow:0 30px 100px #000}
.student-access-body{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px}
.student-access-card{min-height:190px;text-align:left;padding:18px;background:#0d2233;border:1px solid #28506b;border-radius:12px;color:#fff}
.student-access-card.server{border-color:#347ba6;background:linear-gradient(145deg,#0e2940,#0b1d2b)}
.student-access-card:hover{transform:translateY(-2px);border-color:#62c7ff}
.student-access-icon{display:block;font-size:34px;margin-bottom:8px}.student-access-card b{display:block;font-size:20px;color:#83d7ff}.student-access-card p{color:#c3d6e1;line-height:1.5}.student-access-card small{color:#8eaabb}
.student-server-login{display:none;border-top:1px solid #28506b;padding:16px;background:#091927}.student-server-login.show{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.student-server-login input{padding:10px;background:#06131e;border:1px solid #356b90;color:#fff;border-radius:8px}.student-server-login h3,.student-server-login small,.student-server-login .student-profile-result{grid-column:1/-1;margin:0}
.student-server-login button,.student-password-body button{padding:10px 14px;border:1px solid #4c9ed0;background:#176fa5;color:white;border-radius:8px}
.student-account-card{margin-top:12px;padding:10px;background:#0d2233;border:1px solid #28506b;border-radius:9px}.student-account-card span,.student-account-card b,.student-account-card small{display:block}.student-account-card span{font-size:11px;color:#8ba8ba}.student-account-card b{color:#75d1ff;margin:3px 0}.student-account-card small{color:#a6bdcb;margin-bottom:8px}.student-account-card button{width:100%;margin-top:6px}
.student-password-window{width:min(460px,95vw);background:#081522;border:1px solid #2e6489;border-radius:14px;overflow:hidden}.student-password-body{display:grid;gap:9px;padding:16px}.student-password-body input{padding:11px;background:#06131e;border:1px solid #356b90;color:#fff;border-radius:8px}
.server-student-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px}.server-student-form input,.server-student-form select,.admin-server-student-form input,.admin-server-student-form select{min-width:0;padding:8px;background:#071824;color:#fff;border:1px solid #356b90;border-radius:7px}
.server-student-create{margin-bottom:14px}
.server-account-chip{display:inline-block;padding:3px 7px;border-radius:999px;background:#123a54;border:1px solid #3d8fbd;color:#aee5ff;font-size:11px}
@media(max-width:760px){.student-access-body{grid-template-columns:1fr}.student-server-login{grid-template-columns:1fr}.server-student-form{grid-template-columns:1fr}}


/* ===== UI POLISH / UX 1.0.1 ===== */
:root{
  --ui-accent:#49c7ff;
  --ui-accent-2:#287fb5;
  --ui-focus:#8fe2ff;
  --ui-ease:cubic-bezier(.2,.7,.2,1);
}

/* Startup / initialization */
.startup-screen{
  position:fixed;inset:0;z-index:5000;display:grid;place-items:center;
  background:
    radial-gradient(circle at 50% 32%,rgba(31,124,177,.28),transparent 34%),
    linear-gradient(145deg,#02070b,#071725 60%,#04101a);
  opacity:1;visibility:visible;
  transition:opacity .45s var(--ui-ease),visibility .45s;
}
.startup-screen.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.startup-card{width:min(560px,92vw);padding:34px;text-align:center;border-radius:24px;
  border:1px solid rgba(92,198,255,.24);background:rgba(6,20,32,.88);
  box-shadow:0 35px 110px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.05);
  backdrop-filter:blur(14px)}
.startup-logo-wrap{width:118px;height:118px;margin:0 auto 18px;position:relative;display:grid;place-items:center}
.startup-logo{width:82px;height:82px;border-radius:20px;position:relative;z-index:2;
  filter:drop-shadow(0 0 24px rgba(73,199,255,.34));animation:uiStartupPulse 1.8s ease-in-out infinite alternate}
.startup-ring{position:absolute;border:1px solid rgba(78,205,255,.33);border-radius:50%}
.startup-ring-a{inset:5px;animation:uiSpin 5s linear infinite}
.startup-ring-b{inset:-7px;border-style:dashed;animation:uiSpin 8s linear infinite reverse}
.startup-eyebrow{color:#64d4ff;font-size:10px;font-weight:900;letter-spacing:2.2px}
.startup-card h1{margin:8px 0 8px;font-size:clamp(26px,5vw,40px);line-height:1.05}
.startup-card p{margin:0 0 18px;color:#9ebdce}
.startup-progress{height:8px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.05)}
.startup-progress span{display:block;height:100%;width:4%;border-radius:inherit;background:linear-gradient(90deg,#43d5ff,#3189c6);box-shadow:0 0 20px rgba(67,213,255,.55);transition:width .28s var(--ui-ease)}
.startup-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}
.startup-steps span{font-size:10px;color:#648497;padding:5px;border-radius:7px;border:1px solid transparent;transition:.2s}
.startup-steps span.active{color:#d9f6ff;background:rgba(64,194,255,.08);border-color:rgba(64,194,255,.18)}
.startup-card>small{display:block;margin-top:15px;color:#587789}
@keyframes uiStartupPulse{from{transform:scale(.97)}to{transform:scale(1.035)}}
@keyframes uiSpin{to{transform:rotate(360deg)}}

/* Quick controls */
.ui-quick-controls{display:flex;gap:6px;align-items:center;flex-shrink:0}
.ui-icon-btn{width:38px;height:38px;display:grid;place-items:center;padding:0;border-radius:10px;
  border:1px solid rgba(115,203,245,.18);background:rgba(6,28,43,.86);color:#d9f6ff;
  box-shadow:inset 0 1px rgba(255,255,255,.04);font-size:16px;cursor:pointer;
  transition:transform .16s var(--ui-ease),border-color .16s,background .16s,box-shadow .16s}
.ui-icon-btn:hover{transform:translateY(-2px);border-color:rgba(95,209,255,.62);background:#10344d;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.ui-icon-btn[aria-pressed="true"]{border-color:#55d2ff;background:rgba(36,140,194,.22);box-shadow:0 0 0 1px rgba(74,201,255,.12) inset}

/* Global interaction polish */
button,.part,.student-profile-card,.student-access-card,.help-nav-btn,.tabs button{
  transition:transform .17s var(--ui-ease),box-shadow .17s var(--ui-ease),border-color .17s var(--ui-ease),background-color .17s var(--ui-ease),opacity .17s;
}
button:not(:disabled):hover{filter:brightness(1.06)}
button:not(:disabled):active,.part:active{transform:translateY(1px) scale(.985)}
.part:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.26);border-color:rgba(80,204,255,.65)!important}
.panel,.mission-card,.teacher-card,.admin-card,.student-card,.help-page,.aio-controls{
  transition:border-color .22s var(--ui-ease),box-shadow .22s var(--ui-ease),transform .22s var(--ui-ease);
}
.panel:hover{border-color:rgba(74,180,230,.38)}

/* Keyboard / focus */
.skip-link{position:fixed;left:12px;top:-80px;z-index:7000;background:#e9faff;color:#052033;padding:10px 14px;border-radius:8px;font-weight:800;text-decoration:none}
.skip-link:focus{top:12px}
:where(button,a,input,select,textarea,[tabindex]):focus{outline:none}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--ui-focus)!important;outline-offset:3px!important;
  box-shadow:0 0 0 5px rgba(73,199,255,.13)!important
}
input,select,textarea{transition:border-color .16s,box-shadow .16s,background .16s}
input:hover,select:hover,textarea:hover{border-color:#4788ad!important}
input:focus,select:focus,textarea:focus{border-color:#62d2ff!important;background:#081c2a!important}

/* Smooth view/modal appearance */
:is(.help-overlay,.student-overlay,.student-profile-overlay,.student-access-overlay,.student-password-overlay,
.admin-overlay,.teacher-overlay,.aio-overlay,.diag-overlay,.airflow-overlay,.compat-overlay,
.board-mount-overlay,.ports-overlay,.bootlab-overlay,.drivers-overlay,.stress-overlay,.service-overlay,
.safety-overlay,.modpsu-overlay).show{
  animation:uiOverlayIn .2s ease both;
}
:is(.help-overlay,.student-overlay,.student-profile-overlay,.student-access-overlay,.student-password-overlay,
.admin-overlay,.teacher-overlay,.aio-overlay,.diag-overlay,.airflow-overlay,.compat-overlay,
.board-mount-overlay,.ports-overlay,.bootlab-overlay,.drivers-overlay,.stress-overlay,.service-overlay,
.safety-overlay,.modpsu-overlay).show > *{
  animation:uiModalIn .28s var(--ui-ease) both;
}
.help-page.active,.student-page.active,.teacher-page.active,.admin-page.active{animation:uiViewIn .24s var(--ui-ease) both}
@keyframes uiOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes uiModalIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes uiViewIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Toasts */
.toast-region{position:fixed;right:16px;bottom:16px;z-index:6000;display:grid;gap:9px;width:min(390px,calc(100vw - 24px));pointer-events:none}
.ui-toast{pointer-events:auto;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:start;padding:12px 12px 12px 11px;
  border-radius:13px;background:rgba(7,24,36,.96);border:1px solid rgba(105,198,239,.24);
  box-shadow:0 16px 50px rgba(0,0,0,.42);backdrop-filter:blur(12px);animation:uiToastIn .28s var(--ui-ease) both}
.ui-toast.leaving{animation:uiToastOut .22s ease both}
.ui-toast-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:rgba(74,196,246,.1)}
.ui-toast strong{display:block;font-size:13px;margin:1px 0 3px}.ui-toast p{margin:0;color:#a9c3d1;font-size:12px;line-height:1.4;white-space:pre-line}
.ui-toast-close{background:transparent;border:0;color:#7f9aa9;font-size:17px;padding:3px;line-height:1}
.ui-toast.success{border-color:rgba(61,218,143,.34)}.ui-toast.success .ui-toast-icon{background:rgba(61,218,143,.11)}
.ui-toast.warning{border-color:rgba(255,192,73,.34)}.ui-toast.error{border-color:rgba(255,101,118,.38)}
@keyframes uiToastIn{from{opacity:0;transform:translateX(22px) translateY(6px)}to{opacity:1;transform:none}}
@keyframes uiToastOut{to{opacity:0;transform:translateX(22px)}}

/* Responsive improvements */
@media(max-width:1180px){
  .topbar{gap:8px}.status{font-size:12px}.ui-icon-btn{width:35px;height:35px}
  .main{grid-template-columns:minmax(220px,28vw) minmax(420px,1fr) minmax(220px,27vw)}
}
@media(max-width:920px){
  .topbar{position:sticky;top:0;z-index:120;flex-wrap:wrap;height:auto;min-height:64px;padding:8px 10px}
  .brand{flex:1 1 auto}.nav{order:3;width:100%}.app-top-menu-collapsible{width:100%;overflow-x:auto;scrollbar-width:thin;padding-bottom:3px}
  .ui-quick-controls{margin-left:auto}.status{display:none}
  .main{display:grid;grid-template-columns:1fr;padding:10px;gap:10px}
  .panel.left,.panel.right{max-height:none}
  .workspace{min-height:560px;order:-1}
  .parts-grid{grid-template-columns:repeat(4,minmax(90px,1fr))}
}
@media(max-width:650px){
  body{font-size:14px}.topbar .brand small{display:none}.topbar .brand b{font-size:13px}
  .logo{width:35px;height:35px}.ui-icon-btn{width:34px;height:34px}
  .main{padding:6px}.workspace{min-height:500px}
  .parts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tabs{overflow-x:auto;display:flex;flex-wrap:nowrap}.tabs button{white-space:nowrap}
  .case{transform-origin:top center}
  .student-profile-body,.aio-layout,.teacher-layout,.admin-layout{padding:9px!important;gap:9px!important}
  .toast-region{left:10px;right:10px;bottom:10px;width:auto}
  .startup-card{padding:25px 18px}.startup-steps span{font-size:9px}
}
@media(max-width:430px){
  .ui-quick-controls{gap:4px}.ui-icon-btn{width:32px;height:32px;border-radius:8px}
  .parts-grid{grid-template-columns:1fr 1fr}.part strong{font-size:11px}
  .work-header{align-items:flex-start;gap:4px;flex-direction:column}
}

/* Motion preferences */
html.ui-no-motion *,html.ui-no-motion *::before,html.ui-no-motion *::after{
  animation-duration:.001ms!important;animation-iteration-count:1!important;
  transition-duration:.001ms!important;scroll-behavior:auto!important
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.ui-view-pulse{animation:uiViewIn .24s var(--ui-ease) both}

.startup-skip{margin-top:14px;padding:8px 14px;border-radius:9px;border:1px solid rgba(104,201,244,.28);background:#0b2537;color:#cdefff;cursor:pointer}
.startup-skip:hover{background:#12354d;border-color:#62d2ff}

/* ===== DAILY CHALLENGE ===== */
.daily-overlay{position:fixed;inset:0;background:#020811ef;z-index:1445;display:none;place-items:center;padding:18px}.daily-overlay.show{display:grid}
.daily-window{width:min(980px,97vw);max-height:93vh;background:#081522;border:1px solid #2e6489;border-radius:15px;overflow:hidden;box-shadow:0 30px 100px #000}
.daily-titlebar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.daily-titlebar small{display:block;color:#9ebdd1}.daily-titlebar button{width:38px;height:38px;border:1px solid #3b7198;border-radius:8px;background:#102f4b;color:#fff}
.daily-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;padding:16px;max-height:84vh;overflow:auto}
.daily-main-card,.daily-stat-card,.daily-history-card{background:#0b1c2b;border:1px solid #244a66;border-radius:12px}.daily-main-card{padding:20px}
.daily-meta-row{display:flex;flex-wrap:wrap;gap:7px}.daily-badge{padding:5px 9px;border-radius:999px;border:1px solid #376887;background:#0c2639;color:#b9deef;font-size:11px}.daily-badge.bonus{border-color:#94702b;color:#ffd98a;background:#30240d}.daily-badge.streak{border-color:#9d5030;color:#ffb17a;background:#32180e}
.daily-icon{font-size:42px;margin:22px 0 6px}.daily-main-card h2{margin:0 0 8px;font-size:26px;color:#e7f7ff}.daily-main-card>p{color:#b5cfdd;line-height:1.6}
.daily-goal{margin:16px 0;padding:12px;border-radius:9px;background:#0d2233;border:1px solid #28506b}.daily-goal span,.daily-goal b{display:block}.daily-goal span{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#779caf}.daily-goal b{margin-top:4px;color:#9fe2ff}
.daily-progress-head{display:flex;justify-content:space-between;margin-bottom:6px;color:#9ebdce;font-size:12px}.daily-progress{height:10px;background:#06121c;border:1px solid #1e4259;border-radius:99px;overflow:hidden}.daily-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#1a87c4,#53d2ff);transition:width .25s}
.daily-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.daily-actions button{padding:10px 14px;border-radius:8px;border:1px solid #3d7da4;background:#123650;color:#fff}.daily-actions .daily-primary{background:#176fa5;border-color:#57c9ff}.daily-actions button:disabled{opacity:.45}
.daily-result{margin-top:13px;padding:11px;border-radius:9px;background:#0d2233;border:1px solid #28506b;color:#a9c6d6}.daily-result.good{border-color:#2d9d65;background:#0e2b1d;color:#aaf1c8}.daily-result.done{border-color:#a26a2f;background:#2d1c0e;color:#ffd19b}
.daily-side{display:grid;gap:10px;align-content:start}.daily-stat-card{padding:13px}.daily-stat-card span,.daily-stat-card b,.daily-stat-card small{display:block}.daily-stat-card span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7194a7}.daily-stat-card b{font-size:22px;color:#7fd7ff;margin:3px 0}.daily-stat-card small{color:#839dac}.daily-history-card{padding:13px}.daily-history-card h3{margin:0 0 10px}.daily-history-row{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #18364a;font-size:12px}.daily-history-row.done b{color:#6cdda0}
@media(max-width:760px){.daily-layout{grid-template-columns:1fr}.daily-side{grid-template-columns:1fr 1fr}.daily-history-card{grid-column:1/-1}}
@media(max-width:520px){.daily-side{grid-template-columns:1fr}.daily-history-card{grid-column:auto}.daily-actions button{width:100%}}

/* ===== PL / EN ===== */
.ui-lang-btn{font-size:11px;font-weight:900;letter-spacing:.5px}

/* ===== RANK SYSTEM ===== */
.student-rank-card{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;margin:12px 0;padding:12px;border:1px solid #315d79;border-radius:12px;background:linear-gradient(145deg,#0d2739,#0a1b28)}
.student-rank-icon{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-size:28px;background:#102f44;border:1px solid #3b7699;box-shadow:inset 0 1px #ffffff0b}
.student-rank-main span,.student-rank-main b,.student-rank-main small{display:block}.student-rank-main span{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#7596aa}.student-rank-main b{font-size:20px;color:#8edfff;margin:2px 0}.student-rank-main small{color:#91aebe}
.student-rank-progress{height:7px;border-radius:99px;background:#06131d;border:1px solid #1e455d;overflow:hidden;margin:8px 0 5px}.student-rank-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2c96cf,#64d9ff);transition:width .25s}
.rank-list{display:grid;gap:9px;margin-top:12px}.rank-card{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:12px;background:#0d2233;border:1px solid #28506b;border-radius:10px}.rank-card.current{border-color:#62cfff;background:#102c41;box-shadow:0 0 0 1px #62cfff1a inset}.rank-card.locked{opacity:.62}.rank-card-icon{font-size:25px}.rank-card b,.rank-card small{display:block}.rank-card b{color:#d9f2ff}.rank-card small{color:#8ca9ba;margin-top:3px}.rank-state{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid #315d79;color:#a6c8da}.rank-card.current .rank-state{border-color:#58c6ef;color:#b8edff}.rank-card.done .rank-state{border-color:#2f9561;color:#8ce3ae}
@media(max-width:560px){.rank-card{grid-template-columns:42px 1fr}.rank-state{grid-column:2}}

/* ===== EVENT CENTER ===== */
.event-center-btn{position:relative}.event-unread-badge{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#df4f5f;color:white;font-size:9px;font-weight:900;border:2px solid #081522;box-shadow:0 3px 10px #0006}.event-unread-badge[hidden]{display:none}
.event-center-overlay{position:fixed;inset:0;z-index:1550;display:none;place-items:center;padding:16px;background:#020811ef}.event-center-overlay.show{display:grid}
.event-center-window{width:min(900px,97vw);max-height:92vh;display:flex;flex-direction:column;background:#081522;border:1px solid #2e6489;border-radius:15px;overflow:hidden;box-shadow:0 30px 100px #000}
.event-center-titlebar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.event-center-titlebar small{display:block;color:#93b2c5;margin-top:2px}.event-center-titlebar button{width:38px;height:38px;border:1px solid #3b7198;border-radius:8px;background:#102f4b;color:#fff}
.event-center-toolbar{display:grid;grid-template-columns:150px 150px 1fr;gap:10px;padding:12px;border-bottom:1px solid #1d4056;background:#091927}.event-center-summary{padding:9px 10px;border:1px solid #244a66;border-radius:9px;background:#0d2233}.event-center-summary span,.event-center-summary b{display:block}.event-center-summary span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7899ab}.event-center-summary b{font-size:20px;color:#8bdfff;margin-top:2px}.event-center-actions{display:flex;gap:7px;justify-content:flex-end;align-items:center}.event-center-actions button{padding:8px 10px;border:1px solid #346b8f;border-radius:8px;background:#102f48;color:#fff;font-size:11px}
.event-filter-row{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid #1b3c51;overflow-x:auto;background:#071621}.event-filter{white-space:nowrap;padding:7px 10px;border:1px solid #294f68;border-radius:999px;background:#0c2232;color:#9bb8c8;font-size:11px}.event-filter.active{background:#176fa5;color:#fff;border-color:#55c9ff}
.event-center-list{overflow:auto;padding:10px;display:grid;gap:8px}
.event-item{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:start;padding:11px;border:1px solid #24465f;border-radius:10px;background:#0c1f2e;position:relative}.event-item.unread{border-color:#3a84ad;background:#10283a}.event-item.unread:before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:3px;border-radius:3px;background:#57caff}.event-item-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#102e42;border:1px solid #2e6687;font-size:20px}.event-item-content b,.event-item-content p,.event-item-content small{display:block}.event-item-content b{color:#dff6ff;font-size:13px}.event-item-content p{margin:3px 0;color:#a8c1cf;font-size:12px;line-height:1.4}.event-item-content small{color:#698899;font-size:10px}.event-item-time{color:#708d9d;font-size:10px;white-space:nowrap}.event-empty{text-align:center;padding:40px 20px;color:#7897a8}.event-empty strong{display:block;color:#b8d8e8;font-size:16px;margin-bottom:5px}
@media(max-width:700px){.event-center-toolbar{grid-template-columns:1fr 1fr}.event-center-actions{grid-column:1/-1;justify-content:stretch}.event-center-actions button{flex:1}.event-item{grid-template-columns:38px 1fr}.event-item-time{grid-column:2}.event-center-titlebar small{display:none}}
@media(max-width:470px){.event-center-toolbar{grid-template-columns:1fr}.event-center-actions{grid-column:auto;flex-direction:column}.event-center-actions button{width:100%}.event-item{grid-template-columns:34px 1fr}}

/* ===== RANDOM FAULT GENERATOR ===== */
.faultgen-overlay{position:fixed;inset:0;z-index:1490;display:none;place-items:center;padding:16px;background:#020811ef}.faultgen-overlay.show{display:grid}
.faultgen-window{width:min(1040px,97vw);max-height:93vh;background:#081522;border:1px solid #2e6489;border-radius:15px;overflow:hidden;box-shadow:0 30px 100px #000}
.faultgen-titlebar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.faultgen-titlebar small{display:block;color:#95b4c7}.faultgen-titlebar button{width:38px;height:38px;border:1px solid #3b7198;border-radius:8px;background:#102f4b;color:#fff}
.faultgen-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:9px;padding:12px;background:#091927;border-bottom:1px solid #1d4056}.faultgen-toolbar label span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7897aa;margin-bottom:4px}.faultgen-toolbar select,.faultgen-toolbar button{height:39px;padding:0 12px;border:1px solid #346b8f;border-radius:8px;background:#0d2739;color:#fff}.faultgen-toolbar .faultgen-primary{background:#176fa5;border-color:#55c9ff}
.faultgen-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px;padding:14px;max-height:78vh;overflow:auto}.faultgen-main{padding:16px;background:#0b1d2c;border:1px solid #244a66;border-radius:12px}.faultgen-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.faultgen-head span{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#789aad}.faultgen-head h2{margin:3px 0 0;color:#e6f7ff}.faultgen-scorebox{min-width:82px;text-align:right}.faultgen-scorebox b{display:block;font-size:24px;color:#72d4ff}.faultgen-main>p{color:#abc4d2;line-height:1.55}
.faultgen-symptoms{margin-top:15px}.faultgen-symptoms h3{margin:0 0 8px}.faultgen-symptom{display:flex;gap:8px;align-items:flex-start;padding:9px 10px;margin-bottom:7px;border:1px solid #294e67;border-radius:8px;background:#0d2536;color:#b8d0dc}.faultgen-symptom span{font-size:18px;line-height:1}
.faultgen-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.faultgen-actions button{padding:9px 13px;border:1px solid #3b7296;border-radius:8px;background:#12344d;color:#fff}
.faultgen-result{margin-top:12px;padding:11px;border-radius:9px;border:1px solid #28506b;background:#0d2233;color:#a9c6d6}.faultgen-result.good{border-color:#2d9d65;background:#0e2b1d;color:#aaf1c8}.faultgen-result.bad{border-color:#9a4f4f;background:#2a1316;color:#ffc1c7}
.faultgen-side{display:grid;gap:9px;align-content:start}.faultgen-card{padding:11px;border:1px solid #244a66;border-radius:10px;background:#0c2030}.faultgen-card span,.faultgen-card b{display:block}.faultgen-card span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7696a8}.faultgen-card b{font-size:20px;color:#8bdfff;margin-top:3px}.faultgen-reveal div{margin-top:7px;color:#a8c2d0;font-size:12px;line-height:1.45}.faultgen-reveal .fault-name{padding:5px 0;border-bottom:1px solid #1b3c50}.faultgen-reveal .fault-name:last-child{border-bottom:0}
@media(max-width:760px){.faultgen-toolbar{grid-template-columns:1fr}.faultgen-layout{grid-template-columns:1fr}.faultgen-side{grid-template-columns:1fr 1fr}.faultgen-reveal{grid-column:1/-1}}
@media(max-width:500px){.faultgen-side{grid-template-columns:1fr}.faultgen-reveal{grid-column:auto}.faultgen-actions button{width:100%}}

/* ===== CAMPAIGN MODE ===== */
.campaign-overlay{position:fixed;inset:0;z-index:1485;display:none;place-items:center;padding:14px;background:#020811ef}.campaign-overlay.show{display:grid}
.campaign-window{width:min(1120px,98vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:15px;overflow:hidden;box-shadow:0 30px 100px #000}
.campaign-titlebar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.campaign-titlebar small{display:block;color:#95b4c7}.campaign-titlebar button{width:38px;height:38px;border:1px solid #3b7198;border-radius:8px;background:#102f4b;color:#fff}
.campaign-header{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(120px,.6fr));gap:9px;padding:12px;background:#091927;border-bottom:1px solid #1d4056}.campaign-progress-box,.campaign-stat{padding:10px;border:1px solid #244a66;border-radius:10px;background:#0c2232}.campaign-progress-box span,.campaign-stat span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7798aa}.campaign-progress-box b,.campaign-stat b{display:block;color:#8bdfff;margin-top:3px;font-size:18px}.campaign-progress{height:7px;border-radius:99px;background:#06131e;border:1px solid #1e455d;overflow:hidden;margin-top:7px}.campaign-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2d91c8,#63dbff)}
.campaign-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:570px;max-height:79vh}.campaign-chapters{padding:10px;background:#071722;border-right:1px solid #1b3e53;overflow:auto}.campaign-chapter-btn{width:100%;text-align:left;padding:11px;margin-bottom:7px;border:1px solid #274c64;border-radius:9px;background:#0b2030;color:#b5cfdd}.campaign-chapter-btn b,.campaign-chapter-btn small{display:block}.campaign-chapter-btn small{color:#718f9f;margin-top:3px}.campaign-chapter-btn.active{border-color:#59c9f7;background:#113049}.campaign-chapter-btn.locked{opacity:.45}.campaign-chapter-btn.done{border-color:#348860}.campaign-content{padding:14px;overflow:auto}
.campaign-story-card{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;padding:14px;border:1px solid #2d5874;border-radius:12px;background:linear-gradient(145deg,#0d2a3d,#0a1c29)}.campaign-story-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:15px;background:#12364d;border:1px solid #3b7496;font-size:32px}.campaign-story-card span{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#75a0b6}.campaign-story-card h2{margin:3px 0 5px;color:#e3f7ff}.campaign-story-card p{margin:0;color:#a8c1cf;line-height:1.5}
.campaign-jobs{display:grid;gap:9px;margin-top:12px}.campaign-job{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid #294b62;border-radius:10px;background:#0c1f2d}.campaign-job.locked{opacity:.5}.campaign-job.done{border-color:#2f8d61;background:#0d281d}.campaign-job.current{border-color:#50c4ef;background:#102b3e}.campaign-job-icon{font-size:22px}.campaign-job b,.campaign-job small{display:block}.campaign-job b{color:#dff4ff}.campaign-job small{color:#8ca9b8;margin-top:3px;line-height:1.4}.campaign-job-actions{display:flex;gap:6px;align-items:center}.campaign-job-actions button{padding:7px 10px;border:1px solid #3a7398;border-radius:8px;background:#12354e;color:#fff}.campaign-job-actions .primary{background:#176fa5;border-color:#57ceff}.campaign-job-state{font-size:10px;padding:4px 7px;border-radius:999px;border:1px solid #315c77;color:#9fc1d2}
@media(max-width:850px){.campaign-header{grid-template-columns:1fr 1fr}.campaign-layout{grid-template-columns:1fr}.campaign-chapters{display:flex;gap:7px;overflow-x:auto;border-right:0;border-bottom:1px solid #1b3e53}.campaign-chapter-btn{min-width:190px;margin:0}.campaign-layout{max-height:78vh}.campaign-content{min-height:500px}}
@media(max-width:560px){.campaign-header{grid-template-columns:1fr}.campaign-job{grid-template-columns:38px 1fr}.campaign-job-actions{grid-column:2;flex-wrap:wrap}.campaign-story-card{grid-template-columns:50px 1fr}.campaign-story-icon{width:50px;height:50px}}

/* ===== CAMPAIGN DIALOGUES ===== */
.campaign-dialogue-overlay{position:fixed;inset:0;z-index:1600;display:none;place-items:center;padding:16px;background:#020811ef}.campaign-dialogue-overlay.show{display:grid}
.campaign-dialogue-window{width:min(980px,97vw);max-height:93vh;background:#081522;border:1px solid #2e6489;border-radius:15px;overflow:hidden;box-shadow:0 30px 100px #000}
.campaign-dialogue-titlebar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.campaign-dialogue-titlebar small{display:block;color:#93b3c5}.campaign-dialogue-titlebar button{width:38px;height:38px;border:1px solid #3b7198;border-radius:8px;background:#102f4b;color:#fff}
.campaign-dialogue-body{display:grid;grid-template-columns:220px minmax(0,1fr);max-height:84vh}.campaign-client-card{padding:18px;border-right:1px solid #1d4056;background:#071722;text-align:center}.campaign-client-avatar{width:86px;height:86px;margin:4px auto 12px;display:grid;place-items:center;border-radius:50%;font-size:42px;background:#12334a;border:1px solid #3a7396}.campaign-client-card b,.campaign-client-card span,.campaign-client-card small{display:block}.campaign-client-card b{font-size:18px;color:#e7f7ff}.campaign-client-card span{color:#9bb8c8;margin-top:3px}.campaign-client-card small{margin-top:9px;color:#7f9eae}
.campaign-dialogue-main{padding:16px;overflow:auto}.dialogue-thread{display:grid;gap:9px;min-height:220px}.dialogue-bubble{max-width:82%;padding:10px 12px;border-radius:12px;line-height:1.5;border:1px solid #294d64}.dialogue-bubble.client{justify-self:start;background:#0e2637;color:#c4d9e4;border-top-left-radius:3px}.dialogue-bubble.tech{justify-self:end;background:#12394f;color:#dcf5ff;border-color:#34769b;border-top-right-radius:3px}.dialogue-bubble small{display:block;margin-top:5px;color:#6f92a5;font-size:10px}
.dialogue-choice-box{display:grid;gap:7px;margin-top:14px}.dialogue-choice{padding:10px 12px;text-align:left;border:1px solid #315d79;border-radius:9px;background:#0d2739;color:#d7edf7}.dialogue-choice:hover{border-color:#57c9ff;background:#11344a}.dialogue-choice.good{border-color:#2f8c60;background:#0e2a1d}.dialogue-choice.bad{border-color:#94505a;background:#2a1519}
.campaign-order-summary{margin-top:14px;padding:12px;border:1px solid #315d79;border-radius:11px;background:#0b2030}.campaign-order-summary h3{margin:0 0 10px}.campaign-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.campaign-order-grid div{padding:9px;border:1px solid #25485f;border-radius:8px;background:#0d2636}.campaign-order-grid span,.campaign-order-grid b{display:block}.campaign-order-grid span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7594a6}.campaign-order-grid b{margin-top:3px;color:#cce8f5;font-size:12px}
.campaign-dialogue-actions{display:flex;justify-content:space-between;gap:8px;margin-top:14px}.campaign-dialogue-actions button{padding:9px 13px;border:1px solid #376f91;border-radius:8px;background:#103049;color:#fff}.campaign-dialogue-actions .primary{background:#176fa5;border-color:#58ccff}.campaign-dialogue-actions button:disabled{opacity:.45}
@media(max-width:700px){.campaign-dialogue-body{grid-template-columns:1fr}.campaign-client-card{display:grid;grid-template-columns:56px 1fr;text-align:left;gap:4px 10px;align-items:center;border-right:0;border-bottom:1px solid #1d4056;padding:11px}.campaign-client-avatar{grid-row:1/4;width:56px;height:56px;margin:0;font-size:28px}.campaign-order-grid{grid-template-columns:1fr}}

/* ===== TEACHER SCENARIO BANK ===== */
.teacher-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-section-head h3{margin-bottom:4px}.teacher-section-head p{margin:0;color:#89a5b5}.teacher-section-head button{padding:8px 11px;border:1px solid #3c7699;border-radius:8px;background:#123850;color:#fff}
.teacher-scenario-tools{display:grid;grid-template-columns:1fr 190px;gap:8px;margin:12px 0}.teacher-scenario-tools input,.teacher-scenario-tools select,.mission-editor-grid input,.mission-editor-grid select,.mission-editor-grid textarea,.situation-editor input,.situation-editor textarea,.situation-editor select,.teacher-scenario-body input,.teacher-scenario-body select{width:100%;box-sizing:border-box;padding:8px 9px;border:1px solid #315d79;border-radius:8px;background:#0a2131;color:#e2f4fc}
.teacher-scenario-list{display:grid;gap:9px}.teacher-scenario-card{padding:12px;border:1px solid #2a5069;border-radius:10px;background:#0c2130}.teacher-scenario-card-head{display:flex;justify-content:space-between;gap:10px}.teacher-scenario-card h4{margin:0;color:#dff6ff}.teacher-scenario-card p{color:#9db7c5;line-height:1.45}.teacher-scenario-meta{display:flex;gap:6px;flex-wrap:wrap}.teacher-scenario-meta span{padding:4px 7px;border-radius:999px;border:1px solid #315d79;background:#0b2a3c;color:#9ec8db;font-size:10px}.teacher-scenario-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.teacher-scenario-actions button{padding:6px 9px;border:1px solid #356e91;border-radius:7px;background:#11324a;color:#fff;font-size:11px}
.mission-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.mission-editor-grid label span,.situation-editor label span,.teacher-scenario-body label span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#7899aa;margin-bottom:4px}.mission-editor-grid .wide{grid-column:1/-1}
.mission-editor-situations{display:grid;gap:10px}.situation-editor{padding:12px;border:1px solid #294e67;border-radius:10px;background:#0b2030}.situation-editor h4{margin:0 0 9px;color:#cfeafa}.situation-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.situation-grid .wide{grid-column:1/-1}.answer-row{display:grid;grid-template-columns:1fr 1fr 100px;gap:7px;margin-top:7px}.answer-row .score-input{text-align:center}.mission-editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.mission-editor-actions button{padding:9px 12px;border:1px solid #3a7195;border-radius:8px;background:#12344d;color:#fff}.mission-editor-actions .primary{background:#176fa5;border-color:#57cbff}.mission-editor-status{margin-top:10px;color:#9cc6d9}
.teacher-scenario-overlay{position:fixed;inset:0;z-index:1640;display:none;place-items:center;padding:16px;background:#020811ef}.teacher-scenario-overlay.show{display:grid}.teacher-scenario-window{width:min(620px,96vw);max-height:92vh;background:#081522;border:1px solid #2e6489;border-radius:14px;overflow:hidden;box-shadow:0 30px 100px #000}.mission-preview-window{width:min(850px,96vw)}.teacher-scenario-titlebar{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;background:#102d43;border-bottom:1px solid #2e6489}.teacher-scenario-titlebar button{width:36px;height:36px;border:1px solid #3c7191;border-radius:8px;background:#0d2b41;color:#fff}.teacher-scenario-body{padding:14px;overflow:auto;max-height:78vh}.teacher-scenario-body label{display:block;margin-bottom:10px}.checkbox-row{display:flex!important;gap:7px;align-items:center}.checkbox-row input{width:auto!important}.teacher-scenario-body .primary{width:100%;padding:9px 12px;border:1px solid #58cbff;border-radius:8px;background:#176fa5;color:#fff}
.mission-preview-situation{margin:10px 0;padding:11px;border:1px solid #294e67;border-radius:9px;background:#0c2130}.mission-preview-answer{padding:6px 8px;margin:5px 0;border-radius:7px;background:#102a3b;color:#b9d1dd}.mission-preview-answer b{color:#7ddcff}
@media(max-width:700px){.teacher-scenario-tools,.mission-editor-grid,.situation-grid{grid-template-columns:1fr}.mission-editor-grid .wide,.situation-grid .wide{grid-column:auto}.answer-row{grid-template-columns:1fr}.teacher-section-head{flex-direction:column}}

/* ===== PDF REPORTS ===== */
.student-report-actions{margin-top:12px}.student-report-actions button,.teacher-pdf-grid button{padding:9px 12px;border:1px solid #4aa2cc;border-radius:8px;background:#145f8b;color:#fff;font-weight:700}
.teacher-pdf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.teacher-pdf-grid .teacher-card{display:grid;gap:9px;align-content:start}.teacher-pdf-grid label{display:grid;gap:5px;color:#9db7c5;font-size:12px}.teacher-pdf-grid select{width:100%;padding:8px;border:1px solid #315d79;border-radius:8px;background:#0b2232;color:#fff}.teacher-json-report{margin-top:10px}
@media(max-width:700px){.teacher-pdf-grid{grid-template-columns:1fr}}

/* ===== CYBERSAFE-STYLE SIDEBAR LAYOUT ===== */
:root{--sidebar-w:250px;--sidebar-collapsed-w:72px}
body.sidebar-layout{padding-left:var(--sidebar-w);transition:padding-left .2s ease;background:#07131d}
body.sidebar-layout.sidebar-collapsed{padding-left:var(--sidebar-collapsed-w)}
.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);z-index:1300;display:flex;flex-direction:column;background:linear-gradient(180deg,#071824,#08131c);border-right:1px solid #244a66;box-shadow:10px 0 35px #0004;transition:width .2s ease}
.sidebar-brand{height:62px;display:grid;grid-template-columns:42px 1fr 32px;gap:8px;align-items:center;padding:9px 10px;border-bottom:1px solid #1f4055;background:#0a1d2a}
.sidebar-logo{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#12364d;border:1px solid #346c8d;font-size:20px}
.sidebar-brand-text b,.sidebar-brand-text span,.sidebar-student-text b,.sidebar-student-text span{display:block}.sidebar-brand-text b{color:#e5f7ff;font-size:14px}.sidebar-brand-text span{color:#6f93a7;font-size:10px}
.sidebar-collapse-btn{width:30px;height:30px;border:1px solid #315f7d;border-radius:8px;background:#0f2d42;color:#fff;font-size:18px}
.sidebar-student{display:grid;grid-template-columns:36px 1fr;gap:8px;align-items:center;margin:9px;padding:9px;border:1px solid #21455c;border-radius:10px;background:#0a2030}
.sidebar-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#12364d}.sidebar-student-text b{color:#dff4ff;font-size:12px}.sidebar-student-text span{color:#74bad9;font-size:10px}
.sidebar-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 8px 10px;scrollbar-width:thin;scrollbar-color:#2e6684 #091925}
.sidebar-section{margin-bottom:10px}.sidebar-section-title{padding:7px 8px 5px;color:#587f94;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1.25px}.sidebar-section-items{display:grid;gap:4px}
.sidebar-nav button{width:100%!important;min-height:38px!important;margin:0!important;padding:8px 10px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:#a9c4d2!important;text-align:left!important;font-size:12px!important;box-shadow:none!important;white-space:normal!important}
.sidebar-nav button:hover{background:#0e2b40!important;border-color:#28516a!important;color:#e7f8ff!important;transform:none!important}
.sidebar-nav button.active,.sidebar-nav button[aria-current="page"]{background:#123b55!important;border-color:#3e83a9!important;color:#fff!important}
.sidebar-footer{padding:9px 10px;border-top:1px solid #1c3b4e;color:#58798b;font-size:9px}
body.sidebar-collapsed .app-sidebar{width:var(--sidebar-collapsed-w)}
body.sidebar-collapsed .sidebar-brand{grid-template-columns:42px;justify-content:center;padding-inline:14px}
body.sidebar-collapsed .sidebar-brand-text,body.sidebar-collapsed .sidebar-collapse-btn,body.sidebar-collapsed .sidebar-student-text,body.sidebar-collapsed .sidebar-section-title,body.sidebar-collapsed .sidebar-footer{display:none}
body.sidebar-collapsed .sidebar-student{grid-template-columns:1fr;place-items:center;padding:8px;margin:8px}
body.sidebar-collapsed .sidebar-nav button{justify-content:center!important;width:54px!important;min-width:54px!important;height:42px!important;padding:8px!important;font-size:0!important;overflow:hidden!important}
body.sidebar-collapsed .sidebar-nav button::first-letter{font-size:18px}
.mobile-sidebar-btn{display:none!important}.sidebar-backdrop{position:fixed;inset:0;background:#0009;z-index:1290}
@media(max-width:900px){
 body.sidebar-layout,body.sidebar-layout.sidebar-collapsed{padding-left:0}
 .app-sidebar{transform:translateX(-102%);width:min(280px,86vw)!important;transition:transform .22s ease}
 body.sidebar-mobile-open .app-sidebar{transform:translateX(0)}
 body.sidebar-mobile-open .sidebar-brand-text,body.sidebar-mobile-open .sidebar-collapse-btn,body.sidebar-mobile-open .sidebar-student-text,body.sidebar-mobile-open .sidebar-section-title,body.sidebar-mobile-open .sidebar-footer{display:initial}
 body.sidebar-mobile-open .sidebar-brand{grid-template-columns:42px 1fr 32px}
 body.sidebar-mobile-open .sidebar-student{grid-template-columns:36px 1fr}
 body.sidebar-mobile-open .sidebar-nav button{width:100%!important;min-width:0!important;height:auto!important;justify-content:flex-start!important;font-size:12px!important;padding:8px 10px!important}
 .mobile-sidebar-btn{display:inline-grid!important}
 .sidebar-backdrop:not([hidden]){display:block}
}

/* ===== PWA OFFLINE / ONLINE ===== */
.network-status-badge{height:34px!important;padding:0 9px!important;display:inline-flex!important;align-items:center;gap:6px;border:1px solid #2c6a4c!important;border-radius:999px!important;background:#0d2b1e!important;color:#bff3d0!important;font-size:10px!important;font-weight:800!important}.network-status-badge.offline{border-color:#8a5f28!important;background:#2c2112!important;color:#ffd9a1!important}.network-dot{width:8px;height:8px;border-radius:50%;background:#42d77a;box-shadow:0 0 0 3px #42d77a22}.network-status-badge.offline .network-dot{background:#f1a33d;box-shadow:0 0 0 3px #f1a33d22}.network-queue-count{min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px;border-radius:99px;background:#d04d59;color:white;font-size:9px}.network-queue-count[hidden]{display:none}
.offline-sync-overlay{position:fixed;inset:0;z-index:1700;display:none;place-items:center;padding:16px;background:#020811ef}.offline-sync-overlay.show{display:grid}.offline-sync-window{width:min(680px,96vw);max-height:92vh;background:#081522;border:1px solid #2e6489;border-radius:14px;overflow:hidden;box-shadow:0 30px 100px #000}.offline-sync-titlebar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#102d43;border-bottom:1px solid #2e6489}.offline-sync-titlebar small{display:block;color:#90aebe}.offline-sync-titlebar button{width:36px;height:36px;border:1px solid #3a7193;border-radius:8px;background:#0d2a40;color:#fff}.offline-sync-body{padding:14px;overflow:auto}.offline-sync-state{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid #2d5874;border-radius:10px;background:#0d2231}.offline-sync-icon{font-size:34px}.offline-sync-state b{color:#dff5ff}.offline-sync-state p{margin:3px 0 0;color:#9db8c7}.offline-sync-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.offline-sync-stats div{padding:10px;border:1px solid #244a66;border-radius:9px;background:#0b2030}.offline-sync-stats span,.offline-sync-stats b{display:block}.offline-sync-stats span{font-size:10px;text-transform:uppercase;color:#7594a5}.offline-sync-stats b{font-size:18px;color:#8bdfff;margin-top:3px}.offline-sync-actions{display:flex;gap:8px;flex-wrap:wrap}.offline-sync-actions button{padding:8px 11px;border:1px solid #356e91;border-radius:8px;background:#12344d;color:#fff}.offline-sync-actions .primary{background:#176fa5;border-color:#57ccff}.offline-sync-info{margin-top:13px;padding:12px;border:1px solid #24485f;border-radius:10px;background:#0a1d2a;color:#9fb8c6}.offline-sync-info h3{margin-top:0;color:#d6edf7}.offline-sync-info li{margin:4px 0}.offline-sync-info p{margin-bottom:0}
body.is-offline .server-only,body.is-offline [data-requires-server="true"]{opacity:.55}
@media(max-width:560px){.network-status-badge #networkStatusText{display:none}.offline-sync-stats{grid-template-columns:1fr}}

/* ===== KNOWLEDGE MISSIONS ===== */
.knowledge-overlay{position:fixed;inset:0;z-index:1670;display:none;place-items:center;padding:14px;background:#020811ef}.knowledge-overlay.show{display:grid}
.knowledge-window{width:min(1160px,98vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:15px;overflow:hidden;box-shadow:0 30px 100px #000}
.knowledge-titlebar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.knowledge-titlebar small{display:block;color:#95b4c7}.knowledge-titlebar button{width:38px;height:38px;border:1px solid #3b7198;border-radius:8px;background:#102f4b;color:#fff}
.knowledge-header{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(110px,.6fr));gap:9px;padding:12px;background:#091927;border-bottom:1px solid #1d4056}.knowledge-progress-box,.knowledge-stat{padding:10px;border:1px solid #244a66;border-radius:10px;background:#0c2232}.knowledge-progress-box span,.knowledge-stat span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7798aa}.knowledge-progress-box b,.knowledge-stat b{display:block;color:#8bdfff;margin-top:3px;font-size:18px}.knowledge-progress{height:7px;border-radius:99px;background:#06131e;border:1px solid #1e455d;overflow:hidden;margin-top:7px}.knowledge-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2d91c8,#63dbff)}
.knowledge-layout{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:580px;max-height:79vh}.knowledge-list{padding:10px;background:#071722;border-right:1px solid #1b3e53;overflow:auto}.knowledge-list button{width:100%;text-align:left;padding:9px 10px;margin-bottom:6px;border:1px solid #274c64;border-radius:8px;background:#0b2030;color:#b5cfdd}.knowledge-list button.active{border-color:#59c9f7;background:#113049}.knowledge-list button.done{border-color:#348860;background:#0d281d}.knowledge-list button small{display:block;color:#7896a5;margin-top:2px}
.knowledge-main{padding:16px;overflow:auto}.knowledge-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid #1f4055}.knowledge-card-head span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7797a8}.knowledge-card-head h2{margin:4px 0 5px;color:#e5f7ff}.knowledge-card-head p{margin:0;color:#a5bdca;line-height:1.5}.knowledge-type-badge{padding:6px 9px;border:1px solid #356d8f;border-radius:999px;background:#102d43;color:#9ed7ef;font-size:10px;white-space:nowrap}
.knowledge-task-area{margin-top:14px}.knowledge-option{display:block;width:100%;text-align:left;padding:10px 12px;margin-bottom:8px;border:1px solid #31586f;border-radius:9px;background:#0d2535;color:#d0e5ee}.knowledge-option.selected{border-color:#56c9f6;background:#12374e}.knowledge-option.correct{border-color:#37a168;background:#0f2f20}.knowledge-option.wrong{border-color:#a34f5a;background:#30161b}
.knowledge-order-list{display:grid;gap:8px}.knowledge-order-item{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid #31586f;border-radius:8px;background:#0d2535}.knowledge-order-index{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#12374e;color:#9edfff;font-weight:800}.knowledge-order-item button{width:30px;height:28px;border:1px solid #356d8f;border-radius:6px;background:#12344b;color:white}
.knowledge-build-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.knowledge-build-item{padding:10px;border:1px solid #31586f;border-radius:9px;background:#0d2535}.knowledge-build-item label{display:flex;gap:8px;align-items:flex-start;color:#cfe4ed}.knowledge-build-item small{display:block;color:#7d9aa9;margin-top:4px}
.knowledge-feedback{margin-top:14px;padding:11px;border:1px solid #2a5069;border-radius:9px;background:#0b2232;color:#a8c3d1}.knowledge-feedback.good{border-color:#2f8f61;background:#0d2a1d;color:#b8f0cd}.knowledge-feedback.bad{border-color:#98505a;background:#2a151a;color:#ffc0c7}.knowledge-actions{display:flex;justify-content:space-between;gap:8px;margin-top:14px}.knowledge-actions button{padding:9px 12px;border:1px solid #376f91;border-radius:8px;background:#103049;color:#fff}.knowledge-actions .primary{background:#176fa5;border-color:#58ccff}
@media(max-width:850px){.knowledge-header{grid-template-columns:1fr 1fr}.knowledge-layout{grid-template-columns:1fr}.knowledge-list{display:flex;gap:6px;overflow-x:auto;border-right:0;border-bottom:1px solid #1b3e53}.knowledge-list button{min-width:220px;margin:0}.knowledge-layout{max-height:78vh}.knowledge-main{min-height:500px}}
@media(max-width:560px){.knowledge-header{grid-template-columns:1fr}.knowledge-build-grid{grid-template-columns:1fr}.knowledge-card-head{flex-direction:column}.knowledge-actions{flex-wrap:wrap}.knowledge-actions button{flex:1}}

/* ===== FINAL EXAM ===== */
.final-exam-overlay{position:fixed;inset:0;z-index:1690;display:none;place-items:center;padding:14px;background:#020811ef}.final-exam-overlay.show{display:grid}
.final-exam-window{width:min(1100px,98vw);max-height:94vh;background:#081522;border:1px solid #2e6489;border-radius:15px;overflow:hidden;box-shadow:0 30px 100px #000}
.final-exam-titlebar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(#173752,#0c2235);border-bottom:1px solid #2f5b79}.final-exam-titlebar small{display:block;color:#95b4c7}.final-exam-titlebar button{width:38px;height:38px;border:1px solid #3b7198;border-radius:8px;background:#102f4b;color:#fff}
.final-exam-header{display:grid;grid-template-columns:minmax(250px,1.5fr) repeat(3,minmax(105px,.6fr));gap:9px;padding:12px;background:#091927;border-bottom:1px solid #1d4056}.final-exam-progress-box,.final-exam-stat{padding:10px;border:1px solid #244a66;border-radius:10px;background:#0c2232}.final-exam-progress-box span,.final-exam-stat span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7798aa}.final-exam-progress-box b,.final-exam-stat b{display:block;color:#8bdfff;margin-top:3px;font-size:18px}.final-exam-progress{height:7px;border-radius:99px;background:#06131e;border:1px solid #1e455d;overflow:hidden;margin-top:7px}.final-exam-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2d91c8,#63dbff)}
.final-exam-body{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px;padding:14px;max-height:74vh;overflow:auto}.final-exam-stage{padding:16px;border:1px solid #294e67;border-radius:12px;background:#0b1f2e}.final-exam-stage-label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#6fa0b8}.final-exam-stage h2{margin:5px 0;color:#e3f6ff}.final-exam-stage>p{color:#a7c0cd}
.final-exam-task-area{margin-top:14px}.final-exam-option{display:block;width:100%;text-align:left;padding:10px 12px;margin-bottom:8px;border:1px solid #31586f;border-radius:9px;background:#0d2535;color:#d0e5ee}.final-exam-option.selected{border-color:#56c9f6;background:#12374e}.final-exam-option.correct{border-color:#37a168;background:#0f2f20}.final-exam-option.wrong{border-color:#a34f5a;background:#30161b}
.final-exam-practical{padding:12px;border:1px solid #31586f;border-radius:10px;background:#0d2535}.final-exam-practical h3{margin-top:0}.final-exam-practical ul{color:#abc3d0}
.final-exam-feedback{margin-top:12px;padding:10px;border-radius:9px;border:1px solid #2a5069;background:#0b2232;color:#a8c3d1}.final-exam-feedback.good{border-color:#2f8f61;background:#0d2a1d;color:#b8f0cd}.final-exam-feedback.bad{border-color:#98505a;background:#2a151a;color:#ffc0c7}
.final-exam-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.final-exam-actions button{padding:9px 12px;border:1px solid #376f91;border-radius:8px;background:#103049;color:#fff}.final-exam-actions .primary{background:#176fa5;border-color:#58ccff}.final-exam-actions button:disabled{opacity:.45}
.final-exam-side{display:grid;gap:8px;align-content:start}.final-exam-card{padding:10px;border:1px solid #244a66;border-radius:9px;background:#0c2030}.final-exam-card span,.final-exam-card b{display:block}.final-exam-card span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7696a8}.final-exam-card b{font-size:18px;color:#8bdfff;margin-top:3px}
.final-exam-result{margin:0 14px 14px;padding:18px;border:1px solid #3c7696;border-radius:12px;background:linear-gradient(145deg,#102d42,#0b1e2b);text-align:center}.final-exam-result-icon{font-size:42px}.final-exam-result h2{margin:5px 0}.final-exam-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.final-exam-result-grid div{padding:10px;border:1px solid #31586f;border-radius:9px;background:#0a2030}.final-exam-result-grid span,.final-exam-result-grid b{display:block}.final-exam-result-grid span{font-size:10px;color:#7899aa}.final-exam-result-grid b{font-size:22px;color:#8bdfff;margin-top:3px}.final-exam-result button{padding:9px 13px;border:1px solid #57cbff;border-radius:8px;background:#176fa5;color:#fff}
@media(max-width:780px){.final-exam-header{grid-template-columns:1fr 1fr}.final-exam-body{grid-template-columns:1fr}.final-exam-side{grid-template-columns:1fr 1fr}.final-exam-result-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.final-exam-header,.final-exam-side,.final-exam-result-grid{grid-template-columns:1fr}}

/* ===== TEACHER RESULTS DASHBOARD ===== */
.teacher-results-controls{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px;margin:12px 0}.teacher-results-controls label{display:grid;gap:4px}.teacher-results-controls span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7899aa}.teacher-results-controls select{padding:8px;border:1px solid #315d79;border-radius:8px;background:#0a2131;color:#fff}
.teacher-results-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}.teacher-results-summary div{padding:10px;border:1px solid #244a66;border-radius:9px;background:#0c2232}.teacher-results-summary span,.teacher-results-summary b{display:block}.teacher-results-summary span{font-size:10px;text-transform:uppercase;color:#7696a8}.teacher-results-summary b{font-size:18px;color:#8bdfff;margin-top:3px}
.teacher-results-table-wrap{overflow:auto;border:1px solid #244a66;border-radius:10px}.teacher-results-table{width:100%;border-collapse:collapse;min-width:980px}.teacher-results-table th,.teacher-results-table td{padding:9px 8px;border-bottom:1px solid #1e4055;text-align:left}.teacher-results-table th{position:sticky;top:0;background:#102a3c;color:#93b8c9;font-size:10px;text-transform:uppercase;letter-spacing:.7px}.teacher-results-table td{color:#c4d9e4;font-size:11px}.teacher-results-table tr:hover td{background:#0d2433}.teacher-results-table .result-name{font-weight:700;color:#e4f6ff}.teacher-results-table .mini-bar{height:6px;background:#07131d;border-radius:99px;overflow:hidden;margin-top:4px}.teacher-results-table .mini-bar span{display:block;height:100%;background:#4dbce9}.teacher-results-table .exam-pass{color:#8be5ad}.teacher-results-table .exam-fail{color:#ff9da8}.teacher-results-table button{padding:5px 8px;border:1px solid #356e91;border-radius:6px;background:#11324a;color:#fff;font-size:10px}
.teacher-results-note{margin-top:9px;color:#7f9eae;font-size:11px}
.teacher-result-overlay{position:fixed;inset:0;z-index:1710;display:none;place-items:center;padding:16px;background:#020811ef}.teacher-result-overlay.show{display:grid}.teacher-result-window{width:min(780px,96vw);max-height:92vh;background:#081522;border:1px solid #2e6489;border-radius:14px;overflow:hidden;box-shadow:0 30px 100px #000}.teacher-result-titlebar{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#102d43;border-bottom:1px solid #2e6489}.teacher-result-titlebar button{width:36px;height:36px;border:1px solid #3a7193;border-radius:8px;background:#0d2a40;color:#fff}.teacher-result-body{padding:14px;overflow:auto;max-height:80vh}.teacher-result-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.teacher-result-detail-grid div{padding:10px;border:1px solid #244a66;border-radius:9px;background:#0c2232}.teacher-result-detail-grid span,.teacher-result-detail-grid b{display:block}.teacher-result-detail-grid span{font-size:10px;text-transform:uppercase;color:#7696a8}.teacher-result-detail-grid b{font-size:18px;color:#8bdfff;margin-top:3px}.teacher-result-section{margin-top:13px;padding:11px;border:1px solid #244a66;border-radius:9px;background:#0b1f2d}.teacher-result-section h4{margin:0 0 7px;color:#d8eff8}
@media(max-width:850px){.teacher-results-controls{grid-template-columns:1fr 1fr}.teacher-results-summary{grid-template-columns:1fr 1fr}.teacher-result-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.teacher-results-controls,.teacher-results-summary,.teacher-result-detail-grid{grid-template-columns:1fr}}

/* ===== WEAK AREAS ANALYTICS ===== */
.teacher-analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.teacher-analytics-card{padding:12px;border:1px solid #294f68;border-radius:10px;background:#0b2030}.teacher-analytics-wide{grid-column:1/-1}.teacher-analytics-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.teacher-analytics-head span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#7594a6}.teacher-analytics-head h4{margin:2px 0 0;color:#dff4ff}.teacher-analytics-badge{padding:4px 7px;border-radius:999px;border:1px solid #356d8f;background:#102d43;color:#9ed7ef!important}.teacher-area-list{display:grid;gap:8px}.teacher-area-row{display:grid;grid-template-columns:minmax(150px,1fr) 58px;gap:8px;align-items:center}.teacher-area-row b{color:#cfe8f4;font-size:11px}.teacher-area-row span{font-size:11px;text-align:right;color:#8fcce8}.teacher-area-bar{grid-column:1/-1;height:7px;border-radius:99px;background:#07131d;overflow:hidden;border:1px solid #17374a}.teacher-area-bar i{display:block;height:100%;background:#43a9d1}.teacher-area-row.weak .teacher-area-bar i{background:#d97862}.teacher-area-row.strong .teacher-area-bar i{background:#4bb87a}.teacher-recommendations{display:grid;gap:8px}.teacher-recommendation{padding:10px;border:1px solid #294f68;border-radius:8px;background:#0d2636;color:#aac4d1;line-height:1.45}.teacher-recommendation b{color:#e0f3fb}.student-area-analysis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.student-area-card{padding:10px;border:1px solid #294f68;border-radius:9px;background:#0c2232}.student-area-card h5{margin:0 0 7px;color:#d9eef7}.student-area-card ul{margin:0;padding-left:18px;color:#a8c1ce}.student-area-card li{margin:4px 0}@media(max-width:700px){.teacher-analytics-grid,.student-area-analysis{grid-template-columns:1fr}.teacher-analytics-wide{grid-column:auto}}

/* Bethel standalone subpage link only */
.sidebar-bethel-link{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border-radius:8px;color:inherit;text-decoration:none;cursor:pointer}
.sidebar-bethel-link:hover{background:rgba(255,255,255,.07)}
