:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e9edf4;background:#0b111c;font-synthesis:none;font-size:16px;line-height:1.5;--muted:#8f9aae;--line:#263244;--accent:#c7f684}*{box-sizing:border-box}body{margin:0}header{height:88px;max-width:1180px;margin:auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:14px;font-size:29px;font-weight:800;color:var(--accent)}.brand span{font-size:11px;letter-spacing:2px;color:#e9edf4}main{max-width:1180px;margin:auto;padding:40px 34px 24px}.intro{margin-bottom:36px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:700;margin:0 0 12px}h1{font-size:clamp(32px,5vw,48px);line-height:1.12;letter-spacing:-1.7px;font-weight:650;margin:12px 0}h2{font-size:22px;line-height:1.25;letter-spacing:-.6px;margin:4px 0 18px}.muted{color:var(--muted)}.small{font-size:12px}.card{border:1px solid var(--line);border-radius:20px;padding:26px;background:linear-gradient(135deg,#172132,#121b2a)}.overview{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-heading .eyebrow{margin:0}.pill{border:1px solid #4b586a;border-radius:30px;padding:5px 12px;font-size:11px;color:#b7c2d4}.pill.online{color:var(--accent);border-color:#536b3f;background:#263b27}.status-card{display:flex;flex-direction:column;min-height:345px}.status-card h2{font-size:37px;letter-spacing:-1.2px;margin:12px 0}.computer-icon{height:60px;width:64px;font-size:50px;color:var(--accent);margin-top:24px;line-height:1}.status-card p{margin-bottom:5px}.controls h2{margin-bottom:20px}.action{display:flex;align-items:center;text-align:left;width:100%;gap:16px;border:1px solid #354154;background:#1c293c;color:inherit;padding:14px 17px;border-radius:12px;margin-bottom:10px}.action>span{font-size:26px;color:var(--accent);width:26px;text-align:center}.action div{font-size:15px;font-weight:650}.action small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}.action:disabled{opacity:.43;cursor:not-allowed}.action:not(:disabled):hover{border-color:var(--accent);background:#26364b}.danger>span{color:#f3a591}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metrics .card{padding:22px}.metrics strong{font-size:23px;font-weight:550;letter-spacing:-.7px}.details{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:14px}.service-row span:last-child{color:var(--accent);font-size:12px}.event{border-top:1px solid var(--line);padding:13px 0}.event time{font-size:11px;color:var(--muted)}.event p{font-size:13px;margin:3px 0}.login{max-width:450px}.login h2{font-size:28px}.login label,.setup label{display:block;font-size:12px;color:#acb9cb;margin-bottom:18px}input{display:block;width:100%;padding:13px 15px;color:#f4f6fa;background:#0d1522;border:1px solid #3a475b;border-radius:9px;margin-top:7px;font:inherit;font-size:16px}input:focus{outline:2px solid var(--accent);outline-offset:2px}button{font:inherit;cursor:pointer;transition:background .15s,border-color .15s}button:disabled{cursor:not-allowed}.primary{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--accent);color:#172216;border:0;border-radius:9px;padding:13px 19px;font-weight:700;font-size:14px}.login .primary{width:100%}.quiet{border:1px solid var(--line);background:transparent;color:#b9c5d6;border-radius:9px;padding:10px 16px;font-size:12px}#message{font-size:14px;color:#f3b3a0;min-height:22px;margin-top:20px}footer{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#7b879a;margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}dialog{color:inherit;background:#182437;border:1px solid #52627a;border-radius:18px;max-width:480px;padding:30px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}dialog p{color:#aebacc;font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}[hidden]{display:none!important}.setup{max-width:650px;margin:40px auto}.setup code{display:block;overflow-wrap:anywhere;background:#0b111c;color:var(--accent);border:1px solid var(--line);padding:17px;border-radius:10px;margin:20px 0;letter-spacing:2px}.setup ol{padding-left:22px;font-size:14px;color:#b7c2d1}.setup li{margin-bottom:12px}@media(max-width:700px){header{height:72px;padding:0 20px}main{padding:28px 18px}.intro{margin-bottom:26px}.overview,.details{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.card{padding:22px;border-radius:16px}.status-card{min-height:280px}.status-card h2{font-size:33px}.metrics .card{padding:18px}.metrics strong{font-size:21px}footer{flex-direction:column}.brand span{font-size:10px}.setup{margin:12px}.dialog-actions{flex-wrap:wrap}}

.otp-qr{background:#fff;border-radius:12px;padding:12px;width:250px;margin:20px auto}.otp-qr svg{display:block;width:100%;height:auto}

#hall-setup{margin-bottom:18px}#hall-setup p{max-width:720px}
.computer-list{display:grid;gap:12px;margin-bottom:32px}.computer-row{width:100%;display:flex;align-items:center;gap:18px;text-align:left;background:#121c2b;border:1px solid var(--line);border-radius:15px;padding:20px;color:inherit}.computer-row:hover{background:#1b293b;border-color:#647450}.computer-row.selected{border-color:var(--accent);background:#1a2a2c;box-shadow:inset 3px 0 var(--accent)}.computer-row:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.row-icon{color:var(--accent);font-size:30px}.row-info{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.row-info strong{font-size:19px;font-weight:650}.row-info strong small{font-size:12px;font-weight:400;color:var(--muted);margin-left:8px}.row-info>span{font-size:12px;color:#aebacc}.row-state{font-size:11px;white-space:nowrap;color:#b8c3d2;background:#263141;border-radius:20px;padding:5px 11px}.row-state.online{color:var(--accent);background:#2b3e29}.row-arrow{color:var(--muted);font-size:20px}.selected .row-arrow{color:var(--accent)}.detail-title{font-size:25px;margin:0 0 20px}
@media(max-width:700px){.computer-row{padding:16px 14px;gap:11px;flex-wrap:wrap}.row-icon{font-size:26px}.row-info strong{font-size:18px}.row-info strong small{display:block;margin:0}.row-info>span{font-size:11px}.row-state{font-size:10px;padding:5px 8px}.row-arrow{display:none}.computer-list{margin-bottom:26px}}

.monitoring{display:grid;gap:18px;margin:24px 0}.extended-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}.extended-grid .card{min-width:0}.extended-grid .service-row{align-items:flex-start;flex-wrap:wrap;gap:6px}.extended-grid .service-row span{overflow-wrap:anywhere}.extended-grid .service-row span:last-child{color:#c4d1df;text-align:right}.mini-block{margin-bottom:20px}.mini-block strong{font-size:14px}.mini-block .service-row{font-size:12px}.history-heading{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.history-heading label{font-size:12px;color:var(--muted)}select{display:block;background:#101a28;color:inherit;border:1px solid var(--line);padding:9px;border-radius:8px;margin-top:5px;font:inherit}.charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.chart-card{padding:15px;background:#0c1522;border:1px solid var(--line);border-radius:12px;min-width:0}.chart-card strong{font-size:13px}.chart-card svg{display:block;width:100%;height:auto}.chart-card small{color:var(--muted);font-size:11px}.alert{border-left:3px solid #a8c5ff;padding:12px 16px;margin:12px 0;background:#102035;border-radius:5px}.alert.warning{border-color:#e6bf6e}.alert.critical{border-color:#ef9d8a}.alert p{margin:6px 0;font-size:14px}.alert small{color:var(--muted)}details summary{cursor:pointer;color:var(--muted);font-size:13px;margin-top:18px}.monitoring p{overflow-wrap:anywhere}.monitoring .card>p{font-size:13px}@media(max-width:950px){.extended-grid,.charts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.extended-grid,.charts{grid-template-columns:1fr}.monitoring .card{padding:20px}.extended-grid .service-row{font-size:13px}.history-heading{gap:10px}.monitoring{gap:14px}}
