body.adminpage{overflow:auto; background:var(--ground)}
.lockwrap{min-height:100dvh; display:grid; place-items:center; padding:24px}
.lockcard{max-width:400px; width:100%; text-align:center; border-radius:24px}
.lockcard h1{font-size:16px; margin-bottom:6px}
.lockicon{width:52px;height:52px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;
  background:var(--glass-2);border:1px solid var(--glass-brd)}
.ahead{display:flex; align-items:center; gap:18px; padding:16px 24px; flex-wrap:wrap;
  border-bottom:1px solid var(--line); background:var(--panel); position:sticky; top:0; z-index:5}
.ahead h1{font-size:17px}
.ahead .sub{font-size:11px; color:var(--ink-3); margin-top:2px}
.abody{padding:20px 24px 40px; max-width:1600px; margin:0 auto}
.agrid{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr); gap:16px; align-items:start}
@media (max-width:1000px){.agrid{grid-template-columns:1fr}}
.atab{display:block}
.badge{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;
  border-radius:100px;background:var(--critical);color:#fff;font-size:9.5px;margin-left:5px}
.steps{margin:0;padding-left:16px;font-size:11.5px;color:var(--ink-2);line-height:1.65}
.steps li{margin-bottom:7px}
.steps b{color:var(--ink)}
.mono{font-family:"IBM Plex Mono",monospace}
.pickmap{height:260px;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.sw{position:relative;width:34px;height:20px;border-radius:100px;border:1px solid var(--glass-brd);
  background:var(--sunk);cursor:pointer;transition:background .2s;vertical-align:middle}
.sw::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;
  background:var(--ink-3);transition:transform .22s var(--spring),background .2s}
.sw[aria-pressed="true"]{background:var(--accent)}
.sw[aria-pressed="true"]::after{transform:translateX(14px);background:#fff}
.qrow{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;
  background:var(--glass-2);border:1px solid var(--glass-brd);margin-bottom:8px}
.qrow img{width:76px;height:58px;object-fit:cover;border-radius:9px;border:1px solid var(--line);flex:none}
.qmeta{min-width:0;flex:1}
.qmeta .qn{font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qmeta .qd{font-size:10.5px;color:var(--ink-3);margin-top:2px}
.qact{display:flex;gap:6px;flex:none}
#stTable td{vertical-align:middle}
.danger{color:var(--critical)}
.field .flabel{font-size:9.5px;color:var(--ink-3);font-family:"IBM Plex Mono",monospace;
  letter-spacing:.06em;text-transform:uppercase}
.field .seg{align-self:flex-start}
.btnrow{display:flex;gap:8px;align-items:center}
.btnrow .btn{flex:1}
.rowact{display:flex;gap:6px;justify-content:flex-end}
.movewho{padding:10px 12px;border-radius:12px;background:var(--glass-2);
  border:1px solid var(--glass-brd)}
.movewho .mw-name{font-size:13px;font-weight:500}
.movewho .mw-sub{font-size:10.5px;color:var(--ink-3);margin-top:3px}
#undoMove{margin-top:8px}
#posCard{scroll-margin-top:84px}
#posCard.moving{box-shadow:0 0 0 1.5px var(--accent)}
.coords{font-size:10px;color:var(--ink-3);margin-top:2px}
