:root{--bg0:#0b0b14;--bg1:#0f0f1a;--bg2:#1a1a2e;--bg3:#16213e;--bg3h:#1a2742;--bgH:#0a0a15;--t1:#e0e0e0;--t2:#8892a0;--t3:#5a6270;--bd:#2a2a4a;--ac:#4a9eff;--live:#00b894;--liveBg:rgba(0,184,148,.15);--down:#e74c3c;--downBg:rgba(231,76,60,.15);--mm:#fdcb6e;--mmBg:rgba(253,203,110,.15);--freeze:#e67e22;--freezeBg:rgba(230,126,34,.15)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',-apple-system,sans-serif;background:var(--bg1);color:var(--t1)}
a{color:var(--ac);text-decoration:none}
a:hover{text-decoration:underline}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg0)}
::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:3px}

/* ── Shared Header ── */
.xm-hdr{background:var(--bgH);border-bottom:1px solid var(--bd);padding:10px 20px;display:flex;align-items:center;justify-content:space-between}
.xm-hdr-l{display:flex;align-items:center;gap:14px}
.xm-logo{font-size:18px;font-weight:700;color:var(--ac);letter-spacing:1px;text-decoration:none}
.xm-nav{display:flex;gap:4px}
.xm-nav a{padding:5px 12px;border-radius:6px;font-size:12px;color:var(--t2);transition:all .2s}
.xm-nav a:hover,.xm-nav a.active{background:var(--bg3);color:var(--t1);text-decoration:none}
.xm-hdr-r{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--t2)}
.xm-user-info{display:flex;align-items:center;gap:6px}
.xm-user-badge{background:var(--bg3);padding:3px 8px;border-radius:4px;font-size:11px;color:var(--ac)}
.xm-btn{background:var(--bg3);border:1px solid var(--bd);border-radius:6px;padding:5px 12px;color:var(--t2);cursor:pointer;font-size:12px;transition:all .2s}
.xm-btn:hover{border-color:var(--ac);color:var(--t1)}
.xm-btn.danger{color:var(--down)}
.xm-btn.danger:hover{border-color:var(--down)}
.xm-btn.primary{background:var(--ac);border-color:var(--ac);color:#fff}
.xm-btn.primary:hover{opacity:.85}

/* ── Common Panel ── */
.xm-panel{background:var(--bg2);border:1px solid var(--bd);border-radius:10px;overflow:hidden}
.xm-panel-h{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--bd);font-size:13px;font-weight:600}
.xm-panel-b{overflow-y:auto;padding:0}

/* ── Table ── */
.xm-table{width:100%;border-collapse:collapse;font-size:12px}
.xm-table th{background:var(--bg3);padding:8px 12px;text-align:left;color:var(--t2);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.5px;border-bottom:1px solid var(--bd)}
.xm-table td{padding:8px 12px;border-bottom:1px solid rgba(42,42,74,.5);vertical-align:middle}
.xm-table tr:hover td{background:rgba(74,158,255,.05)}

/* ── Form ── */
.xm-input{background:var(--bg3);border:1px solid var(--bd);border-radius:6px;padding:8px 12px;color:var(--t1);font-size:13px;outline:none;width:100%}
.xm-input:focus{border-color:var(--ac)}
.xm-select{background:var(--bg3);border:1px solid var(--bd);border-radius:6px;padding:8px 12px;color:var(--t1);font-size:13px;outline:none}
.xm-label{font-size:12px;color:var(--t2);margin-bottom:4px;display:block}

/* ── Modal ── */
.xm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:1000;display:flex;align-items:center;justify-content:center}
.xm-modal{background:var(--bg2);border:1px solid var(--bd);border-radius:12px;padding:24px;min-width:400px;max-width:600px}
.xm-modal h3{margin-bottom:16px;font-size:16px;color:var(--t1)}
.xm-form-row{margin-bottom:12px}

/* ── Toggle ── */
.xm-toggle{position:relative;width:36px;height:20px;display:inline-block}
.xm-toggle input{opacity:0;width:0;height:0}
.xm-toggle .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--bg3);border:1px solid var(--bd);border-radius:20px;transition:.2s}
.xm-toggle .slider:before{position:absolute;content:'';height:14px;width:14px;left:2px;bottom:2px;background:var(--t3);border-radius:50%;transition:.2s}
.xm-toggle input:checked+.slider{background:var(--ac);border-color:var(--ac)}
.xm-toggle input:checked+.slider:before{transform:translateX(16px);background:#fff}

/* ── Badge ── */
.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}
.badge.admin{background:rgba(74,158,255,.2);color:var(--ac)}
.badge.viewer{background:rgba(138,146,160,.15);color:var(--t2)}
.badge.enabled{background:var(--liveBg);color:var(--live)}
.badge.disabled{background:var(--downBg);color:var(--down)}
