/* P2P Call Admin Panel CSS */
:root{--bg:#0d1117;--bg2:#161b22;--bg3:#21262d;--bdr:#30363d;--txt:#c9d1d9;--txt2:#8b949e;--acc:#58a6ff;--grn:#3fb950;--ylw:#d29922;--red:#f85149;--org:#db6d28}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',sans-serif;background:var(--bg);color:var(--txt);min-height:100vh}
.login-overlay{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:9999}
.lb{background:var(--bg2);border:1px solid var(--bdr);border-radius:12px;padding:40px;width:360px;text-align:center}
.lb h1{font-size:22px;margin-bottom:8px}.lb h1 span{color:var(--acc)}.lb p{color:var(--txt2);font-size:13px;margin-bottom:24px}
.lb input{width:100%;padding:10px 14px;background:var(--bg);border:1px solid var(--bdr);border-radius:6px;color:var(--txt);font-size:14px;margin-bottom:16px;outline:none}
.lb input:focus{border-color:var(--acc)}
.lb button{width:100%;padding:10px;background:var(--acc);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}
.le{color:var(--red);font-size:12px;margin-top:8px;display:none}
.hd{background:var(--bg2);border-bottom:1px solid var(--bdr);padding:12px 24px;display:flex;align-items:center;justify-content:space-between}
.hd h1{font-size:18px;font-weight:700}.hd h1 span{color:var(--acc)}
.hr{display:flex;align-items:center;gap:16px}.st{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--txt2)}
.dt{width:8px;height:8px;border-radius:50%;background:var(--grn);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.btn{padding:6px 14px;border-radius:6px;border:1px solid var(--bdr);background:var(--bg3);color:var(--txt);font-size:12px;cursor:pointer}
.btn:hover{background:var(--bdr)}.btn.danger{border-color:var(--red);color:var(--red)}.btn.danger:hover{background:var(--red);color:#fff}
.btn.sm{padding:4px 10px;font-size:11px}
.tabs{display:flex;border-bottom:1px solid var(--bdr);background:var(--bg2);padding:0 24px}
.tab{padding:12px 20px;font-size:13px;color:var(--txt2);cursor:pointer;border-bottom:2px solid transparent}
.tab:hover{color:var(--txt)}.tab.active{color:var(--acc);border-bottom-color:var(--acc);font-weight:600}
.mn{padding:24px;max-width:1400px;margin:0 auto}
.pn{display:none}.pn.active{display:block}
.sts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px}
.sts .s{background:var(--bg2);border:1px solid var(--bdr);border-radius:8px;padding:14px}
.sts .l{font-size:11px;color:var(--txt2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.sts .v{font-size:26px;font-weight:700}
.cd{background:var(--bg2);border:1px solid var(--bdr);border-radius:8px;margin-bottom:20px;overflow:hidden}
.ch{padding:12px 16px;border-bottom:1px solid var(--bdr);display:flex;align-items:center;justify-content:space-between}
.ch h3{font-size:14px;font-weight:600}
table{width:100%;border-collapse:collapse}
th,td{padding:9px 14px;text-align:left;font-size:12px;border-bottom:1px solid var(--bdr)}
th{background:var(--bg3);color:var(--txt2);font-weight:500;text-transform:uppercase;letter-spacing:.3px;font-size:10px}
tr:last-child td{border-bottom:none}tr:hover td{background:rgba(88,166,255,.03)}
.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase}
.b-online{background:rgba(63,185,80,.15);color:var(--grn)}.b-offline{background:rgba(139,148,158,.15);color:var(--txt2)}
.b-blocked{background:rgba(248,81,73,.15);color:var(--red)}.b-unassigned{background:rgba(210,153,34,.15);color:var(--ylw)}
.b-busy{background:rgba(219,109,40,.15);color:var(--org)}.b-audio{background:rgba(88,166,255,.15);color:var(--acc)}
.b-video{background:rgba(219,109,40,.15);color:var(--org)}.b-connected{background:rgba(63,185,80,.15);color:var(--grn)}
.b-ended{background:rgba(139,148,158,.15);color:var(--txt2)}.b-rejected{background:rgba(248,81,73,.15);color:var(--red)}
.b-active{background:rgba(88,166,255,.15);color:var(--acc)}.b-allow{background:rgba(63,185,80,.15);color:var(--grn)}
.b-deny{background:rgba(248,81,73,.15);color:var(--red)}
.emp{padding:32px;text-align:center;color:var(--txt2);font-size:13px}
.mono{font-family:'Consolas',monospace;font-size:11px;color:var(--acc)}.sm{font-size:11px;color:var(--txt2)}
.mbg{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:100}
.mbg.show{display:flex}
.md{background:var(--bg2);border:1px solid var(--bdr);border-radius:10px;padding:24px;width:420px;max-height:80vh;overflow-y:auto}
.md h3{margin-bottom:16px;font-size:16px}.md label{display:block;font-size:12px;color:var(--txt2);margin-bottom:4px;margin-top:12px}
.md input,.md select{width:100%;padding:8px 12px;background:var(--bg);border:1px solid var(--bdr);border-radius:6px;color:var(--txt);font-size:13px;outline:none}
.md input:focus,.md select:focus{border-color:var(--acc)}.md select option{background:var(--bg2)}
.md .ma{display:flex;gap:8px;margin-top:20px;justify-content:flex-end}
.toast{padding:10px 16px;border-radius:8px;font-size:13px;max-width:360px;box-shadow:0 4px 12px rgba(0,0,0,.4);animation:tin .2s ease}
.toast.ok{background:rgba(63,185,80,.95);color:#04260a;font-weight:600}
.toast.err{background:rgba(248,81,73,.95);color:#fff;font-weight:600}
@keyframes tin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.btn:disabled{opacity:.5;cursor:not-allowed}
.mgrp{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:4px 0}