/* Integrado ao index.html (STATUS.md 9.x): estas 6 regras eram globais
   (:root, html/body, b/strong, h1-h4, code, footer — ver mais abaixo) — como
   página avulsa isso só valia pra ela mesma, mas coladas aqui elas vazavam
   pro SITE INTEIRO: as variáveis de cor pisavam as do site (mesmo nome,
   --ink/--bg com valores diferentes), e os pesos de fonte de h1-h4/b/strong
   mudavam em toda página, não só aqui. Escopadas em #view-banco-tecnico-full
   pra valer só dentro desta view. */
  #view-banco-tecnico-full{
    --bg:#f5f8fa; --panel:#ffffff; --panel2:#f3f7fa; --line:#e5ebf1;
    --ink:#12202e; --mut:#5c6b7a; --mut2:#8a99a8;
    --mint:#10b981; --mint-ink:#0a8f63; --mint-dim:#e7f7f0; --amber:#b7791f; --red:#dc2626;
    --pos:#0a8f5f; --neg:#d33a4b;
    --rad:10px; --shadow:0 1px 2px rgba(16,32,46,.04),0 4px 18px rgba(16,32,46,.05);
    background:var(--bg);color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;line-height:1.6;font-weight:400;
  }
  *{box-sizing:border-box}
  /* Integrado ao index.html (STATUS.md 9.x): como página avulsa, este CSS só
     mexia em box-sizing e contava com a margem/padding padrão do navegador
     pros elementos internos (parágrafos, títulos, listas) — o `*` do site
     principal zera margin/padding de tudo. `:where()` não soma especificidade
     nenhuma, então qualquer regra própria abaixo (ex.: .bt-wrap, header.top)
     continua vencendo por especificidade normal — isto só repõe o padrão do
     navegador onde nada mais foi dito. */
  :where(#view-banco-tecnico-full) *{margin:revert;padding:revert}
  #view-banco-tecnico-full b,#view-banco-tecnico-full strong{font-weight:600}
  #view-banco-tecnico-full h1,#view-banco-tecnico-full h2,#view-banco-tecnico-full h3,#view-banco-tecnico-full h4{font-weight:600}
  .bt-wrap{max-width:1080px;margin:0 auto;padding:22px 18px 90px}
  /* Integrado ao index.html (STATUS.md 9.x): o site tem uma regra pra
     qualquer <header> (position:sticky;top:0;z-index:50;...) pensada só pro
     cabeçalho DELE. Como este título também é um <header> (era a página
     inteira antes, ninguém tinha motivo pra imaginar outro <header> na
     mesma tela), ele herdava isso e ficava grudado no topo ao rolar,
     duplicando o cabeçalho fixo. As propriedades abaixo desfazem só isso. */
  header.top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px;
    position:static;z-index:auto;background:none;backdrop-filter:none;border-bottom:0}
  header.top h1{font-size:22px;margin:0;letter-spacing:.2px}
  .badge{font-size:11px;font-weight:600;color:var(--mint-ink);background:var(--mint-dim);
    border:1px solid #bfe6d6;padding:2px 8px;border-radius:999px}
  .spacer{flex:1}
  .sub{color:var(--mut);font-size:14px;margin:6px 0 18px;max-width:76ch}
  .seg{display:inline-flex;background:var(--panel2);border:1px solid var(--line);border-radius:10px;overflow:hidden}
  .seg button{background:transparent;color:var(--mut);border:0;padding:7px 13px;font-weight:600;font-size:12px;cursor:pointer}
  .seg button.on{background:var(--mint);color:#fff}
  .lang-lbl{font-size:11px;color:var(--mut2);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-right:2px}
  nav.cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;border-bottom:1px solid var(--line);padding-bottom:14px}
  nav.cats button{background:var(--panel);color:var(--mut);border:1px solid var(--line);
    padding:9px 14px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;box-shadow:var(--shadow)}
  nav.cats button:hover{color:var(--ink);border-color:#cdd8e3}
  nav.cats button.on{background:var(--mint);color:#fff;border-color:var(--mint)}
  nav.cats button.soon{opacity:.55;cursor:default;box-shadow:none}
  nav.cats .catdd{position:relative;display:inline-block}
  nav.cats .catdd .catddbtn.active{background:var(--mint);color:#fff;border-color:var(--mint)}
  /* Integrado ao index.html (STATUS.md 9.x): z-index 30 ficava atrás do
     cabeçalho do site (z-index:50, sticky) — o dropdown abria escondido.
     55 fica acima do cabeçalho, abaixo da trava de acesso (2147483000). */
  nav.cats .catddmenu{position:absolute;top:calc(100% + 6px);left:0;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px;display:none;flex-direction:column;gap:4px;z-index:55;min-width:200px;box-shadow:0 10px 28px rgba(0,0,0,.10)}
  nav.cats .catdd.open .catddmenu{display:flex}
  nav.cats .catddmenu button{width:100%;text-align:left;box-shadow:none}
  nav.cats button[data-p]{font-weight:600;font-size:14px;padding:9px 16px;border-radius:10px}
  nav.subcats{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
  nav.subcats:empty{border:0;padding:0;margin:0}
  nav.subcats button{font-size:13px;font-weight:500;padding:6px 12px;border-radius:999px;background:var(--panel);border:1px solid var(--line);color:var(--mut);box-shadow:none}
  nav.subcats button.on{background:var(--mint);border-color:var(--mint);color:#fff}
  nav.subcats .subsep{flex-basis:100%;height:0}
  nav.subcats .subgrp{align-self:center;font-size:10px;font-weight:700;letter-spacing:.09em;
    text-transform:uppercase;color:var(--mut2);margin:2px 4px 0 2px}
  /* Menu de tema/ferramenta como <select> (ago/26). Era pílula por item —
     onze numa tela só. O <select> nativo foi escolhido de propósito: no
     celular ele abre a roleta do próprio sistema, que é maior e mais fácil
     de acertar do que uma lista desenhada por nós. */
  nav.subcats .subdd{display:inline-flex;align-items:center;gap:6px}
  nav.subcats .subdd .subgrp{margin:0}
  nav.subcats select.subsel{font-family:inherit;font-size:13px;font-weight:500;
    padding:6px 30px 6px 12px;border-radius:999px;background:var(--panel);
    border:1px solid var(--line);color:var(--ink);cursor:pointer;appearance:none;
    -webkit-appearance:none;-moz-appearance:none;
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236b7c8f' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 11px center}
  nav.subcats select.subsel:hover{border-color:#cdd8e3}
  nav.subcats select.subsel:focus-visible{outline:2px solid var(--mint);outline-offset:1px}
  /* Selo de pergunta real. Fica ACIMA do enunciado, não no meio dele: no
     meio, a estrela vira ruído dentro da frase que o aluno precisa ler. */
  .qreal{display:flex;width:fit-content;align-items:center;gap:5px;margin:0 0 7px;
    font-size:11px;font-weight:600;letter-spacing:.01em;color:#8a6d1f;
    background:#fdf6e0;border:1px solid #efdca8;border-radius:999px;padding:3px 10px}
  .qreal-t{text-transform:none}
  #footer .ftreal{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);
    color:var(--mut2);font-size:11px;line-height:1.55}
  /* Guia conceitual do tema (ago/26). Recolhido por padrão: é material de
     consulta, não conteúdo obrigatório. Quem já sabe nem vê; quem travou
     abre antes de responder. */
  #view-banco-tecnico-full .guia{background:var(--panel);border:1px solid var(--line);
    border-left:3px solid var(--mint);border-radius:var(--rad);margin-bottom:16px;
    box-shadow:var(--shadow)}
  #view-banco-tecnico-full .guia>summary{cursor:pointer;padding:13px 18px;font-weight:600;
    font-size:14px;color:var(--ink);list-style:none;display:flex;align-items:center;gap:9px}
  #view-banco-tecnico-full .guia>summary::-webkit-details-marker{display:none}
  #view-banco-tecnico-full .guia>summary::after{content:'▾';margin-left:auto;color:var(--mut2);
    font-size:12px;transition:transform .15s}
  #view-banco-tecnico-full .guia[open]>summary::after{transform:rotate(180deg)}
  #view-banco-tecnico-full .guia>summary:hover{color:var(--mint-ink)}
  #view-banco-tecnico-full .gtag{font-size:10px;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;background:#e7f7f0;color:#0a8f63;border:1px solid #bfe6d6;
    border-radius:999px;padding:2px 8px;flex:none}
  #view-banco-tecnico-full .gbody{padding:0 18px 16px;border-top:1px solid var(--line);margin-top:2px}
  #view-banco-tecnico-full .glinha{font-size:13px;color:var(--mut);margin:13px 0 4px;line-height:1.6}
  #view-banco-tecnico-full .gbloco{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
  #view-banco-tecnico-full .gbloco:first-of-type{border-top:0}
  #view-banco-tecnico-full .gh{font-weight:600;font-size:13px;color:var(--ink);margin-bottom:5px}
  #view-banco-tecnico-full .gp{font-size:13px;color:var(--mut);line-height:1.72}
  /* Figura: SVG desenhado à mão, sem biblioteca. Escala com a largura,
     e ganha rolagem própria no celular para a página nunca rolar de lado. */
  .fig{margin:12px 0 4px;padding:0;overflow-x:auto}
  .fig svg{display:block;min-width:420px;max-width:100%;height:auto}
  .fig figcaption{font-size:11px;color:var(--mut);line-height:1.6;margin-top:6px}
  /* "como cai": a ponte entre o guia e a questão. Sem isso o guia vira
     leitura solta — o aluno lê e não sabe para que serviu. */
  #view-banco-tecnico-full .gcai{margin-top:7px;padding:7px 11px;background:#f6f9fc;
    border-left:2px solid var(--line);border-radius:0 6px 6px 0;font-size:12px;
    color:var(--mut);line-height:1.6}
  #view-banco-tecnico-full .gcail{font-size:9px;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;color:var(--mut2);margin-right:6px}
  /* resposta em dois níveis: a conclusão sempre visível, o porquê a um clique */
  .exp details.mais{margin-top:9px;border-top:1px dashed var(--line);padding-top:7px}
  .exp details.mais>summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--mut);list-style:none}
  .exp details.mais>summary::-webkit-details-marker{display:none}
  .exp details.mais>summary::before{content:"▸ ";color:var(--mut2)}
  .exp details.mais[open]>summary::before{content:"▾ "}
  .exp details.mais>summary:hover{color:var(--ink)}
  .exp details.mais .maisbody{margin-top:7px}
  .fontes{margin-top:10px;padding-top:8px;border-top:1px dotted var(--line);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
  .fontes .fh{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mut2)}
  .fontes a{font-size:12px;color:var(--mut);text-decoration:none;border-bottom:1px solid var(--line)}
  .fontes a:hover{color:var(--ink);border-bottom-color:var(--mut)}
  .fontes a::after{content:" ↗";font-size:9px;color:var(--mut2)}
  /* citação sem link: mesma tipografia, sem a seta de link externo nem o
     sublinhado, para não parecer um link que não funciona. */
  .fontes .fcit{font-size:12px;color:var(--mut);font-style:italic}
  /* "Ler mais": recomendação de leitura, não proveniência. Ganha caixa
     própria porque o aluno tem que ver o que vai encontrar antes de clicar
     — link solto no fim do gabarito ninguém abre. */
  .lermais{margin-top:11px;padding:10px 12px;background:#f6f9fc;border:1px solid var(--line);
    border-radius:6px}
  .lermais .lmh{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    color:var(--mut2);margin-bottom:7px}
  .lermais .lmitem{margin-top:8px}
  .lermais .lmitem:first-of-type{margin-top:0}
  .lermais .lmt{font-size:12px;font-weight:600;line-height:1.45}
  .lermais .lmt a{color:var(--mint-ink);text-decoration:none;border-bottom:1px solid #bfe6d6}
  .lermais .lmt a:hover{border-bottom-color:var(--mint)}
  .lermais .lmt a::after{content:" ↗";font-size:9px;color:var(--mut2)}
  .lermais .lmcit{color:var(--ink);font-style:italic}
  .lermais .lmo{font-size:12px;color:var(--mut);line-height:1.6;margin-top:2px}
  .focusbar{margin:9px 0}
  .focusbar .fbtop{display:flex;justify-content:space-between;font-size:13px;color:var(--ink);margin-bottom:4px}
  .focusbar .fbtop .fpct{font-weight:600}
  .focusbar .fbtrack{height:9px;background:var(--panel2,#eef2f6);border:1px solid var(--line);border-radius:6px;overflow:hidden}
  .focusbar .fbfill{height:100%;border-radius:6px}
  .focusrow.weak{background:#fff7f2;border:1px solid #f3d6c6;border-radius:10px;padding:12px 14px}
  .seed{font-size:11px;color:var(--amber);background:#fdf6e3;border:1px solid #ecdca6;
    padding:2px 8px;border-radius:6px;display:inline-block;vertical-align:middle}
  section.view{display:none}
  section.view.on{display:block}
  .bt-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:16px 18px;margin-bottom:16px;box-shadow:var(--shadow)}
  @keyframes danim{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .danim{animation:danim .2s ease-out}
  .opt{transition:background .12s ease,border-color .12s ease,color .12s ease}
  .exp{transition:opacity .2s ease}
  .pills{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:8px}
  .pills button{background:var(--panel2);border:1px solid var(--line);color:var(--mut);
    padding:9px 12px;border-radius:6px;font-size:13px;cursor:pointer;text-align:left;transition:.15s}
  .pills button:hover{color:var(--ink);border-color:#cdd8e3}
  .pills button.on{background:var(--mint-dim);border-color:var(--mint);color:var(--ink);box-shadow:inset 0 0 0 1px var(--mint)}
  .pills button .tag{display:block;font-size:10px;color:var(--mut2);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}
  .ctrls{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-end}
  .ctrl label{display:block;font-size:12px;color:var(--mut);margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
  .val{color:var(--mint-ink);font-weight:600}
  input[type=range]{width:150px;accent-color:var(--mint)}
  input[type=range]:disabled{opacity:.4}
  .conds{display:flex;flex-direction:column;gap:12px}
  .condrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .condrow .cl{font-size:12px;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.4px;min-width:110px}
  .prompt{font-size:16px;font-weight:600;margin:2px 0}
  .assump{font-size:12px;color:var(--mut);margin:8px 0 0}
  .assump b{color:var(--ink)}
  details.answer{margin-top:14px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:2px 14px}
  details.answer summary{cursor:pointer;font-weight:600;color:var(--mint-ink);padding:11px 0;list-style:none}
  details.answer summary::-webkit-details-marker{display:none}
  details.answer summary::before{content:"▸ ";color:var(--mint-ink)}
  details.answer[open] summary::before{content:"▾ "}
  details.answer .body{padding:0 0 14px;color:#33475b;font-size:14px}
  details.answer .body p{margin:8px 0}
  .stmts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
  @media(max-width:820px){.stmts{grid-template-columns:1fr}}
  .stmt{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px 14px 10px}
  .stmt h3{margin:0 0 4px;font-size:14px;letter-spacing:.3px}
  .stmt .h-sub{font-size:11px;color:var(--mut2);margin-bottom:10px}
  .row{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:13px;border-bottom:1px dashed #e2e8ef}
  .row:last-child{border-bottom:0}
  .row .l{color:var(--mut)}
  .row.tot .l,.row.tot .v{font-weight:700;color:var(--ink)}
  .row.tot{border-top:1px solid var(--line);border-bottom:0;margin-top:4px;padding-top:8px}
  .row.sub .l{color:#38495a;font-weight:600}
  .num{font-variant-numeric:tabular-nums;font-weight:600}
  .pos{color:var(--pos)} .neg{color:var(--neg)} .zero{color:var(--mut2)}
  .check{margin-top:10px;font-size:12px;font-weight:600;padding:6px 10px;border-radius:6px;display:inline-block}
  .check.ok{color:var(--mint-ink);background:var(--mint-dim);border:1px solid #bfe6d6}
  .check.bad{color:var(--red);background:#fdecee;border:1px solid #f3c0c6}
  .note{font-size:12px;color:var(--mut);margin-top:12px;padding-left:12px;border-left:2px solid var(--line)}
  .note b{color:var(--ink)}
  .qhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
  .qhead .ht{font-weight:600;font-size:15px}
  .qgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media(max-width:820px){.qgrid{grid-template-columns:1fr}}
  details.qcard{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:2px 16px;box-shadow:var(--shadow)}
  details.qcard summary{cursor:pointer;font-weight:600;padding:14px 0;list-style:none;font-size:14px}
  details.qcard summary::-webkit-details-marker{display:none}
  details.qcard summary::before{content:"＋ ";color:var(--mint-ink);font-weight:700}
  details.qcard[open] summary::before{content:"− ";color:var(--mint-ink)}
  details.qcard .a{padding:0 0 16px;color:#33475b;font-size:14px}
  details.qcard .a p{margin:6px 0}
  #view-banco-tecnico-full code{background:#eef6f2;border:1px solid #d5e8df;padding:1px 6px;border-radius:6px;font-size:13px;color:#0a7a52}
  .en-only{display:none}
  body.lang-en .pt-only{display:none}
  body.lang-en .en-only{display:block}
  span.en-only,summary .en-only{display:none}
  body.lang-en span.pt-only{display:none}
  body.lang-en span.en-only{display:inline}
  /* quiz */
  .score{font-weight:700;font-size:14px;color:var(--ink);background:var(--panel2);border:1px solid var(--line);
    border-radius:10px;padding:10px 14px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
  .score .rs{background:none;border:1px solid var(--line);color:var(--mut);border-radius:6px;padding:5px 10px;font-weight:600;cursor:pointer;font-size:12px}
  .quizq{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow)}
  .quizq .qq{font-weight:600;font-size:14px;margin-bottom:10px}
  .opts{display:flex;flex-direction:column;gap:8px}
  .opt{text-align:left;background:var(--panel2);border:1px solid var(--line);color:var(--ink);
    padding:10px 12px;border-radius:6px;cursor:pointer;font-size:14px;transition:.12s}
  .opt:hover{border-color:#cdd8e3}
  .opt.sel{border-color:var(--mint);box-shadow:inset 0 0 0 1px var(--mint);background:var(--mint-dim)}
  .opt.right{background:var(--mint-dim);border-color:var(--mint);color:var(--mint-ink);font-weight:600}
  .opt.wrong{background:#fdecee;border-color:#f3c0c6;color:var(--red)}
  .exp{margin-top:10px;font-size:13px;color:#33475b;background:var(--panel2);border-left:2px solid var(--mint);padding:8px 12px;border-radius:0 10px 10px 0}
  .ansbox{width:100%;min-height:92px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;color:var(--ink);resize:vertical;margin-bottom:10px}
  .pbtns{display:flex;gap:8px;flex-wrap:wrap}
  .exp ul{margin:6px 0 0;padding-left:18px} .exp li{margin:3px 0}
  .kt{width:100%;border-collapse:collapse;margin:6px 0 4px;font-size:12px;font-variant-numeric:tabular-nums}
  .kt th,.kt td{border:1px solid var(--line);padding:4px 8px;text-align:right}
  .kt th{background:var(--panel2);color:var(--mut);font-weight:600}
  .kt td:first-child,.kt th:first-child{text-align:left;color:var(--mut)}
  .minputs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
  .minp label{display:block;font-size:11px;color:var(--mut);font-weight:600;margin-bottom:4px}
  .minp input{width:100%;background:#f8fbfd;border:1px solid var(--line);color:var(--ink);padding:8px 10px;border-radius:6px;font-weight:600;font-variant-numeric:tabular-nums}
  .bridge{display:grid;grid-template-columns:1fr;gap:10px;max-width:430px}
  .bline{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed #e2e8ef}
  .bline label{color:var(--mut);font-size:13px}
  .bline input{width:130px;background:#f8fbfd;border:1px solid var(--line);color:var(--ink);
    padding:7px 9px;border-radius:6px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
  .bresult{display:flex;justify-content:space-between;font-size:17px;font-weight:700;padding-top:12px;margin-top:4px;border-top:1px solid var(--line)}
  .bresult .num{color:var(--mint-ink)}
  .op{color:var(--mut2);font-weight:700;width:14px;display:inline-block;text-align:center}
  .soonbox{text-align:center;color:var(--mut);padding:40px 20px}
  .soonbox h2{color:var(--ink)}
  /* daily / gamification */
  .dstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
  @media(max-width:560px){.dstats{grid-template-columns:repeat(2,1fr)}}
  .dstat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center;box-shadow:var(--shadow)}
  .dsv{font-weight:700;font-size:20px;color:var(--ink)}
  .dsl{font-size:11px;color:var(--mut2);text-transform:uppercase;letter-spacing:.4px;margin-top:2px}
  .lvbar{height:7px;background:var(--panel2);border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-top:8px}
  .lvfill{height:100%;background:var(--mint);border-radius:999px;transition:width .3s}
  .tree{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
  @media(max-width:640px){.tree{grid-template-columns:repeat(3,1fr)}}
  .tnode{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px 8px;text-align:center}
  .tlv{width:36px;height:36px;line-height:36px;margin:0 auto 6px;border-radius:50%;background:var(--mint);color:#fff;font-weight:700;font-size:15px}
  .tname{font-size:12px;font-weight:600;color:var(--ink)}
  .txp{font-size:10px;color:var(--mut2);margin-top:1px}
  /* Sem escopo, isso pisaria no rodapé de VERDADE do site inteiro (mesmo
     seletor genérico, carregado depois — teria ganho por ordem). */
  #view-banco-tecnico-full footer{margin-top:40px;color:var(--mut2);font-size:12px;border-top:1px solid var(--line);padding-top:16px}

/* ---- próximo bloco style original ---- */

/* A regra que esconde o conteúdo até a assinatura ser confirmada
   (#view-banco-tecnico-full>*:not(#ezf-gate){visibility:hidden}) NÃO fica
   aqui — precisa estar num <style id="ezf-hide"> dentro do próprio
   index.html, porque libera() (em app.js) a remove pelo id quando a
   assinatura é confirmada. Se ficasse neste arquivo CSS, seria permanente e
   nunca seria removida — o conteúdo ficaria escondido pra sempre, mesmo com
   assinatura ativa. Ver STATUS.md 9.x. */

/* ---- próximo bloco style original ---- */

#ezf-gate{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;
    background:#0b1020;padding:22px;font-family:inherit}
  #ezf-gate.ezf-off{display:none}
  #ezf-gate .box{max-width:430px;width:100%;background:#141826;border:1px solid #2a3350;border-radius:10px;
    padding:30px 26px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.45)}
  #ezf-gate .brand{font-size:12px;font-weight:800;letter-spacing:.12em;color:#8b93f8;text-transform:uppercase;margin-bottom:10px}
  #ezf-gate h2{margin:4px 0 6px;font-size:21px;font-weight:800;color:#fff}
  #ezf-gate p{margin:8px 0;font-size:14px;line-height:1.5;color:#aeb7cc}
  #ezf-gate input{width:100%;box-sizing:border-box;margin:14px 0 4px;padding:13px 14px;border-radius:10px;
    border:1px solid #333c5c;background:#0e1220;color:#fff;font-size:15px;font-family:inherit}
  #ezf-gate input:focus{border-color:#6366f1;outline:none}
  #ezf-gate .cta{display:block;width:100%;box-sizing:border-box;margin:14px 0 0;padding:14px 18px;border-radius:10px;
    border:0;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:15px;font-weight:700;
    cursor:pointer;font-family:inherit;text-decoration:none}
  #ezf-gate .cta:disabled{opacity:.6;cursor:default}
  #ezf-gate .ghost{margin-top:12px;width:100%;padding:11px;border-radius:10px;background:transparent;
    border:1px solid #333c5c;color:#aeb7cc;font-size:13px;cursor:pointer;font-family:inherit}
  #ezf-gate .ghost:hover{border-color:#4a5578;color:#fff}
  #ezf-gate .who{font-size:12px;color:#6b7590;margin-top:16px;word-break:break-all}
  #ezf-gate .aviso{margin-top:14px;padding:11px 13px;border:1px dashed #3b456b;border-radius:10px;
    font-size:12px;color:#9aa4bd;line-height:1.5;text-align:left}
  #ezf-gate .aviso b{color:#cbd4e8}

/* ---- próximo bloco style original ---- */

.authbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;font-size:13px;color:var(--mut)}
  .authbar input{padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:13px;min-width:200px;font-family:inherit}
  .authbar button{background:var(--mint);color:#fff;border:1px solid var(--mint);padding:8px 14px;border-radius:6px;font-weight:600;cursor:pointer;font-size:13px;font-family:inherit}
  .authbar button.ghost{background:var(--panel);color:var(--mut);border-color:var(--line)}
  .authbar .who{font-weight:600;color:var(--ink)}
  .lbrow{display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;background:var(--panel)}
  .lbrow.me{background:var(--mint-dim);border-color:var(--mint)}
  .lbrow .lbrk{font-weight:700;width:40px;color:var(--mut2)}
  .lbrow .lbnm{flex:1;font-weight:600;color:var(--ink)}
  .lbrow .lbxp{font-weight:600;color:var(--mint-ink)}
