/* ════════════════════════════════════════════════════════════════
   Painel ADM do Paravexia — camada de design comum a todas as ferramentas.
   Estrutura e componentes no padrão do painel do Conexão (barra lateral fixa,
   rótulos de grupo, item ativo com barra, cards de 16 px, campos com anel de foco,
   tabelas com cabeçalho em rótulo); cores, fontes e elementos do Paravexia.
   Carregada por último em cada página, por isso pode sobrepor os estilos antigos.
   ════════════════════════════════════════════════════════════════ */
@font-face{font-family:Abaddon;src:url("/assets/fonts/main/Abaddon Light.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Abaddon;src:url("/assets/fonts/main/Abaddon Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Messy;src:url("/assets/fonts/title/Colorfiction - Messy.otf") format("opentype");font-weight:400;font-display:swap}

/* Paleta do elemento (nomes próprios: no painel --ink/--white são usados como texto/superfície). */
:root{--el-ink:#09050d;--el-night:#12091b;--el-deep:#1f112e;--el-accent:#a855f7;--el-bright:#c084fc;--accent-rgb:168,85,247;--bright-rgb:192,132,252;--mist-rgb:233,213,255;--el-gradient:linear-gradient(135deg,#8f3ce2,#bb6df9);--el-on:#fff}
html[data-element=desgraca]{--el-ink:#0b0203;--el-night:#160406;--el-deep:#29070b;--el-accent:#ff1029;--el-bright:#ff5362;--accent-rgb:255,16,41;--bright-rgb:255,83,98;--mist-rgb:255,217,221;--el-gradient:linear-gradient(135deg,#c90019,#ff3048)}
html[data-element=melancolia]{--el-ink:#050505;--el-night:#0c0c0d;--el-deep:#1b1b1e;--el-accent:#bdbdc4;--el-bright:#eeeef2;--accent-rgb:189,189,196;--bright-rgb:238,238,242;--mist-rgb:255,255,255;--el-gradient:linear-gradient(135deg,#74747b,#dedee3);--el-on:#0c0c0d}
html[data-element=perfidia]{--el-ink:#030303;--el-night:#070708;--el-deep:#121216;--el-accent:#ff3ebf;--el-bright:#67e8ff;--accent-rgb:255,62,191;--bright-rgb:103,232,255;--mist-rgb:245,231,255;--el-gradient:linear-gradient(100deg,#ff315e,#ffdf3e,#47ef73,#38d9ff,#9c55ff,#ff43c6)}

/* Tokens do painel — escuro (padrão). */
:root{
  color-scheme:dark;
  --a-bg:var(--el-ink);
  --a-side:color-mix(in srgb,var(--el-ink) 70%,#000);
  --a-card:color-mix(in srgb,var(--el-deep) 52%,var(--el-ink));
  --a-soft:color-mix(in srgb,var(--el-deep) 34%,var(--el-ink));
  --a-input:color-mix(in srgb,var(--el-deep) 22%,var(--el-ink));
  --a-hover:color-mix(in srgb,var(--el-deep) 80%,var(--el-night));
  --a-line:rgba(var(--mist-rgb),.11);
  --a-line-strong:rgba(var(--mist-rgb),.2);
  --a-text:#f3eef8;--a-dim:#c3b8cf;--a-faint:#8d8199;
  --a-accent:var(--el-accent);--a-accent-hi:var(--el-bright);
  --a-accent-soft:rgba(var(--accent-rgb),.12);--a-accent-line:rgba(var(--accent-rgb),.4);
  --a-good:#5fe38a;--a-good-bg:rgba(95,227,138,.1);--a-good-line:rgba(95,227,138,.35);
  --a-bad:#ff6b85;--a-bad-bg:rgba(255,107,133,.1);--a-bad-line:rgba(255,107,133,.35);
  --a-warn:#ffc94a;--a-warn-bg:rgba(255,201,74,.1);--a-warn-line:rgba(255,201,74,.35);
  --a-shadow:0 1px 0 rgba(255,255,255,.03) inset,0 10px 30px rgba(0,0,0,.35);
  --a-pop:0 18px 50px rgba(0,0,0,.55);
  --a-body:'Segoe UI Variable','Segoe UI',system-ui,-apple-system,sans-serif;
  --a-label:Abaddon,'Segoe UI',sans-serif;
  --a-display:Messy,Georgia,serif;
  --a-side-w:260px;
  /* Variáveis das telas antigas apontando para o sistema novo. */
  --paper:var(--a-bg);--white:var(--a-card);--ink:var(--a-text);--text:var(--a-text);--muted:var(--a-faint);--line:var(--a-line);--rule:var(--a-line);--accent:var(--a-accent-hi);--gold:var(--a-accent-hi);--green:var(--a-good);--red:var(--a-bad);--nav:var(--a-side);--panel:var(--a-card);
  --ui-bg:var(--a-bg);--ui-surface:var(--a-card);--ui-soft:var(--a-soft);--ui-text:var(--a-text);--ui-muted:var(--a-faint);--ui-border:var(--a-line);--ui-accent:var(--a-accent-hi)
}
/* Claro */
html[data-appearance=light]{
  color-scheme:light;
  --a-bg:#f4f1f8;--a-side:#ffffff;--a-card:#ffffff;--a-soft:#f6f3fa;--a-input:#fbfafd;--a-hover:#efe9f6;
  --a-line:#e3dcec;--a-line-strong:#cfc4dc;--a-text:#2b2038;--a-dim:#5b4d68;--a-faint:#857894;
  --a-accent-hi:var(--el-accent);--a-accent-soft:rgba(var(--accent-rgb),.1);--a-accent-line:rgba(var(--accent-rgb),.38);
  --a-good:#1f9d55;--a-bad:#d33a55;--a-warn:#b7791f;
  --a-shadow:0 1px 2px rgba(43,32,56,.05),0 8px 24px rgba(43,32,56,.06);--a-pop:0 18px 50px rgba(43,32,56,.18)
}
html[data-appearance=light][data-element=melancolia]{--el-accent:#4b4b52;--el-bright:#2a2a2f;--accent-rgb:75,75,82;--el-gradient:linear-gradient(135deg,#3a3a40,#6a6a72);--el-on:#fff}
html[data-appearance=light][data-element=perfidia]{--a-accent-hi:#d11f97}

/* ── Base ─────────────────────────────────────────── */
body.admin-unified{display:block;margin:0;padding-left:var(--a-side-w);min-height:100vh;font:400 14px/1.5 var(--a-body);color:var(--a-text);-webkit-font-smoothing:antialiased;
  background-color:var(--a-bg) !important;
  background-image:radial-gradient(900px 380px at 80% -80px,rgba(var(--accent-rgb),.09),transparent 70%),linear-gradient(rgba(var(--mist-rgb),.025) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--mist-rgb),.025) 1px,transparent 1px) !important;
  background-size:auto,44px 44px,44px 44px !important;background-attachment:fixed !important}
html[data-appearance=light] body.admin-unified{background-image:radial-gradient(900px 380px at 80% -80px,rgba(var(--accent-rgb),.07),transparent 70%) !important}
.admin-unified ::selection{background:var(--a-accent);color:var(--el-on)}
.admin-unified a{color:var(--a-accent-hi)}
.admin-unified :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--a-accent-hi) !important;outline-offset:2px}
.admin-unified [hidden]{display:none !important}
.admin-unified .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.admin-unified :is(h1,h2,h3,legend){color:var(--a-text)}
.admin-unified h2,.admin-unified h3{font-family:var(--a-body)}
.admin-unified ::-webkit-scrollbar{width:10px;height:10px}
.admin-unified ::-webkit-scrollbar-thumb{background:rgba(var(--mist-rgb),.16);border-radius:8px;border:2px solid var(--a-bg)}
.admin-skip{position:fixed;top:-80px;left:calc(var(--a-side-w) + 16px);z-index:100;padding:10px 14px;border-radius:10px;background:var(--a-accent);color:var(--el-on) !important;font-weight:700}
.admin-skip:focus{top:10px}

/* ── Barra lateral ───────────────────────────────── */
.admin-shell{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--a-side-w);display:flex;flex-direction:column;gap:18px;padding:20px 14px 16px;overflow-y:auto;color:var(--a-text);
  background:radial-gradient(300px 220px at 0 0,rgba(var(--accent-rgb),.13),transparent 70%),var(--a-side);border-right:1px solid var(--a-line)}
.admin-brand{display:flex;align-items:center;gap:12px;padding:0 6px;text-decoration:none;color:var(--a-text) !important}
.admin-brand__mark{width:auto;height:44px;filter:drop-shadow(0 0 10px rgba(var(--accent-rgb),.5))}
.admin-brand__name{display:block;width:auto;height:24px;margin-bottom:4px}
.admin-brand small{display:block;font-size:12px;color:var(--a-dim)}
html[data-element=desgraca] :is(.admin-brand__mark,.admin-brand__name){filter:hue-rotate(78deg) saturate(1.45) brightness(1.08)}
html[data-element=melancolia] :is(.admin-brand__mark,.admin-brand__name){filter:grayscale(1) brightness(1.8) contrast(1.15)}
html[data-appearance=light][data-element=melancolia] :is(.admin-brand__mark,.admin-brand__name){filter:grayscale(1) brightness(.45)}
html[data-element=perfidia] :is(.admin-brand__mark,.admin-brand__name){animation:aSpectrum 9s linear infinite}
@keyframes aSpectrum{to{filter:hue-rotate(360deg)}}
.tool-search{display:block}
.tool-search input{width:100%;height:38px;padding:0 12px 0 34px !important;border-radius:10px !important;border:1px solid var(--a-line) !important;color:var(--a-text) !important;font:inherit;
  background:var(--a-input) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23998aa8' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 11px center/15px no-repeat !important}
.tool-search input::placeholder{color:var(--a-faint)}
.admin-shell nav{display:flex;flex-direction:column;gap:4px;flex:1}
.admin-shell nav section{display:flex;flex-direction:column;gap:2px}
.admin-shell nav h2{margin:12px 8px 4px;font:700 10.5px/1.2 var(--a-label);letter-spacing:.14em;text-transform:uppercase;color:var(--a-accent-hi)}
.admin-shell nav a,.admin-shell nav button{display:flex;align-items:center;width:100%;min-height:36px;margin:0;padding:8px 10px;border:0 !important;border-radius:10px;background:transparent !important;color:var(--a-text) !important;font:600 13.5px/1.3 var(--a-body);text-align:left;text-decoration:none;cursor:pointer;box-shadow:none}
.admin-shell nav a:hover,.admin-shell nav button:hover{background:var(--a-hover) !important}
.admin-shell nav [aria-current=page]{background:var(--a-card) !important;box-shadow:inset 3px 0 0 var(--a-accent-hi),0 0 0 1px var(--a-line) !important;color:var(--a-text) !important}
.tool-empty{margin:4px 10px;font-size:13px;color:var(--a-faint)}
.admin-shell-tools{display:grid;gap:8px;margin-top:auto;padding:10px;border-radius:12px;background:var(--a-card);border:1px solid var(--a-line)}
.admin-shell-site{display:flex;justify-content:space-between;align-items:center;padding:6px 4px;font-weight:600;font-size:13px;text-decoration:none;color:var(--a-text) !important}
.admin-shell-site:hover{color:var(--a-accent-hi) !important}
.admin-unified .admin-shell .appearance-toggle{width:100%;height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--a-line) !important;background:var(--a-soft) !important;color:var(--a-dim) !important;font:600 12.5px/1 var(--a-body);cursor:pointer}
.admin-unified .admin-shell .appearance-toggle:hover{color:var(--a-text) !important;border-color:var(--a-accent-line) !important}
.admin-menu,.admin-scrim{display:none}

/* ── Área de trabalho e cabeçalhos ───────────────── */
.admin-unified main{width:100%;max-width:1800px;min-width:0;margin:0}
.admin-unified main:not(.workspace){padding:28px 36px 48px}
.admin-unified .topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;min-height:76px;height:auto;padding:14px 32px !important;border:0 !important;border-bottom:1px solid var(--a-line) !important;box-shadow:none !important;color:var(--a-text) !important;
  background:color-mix(in srgb,var(--a-bg) 86%,transparent) !important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.admin-title{display:grid;gap:2px}
.admin-crumb{margin:0;font:700 10.5px/1.2 var(--a-label);letter-spacing:.14em;text-transform:uppercase;color:var(--a-accent-hi)}
.admin-page-title{margin:0;font:400 30px/1.05 var(--a-display);letter-spacing:.005em;color:var(--a-text)}
.admin-unified .topbar .session{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--a-faint) !important}
.admin-unified .topbar .session label{color:var(--a-faint) !important;font-size:12px}
.admin-unified .topbar .session input{width:220px;height:36px}
.admin-unified :is(.masthead,.quest-heading){display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 24px;padding:0;border:0}
.admin-unified .masthead .subtitle{margin:0 0 4px;font:700 10.5px/1.2 var(--a-label) !important;letter-spacing:.14em !important;text-transform:uppercase;color:var(--a-accent-hi) !important}
.admin-unified :is(.masthead,.quest-heading) h1{margin:0;font:400 34px/1.05 var(--a-display) !important;letter-spacing:.005em;color:var(--a-text)}
.admin-unified .quest-heading a{display:inline-block;margin-bottom:6px;font:700 10.5px/1.2 var(--a-label);letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.admin-unified .quest-heading p{margin:6px 0 0;color:var(--a-dim)}
.admin-unified .workspace{display:grid;gap:18px;padding:24px 32px 48px !important;grid-template-columns:minmax(220px,260px) minmax(0,1fr) minmax(260px,320px);align-items:start;min-height:0;background:transparent !important}
.admin-unified .workspace>*{min-width:0}

/* ── Superfícies ─────────────────────────────────── */
.admin-unified :is(.catalog,.editor,.preview,.registry,.dossier,.connection,.quest-document,.quest-actions,.gacha-card,.quest-list-panel,.atlas-panel,.region-panel,.side-panel,.inspector){background:var(--a-card) !important;color:var(--a-text) !important;border:1px solid var(--a-line) !important;border-radius:16px !important;box-shadow:var(--a-shadow) !important}
.admin-unified :is(.catalog,.editor,.preview){padding:20px !important}
.admin-unified .connection{max-width:560px;margin:8px 0 20px;padding:22px !important}
.admin-unified .connection label{font-weight:600;color:var(--a-dim) !important}
.admin-unified .connection p{color:var(--a-faint);font-size:12.5px}
.admin-unified .login-fields{display:flex;gap:8px}
.admin-unified .login-fields input{flex:1}
.admin-unified :is(.catalog-title,.editor-head,.section-head){border-color:var(--a-line) !important}
.admin-unified .catalog-title{display:flex;align-items:center !important;justify-content:space-between;flex-direction:row !important;gap:10px}
.admin-unified .catalog-title h1,.admin-unified .catalog h1{margin:0;font:700 18px/1.25 var(--a-body) !important;letter-spacing:-.01em !important;color:var(--a-text)}
.admin-unified .editor-head h2,.admin-unified .editor h2{font:700 22px/1.2 var(--a-body) !important;letter-spacing:-.01em !important}
.admin-unified :is(.catalog-title,.editor-head,.section-head) p{font:700 10.5px/1.2 var(--a-label) !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:var(--a-accent-hi) !important}
.admin-unified :is(fieldset,.bonus-row,.recipient-row,.reply-choice,.reply-editor,.conversation-preview>div,.advanced-options,.operation-state,#route-preview){background:var(--a-soft) !important;border:1px solid var(--a-line) !important;border-radius:12px !important;color:var(--a-text)}
.admin-unified fieldset{padding:14px 16px 8px}
.admin-unified legend{padding:0 6px;font:700 10.5px/1.2 var(--a-label) !important;letter-spacing:.14em;text-transform:uppercase;color:var(--a-accent-hi) !important}
.admin-unified label{color:var(--a-dim)}
.admin-unified :is(.preview-note,.empty,.help,.field-help,.status,.subtitle,.coverage){color:var(--a-faint)}
.admin-unified :is(.status.ok,.ok){color:var(--a-good)}
.admin-unified :is(.error,.status.error){color:var(--a-bad)}
.admin-unified .help.warn,.admin-unified .warn{color:var(--a-warn)}
.admin-unified hr{border:0;border-top:1px solid var(--a-line)}
.admin-unified details{border-color:var(--a-line) !important}
.admin-unified summary{color:var(--a-accent-hi);font-weight:600}

/* Listas de registros (catálogos, jogadores, pools…) */
.admin-unified :is(.item-list,.event-list,.vip-list,.record-list,#quest-list) button{display:block;width:100%;margin:0 0 4px;padding:11px 12px !important;border:1px solid transparent !important;border-radius:10px !important;background:transparent !important;color:var(--a-text) !important;text-align:left;font:inherit;box-shadow:none !important}
.admin-unified :is(.item-list,.event-list,.vip-list,.record-list,#quest-list) button:hover{background:var(--a-hover) !important}
.admin-unified :is(.item-list,.event-list,.vip-list,.record-list) button:is([aria-pressed=true],.active),.admin-unified #quest-list button[aria-current=true]{background:var(--a-soft) !important;border-color:var(--a-line) !important;box-shadow:inset 3px 0 0 var(--a-accent-hi) !important;color:var(--a-text) !important}
.admin-unified :is(.item-list,.event-list,.vip-list,.record-list) button :is(small,span){color:var(--a-faint)}
.admin-unified .editable-value:hover{background:var(--a-hover) !important}
.admin-unified :is(.scene-navigation button[aria-pressed=true],.quest-outline li button[aria-current=step]){background:var(--a-accent-soft) !important;border-color:var(--a-accent-line) !important;color:var(--a-text) !important}

/* ── Campos ──────────────────────────────────────── */
.admin-unified :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]):not(.tool-search__input),select,textarea){min-height:38px;padding:8px 12px;border:1px solid var(--a-line) !important;border-radius:10px !important;background:var(--a-input) !important;color:var(--a-text) !important;font:400 14px/1.4 var(--a-body);outline:none;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.admin-unified textarea{min-height:90px;resize:vertical}
.admin-unified :is(input,select,textarea)::placeholder{color:var(--a-faint) !important;opacity:1}
.admin-unified :is(input,select,textarea):focus{border-color:var(--a-accent-hi) !important;box-shadow:0 0 0 3px var(--a-accent-soft) !important;outline:none !important}
.admin-unified :is(input,select,textarea):disabled{opacity:.6;cursor:not-allowed}
.admin-unified :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--a-accent)}
.admin-unified input[type=color]{border:1px solid var(--a-line);border-radius:8px;background:var(--a-input)}
.admin-unified select option{background:var(--a-card);color:var(--a-text)}

/* ── Botões ──────────────────────────────────────── */
.admin-unified main button:not(.tooltip *):not(.mc-stage *):not(.admin-menu),.admin-unified dialog button:not(.tooltip *){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--a-line) !important;border-radius:10px !important;background:var(--a-hover) !important;color:var(--a-text) !important;font:600 13.5px/1 var(--a-body);white-space:nowrap;cursor:pointer;filter:none;box-shadow:none;transition:background .15s,border-color .15s,box-shadow .15s}
.admin-unified main button:not(.tooltip *):not(.mc-stage *):not(.admin-menu):hover:not(:disabled),.admin-unified dialog button:not(.tooltip *):hover:not(:disabled){border-color:var(--a-line-strong) !important;background:color-mix(in srgb,var(--a-hover) 70%,rgba(var(--mist-rgb),.14)) !important}
.admin-unified main button:disabled{opacity:.5;cursor:default}
/* Primário: o gradiente do elemento, como o verde-lima do Conexão. */
.admin-unified :is(.publish,#connect,.connection button,.login-fields button,#save,.save,.primary,.btn-primary,button[type=submit]:not(.tool-search *)):not(.tooltip *){background:var(--el-gradient) !important;border-color:transparent !important;color:var(--el-on) !important;font-weight:700 !important}
.admin-unified :is(.publish,#connect,.connection button,.login-fields button,#save,.save,.primary,.btn-primary,button[type=submit]):not(.tooltip *):hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.45),0 10px 30px rgba(var(--accent-rgb),.22) !important}
html[data-element=perfidia] .admin-unified :is(.publish,#connect,.connection button,.login-fields button,button[type=submit]){color:#fff !important;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.admin-unified :is(.danger,.delete,.remove,[data-danger],#delete,#disconnect,#logout){background:var(--a-bad-bg) !important;border-color:var(--a-bad-line) !important;color:var(--a-bad) !important}
.admin-unified :is(#disconnect,#logout){min-height:34px}
.admin-unified .catalog-title button,.admin-unified #new,.admin-unified #new-item{min-height:32px !important;padding:0 12px !important;font-size:12.5px !important}

/* Abas e filtros em pílula */
.admin-unified :is(.gacha-views,.editor-tabs,.drawing-tools) button[aria-selected=true],.admin-unified :is(.gacha-views,.editor-tabs,.drawing-tools) button[aria-pressed=true]{background:var(--a-accent-soft) !important;border-color:var(--a-accent-line) !important;color:var(--a-text) !important;box-shadow:inset 0 -2px 0 var(--a-accent-hi) !important}
.editor-shortcuts{display:flex;flex-wrap:wrap;gap:6px;padding:14px 0;border-bottom:1px solid var(--a-line)}
.editor-shortcuts a{padding:6px 12px;border-radius:999px;border:1px solid var(--a-line);background:var(--a-soft);color:var(--a-dim) !important;font-size:12.5px;font-weight:600;text-decoration:none}
.editor-shortcuts a:hover{color:var(--a-text) !important;border-color:var(--a-accent-line)}
.admin-unified .actions{position:static;margin-top:20px;padding:14px 0 0;background:transparent !important;border-top:1px solid var(--a-line) !important}

/* Badges e estados */
.admin-unified :is(.badge,.tag,.source-badge,.pool-source,.state-badge){display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font:700 11px/1 var(--a-body)}

/* Tabelas */
.admin-unified table{width:100%;border-collapse:collapse;font-size:13.5px}
.admin-unified th{text-align:left;padding:0 10px 8px;font:700 10.5px/1.2 var(--a-label) !important;letter-spacing:.12em;text-transform:uppercase;color:var(--a-accent-hi) !important;border-bottom:1px solid var(--a-line) !important;background:transparent !important}
.admin-unified td{padding:9px 10px;border-top:1px solid var(--a-line);border-bottom:0;vertical-align:middle}
.admin-unified tbody tr:hover td{background:rgba(var(--mist-rgb),.025)}

/* Código e blocos técnicos */
.admin-unified :is(pre,code){font-family:'Cascadia Code','JetBrains Mono',Consolas,monospace;font-size:12.5px}
.admin-unified pre{background:var(--a-input) !important;color:var(--a-dim) !important;border:1px solid var(--a-line) !important;border-left:3px solid var(--a-accent-hi) !important;border-radius:12px !important;padding:12px 14px}
.admin-unified :not(pre)>code{padding:1px 6px;border-radius:6px;background:var(--a-soft);color:var(--a-accent-hi)}

/* Diálogos */
.admin-unified dialog{border:1px solid var(--a-line-strong) !important;border-radius:18px !important;background:var(--a-card) !important;color:var(--a-text) !important;box-shadow:var(--a-pop) !important;padding:20px}
.admin-unified dialog::backdrop{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.admin-unified :is(.dialog-heading,dialog.npc-studio .dialog-heading){background:var(--a-card) !important;color:var(--a-text) !important;border-color:var(--a-line) !important}

/* Telas com paleta própria (mapa, prévias do jogo) mantêm suas cores; só o fundo da página muda. */
.admin-unified .map-binding,.admin-unified .check-label{color:var(--a-dim)}

/* ── Responsivo ──────────────────────────────────── */
@media(max-width:1500px){.admin-unified .workspace{grid-template-columns:220px minmax(0,1fr) 300px}}
@media(max-width:1280px){.admin-unified .workspace{grid-template-columns:220px minmax(0,1fr)}.admin-unified .workspace>.preview{grid-column:2}}
@media(max-width:1100px){:root{--a-side-w:230px}.admin-unified main:not(.workspace){padding:24px}.admin-unified .workspace{grid-template-columns:minmax(0,1fr);padding:20px 24px 40px !important}.admin-unified .workspace>.preview{grid-column:auto}.admin-unified .item-list{max-height:280px;overflow:auto}.admin-unified .ledger{grid-template-columns:1fr}.admin-unified .topbar{padding:12px 24px !important}}
@media(max-width:760px){
  body.admin-unified{padding-left:0}
  .admin-shell{transform:translateX(-102%);width:min(300px,86vw);box-shadow:10px 0 40px rgba(0,0,0,.5);transition:transform .2s}
  .admin-menu-open .admin-shell{transform:none}
  .admin-menu-open .admin-scrim{display:block;position:fixed;inset:0;z-index:35;background:rgba(0,0,0,.5)}
  .admin-menu{display:inline-flex !important;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid var(--a-line-strong);border-radius:10px;background:var(--a-card);color:var(--a-text);font:600 13px/1 var(--a-body);cursor:pointer;order:-1}
  .admin-menu span{width:14px;height:10px;border-block:2px solid currentColor;position:relative}
  .admin-menu span::after{content:"";position:absolute;left:0;right:0;top:2px;border-top:2px solid currentColor}
  .admin-unified .topbar{position:relative;padding:14px 16px !important;align-items:flex-start}
  .admin-unified .topbar .session{width:100%}.admin-unified .topbar .session input{flex:1;width:auto}
  .admin-unified main:not(.workspace){padding:18px 16px 40px}
  .admin-unified .workspace{padding:16px !important}
  .admin-unified :is(.masthead,.quest-heading){flex-direction:column;align-items:flex-start}
  .admin-unified :is(.masthead,.quest-heading) h1{font-size:28px !important}
  .admin-page-title{font-size:24px}
  .admin-skip{left:16px}
}
@media(prefers-reduced-motion:reduce){html[data-element=perfidia] :is(.admin-brand__mark,.admin-brand__name){animation:none}.admin-shell{transition:none}}

/* ── Sessão única por aba ────────────────────────── */
.admin-unified .topbar .session.is-connected{display:none !important}
.session-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 6px 0 12px;border-radius:999px;background:var(--a-good-bg);border:1px solid var(--a-good-line);color:var(--a-good);font-weight:700;font-size:12.5px}
.session-chip[hidden]{display:none !important}
.session-chip__dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px var(--a-good-bg)}
.admin-unified main .session-chip__out,.admin-unified .topbar .session-chip__out{min-height:26px !important;height:26px;padding:0 10px !important;border-radius:999px !important;background:var(--a-card) !important;border:1px solid var(--a-line) !important;color:var(--a-dim) !important;font-size:12px !important}

/* ── Ficha em abas ───────────────────────────────── */
[data-wb-off]{display:none !important}
.wb-tabs{position:sticky;top:76px;z-index:6;display:flex;gap:2px;margin:4px -4px 16px;padding:6px 4px 0;border-bottom:1px solid var(--a-line);background:var(--a-card);overflow-x:auto;scrollbar-width:none}
.wb-tabs::-webkit-scrollbar{display:none}
.admin-unified main .wb-tabs .wb-tab{flex:none;min-height:38px !important;padding:0 12px !important;border:0 !important;border-radius:8px 8px 0 0 !important;background:transparent !important;color:var(--a-faint) !important;font:600 13px/1 var(--a-body) !important;box-shadow:none !important}
.admin-unified main .wb-tabs .wb-tab:hover{color:var(--a-text) !important;background:var(--a-hover) !important}
.admin-unified main .wb-tabs .wb-tab[aria-selected=true]{color:var(--a-text) !important;box-shadow:inset 0 -2px 0 var(--a-accent-hi) !important}
.wb-tabbed>fieldset>legend,.wb-tabbed>*>fieldset.vip-section>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wb-tabbed>fieldset,.wb-tabbed>*>fieldset.vip-section{border:0 !important;background:transparent !important;padding:0 !important;margin:0 0 12px !important}
.wb-tabbed>details.advanced-options[open]>summary{display:none}
.wb-tabbed>details.advanced-options{border:0 !important;background:transparent !important;padding:0 !important}
.wb-tabbed>.section-head>div>p{display:none}

/* Rodapé de ações fixo, como a ficha do Atlas */
.admin-unified .editor .actions,.admin-unified .quest-actions{position:sticky !important;bottom:0;z-index:5;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:20px -20px -20px !important;padding:12px 20px !important;border-top:1px solid var(--a-line) !important;background:var(--a-card) !important;border-radius:0 0 16px 16px}
.admin-unified .editor .actions>p,.admin-unified .editor .actions>#status{margin:0 auto 0 0 !important;font-size:12.5px;color:var(--a-faint)}

/* Cabeçalho da ficha */
.admin-unified .editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 4px !important;padding:0 0 12px !important;border-bottom:0 !important;text-align:left !important}
.admin-unified .editor-head h2{text-align:left !important;margin:0 !important}

/* Lista do catálogo */
.admin-unified .catalog{position:sticky;top:92px;max-height:calc(100vh - 116px);display:flex;flex-direction:column;gap:10px;overflow:hidden}
.admin-unified .catalog :is(.item-list,.event-list,.vip-list,.record-list){flex:1;overflow:auto;min-height:0}
.admin-unified .catalog .filters{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.admin-unified .catalog .filters select{min-width:0}
.admin-unified .preview{position:sticky;top:92px;max-height:calc(100vh - 116px);overflow:auto}
@media(max-width:1100px){.admin-unified :is(.catalog,.preview){position:static;max-height:none}.wb-tabs{top:0}}

/* Lista de registros com cabeça do jogador: imagem ao lado do texto, sem sobreposição. */
.admin-unified .record-list>button:has(.player-head){display:grid !important;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:center;min-height:0;padding-left:12px !important}
.admin-unified .record-list>button .player-head{position:static;grid-row:1/span 3;width:36px;height:36px;border-radius:8px}
.admin-unified .record-list>button:has(.player-head) small{grid-column:2;margin-top:2px}

/* Etapas da missão: lista vertical legível, cada etapa um cartão com o tipo embaixo. */
@media(min-width:1201px){.admin-unified .quest-sequence{grid-template-columns:230px minmax(0,1fr)}.admin-unified .quest-outline ol{display:grid;gap:4px}}
.admin-unified .quest-outline ol{margin:0 0 12px}
@media(max-width:1200px){.admin-unified .quest-outline ol{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.admin-unified .quest-outline li{flex:0 0 180px}}
.admin-unified .quest-outline li{min-width:0;max-width:none;margin:0;padding-left:26px}
.admin-unified .quest-outline li:before{top:11px;color:var(--a-faint);font:600 11px/1 var(--a-body)}
.admin-unified #steps li button{display:grid !important;justify-content:stretch;justify-items:start;gap:3px;width:100%;min-height:0;padding:9px 11px !important;text-align:left;white-space:normal;line-height:1.3;border-color:transparent !important;background:transparent !important}
.admin-unified #steps li button small{font-weight:400;font-size:11.5px;color:var(--a-faint)}
.admin-unified .quest-outline #add-step{width:100%}
.admin-unified .quest-link-npc{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--a-line)}
.admin-unified .quest-link-npc p{margin:0;font-size:12px;color:var(--a-faint);line-height:1.5}
.admin-unified .quest-link-npc button{white-space:normal;line-height:1.25;padding:8px 12px !important}

/* Valores editáveis do jogador (nível, classe): linha de ficha, não botão centralizado. */
.admin-unified main .dossier button.editable-value:not(.tooltip *){display:grid !important;grid-template-columns:1fr auto;justify-content:stretch;align-items:center;gap:4px 12px;width:100%;min-height:0;padding:16px 4px !important;border:0 !important;border-bottom:1px solid var(--a-line) !important;border-radius:0 !important;background:transparent !important;text-align:left;white-space:normal}
.admin-unified main .dossier button.editable-value:not(.tooltip *) small{grid-column:1;font:500 11px/1 var(--a-body);letter-spacing:.06em;text-transform:uppercase;color:var(--a-faint)}
.admin-unified main .dossier button.editable-value:not(.tooltip *) strong{grid-column:1;font-size:22px;font-weight:600;line-height:1.3}
.admin-unified main .dossier button.editable-value:not(.tooltip *) span{grid-column:2;grid-row:1/3;color:var(--a-accent-hi);font-size:12.5px}
.admin-unified main .dossier button.editable-value:not(.tooltip *):hover{background:var(--a-hover) !important}
.admin-unified #write-controls{gap:8px}
@media(max-width:1100px){.admin-unified .workspace.dungeon-admin,.workspace.dungeon-admin{grid-template-columns:minmax(0,1fr) !important}.admin-unified .workspace.dungeon-admin>*{grid-column:auto !important}}
.admin-unified .quest-outline,.admin-unified .quest-step-editor{min-width:0}

/* ── Barra lateral no padrão do editor de dungeons (nov/2026) ── */
.admin-shell{gap:14px;padding:18px 12px 14px}
.admin-brand__mark{height:34px}
.admin-brand__name{height:20px}
.admin-shell .tool-search{display:flex;align-items:center;gap:8px;padding:0 8px 0 10px;border:1px solid var(--a-line);border-radius:9px;background:var(--a-soft);color:var(--a-faint)}
.admin-shell .tool-search svg{flex:none}
.admin-shell .tool-search input{flex:1;min-width:0;min-height:36px !important;padding:0 !important;border:0 !important;background:none !important;box-shadow:none !important;font-size:13.5px}
.admin-shell .tool-search kbd{font:600 11px/1 var(--a-body);padding:2px 6px;border:1px solid var(--a-line);border-radius:5px;color:var(--a-faint)}
.admin-shell .tool-search:focus-within{border-color:var(--a-accent-hi);box-shadow:0 0 0 3px var(--a-accent-soft)}
.admin-shell nav{gap:6px}
.admin-shell nav section{gap:1px}
.admin-shell nav .nav-group{display:flex;align-items:center;gap:8px;min-height:28px !important;padding:6px 8px !important;border-radius:6px;font:700 10.5px/1.2 var(--a-label) !important;letter-spacing:.12em;text-transform:uppercase;color:var(--a-faint) !important}
.admin-shell nav .nav-group:hover{color:var(--a-text) !important;background:none !important}
.admin-shell nav .nav-group svg{margin-left:auto;width:12px;height:12px;transition:transform .15s}
.admin-shell nav section.shut:not(.searching) .nav-group svg{transform:rotate(-90deg)}
.admin-shell nav section.shut:not(.searching) .nav-links{display:none}
.admin-shell .nav-links{display:flex;flex-direction:column;gap:1px}
.admin-shell nav .nav-links :is(a,button){gap:10px;min-height:34px !important;padding:7px 8px !important;border-radius:8px !important;font-weight:500 !important;font-size:13.5px !important;line-height:1.2 !important}
.admin-shell nav .nav-links svg{flex:none;color:var(--a-faint)}
.admin-shell nav .nav-links span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.admin-shell nav .nav-links [aria-current=page]{background:var(--a-accent-soft) !important;box-shadow:none !important;color:var(--a-accent-hi) !important}
.admin-shell nav .nav-links [aria-current=page] svg{color:var(--a-accent-hi)}
.admin-shell-tools{gap:6px;padding:6px;background:none;border:0}
.admin-shell .appearance-toggle{display:none !important}
.admin-me{display:flex;align-items:center;gap:10px;padding:8px;border-radius:9px;background:var(--a-soft);border:1px solid var(--a-line)}
.admin-me__head{width:28px;height:28px;border-radius:4px;image-rendering:pixelated;flex:none}
.admin-me b{display:block;font-size:13px;color:var(--a-text)}
.admin-me__state{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--a-faint)}
.admin-me__dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 22%,transparent)}
.admin-me.is-on .admin-me__state{color:var(--a-good)}
.admin-me .admin-theme{margin-left:auto;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--a-line) !important;border-radius:7px !important;background:var(--a-card) !important;color:var(--a-dim) !important;cursor:pointer}
.admin-me .admin-theme:hover{color:var(--a-text) !important;border-color:var(--a-line-strong) !important}
.admin-shell,.admin-shell *,.admin-shell *::before,.admin-shell *::after{box-sizing:border-box}
/* abas das ferramentas agrupadas */
.admin-hub-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}
.admin-hub-tabs a{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 12px;border-radius:9px;border:1px solid var(--a-line);background:var(--a-card);color:var(--a-dim) !important;font:600 13px/1 var(--a-body);text-decoration:none !important;white-space:nowrap}
.admin-hub-tabs a svg{width:16px;height:16px;color:var(--a-faint)}
.admin-hub-tabs a:hover{border-color:var(--a-line-strong);color:var(--a-text) !important}
.admin-hub-tabs a[aria-current=page]{background:var(--a-accent-soft);border-color:var(--a-accent-line);color:var(--a-accent-hi) !important}
.admin-hub-tabs a[aria-current=page] svg{color:var(--a-accent-hi)}
.admin-hub-tabs[hidden]{display:none !important}
.admin-hub-tabs a{display:inline-flex !important;gap:7px !important;font:600 13px/1 var(--a-body) !important;letter-spacing:0 !important;text-transform:none !important}
.quest-heading .admin-hub-tabs{margin-top:12px}
