/* ============================================================================
   MVR SECURITY — MASTER CONTROL  ·  v1.3.0 stylesheet
   Aesthetic: command-center "protection console". Deep navy glass surfaces,
   electric-blue signal accent, Electron-style window chrome.
   ============================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
  --bg:#070b12; --bg2:var(--mvr-surface-7);
  --panel:var(--mvr-surface-32); --panel2:#101827; --panel3:#131c2c;
  --line:var(--mvr-surface-10); --line2:#16222f; --line3:var(--mvr-surface-75);
  /* LT PATCH (Sep 2026): --card and --border were referenced by several
     components (e.g. .cfg-preset, the "Lenient/Default/Strict" security-level
     buttons on the Configuration page) but never declared anywhere in the
     codebase — every var(--card, ...) / var(--border, ...) call silently fell
     back to its own hardcoded, non-theme-aware default (a near-white
     translucent overlay). That default was legible by accident on the dark
     theme's near-black background and effectively invisible on the light
     theme's light background, making those buttons look empty. Declared here
     the same way --panel/--line already are, so every theme (dark/blue/light)
     gets a correct, visible value. */
  --card:var(--mvr-surface-16); --border:var(--mvr-surface-10);
  --text:var(--mvr-text-2); --text2:#c2d2e6; --muted:var(--mvr-text-7); --muted2:#647a93;
  --accent:var(--mvr-accent-33); --accent2:var(--mvr-accent-57); --accentDeep:var(--mvr-accent-73);
  --cyan:#22d3ee; --green:var(--mvr-accent-4); --amber:var(--mvr-accent-58); --red:var(--mvr-accent-11); --purple:#8b5cff;
  --glow:0 0 0 1px rgba(59,130,246,.16), 0 0 26px rgba(59,130,246,.12);
  --shadow:0 24px 80px rgba(0,0,0,.5);
  --shadow2:0 12px 34px rgba(0,0,0,.42);
  --radius:16px; --radius2:12px; --radius3:10px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  --display:Sora,var(--font); --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}
body{overflow-x:hidden;background:
  radial-gradient(1200px 520px at 82% -8%,rgba(59,130,246,.14),transparent 60%),
  radial-gradient(900px 500px at 8% 12%,rgba(34,211,238,.05),transparent 55%),
  radial-gradient(700px 700px at 50% 120%,rgba(139,92,255,.05),transparent 60%),
  var(--bg)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
::selection{background:rgba(47,143,255,.3);color:var(--mvr-text-1)}

.app{min-height:100vh;display:grid;grid-template-columns:266px minmax(0,1fr)}

.sidebar{position:sticky;top:0;height:100vh;min-height:100vh;background:linear-gradient(180deg,var(--mvr-surface-29) 0%,#060a12 100%);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30;overflow:visible}
.sidebar:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(47,143,255,.05),transparent 22%)}
.sidebar-scroll{overflow-y:auto;overflow-x:hidden;padding:16px 12px 12px;flex:1;min-height:0;position:relative}
.sidebar-scroll::-webkit-scrollbar{width:7px}
.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--mvr-surface-48);border-radius:10px}
.brand-row{display:flex;gap:12px;align-items:center;padding:6px 8px 16px}
.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:11px;box-shadow:0 0 0 1px rgba(47,143,255,.25),0 8px 20px rgba(47,143,255,.18)}
.brand{font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.01em;line-height:1.1}
.brand small{display:block;color:var(--mvr-line-8);font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-top:5px;font-weight:700;font-family:var(--font)}
.searchbox{border:1px solid var(--line3);background:var(--mvr-surface-50);color:var(--mvr-text-6);border-radius:11px;padding:9px 12px;margin:0 2px 14px;display:flex;gap:9px;align-items:center;transition:.18s}
.searchbox:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,143,255,.12)}
.searchbox input{width:100%;background:transparent;border:0;outline:0;color:var(--mvr-text-17);font-size:13px}
.nav-section{margin:15px 10px 7px;color:var(--mvr-line-7);font-size:9px;letter-spacing:.2em;text-transform:uppercase;font-weight:800}
.nav{display:flex;flex-direction:column;gap:3px}
.nav a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:#9cb1c6;font-size:13px;font-weight:500;transition:.16s;position:relative}
.nav a:hover{background:var(--mvr-surface-77);color:var(--mvr-text-1)}
.nav a.active{background:linear-gradient(90deg,rgba(47,143,255,.20),rgba(47,143,255,.04));color:var(--mvr-text-1);font-weight:600}
.nav a.active:before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--accent2),var(--accentDeep));box-shadow:0 0 12px rgba(47,143,255,.6)}
.nav-icon{width:18px;text-align:center;color:#647c93;font-size:14px}
.nav a.active .nav-icon{color:var(--accent2)}
.sidebar-bottom{flex:0 0 auto;padding:10px 14px 14px;border-top:1px solid var(--line);background:var(--mvr-surface-29)}
.side-status{font-size:10px;color:#61788f;display:flex;align-items:center;gap:8px;padding:7px 4px 10px;font-weight:600;letter-spacing:.03em}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(34,211,139,.16),0 0 12px rgba(34,211,139,.6);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.55}}
.logout{display:block;padding:10px 9px;color:#ff7f8b;border-top:1px solid var(--line);font-weight:700;transition:.16s}
.logout:hover{color:#ff9ba5}

.content{min-width:0;padding:0}
.winbar{display:none!important;position:sticky;top:0;z-index:25;height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:rgba(7,11,18,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.winbar-left{display:flex;align-items:center;gap:12px;min-width:0}
.win-dots{display:flex;gap:7px}
.win-dots i{width:11px;height:11px;border-radius:50%;display:block}
.win-dots i:nth-child(1){background:#ff5f57}.win-dots i:nth-child(2){background:#febc2e}.win-dots i:nth-child(3){background:#28c840}
.winbar-title{font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--mvr-text-18);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.winbar-title b{color:#dfeaf6}
.winbar-right{display:flex;align-items:center;gap:6px}
.win-btn{width:30px;height:24px;border-radius:7px;border:1px solid transparent;background:transparent;color:#8fa4ba;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;transition:.15s}
.win-btn:hover{background:#101b28;color:var(--mvr-text-1)}
.win-btn.close:hover{background:rgba(255,77,99,.16);color:var(--mvr-accent-74)}
.page{max-width:1560px;margin:0 auto;padding:26px 32px 56px}

.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.eyebrow{color:var(--accent2);font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;font-family:var(--font)}
.topbar h1{font-family:var(--display);font-size:30px;margin:8px 0 6px;letter-spacing:-.02em;font-weight:800}
.muted{color:var(--muted)}
.user-chip{width:44px;height:44px;border-radius:50%;border:1px solid var(--line3);background:#0c121b;background-size:cover;background-position:center;flex:0 0 auto}


.telemetry-card{padding:0;overflow:hidden;background:linear-gradient(180deg,rgba(10,18,29,.98),rgba(5,10,17,.98));}
.telemetry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 20px 16px;border-bottom:1px solid var(--line2)}
.telemetry-head h2{font-family:var(--display);font-size:18px;margin:7px 0 3px;letter-spacing:-.02em}
.telemetry-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chart-range{display:flex;gap:3px;padding:3px;border:1px solid var(--line3);border-radius:10px;background:var(--mvr-surface-67)}
.chart-range button{border:0;background:transparent;color:#7590aa;padding:6px 9px;border-radius:7px;font-size:10px;font-weight:800;cursor:pointer}
.chart-range button:hover{color:var(--mvr-text-45);background:#0d1927}.chart-range button.active{color:var(--mvr-text-1);background:linear-gradient(180deg,#2d95ff,#1769d0);box-shadow:0 6px 16px rgba(47,143,255,.2)}
.chart-shell{position:relative;padding:10px 10px 0;background:linear-gradient(180deg,rgba(5,13,22,.96),rgba(3,8,14,.98));}
.player-chart{display:block;width:100%;height:360px;overflow:visible}
.chart-grid{stroke:rgba(87,122,156,.16);stroke-width:1}.chart-grid-vert{stroke:rgba(87,122,156,.09)}
.chart-axis{fill:#5f7690;font:500 9px var(--mono)}
.chart-hit{cursor:crosshair}
.chart-tip{position:absolute;z-index:5;transform:translate(-50%,-112%);min-width:118px;padding:8px 10px;border:1px solid rgba(82,134,183,.35);border-radius:10px;background:rgba(6,14,23,.94);box-shadow:0 14px 34px rgba(0,0,0,.46),0 0 0 1px rgba(48,116,173,.08);backdrop-filter:blur(12px);color:var(--mvr-text-45);font-size:11px;pointer-events:none;text-align:left;white-space:nowrap}
.chart-tip b{font-family:var(--display);font-size:16px;color:#6dc3ff}.chart-tip div{margin-top:2px;color:#7089a2;font-size:9px}
.chart-foot{display:flex;justify-content:space-between;gap:12px;padding:8px 14px 14px;color:#657b92;font:500 9px var(--mono);letter-spacing:.03em}
@media(max-width:900px){.telemetry-head{flex-direction:column}.player-chart{height:300px}}

.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.grid-2{display:grid;grid-template-columns:1.12fr .88fr;gap:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}

.card{background:linear-gradient(180deg,rgba(14,22,34,.94),rgba(9,14,22,.94));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow2);padding:18px;position:relative}
.card:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 40%)}
.stat .big,.big{font-family:var(--display);font-size:28px;font-weight:800;letter-spacing:-.02em;margin-top:8px}
.label{font-size:9px;letter-spacing:.2em;color:var(--mvr-line-20);text-transform:uppercase;font-weight:800}

.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:1px solid transparent;background:linear-gradient(180deg,var(--accent2),var(--accentDeep));color:var(--mvr-text-1);padding:10px 15px;border-radius:11px;font-weight:700;cursor:pointer;box-shadow:0 10px 24px rgba(47,143,255,.22);transition:.16s;font-size:13px}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.secondary{background:var(--mvr-surface-93);border-color:var(--line3);color:#d9e6f3;box-shadow:none}
.btn.secondary:hover{background:#0f1b28}
.btn.blue{background:linear-gradient(180deg,#3aa5ff,#1479e6);box-shadow:0 10px 24px rgba(47,143,255,.22)}
.btn.danger{background:linear-gradient(180deg,#ff5568,#c31d30);box-shadow:0 10px 24px rgba(255,77,99,.2)}
.btn.ghost{background:transparent;border-color:var(--line3);box-shadow:none;color:#c4d4e6}
.btn.ghost:hover{background:#0d1826}
.btn.small{padding:7px 11px;font-size:11px;border-radius:9px}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:none}

.input,.select,.textarea{width:100%;background:var(--mvr-surface-94);border:1px solid var(--line3);color:#eef6ff;padding:10px 12px;border-radius:10px;outline:0;transition:.16s}
.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,143,255,.12)}
.input::placeholder{color:#54708a}
.textarea{min-height:130px;resize:vertical;font-family:var(--mono);font-size:12px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-row{display:flex;flex-direction:column;gap:6px}
.form-row label{font-size:11px;color:var(--muted);font-weight:600}
.form-row.full{grid-column:1/-1}

.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;background:#101a27;border:1px solid var(--line3);color:#a3b7cb;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.pill.ok{background:rgba(34,211,139,.09);border-color:rgba(34,211,139,.28);color:var(--mvr-accent-42)}
.pill.bad{background:rgba(255,77,99,.09);border-color:rgba(255,77,99,.28);color:#ff8794}
.pill.warn{background:rgba(245,181,68,.09);border-color:rgba(245,181,68,.28);color:var(--mvr-accent-21)}
.pill.live{background:rgba(56,224,216,.09);border-color:rgba(56,224,216,.3);color:#5cefe6}

.server-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.server-dot{width:9px;height:9px;border-radius:50%;background:#687d92}
.server-dot.online{background:var(--green);box-shadow:0 0 0 4px rgba(34,211,139,.14),0 0 14px rgba(34,211,139,.55)}
.kpi-list{display:flex;gap:10px;flex-wrap:wrap}
.kpi{padding:11px 13px;background:var(--mvr-surface-95);border:1px solid var(--line3);border-radius:11px;min-width:118px}
.kpi strong{font-family:var(--display);display:block;font-size:20px;margin-top:5px}

.player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.player-card{position:relative;background:linear-gradient(180deg,var(--mvr-surface-93),var(--mvr-surface-96));border:1px solid var(--line3);border-radius:14px;padding:14px;transition:.16s}
.player-card:hover{border-color:#2d4a68;transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.4)}
.player-head{display:flex;justify-content:space-between;gap:10px}
.player-id{color:#7f95aa;font-size:11px;font-family:var(--mono)}
.player-name{font-family:var(--display);font-weight:700;font-size:16px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.metric-row{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#91a6bb;margin-top:10px}
.healthbar{height:6px;background:#18283b;border-radius:999px;overflow:hidden;margin-top:6px}
.healthbar span{display:block;height:100%;background:linear-gradient(90deg,#19d28f,#48e5b0);border-radius:inherit}
.player-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}

.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px 15px;border-bottom:1px solid var(--line2);text-align:left;font-size:12px;vertical-align:middle}
.table th{color:var(--mvr-line-20);font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.table tr:hover td{background:rgba(12,31,50,.3)}
.empty{padding:46px 20px;text-align:center;color:var(--mvr-line-6)}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:24px 0 12px}
.section-title h2{margin:0;font-size:19px;font-family:var(--display);font-weight:700}
.section-title p{margin:5px 0 0}

.notice{padding:12px 14px;border:1px solid var(--line3);border-radius:11px;background:#09131e;color:var(--mvr-text-46);font-size:13px}
.notice.green{border-color:rgba(34,211,139,.32);color:var(--mvr-accent-22);background:rgba(18,76,58,.16)}
.notice.red{border-color:rgba(255,77,99,.3);color:#ff8995;background:rgba(73,11,22,.16)}
.notice.warn{border-color:rgba(245,181,68,.3);color:#f2c96f;background:rgba(76,55,15,.12)}
code{font-family:var(--mono);background:#0d1823;border:1px solid var(--line3);color:#abc8e3;padding:2px 6px;border-radius:5px;font-size:.88em}

.config-layout{display:grid;gap:14px;margin-top:14px}
.config-category{border:1px solid var(--line3);background:var(--mvr-surface-97);border-radius:14px;overflow:hidden}
.category-head{padding:15px 16px;border-bottom:1px solid var(--line2);display:flex;justify-content:space-between;align-items:center}
.category-head h3{margin:0;font-size:15px;font-family:var(--display);font-weight:700}
.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
.rule-card{border:1px solid var(--line3);background:var(--mvr-surface-98);border-radius:12px;padding:12px}
.rule-card.unsupported{opacity:.5}
.rule-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.rule-help{display:block;color:var(--mvr-line-6);font-size:10px;margin-top:4px}
.rule-controls{display:flex;align-items:center;gap:9px;margin-top:11px}
.rule-controls .select{flex:1}
.mini-status{font-size:9px;font-weight:800;letter-spacing:.1em}
.mini-status.on{color:#31d99c}.mini-status.off{color:#7a8fa5}

.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.switch input{display:none}
.switch span{display:block;width:42px;height:22px;border-radius:999px;background:#223346;position:relative;transition:.18s}
.switch span:after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#dce7f2;transition:.18s}
.switch input:checked+span{background:linear-gradient(90deg,var(--accent2),var(--accentDeep))}
.switch input:checked+span:after{left:23px;background:var(--mvr-text-1)}

.webhook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.webhook-card{min-height:210px;display:flex;flex-direction:column}
.webhook-card h3{font-family:var(--display);font-size:15px;margin:6px 0}
.webhook-saved{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--mvr-accent-22);display:flex;align-items:center;gap:6px;margin-top:8px}
.webhook-saved.none{color:var(--mvr-line-6)}
.wh-actions{display:flex;gap:8px;margin-top:auto;padding-top:10px}

.modal{display:none;position:fixed;inset:0;background:rgba(2,5,10,.8);backdrop-filter:blur(6px);z-index:100;align-items:center;justify-content:center;padding:22px}
.modal.open{display:flex}
.modal-box{width:min(1180px,100%);max-height:92vh;overflow:auto;background:var(--mvr-surface-37);border:1px solid var(--line3);border-radius:16px;box-shadow:0 30px 100px rgba(0,0,0,.7)}
.modal-head{padding:15px 17px;border-bottom:1px solid var(--line2);display:flex;justify-content:space-between;align-items:center;gap:12px}

.live-card{overflow:hidden}
.live-stage{position:relative;min-height:260px;border-radius:12px;overflow:hidden;border:1px solid var(--line3);background:radial-gradient(circle at 50% 40%,var(--mvr-surface-99),var(--mvr-surface-58));display:flex;align-items:center;justify-content:center}
.live-stage:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(47,143,255,.03) 0 1px,transparent 1px 3px);opacity:.5}
.live-screen{display:block;width:100%;height:100%;max-height:480px;object-fit:contain;background:var(--mvr-surface-3);position:relative}
.live-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.live-badge{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:rgba(255,77,99,.16);border:1px solid rgba(255,77,99,.4);color:var(--mvr-accent-74);font-size:10px;font-weight:800;letter-spacing:.08em}
.live-badge i{width:6px;height:6px;border-radius:50%;background:#ff4d63;animation:pulse 1.2s infinite}

.map{position:relative;min-height:600px;border:1px solid var(--line3);border-radius:14px;background:radial-gradient(circle at 20% 40%,rgba(70,112,178,.16),transparent 30%),linear-gradient(135deg,var(--mvr-surface-98) 0 48%,#08121c 48% 100%);overflow:hidden}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(74,99,125,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(74,99,125,.08) 1px,transparent 1px);background-size:42px 42px}
.map-player{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--accent2);border:2px solid var(--mvr-text-1);box-shadow:0 0 0 6px rgba(47,143,255,.1),0 0 18px rgba(47,143,255,.55);transform:translate(-50%,-50%)}
.map-player span{position:absolute;left:12px;top:-7px;white-space:nowrap;color:#c7d8ea;font-size:9px;background:#07101b;border:1px solid var(--line3);border-radius:5px;padding:2px 4px}

.inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px}
.item{border:1px solid var(--line3);background:var(--mvr-surface-100);border-radius:10px;padding:10px}
.item .name{font-weight:800;font-size:12px}.item .qty{color:#7fa4c9;font-size:11px;margin-top:4px;font-family:var(--mono)}

.toast{position:fixed;right:22px;bottom:22px;z-index:200;padding:12px 15px;background:#0b1723;border:1px solid var(--line3);color:var(--mvr-text-47);border-radius:11px;box-shadow:0 18px 40px rgba(0,0,0,.5);font-weight:600;font-size:13px;animation:toastIn .22s ease}
@keyframes toastIn{from{opacity:0;transform:translateY(8px)}}
.toast.bad{border-color:rgba(255,77,99,.45);color:#ff8894}
.toast.ok{border-color:rgba(34,211,139,.4);color:var(--mvr-accent-22)}

.console-status{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#9bb0c5;padding:10px 13px;border:1px solid var(--line3);border-radius:11px;background:var(--mvr-surface-37)}
.console-card{padding:0;overflow:hidden}
.console-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line2);background:var(--mvr-surface-11)}
.console-card pre{margin:0;padding:16px;min-height:560px;max-height:68vh;overflow:auto;white-space:pre-wrap;color:#a9d7ff;font-family:var(--mono);font-size:12px;line-height:1.7;background:var(--mvr-surface-101)}
.console-card pre::-webkit-scrollbar{width:10px}
.console-card pre::-webkit-scrollbar-thumb{background:#18334d;border-radius:10px}

.staff-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line2)}
.staff-row:last-child{border-bottom:0}
.staff-row strong{display:block;margin-bottom:4px}

.note{font-size:11px;color:var(--mvr-line-21);line-height:1.7}
.server-card{display:flex;justify-content:space-between;align-items:center;gap:12px}

.mobile-menu{display:none}
.mobile-bar{position:fixed;top:9px;left:12px;z-index:120}
@media(max-width:1200px){.player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.webhook-grid,.rule-grid{grid-template-columns:1fr}.hero{grid-template-columns:1fr}}
@media(max-width:900px){.app{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;transform:translateX(-102%);transition:.22s;width:282px;box-shadow:24px 0 70px rgba(0,0,0,.5)}
  .sidebar.open{transform:translateX(0)}
  .mobile-menu{display:inline-flex}.winbar{padding-left:56px}
  .page{padding:22px 15px 40px}.topbar h1{font-size:25px}
  .player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{grid-template-columns:1fr}}
@media(max-width:600px){.player-grid,.grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.card{padding:14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---- Minimized panel state (Electron minimize) ------------------------- */
body.winmin .app{grid-template-columns:66px minmax(0,1fr)}
body.winmin .sidebar .brand small,body.winmin .searchbox,body.winmin .nav-section,body.winmin .nav a span:not(.nav-icon),body.winmin .side-status,body.winmin .logout{display:none}
body.winmin .nav a{justify-content:center;padding:11px 0}
body.winmin .brand-row{justify-content:center;padding:6px 0 14px}
body.winmin .brand{display:none}
@media(max-width:900px){body.winmin .app{grid-template-columns:1fr}}

/* ---- MVR realtime UI rebrand touches (v1.3.0) ------------------------- */
.pill.ok{background:rgba(16,217,138,.10);border-color:rgba(16,217,138,.30);color:var(--mvr-accent-42)}
.pill.live{background:rgba(34,211,238,.10);border-color:rgba(34,211,238,.32);color:#5fe3f5}
.player-card:hover,.card.live-card:hover{border-color:#2f66b0}
.live-badge{background:rgba(244,63,94,.16);border-color:rgba(244,63,94,.42);color:var(--mvr-accent-35)}
.live-badge i{background:var(--mvr-accent-11)}
/* threat score chips */
.threat{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-weight:700;font-size:11px;padding:3px 8px;border-radius:999px}
.threat.low{background:rgba(16,217,138,.12);color:var(--mvr-accent-42)}
.threat.mid{background:rgba(245,181,68,.12);color:var(--mvr-accent-21)}
.threat.high{background:rgba(244,63,94,.14);color:var(--mvr-accent-35)}
.nav a.active{background:linear-gradient(90deg,rgba(59,130,246,.20),rgba(59,130,246,.03))}
.nav a.active:before{background:linear-gradient(180deg,var(--accent2),var(--accentDeep));box-shadow:0 0 12px rgba(59,130,246,.6)}
.btn{box-shadow:0 10px 24px rgba(59,130,246,.22)}
.btn.blue{background:linear-gradient(180deg,var(--mvr-accent-75),var(--mvr-accent-73))}
.brand-logo{box-shadow:0 0 0 1px rgba(59,130,246,.28),0 8px 20px rgba(59,130,246,.2)}
.live-dot{background:var(--cyan);box-shadow:0 0 0 3px rgba(34,211,238,.16),0 0 12px rgba(34,211,238,.6)}
.server-dot.online{background:var(--green);box-shadow:0 0 0 4px rgba(16,217,138,.14),0 0 14px rgba(16,217,138,.55)}

/* ========================================================================
   MVR SECURITY — 1.5.0 PRO UI LAYER
   New visual system: cinematic starfield, glass command surfaces, SVG-ready
   controls, responsive live deck and stronger interaction states.
   ======================================================================== */
:root{
  --mvr-blue:var(--mvr-accent-76);
  --mvr-cyan:#56e0ff;
  --mvr-violet:#7c6cff;
  --mvr-green:#2fe3a0;
  --mvr-red:#ff5570;
  --mvr-gold:#ffc65a;
  --surface:rgba(10,17,29,.82);
  --surface-strong:rgba(9,15,25,.96);
  --glass-line:rgba(127,164,207,.16);
}
html{scroll-behavior:smooth}
body{position:relative;isolation:isolate;background:
  radial-gradient(900px 520px at 76% -10%,rgba(77,156,255,.16),transparent 62%),
  radial-gradient(700px 520px at 6% 30%,rgba(86,224,255,.055),transparent 62%),
  radial-gradient(850px 650px at 58% 115%,rgba(124,108,255,.065),transparent 64%),
  #050912;}
body::before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;background:
  radial-gradient(1px 1px at 8% 14%,rgba(255,255,255,.82),transparent 55%),
  radial-gradient(1px 1px at 17% 68%,rgba(142,196,255,.75),transparent 55%),
  radial-gradient(1px 1px at 25% 31%,rgba(255,255,255,.62),transparent 55%),
  radial-gradient(1px 1px at 38% 82%,rgba(255,255,255,.72),transparent 55%),
  radial-gradient(1px 1px at 47% 17%,rgba(120,187,255,.7),transparent 55%),
  radial-gradient(1px 1px at 59% 52%,rgba(255,255,255,.62),transparent 55%),
  radial-gradient(1px 1px at 68% 11%,rgba(255,255,255,.82),transparent 55%),
  radial-gradient(1px 1px at 76% 77%,rgba(125,190,255,.62),transparent 55%),
  radial-gradient(1px 1px at 87% 38%,rgba(255,255,255,.78),transparent 55%),
  radial-gradient(1px 1px at 94% 88%,rgba(255,255,255,.55),transparent 55%),
  radial-gradient(2px 2px at 12% 91%,rgba(255,255,255,.42),transparent 60%),
  radial-gradient(2px 2px at 31% 7%,rgba(95,178,255,.5),transparent 60%),
  radial-gradient(2px 2px at 71% 91%,rgba(255,255,255,.42),transparent 60%),
  radial-gradient(2px 2px at 91% 62%,rgba(95,178,255,.46),transparent 60%);
  opacity:.72;animation:mvrStars 18s ease-in-out infinite alternate}
body::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:
  radial-gradient(circle at 18% 20%,rgba(77,156,255,.08),transparent 0 16%),
  radial-gradient(circle at 82% 14%,rgba(86,224,255,.05),transparent 0 18%),
  radial-gradient(circle at 62% 78%,rgba(124,108,255,.05),transparent 0 22%);mix-blend-mode:screen}
.mvr-starfield{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background-image:
  radial-gradient(1px 1px at 5% 42%,rgba(255,255,255,.55),transparent),
  radial-gradient(1px 1px at 21% 12%,rgba(255,255,255,.65),transparent),
  radial-gradient(1px 1px at 34% 54%,rgba(255,255,255,.52),transparent),
  radial-gradient(1px 1px at 55% 27%,rgba(255,255,255,.65),transparent),
  radial-gradient(1px 1px at 79% 47%,rgba(255,255,255,.58),transparent),
  radial-gradient(1px 1px at 93% 23%,rgba(255,255,255,.7),transparent),
  radial-gradient(1px 1px at 48% 91%,rgba(255,255,255,.48),transparent),
  radial-gradient(1px 1px at 88% 82%,rgba(255,255,255,.55),transparent);opacity:.6}
@keyframes mvrStars{from{transform:translate3d(0,0,0);opacity:.58}to{transform:translate3d(0,-7px,0);opacity:.82}}

.content{background:linear-gradient(180deg,rgba(5,9,18,.15),rgba(5,9,18,.02))}
.page{max-width:1680px;padding:30px 34px 70px}
.topbar{margin-bottom:24px}
.topbar h1{font-size:32px;letter-spacing:-.035em;text-shadow:0 0 28px rgba(77,156,255,.13)}
.eyebrow{color:#74b7ff;letter-spacing:.28em}

.card,.ms-list,.config-category,.console-card,.appwin{background:linear-gradient(145deg,rgba(15,24,39,.86),rgba(7,13,23,.91));border-color:rgba(91,128,170,.17);box-shadow:0 22px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.025)}
.card:hover{box-shadow:0 24px 80px rgba(0,0,0,.34),0 0 0 1px rgba(77,156,255,.06),inset 0 1px 0 rgba(255,255,255,.03)}
.card:before{background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 32%,transparent 70%,rgba(77,156,255,.02))}
.btn{min-height:38px;border-radius:10px;font-weight:800;letter-spacing:.01em;border-color:rgba(255,255,255,.07);box-shadow:0 12px 30px rgba(44,117,232,.18),inset 0 1px 0 rgba(255,255,255,.12)}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(44,117,232,.25),inset 0 1px 0 rgba(255,255,255,.14)}
.btn.secondary{background:linear-gradient(180deg,#111d2d,var(--mvr-surface-102));border-color:rgba(110,144,182,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.btn.ghost{background:rgba(255,255,255,.018)}
.btn.blue{background:linear-gradient(135deg,#58a8ff 0%,#397ff0 48%,#2458df 100%)}
.btn.danger{background:linear-gradient(135deg,#ff6a7d,#e33850 55%,#b91f39)}
.input,.select,.textarea{background:rgba(4,10,18,.72);border-color:rgba(106,143,183,.2);min-height:40px}
.input:focus,.select:focus,.textarea:focus{border-color:rgba(77,156,255,.75);box-shadow:0 0 0 3px rgba(77,156,255,.11),0 0 28px rgba(77,156,255,.06)}
.pill{background:rgba(17,28,43,.75);border-color:rgba(115,145,178,.2);backdrop-filter:blur(8px)}

.sidebar{background:linear-gradient(180deg,rgba(4,8,15,.97),rgba(4,8,14,.92));border-right-color:rgba(92,125,165,.16);box-shadow:12px 0 50px rgba(0,0,0,.22)}
.sidebar:before{background:linear-gradient(180deg,rgba(77,156,255,.08),transparent 25%,transparent 75%,rgba(124,108,255,.035))}
.brand-logo{border-radius:12px;box-shadow:0 0 0 1px rgba(77,156,255,.3),0 10px 28px rgba(42,110,218,.2)}
.nav a{border:1px solid transparent}
.nav a:hover{background:rgba(22,37,56,.58);border-color:rgba(90,129,173,.08)}
.nav a.active{background:linear-gradient(90deg,rgba(77,156,255,.18),rgba(77,156,255,.035));border-color:rgba(77,156,255,.11)}
.nav a.active:before{width:3px}

.winbar{height:44px;background:rgba(5,9,17,.72);border-bottom-color:rgba(91,128,170,.16)}
.winbar-title{color:var(--mvr-text-16)}
.win-btn{border:1px solid transparent}
.win-btn:hover{border-color:rgba(91,128,170,.13)}

/* Main landing page starfield / hero */
.land{position:relative;z-index:1;max-width:1320px}
.land:before{content:"";position:absolute;left:50%;top:0;width:900px;height:520px;transform:translateX(-50%);pointer-events:none;background:radial-gradient(circle,rgba(56,133,255,.13),transparent 66%);filter:blur(4px);z-index:-1}
.land-hero{min-height:calc(100vh - 120px);margin-top:20px}
.land-hero h1{font-size:clamp(44px,5.4vw,78px);text-shadow:0 14px 60px rgba(0,0,0,.42)}
.land-hero h1 .g{background:linear-gradient(90deg,#69b0ff,#62e6ff 48%,#8d7dff);-webkit-background-clip:text;background-clip:text}
.land-nav{border-bottom:1px solid rgba(100,135,173,.12);padding:18px 0}
.land .card{backdrop-filter:blur(14px)}
.appwin{border-radius:20px;transform:perspective(1300px) rotateY(-3deg) rotateX(1deg);transition:.35s}
.appwin:hover{transform:perspective(1300px) rotateY(-1deg) rotateX(0) translateY(-4px)}

/* Live command deck */
.ms-layout{grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}
.ms-list{position:sticky;top:62px;border-radius:18px}
.ms-list-head{padding:16px 18px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);border-bottom-color:rgba(101,133,171,.12)}
.ms-list-body{max-height:calc(100vh - 250px);padding:6px}
.ms-row{margin:3px 0;border:1px solid transparent;border-radius:12px;padding:12px 11px;background:rgba(255,255,255,.008)}
.ms-row:hover{background:rgba(77,156,255,.075);border-color:rgba(77,156,255,.13);transform:translateX(2px)}
.ms-row.active{background:linear-gradient(90deg,rgba(77,156,255,.16),rgba(77,156,255,.025));border-color:rgba(77,156,255,.22);box-shadow:inset 3px 0 0 var(--mvr-accent-76)}
.ms-av{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#14243a,var(--mvr-surface-102));border-color:rgba(97,141,190,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.live-card{border-radius:20px;padding:20px}
.live-stage{min-height:520px;aspect-ratio:16/9;border-radius:16px;border-color:rgba(89,130,173,.2);background:
  radial-gradient(circle at 50% 40%,rgba(33,64,96,.2),transparent 45%),#02050a;box-shadow:inset 0 0 70px rgba(0,0,0,.55),0 20px 60px rgba(0,0,0,.26)}
.live-stage:after{content:"LIVE DECK";position:absolute;top:14px;right:14px;font:800 9px/1 var(--mono);letter-spacing:.18em;color:#6f8aa7;border:1px solid rgba(111,138,167,.16);padding:6px 8px;border-radius:999px;background:rgba(3,8,14,.58);backdrop-filter:blur(8px)}
.live-screen{width:100%;height:100%;max-height:none;min-height:0;object-fit:contain}
.live-foot{padding-top:13px;margin-top:13px;border-top:1px solid rgba(92,124,162,.11)}
.live-card .player-id{color:#6f91b3}
.live-card .player-name{font-size:17px;font-weight:800}

/* Deployable live viewer overlay */
.mvr-live-overlay{position:fixed;inset:0;z-index:500;display:none;padding:28px;background:rgba(1,4,9,.72);backdrop-filter:blur(18px);align-items:center;justify-content:center}
.mvr-live-overlay.open{display:flex;animation:mvrOverlayIn .18s ease-out}
.mvr-live-window{width:min(1500px,96vw);height:min(900px,94vh);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border:1px solid rgba(106,149,198,.24);border-radius:22px;background:linear-gradient(145deg,rgba(11,19,32,.98),rgba(3,8,14,.99));box-shadow:0 50px 140px rgba(0,0,0,.7),0 0 0 1px rgba(77,156,255,.05)}
.mvr-live-window .modal-head{padding:15px 18px;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent);border-bottom-color:rgba(91,128,170,.15)}
.mvr-live-body{min-height:0;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px}
.mvr-live-canvas{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid rgba(88,129,172,.17);border-radius:16px;overflow:hidden;background:#010308;box-shadow:inset 0 0 80px rgba(0,0,0,.65)}
.mvr-live-canvas img{width:100%;height:100%;object-fit:contain;display:block}
.mvr-live-side{border:1px solid rgba(88,129,172,.15);border-radius:15px;background:rgba(8,15,25,.72);padding:14px;display:flex;flex-direction:column;gap:12px;min-width:0}
.mvr-live-side .live-meta{padding:11px;border:1px solid rgba(88,129,172,.12);border-radius:11px;background:rgba(255,255,255,.018)}
.mvr-live-side .live-meta span{display:block;color:#68829d;font:700 9px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}
.mvr-live-side .live-meta b{font-size:13px;word-break:break-word}
.mvr-live-footer{padding:12px 16px;border-top:1px solid rgba(91,128,170,.13);display:flex;justify-content:space-between;align-items:center;gap:12px}
@keyframes mvrOverlayIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}

/* Better empty / loading states */
.empty{min-height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#6f849b;background:radial-gradient(circle at 50% 45%,rgba(77,156,255,.035),transparent 48%);border-radius:12px}
.empty:before{content:"";width:26px;height:26px;border-radius:50%;border:1px solid rgba(77,156,255,.25);border-top-color:#5aa7ff;box-shadow:0 0 22px rgba(77,156,255,.08);animation:mvrSpin 1s linear infinite}
@keyframes mvrSpin{to{transform:rotate(360deg)}}

/* Tables / forms / modals get the same glass language */
.table{border-collapse:collapse;width:100%}
.table tr{transition:.12s}
.table tr:hover{background:rgba(77,156,255,.025)}
.table td{border-bottom:1px solid rgba(91,128,170,.09);padding:12px 14px;color:#a9bed3}
.modal{background:rgba(1,4,9,.72);backdrop-filter:blur(15px)}
.modal-box{border-color:rgba(103,144,190,.22);background:linear-gradient(145deg,rgba(10,18,30,.98),rgba(4,9,16,.99));box-shadow:0 50px 140px rgba(0,0,0,.72)}

@media(max-width:1100px){
  .ms-layout{grid-template-columns:1fr}
  .ms-list{position:static}
  .ms-list-body{max-height:300px}
  .live-stage{min-height:420px}
  .mvr-live-body{grid-template-columns:1fr}
  .mvr-live-side{display:grid;grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .page{padding:22px 14px 50px}
  .live-card{padding:13px}
  .live-stage{min-height:250px}
  .mvr-live-overlay{padding:8px}
  .mvr-live-window{width:100%;height:96vh;border-radius:16px}
  .mvr-live-body{padding:9px}
  .mvr-live-side{display:none}
  .mvr-live-footer{padding:10px}
}
@media(prefers-reduced-motion:reduce){body::before{animation:none}.appwin,.btn,.ms-row{transition:none!important}.mvr-live-overlay.open{animation:none}}

/* =========================================================
   MVR LIVE DECK — inline player viewer (WaveShield-style)
   No popup / no modal / no fixed fullscreen viewer.
   ========================================================= */
.mvr-live-deck{grid-template-columns:minmax(0,1fr) 360px!important;gap:14px!important;align-items:stretch!important}
.mvr-live-deck .live-card{min-width:0;background:linear-gradient(180deg,rgba(8,16,27,.96),rgba(3,8,15,.98));border-color:rgba(83,130,182,.22);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.live-selected-head{min-height:58px;margin-bottom:12px!important;align-items:center}
.live-selected-copy{min-width:0}
.live-selected-copy .player-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65vw}
.live-selected-status{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.live-frame-badge{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:8px;border:1px solid rgba(94,138,181,.17);background:rgba(7,15,24,.7);font:800 9px/1 var(--mono);letter-spacing:.08em;color:var(--mvr-line-22)}
.mvr-live-stage{min-height:0!important;aspect-ratio:16/9;width:100%;position:relative;background:#010307!important;border:1px solid rgba(92,137,182,.19)!important;box-shadow:inset 0 0 90px rgba(0,0,0,.8),0 18px 55px rgba(0,0,0,.25)!important}
.mvr-live-stage:after{content:'LIVE DECK';position:absolute;right:12px;top:12px;z-index:8;font:800 8px/1 var(--mono);letter-spacing:.16em;color:#6c849c;border:1px solid rgba(104,139,174,.17);padding:6px 8px;border-radius:7px;background:rgba(2,7,12,.68);backdrop-filter:blur(8px);pointer-events:none}
.mvr-live-stage:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 25%,transparent 72%,rgba(0,0,0,.34)),repeating-linear-gradient(0deg,rgba(86,142,201,.018) 0 1px,transparent 1px 3px)}
.mvr-live-stage:fullscreen{background:var(--mvr-surface-3)!important;border-radius:0!important;border:0!important;aspect-ratio:auto}
.mvr-live-stage:fullscreen .live-screen{object-fit:contain}
.live-screen{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:contain!important;background:var(--mvr-surface-3);z-index:2}
.live-empty-state{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;text-align:center;padding:28px;color:#7189a1;background:radial-gradient(circle at 50% 42%,rgba(61,128,211,.055),transparent 45%)}
.live-empty-state strong{font:800 16px/1.2 var(--display);color:var(--mvr-text-48);letter-spacing:.01em}
.live-empty-state span{max-width:520px;font-size:12px;line-height:1.6;color:#667f98}
.live-empty-state small{font:700 9px/1 var(--mono);letter-spacing:.08em;color:#40566c;text-transform:uppercase;margin-top:3px}
.live-empty-icon{width:58px;height:58px;border-radius:16px;border:1px solid rgba(78,146,220,.2);background:linear-gradient(145deg,rgba(28,65,103,.35),rgba(7,14,24,.65));display:grid;place-items:center;box-shadow:0 14px 40px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.04);margin-bottom:3px}
.live-empty-icon:before{content:'';width:22px;height:16px;border:1.5px solid #6aa9e8;border-radius:4px;box-shadow:0 0 20px rgba(73,153,236,.12)}
.live-empty-icon:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:var(--mvr-accent-77);box-shadow:0 0 12px var(--mvr-accent-77)}
.live-loading{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:rgba(1,4,8,.72);backdrop-filter:blur(2px)}
.live-loader{width:30px;height:30px;border-radius:50%;border:2px solid rgba(88,155,224,.16);border-top-color:#60aaf2;border-right-color:#4b86ef;animation:mvrSpin .8s linear infinite;box-shadow:0 0 26px rgba(63,137,230,.1)}
.live-loading strong{font:800 13px/1 var(--display);color:#c4d7e8}
.live-loading span{font:600 10px/1.4 var(--mono);color:#587089}
.live-hud{position:absolute;left:0;right:0;bottom:0;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82));min-height:56px}
.live-hud-left,.live-hud-actions{display:flex;align-items:center;gap:8px}
.live-hud-left{font:800 10px/1 var(--mono);color:#d5e3ef;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 1px 5px var(--mvr-surface-3)}
.hud-live-dot{width:7px;height:7px;border-radius:50%;background:#31dc91;box-shadow:0 0 0 3px rgba(49,220,145,.12),0 0 12px rgba(49,220,145,.55);animation:pulse 1.4s infinite}
.hud-divider{width:1px;height:12px;background:rgba(190,215,237,.2);margin:0 2px}
.live-hud-actions{margin-left:auto}
.hud-btn{width:32px;height:30px;border:1px solid rgba(180,208,234,.15);border-radius:8px;background:rgba(7,14,22,.72);color:#d5e6f5;cursor:pointer;display:grid;place-items:center;font:800 13px/1 var(--mono);transition:.14s;backdrop-filter:blur(8px)}
.hud-btn:hover{background:rgba(36,93,150,.5);border-color:rgba(85,157,226,.42);transform:translateY(-1px)}
.hud-btn.danger:hover{background:rgba(213,47,67,.62);border-color:rgba(255,102,122,.48)}
.live-foot-copy{min-width:0}
.live-foot-copy .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-list{border:1px solid rgba(84,128,177,.2);background:linear-gradient(180deg,rgba(7,14,24,.98),rgba(3,8,15,.99));box-shadow:0 20px 55px rgba(0,0,0,.22);overflow:hidden}
.ms-list-tools{padding:10px 10px 4px;border-bottom:1px solid rgba(88,128,169,.08)}
.ms-list-tools .searchbox{margin:0;width:100%}
.ms-list-tools .searchbox input{min-width:0}
.ms-list-body{scrollbar-width:thin;scrollbar-color:rgba(83,137,191,.3) transparent}
.ms-row{min-height:58px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;text-align:left;color:inherit;cursor:pointer}
.ms-row.active .ms-meta b{color:#e5f2ff}
.ms-row.active .ms-av{border-color:rgba(76,163,239,.45);box-shadow:0 0 0 3px rgba(65,145,227,.08),inset 0 1px rgba(255,255,255,.06)}
.ms-meta{min-width:0;display:flex;flex-direction:column;gap:4px}
.ms-meta b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b7cbe0}
.ms-meta span{font:700 9px/1 var(--mono);color:#5e768f}
.ms-row .pill{font-size:8px;padding:5px 7px}

@media(max-width:1100px){
  .mvr-live-deck{grid-template-columns:1fr!important}
  .ms-list{position:static}
  .ms-list-body{max-height:320px}
  .mvr-live-stage{aspect-ratio:16/9}
}
@media(max-width:700px){
  .live-selected-head{align-items:flex-start;flex-direction:column}
  .live-selected-status{width:100%;justify-content:space-between}
  .live-selected-copy .player-name{max-width:100%}
  .mvr-live-stage{min-height:250px!important}
  .live-hud-left span:nth-of-type(3),.hud-divider,.live-hud-left span:last-child{display:none}
}


/* ============================================================================
   MVR 1.5.0 PRO LIVE DECK
   Multi-screen operator deck + live player roster.
   ============================================================================ */
.mvr-live-deck{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:stretch}
.mvr-live-stage{min-height:520px;background:
  radial-gradient(900px 360px at 50% 0%,rgba(59,130,246,.11),transparent 60%),
  radial-gradient(500px 280px at 50% 100%,rgba(34,211,238,.06),transparent 70%),var(--mvr-surface-58)}
.live-selected-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line2)}
.live-selected-copy{min-width:0}.live-selected-status{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.live-frame-badge{font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:#8da4ba;border:1px solid var(--line3);background:var(--mvr-surface-97);padding:5px 8px;border-radius:999px}
.live-empty-state{width:min(520px,90%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;color:#7f94aa;z-index:2}
.live-empty-state strong{font-family:var(--display);font-size:17px;color:var(--mvr-text-17)}.live-empty-state span{font-size:12px;line-height:1.65}.live-empty-state small{font-size:10px;color:#536a80}
.live-empty-icon{width:58px;height:58px;border-radius:18px;border:1px solid #24405c;background:linear-gradient(180deg,#0c1a29,var(--mvr-surface-37));display:grid;place-items:center;box-shadow:0 18px 45px rgba(0,0,0,.35),0 0 30px rgba(59,130,246,.08);margin-bottom:4px}
.live-empty-icon span{width:22px;height:16px;border:2px solid var(--mvr-accent-78);border-radius:5px;position:relative}.live-empty-icon span:after{content:'';position:absolute;left:6px;bottom:-7px;width:7px;height:7px;background:var(--mvr-accent-78);transform:rotate(45deg);border-radius:2px}
.live-hud{position:absolute;left:10px;right:10px;bottom:10px;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid rgba(80,116,150,.35);border-radius:11px;background:rgba(2,7,12,.82);backdrop-filter:blur(14px);z-index:5;box-shadow:0 12px 28px rgba(0,0,0,.35)}
.live-hud-left,.live-hud-actions{display:flex;align-items:center;gap:8px}.live-hud-left{min-width:0;color:var(--mvr-text-25);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.live-hud-left>span:not(.hud-live-dot):not(.hud-divider){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-live-dot{width:7px;height:7px;border-radius:50%;background:var(--mvr-accent-11);box-shadow:0 0 0 4px rgba(244,63,94,.12),0 0 12px rgba(244,63,94,.7);animation:pulse 1.2s infinite}.hud-divider{width:1px;height:14px;background:#26384c}.hud-btn{width:32px;height:30px;border-radius:8px;border:1px solid #2a4057;background:#091522;color:var(--mvr-text-49);display:grid;place-items:center;cursor:pointer;transition:.15s}.hud-btn:hover{background:#102236;color:var(--mvr-text-1);border-color:#3d6b9a}.hud-btn.danger:hover{background:rgba(244,63,94,.15);border-color:rgba(244,63,94,.45);color:#ff8a98}
.live-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(2,6,11,.68);backdrop-filter:blur(4px);z-index:6;text-align:center}.live-loader{width:34px;height:34px;border-radius:50%;border:2px solid #1b3148;border-top-color:#54a0ff;animation:liveSpin .75s linear infinite}@keyframes liveSpin{to{transform:rotate(360deg)}}.live-loading strong{font-family:var(--display);font-size:14px}.live-loading span{font-size:11px;color:var(--mvr-text-50)}
.live-foot{padding-top:2px}.live-foot-copy{min-width:0}.live-foot-copy .muted{font-size:12px}.live-foot-copy .note{font-family:var(--mono);font-size:9px}
.ms-list{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(13,20,31,.96),rgba(7,12,19,.96));box-shadow:var(--shadow2);overflow:hidden;display:flex;flex-direction:column;min-height:100%}.ms-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid var(--line2)}.ms-list-head strong{font-family:var(--display);font-size:15px}.ms-list-tools{padding:12px;border-bottom:1px solid var(--line2)}.ms-list-tools .searchbox{margin:0}.ms-list-body{padding:7px;overflow:auto;min-height:0;max-height:690px}.ms-list-body::-webkit-scrollbar{width:7px}.ms-list-body::-webkit-scrollbar-thumb{background:#1a2e43;border-radius:9px}
.ms-row{width:100%;border:1px solid transparent;background:transparent;color:inherit;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;padding:9px;border-radius:11px;cursor:pointer;transition:.14s;margin-bottom:3px}.ms-row:hover{background:#0b1724;border-color:#1d3147}.ms-row.active{background:linear-gradient(90deg,rgba(59,130,246,.14),rgba(59,130,246,.04));border-color:rgba(59,130,246,.34);box-shadow:inset 3px 0 0 var(--mvr-accent-75)}.ms-av{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(180deg,#12263b,var(--mvr-surface-103));border:1px solid #29415b;color:#9fc9ef;font-size:10px;font-weight:800}.ms-meta{min-width:0}.ms-meta b{display:block;color:#e4eef7;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-meta span{display:block;color:#667e95;font-family:var(--mono);font-size:9px;margin-top:4px}.ms-row .pill{padding:4px 7px;font-size:8px}
.ms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ms-tile{position:relative;min-width:0;min-height:230px;border:1px solid var(--line3);border-radius:13px;overflow:hidden;background:var(--mvr-surface-58);box-shadow:0 14px 36px rgba(0,0,0,.3)}.ms-tile.primary{grid-column:span 2;min-height:390px}.ms-tile img{width:100%;height:100%;min-height:230px;object-fit:contain;background:var(--mvr-surface-3);display:block}.ms-tile .tile-top{position:absolute;top:8px;left:8px;right:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:3}.ms-tile .tile-title{display:flex;align-items:center;gap:6px;min-width:0;padding:6px 8px;border:1px solid rgba(82,117,151,.35);border-radius:8px;background:rgba(2,7,12,.78);backdrop-filter:blur(10px);font-size:9px;font-weight:800}.ms-tile .tile-title b{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-tile .tile-actions{display:flex;gap:5px}.ms-tile .tile-actions button{width:27px;height:27px;border:1px solid rgba(82,117,151,.4);border-radius:7px;background:rgba(2,7,12,.82);color:var(--mvr-text-49);cursor:pointer}.ms-tile .tile-actions button:hover{color:var(--mvr-text-1);border-color:#4a83b8}.ms-tile .tile-bottom{position:absolute;left:8px;right:8px;bottom:8px;display:flex;justify-content:space-between;gap:8px;z-index:3}.ms-tile .tile-meta{font-family:var(--mono);font-size:8px;color:#8ea6bb;padding:5px 7px;border-radius:7px;background:rgba(2,7,12,.76);border:1px solid rgba(82,117,151,.25)}.ms-tile .tile-live{color:#61e7b0}.ms-tile.loading:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(72,135,208,.08) 48%,transparent 80%);animation:tileSweep 1.4s linear infinite}@keyframes tileSweep{from{transform:translateX(-80%)}to{transform:translateX(80%)}}
.mvr-live-deck.multi-mode .live-card{display:none}.mvr-live-deck.multi-mode{grid-template-columns:minmax(0,1fr) 360px}.mvr-multi-card{display:none}.mvr-live-deck.multi-mode .mvr-multi-card{display:block}.mvr-multi-card{min-width:0}.mvr-multi-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.mvr-multi-toolbar .note{font-family:var(--mono);font-size:9px}.mvr-multi-toolbar .toolbar{gap:6px}
.live-mode-toggle{display:inline-flex;padding:3px;border:1px solid var(--line3);background:var(--mvr-surface-37);border-radius:9px;gap:2px}.live-mode-toggle button{border:0;background:transparent;color:#71879d;padding:6px 9px;border-radius:7px;font-size:9px;font-weight:800;cursor:pointer}.live-mode-toggle button.active{background:#11253a;color:var(--mvr-text-38);box-shadow:0 0 0 1px rgba(59,130,246,.22)}
.mvr-player-toolbar{display:flex;align-items:center;gap:7px}.mvr-player-toolbar .pill{font-size:8px}.mvr-select-count{font-family:var(--mono);font-size:9px;color:var(--mvr-text-50)}
@media(max-width:1180px){.mvr-live-deck{grid-template-columns:minmax(0,1fr) 310px}.ms-grid{grid-template-columns:1fr}.ms-tile.primary{grid-column:auto}.mvr-live-deck.multi-mode{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:980px){.mvr-live-deck,.mvr-live-deck.multi-mode{grid-template-columns:1fr}.ms-list{min-height:420px}.ms-list-body{max-height:420px}.mvr-live-stage{min-height:420px}.ms-tile.primary{min-height:330px}}
@media(max-width:640px){.mvr-live-stage{min-height:300px}.live-selected-head{align-items:flex-start;flex-direction:column}.live-selected-status{justify-content:flex-start}.live-foot{align-items:stretch;flex-direction:column}.live-foot .toolbar{width:100%}.live-foot .btn{flex:1}.ms-grid{grid-template-columns:1fr}.ms-tile{min-height:200px}.ms-tile.primary{min-height:240px}.live-hud-left span:nth-of-type(3),.hud-divider{display:none}}

/* ========================================================================
   MVR 1.5.0 — WaveShield-style 9-screen live wall
   ======================================================================== */
.mvr-live-deck{grid-template-columns:minmax(0,1fr) 360px!important;align-items:stretch!important}
.mvr-live-deck.multi-mode{grid-template-columns:minmax(0,1fr) 360px!important}
.mvr-live-deck.multi-mode .live-card{display:none!important}
.mvr-live-deck.multi-mode .mvr-multi-card{display:block!important;min-width:0}
.mvr-multi-card{min-width:0}
.mvr-multi-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.ms-grid-9{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:start}
.ms-grid-9 .ms-tile{min-height:245px;aspect-ratio:16/9}
.ms-grid-9 .ms-tile img{min-height:0;height:100%;object-fit:contain}
.ms-grid-9 .ms-tile.primary{grid-column:auto;min-height:245px}
.ms-tile.is-live{border-color:rgba(51,220,151,.22);box-shadow:0 16px 44px rgba(0,0,0,.35),inset 0 0 0 1px rgba(51,220,151,.035)}
.ms-tile .tile-movement{font-size:8px;color:#8fa9bf;padding-left:4px;border-left:1px solid rgba(117,148,177,.22)}
.multi-empty-state{min-height:620px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;text-align:center;border:1px dashed rgba(79,132,183,.16);border-radius:15px;background:radial-gradient(circle at 50% 42%,rgba(61,128,211,.045),transparent 45%),var(--mvr-surface-101);color:#657d94}
.multi-empty-state strong{font:800 16px/1.2 var(--display);color:var(--mvr-text-48)}
.multi-empty-state span{font-size:12px;line-height:1.5;color:var(--mvr-line-23)}
.multi-empty-state small{font:700 9px/1 var(--mono);letter-spacing:.08em;color:#3e556c;text-transform:uppercase}
.player-movement{display:block;margin-top:3px;color:#5f86a8!important;font:700 8px/1 var(--mono)!important;text-transform:uppercase;letter-spacing:.04em}
.ms-row.stream-active{background:linear-gradient(90deg,rgba(49,220,145,.10),rgba(49,220,145,.025));border-color:rgba(49,220,145,.18)}
.ms-row.stream-active .ms-meta b{color:#e9fff5}
.ms-row.stream-active .ms-av{border-color:rgba(49,220,145,.38)}

@media(max-width:1400px){
  .ms-grid-9{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-grid-9 .ms-tile,.ms-grid-9 .ms-tile.primary{min-height:250px}
}
@media(max-width:980px){
  .mvr-live-deck,.mvr-live-deck.multi-mode{grid-template-columns:1fr!important}
  .ms-list{position:static!important;min-height:420px}
  .ms-list-body{max-height:420px!important}
  .ms-grid-9{grid-template-columns:repeat(2,minmax(0,1fr))}
  .multi-empty-state{min-height:420px}
}
@media(max-width:640px){
  .ms-grid-9{grid-template-columns:1fr}
  .ms-grid-9 .ms-tile,.ms-grid-9 .ms-tile.primary{min-height:210px}
  .multi-empty-state{min-height:300px}
  .mvr-live-toolbar-main{flex-wrap:wrap}
  .mvr-live-toolbar-main .select{min-width:100%!important}
}

/* ==========================================================
   MVR 1.5.1 — PRO PLAYER GRID / WaveShield-inspired roster
   ========================================================== */
.mvr-players-topbar{margin-bottom:12px!important}
.mvr-count-badge{display:inline-flex;align-items:center;vertical-align:middle;margin-left:6px;padding:5px 9px;border-radius:8px;background:#0a2d52;border:1px solid #144d7c;color:#63b8ff;font:800 11px/1 var(--mono)}
.mvr-player-filterbar{display:flex;gap:10px;align-items:center;margin:4px 0 10px}
.mvr-search-wrap{display:flex;align-items:center;gap:8px;flex:1;height:40px;border:1px solid var(--mvr-accent-79);background:var(--mvr-surface-21);border-radius:8px;padding:0 12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.015)}
.mvr-search-wrap>span{color:#70a1c8;font-size:17px}.mvr-search-wrap input{border:0!important;outline:0;background:transparent!important;box-shadow:none!important;width:100%;padding:0!important;color:#d7e7f5}
.mvr-filter-btn{height:40px;border:1px solid var(--mvr-accent-79);background:var(--mvr-surface-21);color:#9fb8cb;border-radius:8px;padding:0 13px;font-size:10px;font-weight:800;white-space:nowrap}.mvr-filter-btn:hover{border-color:#2a6b9f;color:var(--mvr-text-1)}
.mvr-filter-checks{display:flex;flex-wrap:wrap;gap:24px;align-items:center;padding:8px 2px 14px;color:#dbe8f4;font-size:10px;font-weight:700}.mvr-filter-checks label{display:flex;gap:8px;align-items:center;cursor:pointer}.mvr-filter-checks input{width:15px;height:15px;appearance:none;border:1px solid #153b59;border-radius:5px;background:var(--mvr-surface-21);margin:0;position:relative}.mvr-filter-checks input:checked{background:#0f73c5;border-color:#1a8af0}.mvr-filter-checks input:checked:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;font-size:10px;color:var(--mvr-text-1)}
.mvr-server-strip{display:flex;gap:10px;align-items:center;border:1px solid #102e47;border-radius:8px;background:var(--mvr-surface-59);padding:10px 12px;margin-bottom:14px;color:#8fa8ba;font-size:10px}.mvr-server-strip .pill{font-size:8px}.mvr-server-dot{width:7px;height:7px;border-radius:50%;background:#11d982;box-shadow:0 0 10px rgba(17,217,130,.65)}
.mvr-player-grid{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:12px;align-items:stretch}
.mvr-player-card{min-width:0;border:1px solid #0f3150;border-radius:10px;background:linear-gradient(180deg,#02101c 0%,#020b15 100%);padding:14px 14px 11px;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s;box-shadow:0 10px 26px rgba(0,0,0,.2)}
.mvr-player-card:hover{transform:translateY(-1px);border-color:#1f679b;box-shadow:0 16px 36px rgba(0,0,0,.28),inset 0 0 0 1px rgba(33,117,173,.08)}
.mvr-player-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.mvr-player-identity{display:flex;gap:10px;min-width:0}.mvr-move-bubble{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--state-color) 12%,#03131f);border:1px solid color-mix(in srgb,var(--state-color) 38%,#173a55);box-shadow:inset 0 0 16px color-mix(in srgb,var(--state-color) 8%,transparent);font-size:18px;flex:none}.mvr-player-nameblock{min-width:0;padding-top:1px}.mvr-name-line{display:flex;gap:5px;align-items:baseline;min-width:0}.mvr-source{font:800 10px/1 var(--mono);color:#4f9bd0;flex:none}.mvr-name-line b{font-size:13px;color:var(--mvr-text-51);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mvr-sub-line{display:flex;gap:5px;margin-top:6px;color:#70899f;font-size:9px;white-space:nowrap}.mvr-player-stats{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.mvr-ping{font:800 10px/1 var(--mono)}.mvr-ping.good{color:var(--mvr-accent-59)}.mvr-ping.mid{color:#f0b52b}.mvr-ping.high{color:#ff8433}.mvr-threat{font:800 11px/1 var(--mono);color:var(--threat);position:relative;padding-right:2px}.mvr-threat:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--threat);box-shadow:0 0 8px color-mix(in srgb,var(--threat) 45%,transparent);margin-right:5px}
.mvr-health-head{display:flex;justify-content:space-between;align-items:center;margin-top:16px;color:#a6bfd2;font-size:9px}.mvr-health-head b{color:#e1eef7}.mvr-health-bar{height:7px;border-radius:5px;background:#1b2a3a;overflow:hidden;margin-top:7px}.mvr-health-bar i{display:block;height:100%;background:#0ed67d;border-radius:5px;box-shadow:0 0 12px rgba(14,214,125,.18)}.mvr-health-bar i.warn{background:#f3b924;box-shadow:0 0 12px rgba(243,185,36,.15)}
.mvr-player-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;min-height:18px}.mvr-playtime{font-size:9px;color:#87a0b5}.mvr-badges{display:flex;gap:4px;align-items:center}.mvr-state-badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:6px;background:#0d2946;color:#5db0ff;border:1px solid #14446c;font:800 8px/1 var(--mono);text-transform:uppercase}.mvr-state-badge.weapon{background:#2b0811;border-color:#6e2332;color:#ff7a8d}
.mvr-player-modal{max-width:720px!important}.mvr-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mvr-detail-grid>div{border:1px solid var(--mvr-surface-104);background:var(--mvr-surface-59);border-radius:8px;padding:10px}.mvr-detail-grid label{display:block;color:#537188;font:800 8px/1 var(--mono);letter-spacing:.08em}.mvr-detail-grid b{display:block;color:var(--mvr-text-51);font-size:11px;margin-top:5px}.mvr-detail-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.mvr-ids{margin-top:12px;border:1px solid var(--mvr-surface-104);border-radius:8px;padding:11px;background:var(--mvr-surface-59);display:grid;gap:6px}.mvr-ids code{font:600 9px/1.4 var(--mono);color:#90a8bb;word-break:break-all}
@media(max-width:1500px){.mvr-player-grid{grid-template-columns:repeat(3,minmax(250px,1fr))}}@media(max-width:1150px){.mvr-player-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.mvr-detail-grid{grid-template-columns:repeat(2,1fr)}.mvr-detail-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.mvr-player-grid{grid-template-columns:1fr}.mvr-player-filterbar{flex-wrap:wrap}.mvr-search-wrap{min-width:100%}.mvr-filter-checks{gap:10px;flex-direction:column;align-items:flex-start}}

.nav a.owner-nav{color:#ff6275!important}.nav a.owner-nav:hover,.nav a.owner-nav.active{background:rgba(160,22,45,.16)!important;color:#ff7384!important;box-shadow:inset 3px 0 #ff4f67}
.staff-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.staff-stat{padding:14px;border:1px solid rgba(91,128,170,.16);border-radius:12px;background:linear-gradient(145deg,rgba(15,24,39,.9),rgba(7,13,23,.94))}.staff-stat span{display:block;color:var(--mvr-line-13);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.staff-stat strong{display:block;color:#edf5fc;font-size:20px;margin-top:6px}.staff-admin-table{width:100%;border-collapse:separate;border-spacing:0}.staff-admin-table th{padding:12px;color:#6c849b;font-size:8px;text-transform:uppercase;letter-spacing:.15em;text-align:left;border-bottom:1px solid rgba(91,128,170,.12)}.staff-admin-table td{padding:11px 12px;border-bottom:1px solid rgba(91,128,170,.09);font-size:10px}.staff-admin-table tr:last-child td{border-bottom:0}.perm-pill{display:inline-block;border:1px solid rgba(49,130,217,.25);background:var(--mvr-surface-105);color:#6bb8ff;padding:3px 6px;border-radius:5px;font-size:8px;margin:2px}.perm-pill.all{background:#6d1830;border-color:#c53957;color:#ffd7de}.owner-chip{border-radius:5px;background:var(--mvr-surface-105);color:#68b4ff;padding:3px 6px;font-size:8px}.staff-actions{display:flex;gap:5px;flex-wrap:wrap}.owner-only{display:none}.is-master .owner-only{display:inline-flex}@media(max-width:900px){.staff-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.staff-summary{grid-template-columns:1fr}}


/* MVR PRO NAV v17.2.2 — collapsible sidebar groups */
.nav-section.collapsible{width:100%;background:none;border:0;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 7px;margin:9px 0 2px;color:var(--mvr-line-7);font:800 9px/1 var(--font);letter-spacing:.2em;text-transform:uppercase}
.nav-section.collapsible:hover{color:#7890a8}
.nav-section.collapsible .nav-chevron{font-size:12px;line-height:1;color:#6e8499;transform:rotate(0deg);transition:transform .16s ease}
.nav-section.collapsible.closed .nav-chevron{transform:rotate(-90deg)}
.nav[data-nav-items]{display:flex;flex-direction:column;gap:3px;overflow:hidden;max-height:700px;opacity:1;transition:max-height .2s ease,opacity .16s ease}
.nav[data-nav-items].closed{max-height:0;opacity:0;pointer-events:none}
/* Remove the old white rail/arrow affordance. */
.rail-toggle{display:none!important}
/* Always-visible, polished scrollbars on the sidebar and long content. */
.sidebar-scroll,.mvr-modal .body,.perm-list,.table-scroll{scrollbar-width:thin;scrollbar-color:var(--mvr-surface-106) transparent}
.sidebar-scroll::-webkit-scrollbar,.mvr-modal .body::-webkit-scrollbar,.perm-list::-webkit-scrollbar,.table-scroll::-webkit-scrollbar{width:8px;height:8px}
.sidebar-scroll::-webkit-scrollbar-track,.mvr-modal .body::-webkit-scrollbar-track,.perm-list::-webkit-scrollbar-track,.table-scroll::-webkit-scrollbar-track{background:transparent}
.sidebar-scroll::-webkit-scrollbar-thumb,.mvr-modal .body::-webkit-scrollbar-thumb,.perm-list::-webkit-scrollbar-thumb,.table-scroll::-webkit-scrollbar-thumb{background:var(--mvr-surface-41);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.sidebar-scroll::-webkit-scrollbar-thumb:hover,.mvr-modal .body::-webkit-scrollbar-thumb:hover,.perm-list::-webkit-scrollbar-thumb:hover,.table-scroll::-webkit-scrollbar-thumb:hover{background:#355575}
/* Prevent row action menus from being clipped by tables/cards. */
.row-pop{position:fixed!important;z-index:500!important}

/* ================================================================
   MVR 17.2.3 — OWNER CENTER PRO REDESIGN
   ================================================================ */
.owner-page{max-width:1740px}
.owner-topbar{align-items:center;margin-bottom:18px}
.owner-eyebrow{color:#61a9ff!important;letter-spacing:.22em}
.owner-title-row{display:flex;align-items:center;gap:12px}
.owner-title-row h1{margin:4px 0 6px!important;font-size:34px!important}
.owner-subtitle{max-width:820px}
.owner-live{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid rgba(34,211,139,.23);background:rgba(34,211,139,.07);border-radius:999px;color:#59e5ad;font:800 9px/1 var(--mono);letter-spacing:.06em}
.owner-live i{width:6px;height:6px;border-radius:50%;background:#24d38b;box-shadow:0 0 10px rgba(36,211,139,.75)}
.owner-top-actions{display:flex;align-items:center;gap:8px}
.owner-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px}
.owner-stat{position:relative;display:flex;align-items:center;gap:11px;min-width:0;padding:14px;border:1px solid rgba(95,132,173,.16);border-radius:13px;background:linear-gradient(145deg,rgba(14,24,39,.9),rgba(7,13,23,.95));box-shadow:0 16px 40px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025)}
.owner-stat:after{content:'';position:absolute;inset:auto 12px 0 12px;height:1px;background:linear-gradient(90deg,transparent,rgba(76,151,237,.25),transparent)}
.owner-stat-icon{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;font-weight:900;font-size:15px;border:1px solid rgba(111,150,193,.14)}
.owner-stat-icon.blue{color:#64b3ff;background:rgba(44,126,226,.10)}
.owner-stat-icon.green{color:#50e1a4;background:rgba(31,199,135,.10)}
.owner-stat-icon.amber{color:#f7c969;background:rgba(239,174,44,.10)}
.owner-stat-icon.violet{color:#a98fff;background:rgba(129,89,255,.10)}
.owner-stat-icon.red{color:var(--mvr-accent-43);background:rgba(229,56,80,.10)}
.owner-stat span{display:block;color:#7c94aa;font-size:9px;text-transform:uppercase;letter-spacing:.11em;font-weight:800}
.owner-stat strong{display:block;color:#edf6ff;font:800 23px/1 var(--display);margin-top:4px;letter-spacing:-.02em}
.owner-stat small{display:block;color:#526c83;font-size:9px;margin-top:4px}
.owner-toolbar{padding:16px!important;margin-bottom:12px}
.owner-toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:13px}
.owner-toolbar h2,.owner-table-card h2,.owner-bottom-grid h2{margin:2px 0 4px;font-size:17px;font-weight:800}
.section-kicker{font:800 8px/1 var(--mono);letter-spacing:.18em;color:#568fbd;text-transform:uppercase}
.owner-search-row{display:flex;align-items:center;gap:10px}
.owner-search{height:42px;flex:1;min-width:240px;display:flex;align-items:center;gap:9px;padding:0 12px;border-radius:10px;border:1px solid rgba(98,138,181,.21);background:#050d16;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.owner-search>span{font-size:18px;color:#5591bf}.owner-search .input{min-height:0;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
.owner-filters{display:flex;align-items:center;gap:5px;overflow:auto;padding-bottom:1px}
.owner-filter{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 9px;border-radius:8px;border:1px solid rgba(99,139,180,.16);background:#09121d;color:#7890a5;font-size:9px;font-weight:800;cursor:pointer;white-space:nowrap}
.owner-filter b{min-width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:#0f1d2a;color:#607b94;font-size:8px}
.owner-filter:hover{color:#dceaf6;border-color:rgba(77,156,255,.32)}
.owner-filter.active{color:var(--mvr-text-31);border-color:rgba(77,156,255,.46);background:linear-gradient(180deg,rgba(52,122,216,.16),rgba(11,28,47,.7));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.owner-filter.active b{background:#164776;color:#8dcbff}
.owner-table-card{padding:0!important;overflow:hidden}
.owner-table-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 16px;border-bottom:1px solid rgba(91,128,170,.11)}
.owner-table-title{display:flex;align-items:baseline;gap:9px}.owner-table-title strong{font:800 13px/1 var(--display);color:var(--mvr-text-47)}.owner-table-title span{font-size:9px;color:#566f85}
.table-note{display:inline-flex;align-items:center;gap:7px;color:#5e7890;font-size:8px;font-family:var(--mono)}.table-note i{width:6px;height:6px;border-radius:50%;background:#2dd691;box-shadow:0 0 10px rgba(45,214,145,.55)}
.owner-table-scroll{overflow:auto;max-height:calc(100vh - 430px);min-height:360px;scrollbar-width:thin;scrollbar-color:var(--mvr-surface-106) transparent}
.owner-table-scroll::-webkit-scrollbar{width:10px;height:10px}.owner-table-scroll::-webkit-scrollbar-track{background:transparent}.owner-table-scroll::-webkit-scrollbar-thumb{background:var(--mvr-surface-41);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.owner-license-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0}
.owner-license-table thead th{position:sticky;top:0;z-index:4;background:var(--mvr-surface-99);color:var(--mvr-line-24);padding:10px 12px;text-align:left;font:800 8px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(91,128,170,.15);white-space:nowrap}
.owner-license-table thead th:first-child{padding-left:16px}.owner-license-table thead th:last-child{width:58px;text-align:center}
.owner-license-row{transition:background .14s ease}.owner-license-row:hover{background:rgba(52,125,218,.045)}
.owner-license-row td{padding:12px;border-bottom:1px solid rgba(91,128,170,.085);vertical-align:middle}
.owner-license-row td:first-child{padding-left:16px}
.owner-customer,.owner-server,.owner-license-key,.owner-plan,.owner-players,.owner-renewal{display:flex;flex-direction:column;gap:4px;min-width:0}
.owner-customer{flex-direction:row;align-items:center;gap:9px}.owner-avatar{width:29px;height:29px;display:grid;place-items:center;flex:none;border-radius:9px;background:linear-gradient(145deg,#12325a,#0b1b30);border:1px solid #1c4269;color:#84c7ff;font:800 10px var(--mono)}
.owner-customer strong,.owner-server strong,.owner-license-key code,.owner-plan strong,.owner-players strong,.owner-renewal strong{font-size:10px;color:#dfeaf4}
.owner-customer small,.owner-server span,.owner-license-key span,.owner-plan span,.owner-players small,.owner-renewal span{color:#617a91;font-size:8px;font-family:var(--mono);white-space:nowrap}
.owner-license-key code{display:inline-block;max-width:145px;padding:4px 6px;border-radius:6px;border:1px solid rgba(78,126,169,.27);background:#071421;color:#82b8dc;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.owner-plan strong{font-family:var(--display)}
.owner-server span{display:flex;align-items:center;gap:5px}.owner-server i{width:6px;height:6px;border-radius:50%;background:#5a6f82}.owner-server i.online{background:#26d491;box-shadow:0 0 9px rgba(38,212,145,.55)}
.owner-players strong{font-family:var(--mono);font-size:11px}.owner-players strong span{color:#5e768d;font-size:9px}.owner-players small{color:#647e93}.owner-renewal strong.expired{color:var(--mvr-accent-43)}.owner-renewal span{color:#5b7890}
.owner-action-cell{text-align:center}.owner-action-btn{width:34px;height:32px;border-radius:9px;border:1px solid rgba(95,134,174,.2);background:var(--mvr-surface-100);color:#8aa1b5;cursor:pointer;font-weight:900;letter-spacing:1px}.owner-action-btn:hover{border-color:rgba(77,156,255,.38);color:#d7eafd;background:#0e1e2c}
.owner-popover{position:fixed;z-index:9999;width:220px;padding:7px;border:1px solid rgba(93,133,175,.26);border-radius:12px;background:linear-gradient(145deg,#0e1a29,var(--mvr-surface-11));box-shadow:0 24px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.03);backdrop-filter:blur(14px)}
.owner-pop-label{padding:5px 8px 7px;color:#58728b;font:800 8px/1 var(--mono);letter-spacing:.15em}.owner-pop-item{display:flex;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#cddbea;text-align:left;font-size:10px;cursor:pointer}.owner-pop-item:hover{background:rgba(71,130,196,.12);color:var(--mvr-text-1)}.owner-pop-item.ok{color:#55e3a8}.owner-pop-item.danger{color:var(--mvr-accent-43)}.owner-pop-sep{height:1px;background:rgba(91,128,170,.11);margin:4px 0}
.owner-bottom-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:12px;margin-top:12px}.owner-release-card,.owner-policy-card{padding:17px!important}.owner-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.owner-release-note{margin:7px 0 14px;color:#668198;font-size:10px;line-height:1.5;max-width:780px}.owner-form-grid{margin-top:0}.owner-form-grid .form-row label{font-size:8px;color:#6b849a;text-transform:uppercase;letter-spacing:.11em}.owner-release-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.owner-policy-list{display:grid;gap:0;margin-top:10px}.owner-policy-list>div{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid rgba(91,128,170,.09)}.owner-policy-list>div:last-child{border-bottom:0}.owner-policy-list span{color:#657e95;font-size:9px}.owner-policy-list strong{color:#dbe9f5;font-size:9px;font-family:var(--mono)}
@media(max-width:1250px){.owner-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.owner-search-row{flex-direction:column;align-items:stretch}.owner-filters{width:100%}}
@media(max-width:920px){.owner-bottom-grid{grid-template-columns:1fr}.owner-topbar{align-items:flex-start;flex-direction:column}.owner-top-actions{width:100%;justify-content:space-between}}
@media(max-width:680px){.owner-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-toolbar-head{align-items:flex-start;flex-direction:column}.owner-top-actions{justify-content:flex-start}.owner-table-scroll{max-height:none}.owner-stat{padding:12px}.owner-stat-icon{width:34px;height:34px}.owner-title-row h1{font-size:28px!important}}

/* Owner license assignment dialog */
.owner-modal-backdrop{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(1,7,15,.72);backdrop-filter:blur(10px)}
.owner-modal{width:min(620px,96vw);border:1px solid rgba(87,139,194,.28);border-radius:18px;background:linear-gradient(150deg,#0c1725,var(--mvr-surface-11));box-shadow:0 30px 110px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100dvh - 40px)}
.owner-modal-head{display:flex;justify-content:space-between;gap:16px;padding:22px 24px 17px;border-bottom:1px solid rgba(89,126,164,.14);flex:0 0 auto}
.owner-modal-head h2{margin:5px 0 4px;font-size:22px}.owner-modal-head p{margin:0;color:#6f89a3;font:500 11px var(--mono)}.owner-modal-close{width:34px;height:34px;border:1px solid rgba(104,145,181,.23);border-radius:9px;background:var(--mvr-surface-103);color:var(--mvr-text-46);font-size:20px;cursor:pointer}.owner-modal-body{padding:22px 24px;overflow-y:auto;flex:1 1 auto;-webkit-overflow-scrolling:touch}.owner-duration-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.owner-duration{padding:13px 10px;border:1px solid rgba(86,128,169,.2);border-radius:10px;background:var(--mvr-surface-38);color:#bcd0e0;font-weight:700;cursor:pointer}.owner-duration:hover{border-color:rgba(76,167,235,.55);color:var(--mvr-text-1);background:var(--mvr-surface-107)}.owner-duration.active{border-color:#4aaef0;background:linear-gradient(180deg,rgba(50,145,224,.24),rgba(38,102,166,.16));color:var(--mvr-text-1);box-shadow:0 0 0 1px rgba(74,174,240,.15) inset}.owner-custom-wrap{margin-top:16px;padding:14px;border:1px solid rgba(86,128,169,.16);border-radius:12px;background:rgba(8,19,30,.6)}.owner-custom-wrap label{display:block;margin-bottom:7px;font-size:11px;font-weight:800;color:#b8cce0}.owner-custom-wrap small{display:block;margin-top:7px;color:#607a94;font:500 10px var(--mono)}.owner-assignment-preview{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:15px 16px;border-radius:12px;background:rgba(51,146,217,.07);border:1px solid rgba(73,158,220,.13)}.owner-assignment-preview span{color:var(--mvr-line-4);font:800 9px var(--mono);text-transform:uppercase;letter-spacing:.12em}.owner-assignment-preview strong{color:var(--mvr-text-32)}.owner-assignment-preview em{color:#69d9ae;font-style:normal;font:600 10px var(--mono)}.owner-modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:15px 24px;border-top:1px solid rgba(89,126,164,.12);flex:0 0 auto}
@media(max-width:620px){.owner-duration-grid{grid-template-columns:repeat(2,1fr)}.owner-assignment-preview{gap:10px;flex-wrap:wrap}}

/* ==========================================================================
   MVR 17.2.40 — MISSING CLASS RECOVERY
   These classes were referenced by the pages below but had no rule anywhere in
   style.css / mvr-electron.css / mvr-ws.css / site.css, so the markup rendered
   completely unstyled. Added here so every page themes consistently.
   ========================================================================== */

/* --- _shell.js : sidebar server picker ---------------------------------- */
/* Previously injected its own <style> at runtime, so it flashed unstyled on
   every page load and ignored the theme. Now part of the stylesheet. */
.server-picker-wrap{margin:10px 0 6px}
.server-picker-label{font-size:10px;letter-spacing:.16em;color:var(--mvr-text-52);font-weight:800;margin:0 8px 6px}
.server-picker{width:100%;box-sizing:border-box;background:#08182a;color:#dceaff;
  border:1px solid #183653;border-radius:10px;padding:9px 10px;font-weight:700;outline:none;
  transition:border-color .15s,box-shadow .15s}
.server-picker:hover{border-color:#23577f}
.server-picker:focus{border-color:var(--mvr-accent-23);box-shadow:0 0 0 2px rgba(45,167,255,.12)}
.server-picker:disabled{opacity:.55;cursor:progress}

/* --- players.html : player detail panel --------------------------------- */
.mvr-avatar{width:56px;height:56px;flex:0 0 56px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(145deg,#12314f,#0a1522);border:1px solid #22425f;
  color:var(--mvr-accent-44);font-weight:900;font-size:22px;overflow:hidden;background-size:cover;background-position:center}
.mvr-avatar img{width:100%;height:100%;object-fit:cover}
.mvr-title-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;
  color:#7fbdf0;background:rgba(45,167,255,.08);border:1px solid rgba(45,167,255,.22);
  border-radius:7px;padding:3px 8px;margin-left:8px;vertical-align:middle;display:inline-block}
.mvr-muted{color:#7890a7;font-size:12px;line-height:1.6}
.mvr-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.mvr-tags > *{font-size:10.5px;font-weight:800;letter-spacing:.04em;padding:4px 9px;border-radius:7px;
  background:rgba(255,255,255,.045);border:1px solid var(--mvr-accent-80);color:var(--mvr-accent-81)}
.mvr-timeline{position:relative;margin-top:14px;padding-left:20px}
.mvr-timeline::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(180deg,rgba(45,167,255,.4),rgba(45,167,255,.05))}
.mvr-time-item{position:relative;padding:0 0 16px 4px;font-size:13px;color:#c8dcee}
.mvr-time-item:last-child{padding-bottom:2px}
.mvr-time-dot{position:absolute;left:-19px;top:5px;width:10px;height:10px;border-radius:50%;
  background:var(--mvr-surface-54);border:2px solid var(--mvr-accent-23);box-shadow:0 0 0 3px rgba(45,167,255,.12)}
.mvr-time-dot.warn{border-color:var(--mvr-accent-45);box-shadow:0 0 0 3px rgba(250,190,60,.12)}
.mvr-time-dot.bad{border-color:var(--mvr-accent-82);box-shadow:0 0 0 3px rgba(244,63,94,.14)}
.mvr-event-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;
  background:rgba(255,255,255,.026);border:1px solid #16304a;margin-bottom:7px;font-size:13px}
.mvr-event-row:hover{background:rgba(61,169,255,.05);border-color:#22506f}
.mvr-event-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;margin-top:6px;background:var(--mvr-accent-23)}
.mvr-event-dot.ok{background:#4ade80}.mvr-event-dot.warn{background:var(--mvr-accent-45)}
.mvr-event-dot.bad{background:var(--mvr-accent-82)}.mvr-event-dot.muted{background:#5c7186}
.mvr-map-tall{height:min(560px,62vh);min-height:340px;border-radius:14px;overflow:hidden;
  border:1px solid var(--mvr-surface-8);background:#060d17;position:relative}

/* --- lookup.html : reputation card -------------------------------------- */
.lk-rep-card{padding:18px 20px;border-radius:14px;border:1px solid var(--mvr-surface-8);
  background:linear-gradient(180deg,#0a1625,var(--mvr-surface-42));display:grid;gap:10px}
.lk-rep-card .score{font-size:34px;font-weight:900;line-height:1;color:var(--mvr-accent-44)}
.lk-rep-card .label{font-size:10.5px;letter-spacing:.18em;color:var(--mvr-text-52);font-weight:800;text-transform:uppercase}
.lk-rep-card.good .score{color:#5fe39a}
.lk-rep-card.warn .score{color:var(--mvr-accent-45)}
.lk-rep-card.bad .score{color:#ff8ca7}

/* --- admin.html : owner table toolbar ----------------------------------- */
.owner-table-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;
  flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--mvr-surface-8);background:rgba(0,0,0,.2)}
.owner-table-tools .grow{flex:1 1 220px;min-width:180px}

/* --- staff.html : popover trigger --------------------------------------- */
.pop-trigger{background:transparent;border:1px solid var(--mvr-accent-80);border-radius:9px;color:var(--mvr-accent-81);
  width:32px;height:32px;display:grid;place-items:center;cursor:pointer;transition:.15s}
.pop-trigger:hover{border-color:#2d79b2;color:#d8efff;background:#0b1a2a}

/* --- downloads.html : disabled download button -------------------------- */
/* The "no published release" state set .disabled on the <a>, which did nothing:
   the link stayed fully clickable and led to a 404. */
a.disabled,.btn.disabled{opacity:.45;pointer-events:none;cursor:not-allowed;filter:grayscale(.5)}

/* --- index.html : public home ------------------------------------------- */
.home-shell{min-height:100vh;display:flex;flex-direction:column}
.pro-hero{padding:clamp(48px,9vw,110px) clamp(20px,5vw,64px);text-align:center;
  background:radial-gradient(120% 90% at 50% 0%,rgba(45,167,255,.14),transparent 62%)}
.pro-hero h1{font-size:clamp(30px,5.4vw,56px);font-weight:900;line-height:1.1;margin:0 0 16px;color:var(--mvr-text-1)}
.pro-hero p{max-width:640px;margin:0 auto;color:#93a9c0;font-size:clamp(15px,1.7vw,18px);line-height:1.75}
.pro-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.pro-cta .btn{padding:14px 28px;font-size:15px;font-weight:800;border-radius:12px}
@media(max-width:720px){.pro-cta{flex-direction:column;align-items:stretch;padding:0 8px}}

/* moderation.html : ban list "view" action (inherits .icon-btn, themed blue) */
.ban-view-btn{color:var(--mvr-accent-44);border-color:rgba(45,167,255,.26);background:rgba(16,52,84,.22)}
.ban-view-btn:hover{color:#eaf6ff;border-color:var(--mvr-accent-23);background:rgba(23,86,140,.32)}

/* -------------------------------------------------------------------------
   MVR 17.2.53 — polished Runtime Controls
   ------------------------------------------------------------------------- */
.runtime-shell{margin-top:16px;border:1px solid var(--line3);border-radius:16px;background:linear-gradient(180deg,var(--mvr-surface-95),var(--mvr-surface-108));overflow:hidden;box-shadow:0 18px 55px rgba(0,0,0,.18)}
.runtime-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line2);background:radial-gradient(circle at 82% 0%,rgba(47,143,255,.12),transparent 36%)}
.runtime-head h2{margin:4px 0 5px;font-family:var(--display);font-size:20px}.runtime-head p{margin:0;color:var(--mvr-line-21);font-size:12px;line-height:1.6}
.runtime-badge{display:flex;align-items:center;gap:8px;border:1px solid rgba(34,211,139,.25);background:rgba(34,211,139,.07);color:var(--mvr-accent-22);border-radius:999px;padding:7px 11px;font-size:9px;font-weight:900;letter-spacing:.1em;white-space:nowrap}.runtime-badge span{width:7px;height:7px;border-radius:50%;background:var(--mvr-accent-83);box-shadow:0 0 12px rgba(34,211,139,.65)}
.runtime-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}
.runtime-group{border:1px solid var(--line3);border-radius:13px;background:var(--mvr-surface-38);overflow:hidden}.runtime-group-head{display:flex;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line2)}.runtime-group-head strong{display:block;font-family:var(--display);font-size:13px}.runtime-group-head span{display:block;color:#6e859a;font-size:10px;margin-top:4px;line-height:1.5}.runtime-group-head>b{color:#2e5576;font:800 10px var(--mono)}
.runtime-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:11px}.runtime-field{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px;padding:9px 10px;border:1px solid var(--mvr-surface-60);border-radius:10px;background:var(--mvr-surface-11)}.runtime-field>span{min-width:0}.runtime-field b{display:block;font-size:11px;color:var(--mvr-text-53);font-weight:700}.runtime-field small{display:block;color:var(--mvr-line-25);font-size:9px;margin-top:3px}.runtime-field .input{width:86px;max-width:86px;padding:8px 9px;font-family:var(--mono);font-size:11px;text-align:right}
.runtime-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:11px}.runtime-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--mvr-surface-60);border-radius:10px;background:var(--mvr-surface-11)}.runtime-toggle b{display:block;color:var(--mvr-text-53);font-size:11px}.runtime-toggle small{display:block;color:var(--mvr-line-25);font-size:9px;margin-top:3px;line-height:1.4}
@media(max-width:1000px){.runtime-groups{grid-template-columns:1fr}.runtime-fields,.runtime-toggles{grid-template-columns:1fr}}
@media(max-width:600px){.runtime-head{align-items:flex-start;flex-direction:column}.runtime-badge{align-self:flex-start}}

/* Richer webhook configuration cards */
.webhook-card{min-height:230px;background:linear-gradient(180deg,var(--mvr-surface-38),var(--mvr-surface-11));border-color:#142a3f;position:relative;overflow:hidden}.webhook-card:before{content:'';position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,var(--accent2),transparent);opacity:.8}.webhook-card .card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.webhook-card .channel-pill{font-size:9px;font-weight:900;letter-spacing:.1em;color:#8eb6d8;border:1px solid #19344d;background:#081421;border-radius:999px;padding:5px 8px}.webhook-card input.input{font-family:var(--mono);font-size:10px}.webhook-card .muted{line-height:1.55}

/* MVR 17.2.53 — runtime controls + secure webhook reveal */
.runtime-head-actions{display:flex;align-items:flex-end;flex-direction:column;gap:10px;min-width:max-content}.runtime-control-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.runtime-control{min-width:78px}.runtime-group-head{width:100%;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer;transition:background .15s}.runtime-group-head:hover{background:rgba(45,167,255,.035)}.runtime-group-head>b{display:flex;align-items:center;gap:8px}.runtime-group-head i{font-style:normal;color:#52728d;transition:transform .15s}.runtime-group.collapsed .runtime-group-head i{transform:rotate(180deg)}.runtime-group.collapsed .runtime-fields,.runtime-group.collapsed .runtime-toggles{display:none}.webhook-panel{padding:18px}.webhook-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.webhook-panel-head h3{margin:0 0 4px}.webhook-secure-pill{font:800 9px var(--mono);letter-spacing:.1em;color:#73d9ae;border:1px solid rgba(34,211,139,.25);background:rgba(34,211,139,.06);border-radius:999px;padding:6px 9px;white-space:nowrap}.webhook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.webhook-card{padding:14px;border-radius:13px}.webhook-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.webhook-card-top strong{display:block;text-transform:capitalize;font-family:var(--display);font-size:14px;margin-top:2px}.webhook-card-top small{display:block;color:var(--mvr-line-24);font-size:10px;margin-top:4px}.webhook-secret-wrap{margin:12px 0 8px;padding:10px 11px;border:1px solid var(--mvr-surface-60);border-radius:9px;background:#050c14;display:flex;align-items:center;gap:8px;min-width:0;cursor:help}.webhook-secret-label{font-size:9px;color:#63819b;white-space:nowrap}.webhook-secret-value{font:10px var(--mono);color:#91b3ce;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;filter:blur(4px);transition:filter .15s,color .15s}.webhook-secret-wrap:hover .webhook-secret-value,.webhook-secret-wrap.revealed .webhook-secret-value{filter:none;color:#d8edff}.webhook-edit-input{width:100%;font-family:var(--mono);font-size:10px}.webhook-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:9px;color:#526b82;font-size:9px}.webhook-dot{width:7px;height:7px;border-radius:50%;background:#33495c}.webhook-dot.on{background:var(--mvr-accent-83);box-shadow:0 0 9px rgba(34,211,139,.45)}.webhook-card>.switch{margin-top:10px}
@media(max-width:900px){.runtime-head-actions{align-items:flex-start;width:100%}.runtime-control-buttons{justify-content:flex-start}.webhook-grid{grid-template-columns:1fr}}@media(max-width:600px){.webhook-panel-head{flex-direction:column}.webhook-secret-wrap{display:block}.webhook-secret-label{display:block;margin-bottom:5px}.webhook-secret-value{display:block}.runtime-control-buttons .btn{flex:1}}

/* MVR 17.2.54 — WaveShield-inspired settings polish */
.settings-pro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px;margin-top:14px}
.settings-panel{border:1px solid var(--mvr-surface-8);border-radius:15px;background:linear-gradient(180deg,#06111d 0%,#040c15 100%);box-shadow:0 20px 60px rgba(0,0,0,.28);overflow:hidden;position:relative}
.settings-panel:before{content:'';position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--mvr-accent-54),#5bdcff,transparent);opacity:.85}
.settings-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 20px 16px;border-bottom:1px solid #102338;background:linear-gradient(180deg,rgba(16,42,68,.18),transparent)}
.settings-panel-head h3{font-family:var(--display);font-size:19px;margin:5px 0 4px;letter-spacing:-.02em}.settings-panel-head p{margin:0;color:#7189a2;font-size:11px;line-height:1.55;max-width:650px}
.info-help{position:relative;width:23px;height:23px;flex:0 0 23px;border:1px solid #244562;border-radius:50%;background:var(--mvr-surface-61);color:#76bff1;display:inline-grid;place-items:center;font:800 11px var(--mono);cursor:help;padding:0;transition:.15s}.info-help:hover,.info-help:focus-visible{color:var(--mvr-text-1);border-color:#3aa8ff;background:#0b2032;box-shadow:0 0 0 3px rgba(47,143,255,.1)}
.info-help:after{content:attr(data-tip);position:absolute;right:0;top:calc(100% + 9px);width:290px;padding:10px 11px;border:1px solid #234664;border-radius:10px;background:var(--mvr-surface-108);color:#cfe3f5;box-shadow:0 18px 42px rgba(0,0,0,.5);font:500 10px/1.55 var(--font);text-align:left;opacity:0;visibility:hidden;transform:translateY(-3px);transition:.14s;z-index:80;pointer-events:none}
.info-help:hover:after,.info-help:focus-visible:after{opacity:1;visibility:visible;transform:translateY(0)}
.small-info{width:18px;height:18px;flex-basis:18px;font-size:9px;vertical-align:middle}
.settings-list{padding:0 16px 16px}.settings-row{padding:13px 0;border-bottom:1px solid #0d1e2f;position:relative}.settings-row:last-child{border-bottom:0}.settings-row-copy{min-width:0}.settings-row-title{display:flex;align-items:center;gap:7px;color:#dcecf9;font-size:12px;font-weight:700}.settings-row-copy>small{display:block;margin-top:4px;color:var(--mvr-line-1);font-size:9px;line-height:1.45}.settings-row-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.webhook-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}.webhook-setting-row .compact-secret,.webhook-setting-row .webhook-edit-input{grid-column:1/-1}.webhook-setting-row>.switch{grid-column:2;grid-row:1;align-self:center}.compact-secret{margin:0;min-height:38px;padding:8px 10px}.compact-secret .webhook-secret-value{font-size:9px}.webhook-edit-input{padding:9px 10px;font-size:10px}.channel-pill{white-space:nowrap}
.ban-settings-body{padding:18px 20px 20px}.ban-message-block>small{display:block;margin:5px 0 10px;color:var(--mvr-line-23);font-size:10px}.ban-message-input{min-height:118px;font-size:12px;line-height:1.6;background:#020a12;border-color:#17324c}.ban-message-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}.field-hint{color:#5d7790;font:9px var(--mono)}.field-hint code{padding:3px 5px;border:1px solid #18334c;border-radius:5px;color:#79bff0;background:var(--mvr-surface-61)}.char-count{color:#5c7791;font:9px var(--mono)}.ban-message-buttons{display:flex;gap:7px}.ban-info-strip{display:flex;align-items:flex-start;gap:10px;margin-top:15px;padding:11px 12px;border:1px solid rgba(47,143,255,.14);background:rgba(47,143,255,.045);border-radius:10px}.ban-info-dot{width:7px;height:7px;flex:0 0 7px;margin-top:4px;border-radius:50%;background:#39a9ff;box-shadow:0 0 12px rgba(57,169,255,.7)}.ban-info-strip b{display:block;color:#a8d8ff;font-size:10px}.ban-info-strip small{display:block;color:#5e7891;font-size:9px;line-height:1.5;margin-top:3px}
.cfg-name .info-help{margin-left:2px}
@media(max-width:1000px){.settings-pro-grid{grid-template-columns:1fr}.info-help:after{right:auto;left:0}}

/* MVR profile/account menu — replaces the old single Sign out row */
.profile-menu-wrap{position:relative;margin-top:2px}
.profile-chip{width:100%;display:grid;grid-template-columns:36px 1fr 16px;gap:9px;align-items:center;text-align:left;border:1px solid transparent;background:transparent;color:var(--text);border-radius:11px;padding:7px 7px;cursor:pointer;transition:.16s}
.profile-chip:hover,.profile-chip[aria-expanded="true"]{background:rgba(47,143,255,.12);border-color:rgba(47,143,255,.28)}
.profile-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#0b1d30;border:1px solid #1c4669;color:var(--mvr-text-10);font-size:12px;font-weight:800;background-size:cover;background-position:center}
.profile-avatar.large{width:38px;height:38px}
.profile-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.profile-meta b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-meta small,.profile-head small{font-size:9px;color:#7891aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-chevron{color:#7fa5c5;font-size:13px;transition:.15s}.profile-chip[aria-expanded="true"] .profile-chevron{transform:rotate(180deg)}
.profile-menu{position:fixed;left:0;top:0;width:250px;z-index:99999;background:var(--mvr-surface-109);border:1px solid var(--mvr-accent-84);border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.58),0 0 0 1px rgba(47,143,255,.05);overflow:visible;padding:7px}
.profile-head{display:flex;align-items:center;gap:10px;padding:8px 8px 10px;border-bottom:1px solid #15314a;margin-bottom:5px}.profile-head b{display:block;font-size:12px}.profile-head small{display:block;margin-top:2px}
.profile-item{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--mvr-text-54);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;box-sizing:border-box}.profile-item:hover,.profile-item:focus-visible{background:var(--mvr-accent-85);color:var(--mvr-text-1);outline:none}.profile-item.danger{color:#ff9aa6}.profile-item.danger:hover{background:rgba(244,63,94,.13);color:#ffb2bb}.profile-item.has-sub{cursor:pointer}
.profile-submenu{position:fixed;left:0;top:0;width:190px;z-index:100000;background:var(--mvr-surface-109);border:1px solid var(--mvr-accent-84);border-radius:9px;box-shadow:0 24px 60px rgba(0,0,0,.58);padding:6px;max-height:520px;overflow:auto}
.profile-sub-title{padding:6px 8px;color:var(--mvr-line-22);font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.profile-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border:0;background:transparent;color:var(--mvr-text-54);border-radius:6px;text-align:left;font-size:12px;cursor:pointer}.profile-option:hover{background:var(--mvr-accent-85);color:var(--mvr-text-1)}.profile-check{color:#79c9ff;font-weight:900}
@media(max-width:760px){.profile-menu{width:230px}.profile-submenu{width:min(240px,calc(100vw - 16px));} }

/* User-selectable light theme. The account menu itself stays high-contrast like the rest of MVR. */
html[data-theme="light"]{color-scheme:light}
html[data-theme="light"] body{background:#eef4fa;color:var(--mvr-surface-27)}
html[data-theme="light"] .sidebar{background:linear-gradient(180deg,var(--mvr-text-41),#edf4fb);border-right-color:var(--mvr-text-55)}
html[data-theme="light"] .sidebar-bottom{background:var(--mvr-text-56);border-top-color:var(--mvr-text-28)}
html[data-theme="light"] .nav a{color:#49647e}
html[data-theme="light"] .nav a:hover{background:#e4eef8;color:var(--mvr-surface-27)}
html[data-theme="light"] .nav a.active{background:linear-gradient(90deg,rgba(47,143,255,.18),rgba(47,143,255,.05));color:var(--mvr-surface-27)}
html[data-theme="light"] .content{color:var(--mvr-surface-27)}
html[data-theme="light"] .winbar{background:rgba(247,251,255,.9);border-bottom-color:var(--mvr-text-28)}
html[data-theme="light"] .page{color:var(--mvr-surface-27)}
html[data-theme="light"] .panel,html[data-theme="light"] .card,html[data-theme="light"] .surface,html[data-theme="light"] .table-wrap{background:#f8fbfe;border-color:var(--mvr-text-55)}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:var(--mvr-text-1);color:#102238;border-color:#c5d5e5}
html[data-theme="light"] .profile-menu,html[data-theme="light"] .profile-submenu{background:#f8fbff;border-color:#b8ccdf;box-shadow:0 24px 70px rgba(20,45,70,.2)}
html[data-theme="light"] .profile-item,html[data-theme="light"] .profile-option{color:var(--mvr-surface-8)}
html[data-theme="light"] .profile-item:hover,html[data-theme="light"] .profile-item:focus-visible,html[data-theme="light"] .profile-option:hover{background:var(--mvr-text-8);color:#06213b}
html[data-theme="light"] .profile-head{border-bottom-color:var(--mvr-text-28)}
html[data-theme="light"] .profile-head small,html[data-theme="light"] .profile-sub-title{color:var(--mvr-line-26)}
html[data-theme="light"] .profile-chip{color:var(--mvr-surface-8)}
html[data-theme="light"] .profile-chip:hover,html[data-theme="light"] .profile-chip[aria-expanded="true"]{background:rgba(47,143,255,.1);border-color:rgba(47,143,255,.3)}
html[data-theme="light"] .profile-meta small{color:var(--mvr-line-26)}
/* Keep the account menu dark and consistent even when the browser reports a light preference. */
html[data-theme="dark"]{color-scheme:dark}

/* Editable webhook controls */
.webhook-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px 16px}.webhook-setting-card{border:1px solid #122a41;background:linear-gradient(180deg,#081522,var(--mvr-surface-79));border-radius:12px;padding:13px}.webhook-setting-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.webhook-setting-head b{display:block;font-family:var(--display);font-size:13px;color:var(--mvr-text-8)}.webhook-setting-head small{display:block;color:#607990;font-size:9px;line-height:1.4;margin-top:3px}.webhook-secret-line{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px;padding:8px 9px;border:1px solid #10253a;border-radius:8px;background:#040b12}.webhook-secret-line>span:first-child{color:#58738d;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.webhook-masked{font:9px var(--mono);color:#7897b0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;filter:blur(2.5px);transition:filter .15s}.webhook-masked.revealed{filter:none;color:var(--mvr-text-57)}.webhook-setting-input{margin-top:9px;font-size:10px;font-family:var(--mono)}.webhook-setting-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin-top:9px}.webhook-setting-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:7px}.webhook-setting-foot .muted{font-size:8px;opacity:.75}@media(max-width:900px){.webhook-settings-grid{grid-template-columns:1fr}}


/* MVR 17.2.57 — responsive command-center shell */
.win-dots,.winbar-right{display:none!important}
.rail-toggle{margin-left:auto;width:28px;height:28px;border:1px solid var(--line3);border-radius:8px;background:#081321;color:#86b9df;display:grid;place-items:center;cursor:pointer;font-weight:900;flex:0 0 auto}
.rail-toggle:hover{border-color:var(--accent);color:var(--mvr-text-1);background:var(--mvr-surface-107)}
.app.rail{grid-template-columns:76px minmax(0,1fr)}
.app.rail .brand-row{justify-content:center;padding-left:4px;padding-right:4px}
.app.rail .brand{display:none}
.app.rail .rail-toggle{margin:0}
.app.rail .searchbox,.app.rail .nav-section,.app.rail .nav-label,.app.rail .server-picker-wrap,.app.rail .side-status,.app.rail .profile-meta,.app.rail .profile-chevron{display:none!important}
.app.rail .nav a{justify-content:center;padding-left:8px;padding-right:8px}
.app.rail .nav a .nav-icon{width:auto}
.app.rail .sidebar-scroll{padding-left:8px;padding-right:8px}
.mobile-sidebar-shade{display:none}
.table{width:100%;border-collapse:collapse;table-layout:fixed}
.table td{padding:9px 10px;border-bottom:1px solid var(--line2);vertical-align:top;overflow-wrap:anywhere}
img,video,svg,canvas{max-width:100%}
input,select,textarea{max-width:100%}
@media(max-width:900px){
  .app{grid-template-columns:1fr!important}
  .sidebar{width:min(300px,88vw);position:fixed;left:0;top:0;height:100dvh;transform:translateX(-105%);transition:transform .2s ease;z-index:1001}
  .sidebar.open{transform:translateX(0)}
  .mobile-sidebar-shade{position:fixed;inset:0;border:0;background:rgba(0,0,0,.58);z-index:1000;display:block;opacity:0;visibility:hidden;transition:.18s;backdrop-filter:blur(2px)}
  .mobile-sidebar-shade.show{opacity:1;visibility:visible}
  .mobile-menu{display:inline-flex!important;position:fixed;top:12px;left:12px;z-index:1100;min-width:42px;min-height:38px;align-items:center;justify-content:center}
  .page{width:100%;max-width:none;padding:68px 14px 42px}
  .topbar,.wave-head{padding-left:0;padding-right:0;flex-direction:column;gap:12px}
  .topbar>*,.wave-head>*{max-width:100%;width:100%}
  .topbar .page-tools,.wave-head>div:last-child{display:flex;flex-wrap:wrap}
  .grid,.grid-3,.grid-2,.wave-main-grid,.wave-two-col,.settings-pro-grid{grid-template-columns:1fr!important}
  .wave-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .owner-license-table,.adm-table{min-width:760px}
  .owner-table-scroll,.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .server-picker-menu{position:fixed!important;left:12px!important;right:12px!important;top:120px!important;max-width:none!important}
  .profile-menu{max-width:calc(100vw - 16px)}
  .info-help:after{position:fixed;left:12px;right:12px;bottom:12px;top:auto;width:auto;max-width:none}
}
@media(max-width:600px){
  .page{padding-left:11px;padding-right:11px}
  .wave-kpis{grid-template-columns:1fr!important}
  .wave-panel-head,.telemetry-head{flex-direction:column;align-items:flex-start}
  .wave-panel-head .btn,.telemetry-actions{width:100%}
  .telemetry-actions{flex-wrap:wrap}
  .chart-range{width:100%}.chart-range button{flex:1}
  .card,.wave-panel{border-radius:12px}
  .btn{min-height:38px}
  .form-grid{grid-template-columns:1fr!important}
}

/* MVR 17.2.68 — keep identity/profile controls in the bottom-left sidebar; the top-right circular avatar was visually noisy. */
.topbar #avatar,.wave-head #avatar{display:none!important}
.sidebar-bottom .profile-menu-wrap{display:block}

/* 17.2.72 — phone fixes for the owner access / add-customer / license modals.
   Keeps the footer action button (Grant / Create) reachable on small screens. */
@media (max-width:640px){
  .owner-modal-backdrop{align-items:flex-start;justify-content:center;padding:12px;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .owner-modal{width:100%;max-height:calc(100dvh - 24px)}
  .owner-modal-head{padding:16px 16px 12px}
  .owner-modal-head h2{font-size:18px}
  .owner-modal-body{padding:16px}
  .owner-modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,rgba(7,17,27,0),var(--mvr-surface-11))}
  .owner-modal-foot .btn{flex:1 1 auto;justify-content:center}
  .owner-duration-grid{grid-template-columns:repeat(2,1fr)}
}
