/* =====================================================================
   🎛️ TEMA DO PAINEL DO LÍDER — visual de painel administrativo profissional
   (referência: Linear / Vercel / Stripe). Só CSS: nenhuma classe/id mudou.
   Vale para: .setup (painel), .lock (senha), .drawer, .xmodal, .toastl.
   A TRANSMISSÃO (pergunta, placar, pódio) continua com o visual de game.
   Contraste: texto ≥ 4,5:1 (WCAG AA) sobre todas as superfícies.
   Carregado DEPOIS do <style> do index.html; seletores com "body"/":root"
   ganham dos <style> que os módulos injetam depois.
   ===================================================================== */
:root{
  color-scheme:dark;                 /* listas de <select> nativas escuras no Chrome/Windows */
  --a-font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  /* superfícies (do fundo para cima) */
  --a-bg:#0a0a0f; --a-side:#0d0d14; --a-s1:#13131b; --a-s2:#1a1a24; --a-s3:#232330; --a-in:#0f0f16;
  /* bordas */
  --a-bd:#272734; --a-bd2:#363648; --a-bd3:#4a4a60;
  /* texto: 15,9 · 8,6 · 5,4 :1 sobre --a-s1 */
  --a-t1:#f1f1f6; --a-t2:#b6b6c8; --a-t3:#9090a8;
  /* destaque (roxo da marca) — botão #6847ff com branco = 5,6:1 */
  --a-acc:#7c5cff; --a-acc-bt:#6847ff; --a-acc-hv:#7657ff; --a-acc-tx:#b8a7ff; --a-acc-soft:rgba(124,92,255,.14); --a-acc-bd:rgba(124,92,255,.45);
  /* semânticas */
  --a-ok:#34d399; --a-ok-soft:rgba(52,211,153,.12); --a-ok-bd:rgba(52,211,153,.4);
  --a-warn:#fbbf24; --a-warn-soft:rgba(251,191,36,.11); --a-warn-bd:rgba(251,191,36,.42);
  --a-err:#f87171; --a-err-soft:rgba(248,113,113,.12); --a-err-bd:rgba(248,113,113,.45);
  --a-info:#60a5fa;
  --a-r:10px; --a-r-lg:14px;
  --a-sh:0 1px 0 rgba(255,255,255,.03) inset,0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.25);
  --a-side-w:248px;
}

/* ---------- escopo do painel: as variáveis antigas apontam para valores legíveis ---------- */
.setup,.lock,.drawer,.xmodal,.toastl{
  --ink:var(--a-t1); --ink-2:var(--a-t2); --ink-3:var(--a-t3);
  --line:var(--a-bd); --line-2:var(--a-bd2);
  --glass:var(--a-s2); --glass-2:var(--a-s3);
  --violet:var(--a-acc-bt); --magenta:#9b5cff; --violet-2:var(--a-acc-tx);
  --card:var(--a-s1);
  font-family:var(--a-font); font-weight:500; color:var(--a-t1);
  -webkit-font-smoothing:antialiased; font-feature-settings:"cv11","ss01";
}
.setup :is(h1,h2,h3,h4,summary,.btn,input,select,textarea,button),
.lock :is(h1,.btn,input,button),.drawer :is(h2,h3,.btn,input,select,textarea,button){font-family:var(--a-font)}
.setup b,.setup strong,.drawer b,.drawer strong{font-weight:650}

/* fundo do painel: preto neutro com um brilho roxo discreto no topo (sem bolhas animadas) */
body:has(#app>.setup),body:has(#app>.lock){background:var(--a-bg)}
body:has(#app>.setup) .stage,body:has(#app>.lock) .stage{background:radial-gradient(900px 420px at 30% -120px,rgba(124,92,255,.16),transparent 70%),radial-gradient(700px 360px at 100% 0,rgba(155,92,255,.07),transparent 70%),var(--a-bg)}
body:has(#app>.setup) .stage::before,body:has(#app>.setup) .stage::after,
body:has(#app>.lock) .stage::before,body:has(#app>.lock) .stage::after{display:none}

/* barras de rolagem discretas e visíveis */
.setup,.setup *,.drawer .pane{scrollbar-width:thin;scrollbar-color:var(--a-bd3) transparent}
.setup ::-webkit-scrollbar,.drawer ::-webkit-scrollbar{width:10px;height:10px}
.setup ::-webkit-scrollbar-thumb,.drawer ::-webkit-scrollbar-thumb{background:var(--a-bd2);border-radius:99px;border:2px solid var(--a-bg)}
.setup ::-webkit-scrollbar-track{background:transparent}

/* ================= CABEÇALHO DA PÁGINA ================= */
body .setup{--pb:56px;padding:24px clamp(16px,3vw,40px) var(--pb)}
body .setup .head{align-items:center;margin:0 0 20px;padding:0 0 18px;border-bottom:1px solid var(--a-bd)}
body .setup .brand{font-family:var(--a-font);font-size:clamp(22px,2.2vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.15;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--a-t1)}
body .setup .brand span{font-size:14px;font-weight:500;color:var(--a-t2);margin-top:4px;letter-spacing:0;font-family:var(--a-font)}

/* ================= NAVEGAÇÃO (abas) ================= */
/* celular/tablet: barra fixa no topo, abas em colunas iguais (ícone em cima, nome embaixo) */
body .setup .lt-bar{position:sticky;top:-14px;z-index:25;display:flex;gap:4px;margin:14px 0 18px;padding:5px;border-radius:12px;background:rgba(13,13,20,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--a-bd);box-shadow:0 8px 24px rgba(0,0,0,.35);overflow-x:auto;scroll-snap-type:x proximity}
body .setup .lt-bar button{flex:1 1 0;min-width:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 6px;border-radius:9px;background:transparent;color:var(--a-t2);font:600 13px/1.15 var(--a-font);white-space:normal;text-align:center;scroll-snap-align:start;transition:background .15s,color .15s}
body .setup .lt-bar button .lt-i{font-size:18px;line-height:1}
body .setup .lt-bar button:hover{background:var(--a-s2);color:var(--a-t1)}
body .setup .lt-bar button.on{background:var(--a-acc-soft);color:#fff;box-shadow:inset 0 0 0 1px var(--a-acc-bd)}
@media (max-width:420px){body .setup .lt-bar button{font-size:11.5px;padding:7px 2px;min-width:58px}}

/* computador (≥1000px): menu lateral fixo, igual a painéis profissionais */
@media (min-width:1000px){
  body .setup{padding:28px 40px var(--pb) calc(var(--a-side-w) + 40px)}
  /* botão flutuante "Assinar configurações" vai para o pé do menu lateral (não cobre o conteúdo) */
  body:has(#app>.setup) #assTudo{left:14px;right:auto;bottom:14px;width:calc(var(--a-side-w) - 28px);text-align:left}
  body .setup .lt-bar{position:fixed;left:0;top:0;bottom:0;width:var(--a-side-w);margin:0;padding:18px 12px;flex-direction:column;gap:2px;border:0;border-right:1px solid var(--a-bd);border-radius:0;background:var(--a-side);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;overflow-x:hidden;overflow-y:auto;z-index:30}
  body .setup .lt-bar::before{content:"GidFlame";display:block;padding:6px 12px 2px;font:700 15px/1.2 var(--a-font);color:var(--a-t1);letter-spacing:-.01em}
    body .setup .lt-bar button:first-of-type{margin-top:22px}
  body .setup .lt-bar button{flex:none;flex-direction:row;justify-content:flex-start;gap:10px;min-width:0;width:100%;padding:9px 12px;border-radius:8px;font-size:14px;font-weight:550;text-align:left}
  body .setup .lt-bar button .lt-i{font-size:16px;width:20px;text-align:center}
  body .setup .lt-bar button.on{background:var(--a-s3);box-shadow:inset 3px 0 0 var(--a-acc);color:#fff}
}

/* ================= CARTÕES ================= */
.setup .card,.drawer .card{background:var(--a-s1);border:1px solid var(--a-bd);border-radius:var(--a-r-lg);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:var(--a-sh)}
body .setup .panel{padding:20px 22px}
body .setup .panel h2{font-family:var(--a-font);font-size:17px;font-weight:650;letter-spacing:-.01em;line-height:1.3;color:var(--a-t1);margin-bottom:12px;gap:10px;flex-wrap:wrap}
body .setup :is(h3,.rp-h){color:var(--a-t1);font-weight:650;letter-spacing:-.005em}
body .setup .sub3{font-family:var(--a-font);font-size:14px;font-weight:650;color:var(--a-t1);margin:18px 0 8px}
body .setup .cols{gap:16px}
@media (max-width:600px){body .setup .panel{padding:16px 14px}}

/* textos de apoio: legíveis, não "apagados" */
body .setup .hint,body .drawer .hint,body .lock .hint{color:var(--a-t2);font-size:13px;font-weight:450;line-height:1.5}
body .setup .hint b,body .drawer .hint b{color:var(--a-t1)}
.setup small{color:var(--a-t2)}
.setup a:not(.btn),.drawer a:not(.btn){color:var(--a-acc-tx)}
/* opacidade aplicada em texto inline deixava tudo "desativado": piso de legibilidade */
.setup [style*="opacity:.5"]:not(button):not(.btn),.setup [style*="opacity:.6"]:not(button):not(.btn),.setup [style*="opacity:.55"]:not(button):not(.btn){opacity:.82!important}

/* ================= BOTÕES ================= */
body .setup .btn,body .drawer .btn,body .lock .btn,body .xmodal .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 15px;border-radius:9px;
  font:600 14px/1.25 var(--a-font);letter-spacing:0;white-space:normal;text-align:center;text-decoration:none;
  color:var(--a-t1);background:var(--a-s3);border:1px solid var(--a-bd3);box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 1px 2px rgba(0,0,0,.35);
  backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;filter:none;cursor:pointer;transition:background .15s,border-color .15s,transform .08s,box-shadow .15s}
body .setup .btn:hover,body .drawer .btn:hover,body .lock .btn:hover,body .xmodal .btn:hover{background:#2c2c3b;border-color:#5a5a74}
body .setup .btn:active,body .drawer .btn:active,body .lock .btn:active{transform:translateY(1px)}
body .setup .btn.sm,body .drawer .btn.sm,body .lock .btn.sm{min-height:32px;padding:6px 11px;font-size:13px;border-radius:8px}
/* primário: roxo sólido */
body .setup .btn.primary,body .drawer .btn.primary,body .lock .btn.primary,body .xmodal .btn.primary,
body .setup #ajSalvar,body .setup #evSalvar{background:var(--a-acc-bt);border-color:#7d63ff;color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(104,71,255,.28)}
body .setup .btn.primary:hover,body .drawer .btn.primary:hover,body .lock .btn.primary:hover,body .xmodal .btn.primary:hover,
body .setup #ajSalvar:hover,body .setup #evSalvar:hover{background:var(--a-acc-hv);border-color:#957fff}
/* secundário "fantasma": contorno visível, claramente clicável */
body .setup .btn.ghost,body .drawer .btn.ghost,body .xmodal .btn.ghost{background:transparent;border-color:var(--a-bd3);color:var(--a-t1);box-shadow:none}
body .setup .btn.ghost:hover,body .drawer .btn.ghost:hover{background:var(--a-s2)}
/* destaque/atenção */
body .setup .btn.fire,body .drawer .btn.fire{background:#f59e0b;border-color:#fbbf24;color:#1a1200;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 4px 14px rgba(245,158,11,.25)}
body .setup .btn.fire:hover,body .drawer .btn.fire:hover{background:#fbbf24}
body .setup .btn.ok,body .drawer .btn.ok{background:#15803d;border-color:#22a355;color:#fff}
body .setup .btn.bad,body .drawer .btn.bad{background:#dc2626;border-color:#ef4444;color:#fff}
body .setup .btn.pod{background:var(--a-warn-soft);border-color:var(--a-warn-bd);color:var(--a-t1)}
/* desativado DE VERDADE: tracejado, sem sombra, texto apagado (diferente de qualquer botão ativo) */
body .setup .btn:disabled,body .drawer .btn:disabled,body .lock .btn:disabled,body .xmodal .btn:disabled,
body .setup .btn[disabled],body .drawer .btn[disabled]{background:transparent!important;border:1px dashed var(--a-bd2)!important;color:#8a8aa2!important;box-shadow:none!important;opacity:1;filter:none;cursor:not-allowed}
/* foco do teclado */
body .setup :is(.btn,button,input,select,textarea,summary):focus-visible,
body .drawer :is(.btn,button,input,select,textarea):focus-visible,body .lock :is(.btn,input):focus-visible{outline:2px solid var(--a-acc);outline-offset:2px}

/* botõezinhos sem classe .btn (paginação ‹ ›, ✕ etc.) */
.setup button:not(.btn):not([data-lt]):not(.rm):disabled{opacity:.4;cursor:not-allowed}

/* ================= CAMPOS ================= */
body .setup .in,body .drawer .in,body .lock .in,
body .setup input:is([type=text],[type=number],[type=search],[type=password],[type=date],[type=datetime-local],[type=time],:not([type])):not([style*="background"]),
body .setup select,body .drawer select,body .setup textarea,body .drawer textarea{
  background:var(--a-in);border:1px solid var(--a-bd2);border-radius:8px;color:var(--a-t1);font:500 14px/1.3 var(--a-font);padding:9px 12px;min-height:38px;transition:border-color .15s,box-shadow .15s}
body .setup .in:hover,body .setup select:hover,body .drawer .in:hover{border-color:var(--a-bd3)}
body .setup .in:focus,body .setup select:focus,body .setup textarea:focus,body .drawer .in:focus,body .drawer select:focus,body .lock .in:focus,
body .setup input:focus{outline:none;border-color:var(--a-acc);box-shadow:0 0 0 3px rgba(124,92,255,.25)}
.setup ::placeholder,.drawer ::placeholder,.lock ::placeholder{color:#7d7d95;opacity:1}
/* <select> e <option>: fundo escuro + texto claro (antes: texto branco em lista branca no Windows) */
select,select.in,.setup select,.drawer select{color-scheme:dark}
body select option,body select optgroup,body select.in option,body .setup select option,body .drawer select option{background-color:#1a1a24!important;color:#f1f1f6!important}
body select option:checked{background-color:#3b2fa0!important;color:#fff!important}
body select option:disabled{color:#7d7d95!important}
body .setup select,body .drawer select{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23b6b6c8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}
.setup input[type=checkbox],.setup input[type=radio],.drawer input[type=checkbox],.lock input[type=checkbox]{accent-color:var(--a-acc);width:16px;height:16px}

/* blocos de regra (aba Gincana e Ajustes) */
body .setup .rules{gap:10px}
body .setup .rule{background:var(--a-s2);border:1px solid var(--a-bd);border-radius:var(--a-r);padding:10px 12px;gap:6px}
body .setup .rule label{font-size:12.5px;font-weight:550;color:var(--a-t2);line-height:1.35}
body .setup .rule input,body .setup .rule select{width:100%;font-size:15px;font-weight:600;font-family:var(--a-font)}
body .setup .rule input[style*="width"]{width:auto}
body .setup .rule.wide[style*="background"]{background:var(--a-warn-soft)!important;border-color:var(--a-warn-bd)!important}
@media (max-width:640px){body .setup .rules{grid-template-columns:1fr}}

/* botões de escolha (segmentado) */
body .setup .toggle{gap:6px}
body .setup .toggle button{padding:8px 12px;border-radius:8px;background:var(--a-in);border:1px solid var(--a-bd2);color:var(--a-t2);font:550 13px/1.3 var(--a-font);box-shadow:none;text-align:left}
body .setup .toggle button:hover{border-color:var(--a-bd3);color:var(--a-t1)}
body .setup .toggle button.on{background:var(--a-acc-soft);border-color:var(--a-acc);color:#fff;box-shadow:inset 0 0 0 1px var(--a-acc)}

/* ================= SELOS / CHIPS ================= */
body .setup .chip,body .drawer .chip{padding:3px 10px;border-radius:999px;background:var(--a-s3);border:1px solid var(--a-bd2);color:var(--a-t1);font:600 12.5px/1.4 var(--a-font)}
body .setup .chip.gold{background:var(--a-warn-soft);border-color:var(--a-warn-bd);color:#fde68a}
body .setup .kbd{background:var(--a-s3);border-color:var(--a-bd2);color:var(--a-t2);opacity:1}

/* ================= LISTAS / LINHAS ================= */
body .setup :is(.pl,.mrow,.hrow,.ap-it){background:var(--a-s2);border:1px solid var(--a-bd);border-radius:var(--a-r)}
body .setup .mrow:hover{border-color:var(--a-bd3)}
body .setup .mrow.on{background:var(--a-ok-soft);border-color:var(--a-ok-bd)}
body .setup .pl small,body .setup .mrow .mn small,body .setup .hinfo small{color:var(--a-t3)}
body .setup .pl .rm{opacity:1;color:var(--a-t3)}body .setup .pl .rm:hover{color:var(--a-err)}
body .setup :is(.pl,.mrow) .cat{font-weight:650}
body .setup .pl .cat.A,body .setup .mrow .cat.A{background:rgba(96,165,250,.16);color:#93c5fd}
body .setup .pl .cat.J,body .setup .mrow .cat.J{background:rgba(251,191,36,.16);color:#fcd34d}
body .setup .mhead .in{flex:1 1 100%}
body .setup .resume{background:var(--a-warn-soft);border-color:var(--a-warn-bd)}

/* aprovações pendentes: cartão de atenção (borda âmbar à esquerda) */
body .setup .aprov{border:1px solid var(--a-warn-bd)!important;box-shadow:inset 3px 0 0 var(--a-warn),var(--a-sh)}
body .setup .ap-it{padding:10px 12px}
body .setup .ap-tx{color:var(--a-t1)}
body .setup .ap-tx small{opacity:1;color:var(--a-t3)}
body :is(.setup,.drawer) .ap-st{color:var(--a-t1);border-radius:var(--a-r)}
body :is(.setup,.drawer) .ap-st.warn{background:var(--a-warn-soft);border:1px solid var(--a-warn-bd)}
body :is(.setup,.drawer) .ap-st.bad{background:var(--a-err-soft);border:1px solid var(--a-err-bd)}
body :is(.setup,.drawer) .ap-st.ok{background:var(--a-ok-soft);border:1px solid var(--a-ok-bd)}

/* barra fixa "Começar" */
body .setup .start{background:rgba(13,13,20,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--a-bd);border-radius:var(--a-r-lg);margin:18px 0 0;padding:12px 14px;bottom:calc(12px - var(--pb));box-shadow:0 10px 30px rgba(0,0,0,.45)}
body .setup .start .btn{min-height:44px;font-size:15px}
/* no celular o botão flutuante sobe para não cobrir a barra "Começar" */
@media (max-width:999px){body:has(.lt-pane.on .start) #assTudo{bottom:96px}}

/* ================= SEÇÕES SANFONA (Ajustes etc.) ================= */
body .setup details{color:var(--a-t1)}
body .setup .aj-sec{margin:8px 0;border:1px solid var(--a-bd);border-radius:var(--a-r);padding:0 14px;background:var(--a-s2)}
body .setup .aj-sec>summary{padding:12px 0;font-size:14.5px;font-weight:600;color:var(--a-t1);list-style-position:inside}
body .setup .aj-sec>summary::marker{color:var(--a-t3)}
body .setup .aj-sec>summary:hover{color:#fff}
body .setup .aj-sec[open]{background:var(--a-s1);border-color:var(--a-bd2)}
body .setup .aj-sec>summary small{color:var(--a-t3);font-weight:500;font-size:12px}
body .setup .aj-sec .rule{background:var(--a-s2)}
body .setup .aj-sub{color:var(--a-t1);font-size:13px;font-weight:650;border-top-color:var(--a-bd)}
body .setup .aj-intro{background:var(--a-acc-soft);border:1px solid var(--a-acc-bd);color:var(--a-t1)}
body .setup .aj-hl{outline:2px solid var(--a-warn);outline-offset:2px}
body .setup details>summary.hint{color:var(--a-t2)}

/* ================= TABELAS ================= */
body .setup table,body .drawer table{border-collapse:separate;border-spacing:0;font-size:13px;color:var(--a-t1)}
body .setup table :is(th,td),body .drawer table :is(th,td){padding:8px 10px;border:0;border-bottom:1px solid var(--a-bd);vertical-align:middle}
body .setup table th,body .drawer table th{background:var(--a-s2);color:var(--a-t2);font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap}
body .setup table tr:first-child th:first-child{border-top-left-radius:8px}
body .setup table tr:first-child th:last-child{border-top-right-radius:8px}
body .setup table tbody tr:nth-child(even) td{background:rgba(255,255,255,.018)}
body .setup table tr:hover td{background:rgba(124,92,255,.07)}
body .setup table td small{color:var(--a-t3)}
/* celular: tabela rola para o lado em vez de espremer as colunas */
@media (max-width:760px){
  body .setup table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
    /* sombra nas bordas avisa que tem mais coluna para o lado (some quando chega na ponta) */
    background:linear-gradient(to right,var(--a-s1) 30%,rgba(19,19,27,0)) left center/36px 100% no-repeat local,
      linear-gradient(to left,var(--a-s1) 30%,rgba(19,19,27,0)) right center/36px 100% no-repeat local,
      radial-gradient(farthest-side at 0 50%,rgba(124,92,255,.45),transparent) left center/14px 100% no-repeat scroll,
      radial-gradient(farthest-side at 100% 50%,rgba(124,92,255,.45),transparent) right center/14px 100% no-repeat scroll}
  body .setup table :is(th,td){white-space:nowrap}
  body .setup table th,body .setup table tbody tr:nth-child(even) td{background:transparent}
  body .setup table th{border-bottom-color:var(--a-bd2)}
}

/* ================= KPIs / relatórios ================= */
body .setup .rp-k{background:var(--a-s2);border:1px solid var(--a-bd);border-radius:var(--a-r)}
body .setup .rp-k b{font-family:var(--a-font);font-weight:700;letter-spacing:-.02em;color:var(--a-t1)}
body .setup .rp-k small{color:var(--a-t2)}
body .setup .rp-rec{background:var(--a-s2);border-color:var(--a-bd)}
body .setup .rp-rec small{color:var(--a-t2)}
body .setup .rp-bar>div{background:var(--a-s3)}
body .setup .rp-bar>span{color:var(--a-t2)}

/* ================= GAVETAS / MODAIS ================= */
body .drawer{background:rgba(5,5,9,.66);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
body .drawer .pane{background:var(--a-s1);border-left:1px solid var(--a-bd2);box-shadow:-20px 0 60px rgba(0,0,0,.5);backdrop-filter:none;padding:24px 22px;color:var(--a-t1)}
body .drawer h2{font-family:var(--a-font);font-size:18px;font-weight:650;letter-spacing:-.01em}
body .drawer .row{display:grid;grid-template-columns:1fr;background:none;border:0;padding:0;box-shadow:none;border-radius:0}
body .drawer .err{color:var(--a-err);font-weight:600;font-size:13px}
body .xmodal{background:rgba(5,5,9,.72)}
body .xmodal .xbox{background:var(--a-s1);border:1px solid var(--a-bd2);border-radius:var(--a-r-lg);box-shadow:0 24px 70px rgba(0,0,0,.55);color:var(--a-t1)}

/* aviso rápido */
body .toastl{background:#f1f1f6;color:#111118;border-radius:10px;padding:10px 16px;font:600 14px/1.35 var(--a-font);box-shadow:0 12px 32px rgba(0,0,0,.5);max-width:calc(100vw - 32px);text-align:center}

/* ================= TELA DE SENHA ================= */
body .lock .card{width:min(400px,100%);padding:28px 26px 24px;gap:12px;background:var(--a-s1);border:1px solid var(--a-bd);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
body .lock .em{font-size:40px;width:64px;height:64px;margin:0 auto 4px;display:grid;place-items:center;border-radius:16px;background:var(--a-acc-soft);border:1px solid var(--a-acc-bd)}
body .lock h1{font-family:var(--a-font);font-size:22px;font-weight:700;letter-spacing:-.02em}
body .lock p{color:var(--a-t2);font-size:13.5px}
body .lock p[style*="opacity"]{opacity:1!important;color:var(--a-t3)}
body .lock .curioso{font-family:var(--a-font);font-size:14px;font-weight:500;color:#fde68a}
body .lock .in{font-size:16px;letter-spacing:.12em;padding:12px 14px;min-height:46px}
body .lock .err{color:var(--a-err)}
body .lock label{color:var(--a-t2);font-size:13px;font-weight:500;justify-content:flex-start;text-align:left;gap:10px}
body .lock .btn.primary{width:100%;min-height:44px;font-size:15px}
body .lock a.btn.sm{background:transparent;border-color:var(--a-bd2);color:var(--a-t2)!important}

/* ================= CORES INLINE DOS MÓDULOS (contraste no fundo escuro) ================= */
.setup [style*="color:#d0573f"],.drawer [style*="color:#d0573f"]{color:#ff8a78!important}
.setup [style*="color:#3a9d5d"],.drawer [style*="color:#3a9d5d"]{color:#4ade80!important}
.setup [style*="color:#c58a1c"]{color:#fbbf24!important}
.setup [style*="color:rgba(255,255,255,.3)"]{color:var(--a-t3)!important}
.setup [style*="color:rgba(255,200,61,.6)"]{color:#fcd34d!important}
.setup [style*="color:rgba(156,195,255,.45)"]{color:var(--a-t3)!important}
.setup [style*="color:var(--line)"]{color:var(--a-t3)!important}
.setup [style*="background:#d0573f"],.setup [style*="background:#3a9d5d"],.setup [style*="background:#e0a43a"]{color:#fff}
.setup [style*="background:rgba(0,0,0,.3)"]{background:var(--a-in)!important}
/* legendas pequenas: sem transparência (antes ficavam "apagadas") */
body .setup small{opacity:1!important}
body .setup [style*="opacity:.6"]:not(button):not(.btn):not(.btn *),body .setup [style*="opacity:.5"]:not(button):not(.btn){opacity:1!important;color:var(--a-t3)}
/* legenda dentro de botão/aba selecionado (fundo roxo) */
body .setup :is(button,.btn).on small,body .setup .btn.primary small{color:rgba(255,255,255,.9)}
/* botões com degradê inline: mesmas cores, versão mais escura (branco legível ≥ 4,5:1) */
body .setup .btn[style*="#f59e0b,#ec4899"]{background:linear-gradient(135deg,#c2410c,#be185d)!important;border-color:#ea580c}
body .setup .btn[style*="#ef4444,#7c3aed"]{background:linear-gradient(135deg,#dc2626,#6d28d9)!important;border-color:#ef4444}
body .setup .btn[style*="#0ea5e9,#7c3aed"]{background:linear-gradient(135deg,#0369a1,#6d28d9)!important;border-color:#0ea5e9}
body .setup .btn[style*="linear-gradient"][style*="color:#fff"]{text-shadow:0 1px 2px rgba(0,0,0,.35)}
