.hands-on-lab{border:1px solid color-mix(in srgb, var(--teal) 42%, var(--line));background:radial-gradient(circle at top right, color-mix(in srgb, var(--primary) 14%, transparent), transparent 34%), var(--surface);border-radius:16px;gap:18px;padding:22px;display:grid;box-shadow:0 18px 50px #02191314}.hands-on-lab.loading,.hands-on-lab.unavailable{color:var(--muted);grid-template-columns:auto minmax(0,1fr);align-items:center;font-weight:800}.hands-on-lab.unavailable{border-color:color-mix(in srgb, var(--amber) 55%, var(--line));background:var(--amber-soft)}.hands-on-lab-header,.hands-on-lab-start,.hands-on-results>header,.lab-admin-overview>header,.lab-template-list>header,.lab-template-editor>header,.lab-session-table>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.hands-on-lab-header h3{margin-top:4px;font-size:22px}.hands-on-lab-header p:last-child{max-width:70ch;color:var(--muted);margin-top:7px;line-height:1.55}.hands-on-lab-status{white-space:nowrap;justify-items:end;gap:8px;display:grid}.hands-on-lab-status strong{color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:7px;display:flex}.lab-status,.node-state{letter-spacing:.035em;text-transform:uppercase;border-radius:999px;align-items:center;width:max-content;font-size:11px;font-weight:900;display:inline-flex}.lab-status{color:var(--primary-dark);background:var(--primary-soft);padding:6px 9px}.lab-status.failed,.lab-status.expired{color:var(--red);background:var(--red-soft)}.lab-status.deleted{color:var(--muted);background:var(--surface-2)}.lab-status.creating,.lab-status.queued,.lab-status.destroying,.lab-status.grading{color:#725000;background:var(--amber-soft)}.hands-on-topology{border:1px dashed color-mix(in srgb, var(--teal) 45%, var(--line));background:color-mix(in srgb, var(--teal-soft) 42%, var(--surface));border-radius:12px;gap:13px;padding:16px;display:grid}.hands-on-topology-links,.hands-on-topology-nodes{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.hands-on-topology-links span{color:var(--muted);font-size:12px;font-weight:800}.hands-on-topology-links b{color:var(--teal)}.topology-node{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:2px 9px;min-width:145px;padding:11px 13px;display:grid}.topology-node svg{color:var(--teal);grid-row:1/3}.topology-node small{color:var(--muted);text-transform:uppercase;font-size:10px}.hands-on-lab-start{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;align-items:center;padding:15px}.hands-on-lab-start div{gap:4px;display:grid}.hands-on-lab-start span{color:var(--muted);font-size:13px}.hands-on-actions{flex-wrap:wrap;gap:9px;display:flex}.hands-on-actions button{min-width:0}.hands-on-winbox{border:1px solid color-mix(in srgb, var(--teal) 45%, var(--line));background:color-mix(in srgb, var(--teal-soft) 34%, var(--surface));border-radius:12px;gap:14px;padding:16px;display:grid}.hands-on-winbox>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.hands-on-winbox h4{align-items:center;gap:8px;margin-top:3px;display:flex}.hands-on-winbox h4 svg{color:var(--teal)}.hands-on-winbox header p:last-child,.winbox-credentials>p{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.5}.winbox-credentials{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.winbox-credentials>div{border:1px solid var(--line);background:var(--surface);border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 8px;min-width:0;padding:11px;display:grid}.winbox-credentials span{color:var(--muted);grid-column:1/-1;font-size:11px;font-weight:800}.winbox-credentials code{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.winbox-credentials .icon-button{min-width:0;min-height:31px;color:var(--teal);align-items:center;gap:4px;padding:4px 7px;display:inline-flex}.winbox-credentials .icon-button svg{width:14px;height:14px}.winbox-credentials .icon-button small{font-size:10px}.winbox-credentials>p{grid-column:1/-1;margin:0}.hands-on-console-tabs{align-items:end;gap:7px;padding-bottom:1px;display:flex;overflow-x:auto}.hands-on-console-tabs button{white-space:nowrap;background:var(--surface-2);align-items:center;gap:7px;min-height:39px;padding:7px 11px;display:flex}.hands-on-console-tabs button.active{border-color:var(--teal);color:var(--ink);background:var(--teal-soft)}.node-state{color:var(--muted);background:var(--surface);padding:3px 5px}.node-state.started,.node-state.running{color:var(--green);background:var(--green-soft)}.hands-on-terminal{background:#07110f;border:1px solid #dcfff529;border-radius:12px;overflow:hidden;box-shadow:0 16px 38px #020d0a38}.hands-on-terminal-bar{color:#f5fbf8;background:#101e1a;border-bottom:1px solid #ffffff1c;justify-content:space-between;align-items:center;min-height:44px;padding:7px 12px;display:flex}.hands-on-terminal-bar>div{align-items:center;gap:8px;display:flex}.hands-on-terminal-bar small{color:#ffffff94}.terminal-dot{background:var(--amber);border-radius:999px;width:9px;height:9px}.terminal-dot.connected{background:var(--primary);box-shadow:0 0 0 4px #c8ff3d1f}.terminal-dot.error,.terminal-dot.closed{background:#ff6b5f}.terminal-reconnect{color:#f5fbf8;background:0 0;border-color:#ffffff38;min-height:30px;padding:4px 9px;font-size:12px;font-weight:800}.hands-on-terminal-screen{height:clamp(320px,48vh,520px);padding:8px}.hands-on-terminal-screen .xterm{height:100%}.hands-on-results{border:1px solid var(--line);border-radius:12px;gap:12px;padding:16px;display:grid}.hands-on-results>header{align-items:center}.hands-on-results>header>strong{color:var(--ink);font-size:28px}.hands-on-results>div{gap:7px;display:grid}.hands-on-results article{background:var(--surface-2);border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.hands-on-results article.passed{color:color-mix(in srgb, var(--green) 75%, var(--ink));background:var(--green-soft)}.hands-on-results article.failed{color:color-mix(in srgb, var(--red) 75%, var(--ink));background:var(--red-soft)}.hands-on-results article span{gap:2px;display:grid}.hands-on-results article small{color:var(--muted)}.hands-on-error,.lab-waiting{border-radius:9px;align-items:center;gap:8px;padding:11px 13px;font-size:13px;font-weight:800;display:flex}.hands-on-error{color:var(--red);background:var(--red-soft)}.lab-waiting{color:var(--muted);background:var(--surface-2)}.lab-admin-grid{grid-template-columns:minmax(260px,.34fr) minmax(0,.66fr);gap:16px;display:grid}.lab-admin-grid>.wide{grid-column:1/-1}.lab-admin-overview,.lab-template-list,.lab-template-editor,.lab-session-table{min-width:0}.lab-admin-health,.lab-template-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.lab-admin-health .status-badge{gap:6px}.lab-admin-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.lab-admin-kpis>div{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:14px;display:grid}.lab-admin-kpis svg{color:var(--teal);grid-row:1/3}.lab-admin-kpis strong{color:var(--ink);font-size:23px}.lab-admin-kpis span{color:var(--muted);font-size:12px}.lab-template-list{align-self:start}.lab-template-list>header,.lab-template-editor>header,.lab-session-table>header{align-items:center;margin-bottom:15px}.lab-template-list>button{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:8px;padding:10px;display:flex}.lab-template-list>button.active{border-color:var(--teal);background:var(--teal-soft)}.lab-template-list>button span{gap:3px;min-width:0;display:grid}.lab-template-list>button small{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.lab-template-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.lab-template-fields .wide,.lab-enabled{grid-column:1/-1}.lab-template-fields textarea.code-field{color:#dff9ef;tab-size:2;background:#07110f;min-height:230px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55}.lab-template-fields label small{color:var(--muted);font-weight:600}.lab-enabled{min-height:44px;color:var(--ink);align-items:center;gap:9px;display:flex}.lab-enabled input{width:19px;min-height:19px;margin:0}.lab-template-actions{justify-content:flex-end;margin-top:16px}.lab-session-table .icon-button{min-width:38px;min-height:38px;color:var(--red);place-items:center;display:inline-grid}@keyframes lab-spin{to{transform:rotate(360deg)}}.spin{animation:.9s linear infinite lab-spin}@media (width<=920px){.lab-admin-grid{grid-template-columns:1fr}.lab-admin-grid>.wide{grid-column:auto}.hands-on-terminal-screen{height:380px}}@media (width<=680px){.hands-on-lab{padding:16px}.hands-on-lab-header,.hands-on-lab-start,.lab-admin-overview>header,.lab-template-list>header,.lab-template-editor>header,.lab-session-table>header{flex-direction:column;align-items:stretch}.hands-on-lab-status{justify-items:start}.hands-on-lab-start button,.hands-on-actions button,.lab-template-actions button{width:100%}.hands-on-actions,.hands-on-winbox>header,.lab-template-actions,.lab-admin-health{flex-direction:column;align-items:stretch}.hands-on-winbox>header button,.winbox-credentials{width:100%}.winbox-credentials,.lab-admin-kpis,.lab-template-fields{grid-template-columns:1fr}.lab-template-fields .wide,.lab-enabled{grid-column:auto}.hands-on-terminal-screen{height:340px}.hands-on-results article{grid-template-columns:auto minmax(0,1fr)}.hands-on-results article>b{grid-column:2}}
