/* admin.client HUD v3.1 (DESIGN; spec 11 §7). Loaded after hud3.css. What changed and why:
   - the corner emblem (old-school Dota) replaces ≡ MENU; on the dashboard it turns into a back arrow, same spot;
   - the bottom frame is one joined composition (minimap | console + admin actions), on a 1280 × 660 design canvas;
   - the console's tabs leave the portrait, abilities get room for their names, the self view is one status line;
   - fixes: the top bar's seat tiles inherited `.tabs button` padding and 60 % opacity; modal z-order; locked state. */

/* ---------- top-left corner: the emblem (game ⇄ dashboard) and the settings cog ---------- */
.tabs .dashbtn, .tabs .setbtn { width: 38px; height: 38px; padding: 0; display: grid; place-items: center; cursor: pointer; opacity: 1; color: var(--trim);
  background: radial-gradient(ellipse at 50% 35%, #2a1a13, #070404 75%); border: 1px solid var(--trim-dim); box-shadow: 0 0 0 1px #000, inset 0 0 10px #000; }
.tabs .setbtn { font-size: 17px; line-height: 1; }
.tabs .dashbtn:hover, .tabs .setbtn:hover { border-color: var(--trim); color: #f2d898; box-shadow: 0 0 0 1px #000, 0 0 10px rgba(200,164,90,.35), inset 0 0 10px #000; }
.tabs .dashbtn svg { display: block; }
.tabs .dashbtn .em-back { display: none; }
body.dash .tabs .dashbtn { color: var(--hot); border-color: var(--red); background: linear-gradient(180deg, #3a160a, #120604); }
body.dash .tabs .dashbtn .em-game { display: none; }
body.dash .tabs .dashbtn .em-back { display: block; }

/* ---------- top bar centre: seat portraits in game, the dashboard's tab rail on the dashboard ---------- */
.tabs .topcentre { display: flex; align-items: flex-start; justify-content: center; align-self: stretch; }
body.dash .tabs .tb-seats { display: none; }
body:not(.dash) .tabs .dash-rail-host { display: none; }
.tabs button.seat { padding: 0; opacity: 1; border-bottom: 0; }
.seat .nm { font-size: 9.5px; letter-spacing: .05em; overflow: visible; text-overflow: clip; }
.seat .nm.long { font-size: 8px; letter-spacing: 0; }
.seat .nm.det { font-family: var(--mono); font-size: 9px; letter-spacing: 0; color: var(--esp-hot); }
.adminbox.details { height: auto; }
.seat.empty .nm { opacity: .55; }

/* ---------- bottom frame: minimap | (gap) | console + admin actions | (gap) ---------- */
.frame { grid-template-columns: calc(200px * var(--mm)) minmax(0, 1fr) minmax(0, 960px) 246px minmax(0, 1fr); }
.r-minimap { grid-column: 1; height: calc(200px * var(--mm)); }
.r-console { grid-column: 3; padding: 0; }
.r-tools { grid-column: 4; }
.r-console .unit { width: 100%; }
.r-query { bottom: calc(200px * var(--mm) + 16px); }

/* admin actions: a 3×3 inventory joined to the console's right edge, same height, one bevel */
.r-tools { height: 196px; margin: 0 6px 0 0; padding: 8px; gap: 0; justify-content: stretch; border-left: 0; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%); }
.tgrid { grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: 5px; height: 100%; }
.tool { height: auto; min-height: 0; gap: 4px; }
.tool span { font-size: 9px; letter-spacing: .08em; }
.tool kbd { font-size: 9px; line-height: 12px; }
.tool.locked { color: #9a8478; }
.tool.locked .ic { color: #7a6a52; }
.tool .lk { position: absolute; right: 3px; top: 3px; color: var(--warn); font-style: normal; }

/* ---------- console ---------- */
.unit:not(.seq) { grid-template-columns: 140px 138px minmax(0, 1fr) 168px; }
.r-console .unit:not(.seq) { height: 196px; }   /* a selected mob's header wraps (name, then SCOPES · ACT) and ability names take two lines */
.u-pf { margin: 10px 8px 10px 10px; }
.u-tabs { position: relative; top: auto; flex: none; border-top: 1px solid #3a2a1c; }
.u-tabs button { font-size: 9px; padding: 5px 0; background: #0b0605; display: inline-flex; align-items: center; justify-content: center; gap: 3px; }
.u-tabs button .ic { width: 10px; height: 10px; }
.u-pf .lvl { top: 4px; bottom: auto; }
.attr span { font-size: 9px; }
.attr b { font-size: 12px; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; line-height: 1.15; }
.u-main { padding: 10px 10px 6px; gap: 6px; }
.u-ctl button { height: 26px; padding: 0 12px; font-size: 11px; }
.u-ctl button.act { min-width: 86px; justify-content: center; box-shadow: 0 0 10px rgba(255,42,18,.35); }
.u-status { display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 4px 10px; font-family: var(--mono); font-size: 11.5px; color: var(--esp-hot);
  background: linear-gradient(90deg, rgba(54,182,255,.09), rgba(54,182,255,0) 70%); border: 1px solid #16242d; box-shadow: inset 0 0 10px #000; }
.u-status .ic { color: var(--esp); flex: none; }
.u-status span { min-width: 0; }
.u-status em { margin-left: auto; flex: none; white-space: nowrap; font-style: normal; font-family: var(--label); font-size: 9.5px; letter-spacing: .08em; color: var(--trim); text-align: right; }
.u-status span { flex: 1 1 auto; }
.abilities { gap: 5px; padding-bottom: 24px; }
.ab { width: 54px; height: 54px; }
.ab small { top: calc(100% + 3px); bottom: auto; width: 64px; max-width: none; font-size: 8.5px; line-height: 1.05; white-space: normal; overflow: visible; text-overflow: clip; opacity: .85; }
.ab kbd { font-size: 9.5px; }
.u-inv.self .self-note { font-size: 11px; }
.slot span { font-size: 8.5px; }

/* ---------- modal stacking: confirms and context menus always on top ---------- */
.r-modal .timeline { z-index: 1; } .r-modal .scoreboard { z-index: 2; } .r-modal .setmodal { z-index: 3; }
.r-modal .confirm { z-index: 5; } .r-modal .ctxmenu { z-index: 6; }

/* ---------- not signed in: nothing at all; dashboard open: the in-game HUD is not drawn ---------- */
.hud2.locked .r-modal, .hud2.locked .dash, .hud2.locked .dash-rail-host { visibility: hidden !important; }
.hud2.dash .world .overlay { visibility: hidden !important; }
