/* ═══════════════════════════════════════════════════════════════════════════
   game.css — Game canvas, HUD, CTF, gremlins, D-pad, admin modal,
              game mode buttons, game sidebar, chaos mode
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── CTF container ───────────────────────────────────────────────── */
#ctf-container{position:fixed;top:58px;left:0;right:0;bottom:72px;z-index:2050;background:#060c1a}
#ctf-canvas{display:block;width:100%;height:100%;cursor:default}
@keyframes ctf-flag-float{0%{transform:translateY(0)}100%{transform:translateY(-8px)}}

/* ── Block nav during active game ────────────────────────────────── */
body.nrt-game-active .tabs{pointer-events:none;opacity:.4}
body.nrt-game-active .tab-badge{display:none}
body.nrt-ctf-active #nrt-app,body.nrt-lp-active #nrt-app{pointer-events:none;}

/* ── Game canvas / HUD ───────────────────────────────────────────── */
#game-canvas-wrap{position:fixed;top:58px;left:0;right:0;bottom:80px;z-index:2000;display:none;background:#000;flex-direction:row}
#game-main-area{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column}
#game-sidebar{width:216px;flex-shrink:0;background:rgba(0,0,0,.85);border-left:1px solid #1a2d1a;display:flex;flex-direction:column;gap:8px;padding:8px;align-items:center}
@media(max-width:768px){#game-sidebar{display:none}}
#game-canvas-wrap.show{display:flex}
#game-canvas{display:block;width:100%;height:100%;image-rendering:pixelated;min-height:0;flex:1}
#game-hud{position:absolute;top:4px;left:4px;right:4px;display:flex;gap:6px;align-items:flex-start;pointer-events:none;flex-wrap:wrap}
#game-title-bar{background:rgba(0,0,0,.7);border:1px solid var(--border);border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--accent)}
#game-controls-bar{background:rgba(0,0,0,.7);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:11px;color:var(--text3)}
#game-minimap{border:1px solid #1a4a20;border-radius:6px;background:#010306;display:block}
#minimap-zoom{display:flex;flex-direction:row;gap:4px;justify-content:center}
#minimap-zoom button{background:rgba(0,0,0,.6);border:1px solid var(--border);border-radius:4px;color:var(--text2);font-size:11px;width:20px;height:20px;cursor:pointer;padding:0;line-height:1}
#minimap-zoom button:hover{background:rgba(14,165,233,.3)}
#game-xp-bar{background:rgba(0,0,0,.7);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:11px;color:var(--text3);text-align:center;width:100%}
#boss-btn{display:none;pointer-events:all;z-index:2300}
#boss-btn.show{display:block}
#chaos-overlay{position:fixed;top:58px;left:0;right:0;bottom:0;z-index:2100;display:none;cursor:crosshair}
#chaos-overlay.show{display:block}
.chaos-grabbed{pointer-events:none!important;outline:3px dashed var(--chaos-color,var(--accent))!important;outline-offset:3px!important;filter:hue-rotate(40deg) brightness(1.12)!important;cursor:help!important;z-index:2200!important;box-shadow:0 0 16px var(--chaos-color,var(--accent)),inset 0 0 8px rgba(255,255,255,.05)!important;pointer-events:none!important}
.chaos-label{position:fixed;z-index:2200;background:rgba(239,68,68,.9);color:white;font-size:11px;padding:2px 8px;border-radius:4px;pointer-events:none;white-space:nowrap}

/* ── Gremlins ────────────────────────────────────────────────────── */
.gremlin{position:fixed;z-index:2200;cursor:pointer;user-select:none;pointer-events:all;padding:10px;box-sizing:content-box}
.gremlin.g-flee{pointer-events:none}
.g-inner{display:inline-block;animation:gremlin-bob .5s ease-in-out infinite;transform-origin:center bottom;filter:drop-shadow(0 3px 8px rgba(34,197,94,.5))}
.gremlin:not(.is-hamster):hover .g-inner{filter:drop-shadow(0 3px 14px rgba(34,197,94,.9)) brightness(1.15)}
@keyframes gremlin-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.gremlin-badge{position:fixed;z-index:2200;pointer-events:none;font-size:10px;font-weight:700;color:#22c55e;text-shadow:0 0 6px #22c55e;animation:xp-float-up 1.2s ease forwards}
#gremlin-counter{position:fixed;bottom:30px;right:16px;z-index:3000;font-size:11px;color:var(--text4);background:rgba(0,0,0,.7);border:1px solid var(--border);border-radius:20px;padding:3px 10px;display:none;pointer-events:none}
#gremlin-counter.gc-show{display:block}
/* Hamster variant */
.gremlin.is-hamster{padding:0}
.gremlin.is-hamster .g-inner{filter:drop-shadow(0 3px 8px rgba(240,192,128,.6))}
.gremlin.is-hamster:hover .g-inner{filter:none!important}
.gremlin.is-hamster svg{filter:drop-shadow(0 3px 8px rgba(240,192,128,.6))}
.gremlin.is-hamster:hover svg{filter:drop-shadow(0 3px 14px rgba(240,192,128,.9)) brightness(1.12)}
/* CTF gremlin z-index */
.ctf-gremlin{z-index:2250!important}
.lp-gremlin{z-index:2120!important;outline:none}
@keyframes ctf-flag-float{0%{transform:translateY(0)}100%{transform:translateY(-8px)}}

/* ── Bottom HUD ──────────────────────────────────────────────────── */
#game-bottom-hud{
  position:fixed;bottom:0;left:0;right:0;z-index:2400;
  display:none;align-items:stretch;justify-content:stretch;
  background:linear-gradient(135deg,#0a0e1a 0%,#0d1020 50%,#0a0e1a 100%);
  border-top:1px solid rgba(99,102,241,.3);
  box-shadow:0 -4px 32px rgba(0,0,0,.6),0 -1px 0 rgba(99,102,241,.2) inset;
  height:72px;
}
body.nrt-game-active #game-bottom-hud{display:flex}

/* Left section — player orb */
.ghud-left-orb{
  width:180px;flex-shrink:0;display:flex;align-items:center;gap:10px;
  padding:8px 14px;
  border-right:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.25);
}
.ghud-orb-ring{
  width:48px;height:48px;border-radius:50%;flex-shrink:0;
  background:radial-gradient(circle at 35% 35%,#4f46e5 0%,#1e1b4b 60%,#0c0a1e 100%);
  border:2px solid rgba(99,102,241,.7);
  box-shadow:0 0 12px rgba(99,102,241,.4),inset 0 0 8px rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;
  animation:orb-pulse 3s ease-in-out infinite;
}
@keyframes orb-pulse{0%,100%{box-shadow:0 0 8px rgba(99,102,241,.3),inset 0 0 8px rgba(0,0,0,.5)}50%{box-shadow:0 0 20px rgba(99,102,241,.6),0 0 40px rgba(99,102,241,.2),inset 0 0 8px rgba(0,0,0,.5)}}
.ghud-orb-inner{display:flex;flex-direction:column;align-items:center;line-height:1}
.ghud-level-num{font-size:17px;font-weight:900;color:#e0e7ff;font-family:ui-monospace,monospace;letter-spacing:-.02em}
.ghud-level-lbl{font-size:7px;letter-spacing:.1em;color:rgba(165,180,252,.6);text-transform:uppercase;font-weight:700}
.ghud-orb-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ghud-orb-name{font-size:11px;font-weight:700;color:#e0e7ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ghud-orb-title{font-size:10px;color:rgba(165,180,252,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}
.ghud-orb-kills{font-size:10px;color:rgba(165,180,252,.5);display:flex;align-items:center;gap:4px}
.ghud-orb-kills span{color:#f59e0b;font-weight:700}

/* Center section */
.ghud-center{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:6px 20px;min-width:0;
}
.ghud-mode-name{
  font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(165,180,252,.5);
}
.ghud-title-name{
  font-size:11px;font-weight:600;color:rgba(224,231,255,.7);letter-spacing:.04em;
}

/* XP bar */
.ghud-xp-track{
  width:100%;max-width:280px;height:8px;
  background:rgba(0,0,0,.4);border:1px solid rgba(99,102,241,.25);
  border-radius:4px;position:relative;overflow:hidden;
  box-shadow:inset 0 1px 4px rgba(0,0,0,.6);
}
.ghud-xp-fill{
  position:absolute;inset:0;right:auto;width:0%;height:100%;
  background:linear-gradient(90deg,#4338ca 0%,#6366f1 50%,#818cf8 85%,#a5b4fc 100%);
  transition:width .5s ease-out;border-radius:3px;
  box-shadow:0 0 8px rgba(99,102,241,.6);
}
.ghud-xp-label{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:800;letter-spacing:.1em;color:rgba(255,255,255,.9);
  text-shadow:0 0 4px rgba(0,0,0,1);text-transform:uppercase;pointer-events:none;z-index:2;
}

/* Center score/timer row */
.ghud-center-stats{
  display:flex;align-items:center;gap:10px;font-size:11px;color:rgba(165,180,252,.5);
  font-family:ui-monospace,monospace;flex-wrap:wrap;justify-content:center;
}
.ghud-center-sep{color:rgba(99,102,241,.3);font-size:10px}
.ghud-stat-val{font-size:13px;font-weight:700;color:#a5b4fc}
.ghud-stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:rgba(165,180,252,.4)}

/* Boss panel */
.ghud-boss-panel{width:100px;flex-shrink:0;display:flex;border-left:1px solid rgba(255,255,255,.06)}
.ghud-boss-panel #boss-btn{
  display:flex!important;width:100%;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;border:none;border-radius:0;margin:0;padding:8px 4px;
  background:linear-gradient(180deg,rgba(127,29,29,.8) 0%,rgba(69,10,10,.9) 100%);
  color:#fca5a5;font-size:10px;font-weight:800;cursor:pointer;
  letter-spacing:.06em;text-transform:uppercase;transition:background .15s;
  line-height:1.2;text-align:center;
  border-left:1px solid rgba(239,68,68,.25);
}
.ghud-boss-panel #boss-btn:hover{background:linear-gradient(180deg,rgba(185,28,28,.9) 0%,rgba(127,29,29,.95) 100%);}
.ghud-boss-panel #boss-btn .bk-icon{font-size:22px;line-height:1;filter:drop-shadow(0 0 4px rgba(248,113,113,.5))}
.ghud-boss-panel #boss-btn .bk-key{font-size:9px;color:rgba(252,165,165,.5);letter-spacing:.04em}
.ghud-boss-panel #boss-btn .bk-lbl{font-size:11px;font-weight:900}

/* Legacy orb classes (right orb removed) */
.ghud-right-orb{display:none}
.ghud-boss-btn{display:none}
.ghud-total-xp,.ghud-stat-row,.ghud-orb-ring-r{display:none}

/* ── Game mode buttons ───────────────────────────────────────────── */
.gm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px 0 8px}
.gm-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 6px 8px;background:var(--bg2);border:1.5px solid var(--border);border-radius:10px;cursor:pointer;text-align:center;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s;position:relative;overflow:hidden}
.gm-btn::before{content:'';position:absolute;inset:0;opacity:0;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 60%);transition:opacity .2s;pointer-events:none}
.gm-btn:hover{transform:translateY(-2px)}
.gm-btn:hover::before{opacity:1}
.gm-btn:active{transform:translateY(0) scale(.97)}
.gm-icon{font-size:22px;line-height:1;display:block}
.gm-name{font-size:11px;font-weight:700;color:var(--text);letter-spacing:.02em}
.gm-desc{font-size:9px;color:var(--text4);letter-spacing:.03em}
#gm-off{border-color:#374151}
#gm-off:hover{border-color:#6b7280;box-shadow:0 4px 12px rgba(107,114,128,.25)}
#gm-off.active{background:rgba(107,114,128,.18);border-color:#6b7280;box-shadow:0 0 0 2px rgba(107,114,128,.3)}
#gm-chaos{border-color:#7f1d1d}
#gm-chaos:hover{border-color:#ef4444;box-shadow:0 4px 12px rgba(239,68,68,.3)}
#gm-chaos.active{background:rgba(239,68,68,.15);border-color:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.35),0 0 18px rgba(239,68,68,.2)}
#gm-maze2{border-color:#14532d}
#gm-maze2:hover{border-color:#22c55e;box-shadow:0 4px 12px rgba(34,197,94,.3)}
#gm-maze2.active{background:rgba(34,197,94,.13);border-color:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.35),0 0 18px rgba(34,197,94,.2)}
#gm-maze3{border-color:#0c4a6e}
#gm-maze3:hover{border-color:#06b6d4;box-shadow:0 4px 12px rgba(6,182,212,.3)}
#gm-maze3.active{background:rgba(6,182,212,.13);border-color:#06b6d4;box-shadow:0 0 0 2px rgba(6,182,212,.35),0 0 18px rgba(6,182,212,.2)}
#gm-ctf{border-color:#78350f}
#gm-ctf:hover{border-color:#f59e0b;box-shadow:0 4px 12px rgba(245,158,11,.3)}
#gm-ctf.active{background:rgba(245,158,11,.13);border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.35),0 0 18px rgba(245,158,11,.2)}
#gm-lp{border-color:#4c1d95}
#gm-lp:hover{border-color:#a855f7;box-shadow:0 4px 12px rgba(168,85,247,.3)}
#gm-lp.active{background:rgba(168,85,247,.13);border-color:#a855f7;box-shadow:0 0 0 2px rgba(168,85,247,.35),0 0 18px rgba(168,85,247,.2)}
#gm-si{border-color:#1e3a5f}
#gm-si:hover{border-color:#3b82f6;box-shadow:0 4px 12px rgba(59,130,246,.3)}
#gm-si.active{background:rgba(59,130,246,.13);border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.35),0 0 18px rgba(59,130,246,.2)}
#gm-chaos.active .gm-icon{animation:gm-spin-slow 4s linear infinite}
@keyframes gm-spin-slow{to{transform:rotate(360deg)}}

/* ── Main game toggle button ──────────────────────────────────────── */
#game-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:rgba(34,197,94,.07);border:1.5px solid rgba(34,197,94,.25);border-radius:9px;padding:5px 11px;cursor:pointer;color:var(--text2);font-size:12px;font-weight:600;letter-spacing:.03em;transition:background .2s,border-color .2s,box-shadow .2s,color .2s;position:relative;overflow:hidden;margin-right:4px}
#game-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(34,197,94,.1) 0%,transparent 70%);opacity:0;transition:opacity .2s;pointer-events:none}
#game-btn:hover{color:var(--live);border-color:var(--live);box-shadow:0 0 0 1px rgba(34,197,94,.2),0 4px 12px rgba(34,197,94,.2)}
#game-btn:hover::before{opacity:1}
#game-btn:active{transform:scale(.96)}
#game-btn-icon{font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:transform .3s}
#game-btn-label{font-size:11px;font-weight:700;line-height:1}
body.nrt-game-active #game-btn[data-mode="0"]{border-color:#6b7280;box-shadow:0 0 0 1px #6b7280,0 0 8px rgba(107,114,128,.3)}
body.nrt-game-active[data-gmode="1"] #game-btn{background:rgba(239,68,68,.12);border-color:#ef4444;color:#ef4444;box-shadow:0 0 0 1px #ef4444,0 0 14px rgba(239,68,68,.35);animation:game-btn-pulse 2s ease-in-out infinite}
body.nrt-game-active[data-gmode="2"] #game-btn{background:rgba(34,197,94,.12);border-color:#22c55e;color:var(--live);box-shadow:0 0 0 1px #22c55e,0 0 14px rgba(34,197,94,.35);animation:game-btn-pulse 2s ease-in-out infinite}
body.nrt-game-active[data-gmode="3"] #game-btn{background:rgba(6,182,212,.12);border-color:#06b6d4;color:#06b6d4;box-shadow:0 0 0 1px #06b6d4,0 0 14px rgba(6,182,212,.35);animation:game-btn-pulse 2s ease-in-out infinite}
body.nrt-game-active[data-gmode="4"] #game-btn{background:rgba(245,158,11,.12);border-color:#f59e0b;color:#f59e0b;box-shadow:0 0 0 1px #f59e0b,0 0 14px rgba(245,158,11,.35);animation:game-btn-pulse 2s ease-in-out infinite}
body.nrt-game-active[data-gmode="5"] #game-btn{background:rgba(168,85,247,.12);border-color:#a855f7;color:#a855f7;box-shadow:0 0 0 1px #a855f7,0 0 14px rgba(168,85,247,.35);animation:game-btn-pulse 2s ease-in-out infinite}
@keyframes game-btn-pulse{0%,100%{box-shadow:0 0 0 1px currentColor,0 0 10px rgba(128,128,128,.3)}50%{box-shadow:0 0 0 2px currentColor,0 0 22px rgba(128,128,128,.5)}}
body.nrt-game-active #game-btn-icon{animation:game-icon-spin 3s linear infinite}
@keyframes game-icon-spin{0%{transform:rotate(0deg) scale(1)}45%{transform:rotate(15deg) scale(1.15)}55%{transform:rotate(-15deg) scale(1.15)}100%{transform:rotate(0deg) scale(1)}}

/* ── Game settings panel ─────────────────────────────────────────── */
.gm-settings{display:flex;flex-direction:column;gap:6px;padding:6px 0 4px}
.gm-setting{display:flex;align-items:center;gap:8px}
.gm-slbl{font-size:10px;color:var(--text3);min-width:64px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.gm-opts{display:flex;gap:4px;flex-wrap:wrap}
.gm-opt{font-size:10px;padding:3px 8px;border-radius:5px;cursor:pointer;font-weight:600;background:var(--bg2);border:1px solid var(--border);color:var(--text3);transition:background .15s,border-color .15s,color .15s}
.gm-opt.active{background:rgba(34,197,94,.15);border-color:var(--live);color:var(--live)}
.gm-opt:hover:not(.active){border-color:var(--text3);color:var(--text2)}
.gm-start-btn{width:100%;margin-top:10px;padding:9px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.04em;background:linear-gradient(135deg,#166534 0%,#15803d 100%);border:1.5px solid #22c55e;color:#fff;box-shadow:0 2px 12px rgba(34,197,94,.3);transition:box-shadow .2s,transform .1s}
.gm-start-btn:hover{box-shadow:0 4px 20px rgba(34,197,94,.5);transform:translateY(-1px)}
.gm-start-btn:active{transform:scale(.97)}
.gm-btn.gm-selected:not(.active){border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.35);background:rgba(245,158,11,.08)}
.gm-setting-colors{align-items:flex-start}
.gm-color-pickers{display:flex;gap:10px}
.gm-cpick{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--text3);cursor:pointer}
.gm-cpick input[type=color]{width:28px;height:22px;border:1px solid var(--border);border-radius:4px;padding:1px;background:var(--bg3);cursor:pointer}

/* ── Sidebar (game) ──────────────────────────────────────────────── */
.si-sidebar{padding:6px 4px;display:flex;flex-direction:column;gap:4px;height:100%;overflow-y:auto}
.si-sb-hdr{font-size:11px;font-weight:800;color:var(--text3);letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:2px 0 6px}
.si-sb-div{border-top:1px solid var(--border);margin:4px 0}
.si-upg{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.si-upg-dim{opacity:.35}
.si-upg-icon{font-size:20px;width:20px;text-align:center;flex-shrink:0}
.si-upg-info{flex:1;min-width:0}
.si-upg-name{font-size:11px;font-weight:700;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.si-pips{display:flex;gap:2px;margin-top:2px}
.si-pip{width:9px;height:5px;border-radius:2px;background:var(--border)}
.si-pip-on{background:#f59e0b}
.si-sb-stat{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text3);padding:2px 4px;gap:4px}
.si-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}
.si-bar-fill{height:100%;border-radius:3px;transition:width .3s}
.si-bar-shield{background:linear-gradient(90deg,#0891b2,#06b6d4)}
.si-bar-boss{background:linear-gradient(90deg,#7c3aed,#a855f7)}
.si-bomb-ct{font-weight:800;color:#f59e0b}
.si-boss-hp .si-sb-stat{flex-direction:column;align-items:flex-start;gap:2px}
.si-sb-hint{font-size:10px;color:var(--text4);text-align:center;line-height:1.6;padding:4px 0}

/* ── D-pad (touch) ───────────────────────────────────────────────── */
#game-dpad{position:fixed;bottom:90px;left:16px;z-index:2500;display:none;width:144px;height:144px}
body.nrt-game-active.touch-mode #game-dpad{display:block}
.dpad-btn{position:absolute;width:44px;height:44px;border-radius:8px;background:rgba(34,197,94,.18);border:1.5px solid rgba(34,197,94,.5);color:var(--live);font-size:16px;cursor:pointer;touch-action:none;display:flex;align-items:center;justify-content:center;transition:background .1s;user-select:none;-webkit-user-select:none}
.dpad-btn:active,.dpad-btn.pressed{background:rgba(34,197,94,.45);border-color:var(--live)}
.dpad-up{top:0;left:50px}
.dpad-down{top:100px;left:50px}
.dpad-left{top:50px;left:0}
.dpad-right{top:50px;left:100px}
.dpad-act{top:50px;left:50px;font-size:11px;border-radius:50%;color:#f59e0b;background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.5)}

/* ── Service Administration Modal ────────────────────────────────── */
.admin-intro{font-size:12px;color:var(--text3);padding:10px 0 12px;border-bottom:1px solid var(--border);line-height:1.6;margin-bottom:2px}
.admin-col-hdr{display:grid;grid-template-columns:20px 46px 1fr 64px 42px 26px;gap:10px;padding:10px 0 8px;font-size:10px;color:var(--text4);font-weight:700;text-transform:uppercase;letter-spacing:.06em;align-items:center;border-bottom:1px solid var(--border)}
.admin-svc-row{display:grid;grid-template-columns:20px 46px 1fr 64px 42px 26px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.admin-svc-row:last-child{border-bottom:none}
.admin-drag{color:var(--text4);font-size:13px;cursor:grab;user-select:none;text-align:center;line-height:1}
.admin-icon-box{width:46px;height:42px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .15s}
.admin-icon-box:focus-within{border-color:var(--accent)}
.admin-icon-box input{width:100%;height:100%;border:none;background:transparent;text-align:center;font-size:20px;padding:0;outline:none;cursor:text}
.admin-fields{display:flex;flex-direction:column;gap:5px;min-width:0}
.admin-sub{display:flex;gap:6px;align-items:center;min-width:0}
.admin-inp{background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:5px 8px;color:var(--text);font-size:13px;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}
.admin-inp:focus{border-color:var(--accent)}
.admin-inp.admin-sm{font-size:11px;color:var(--text3)}
.admin-key-pill{font-size:10px;font-family:monospace;color:var(--text4);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:3px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:150px;cursor:default;line-height:1.4}
.admin-cat-sel{background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:5px 4px;color:var(--text);font-size:11px;outline:none;width:100%;cursor:pointer;transition:border-color .15s}
.admin-cat-sel:focus{border-color:var(--accent)}
.admin-toggle{position:relative;display:block;width:36px;height:20px;cursor:pointer;margin:0 auto;flex-shrink:0}
.admin-toggle input{opacity:0;width:0;height:0;position:absolute}
.admin-track{position:absolute;inset:0;background:rgba(255,255,255,.12);border-radius:10px;transition:background .2s;display:block}
.admin-track::after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.admin-toggle input:checked+.admin-track{background:var(--accent)}
.admin-toggle input:checked+.admin-track::after{transform:translateX(16px)}
.admin-del{background:none;border:none;color:var(--text4);cursor:pointer;font-size:18px;padding:0;line-height:1;transition:color .15s;width:100%;text-align:center;display:block}
.admin-del:hover{color:#ef4444}
/* Admin drag-over highlight */
.admin-svc-row.drag-over{background:rgba(14,165,233,.08)!important;outline:2px dashed var(--accent);outline-offset:-2px;border-radius:6px}
