.pagina-a4 {
  width: 793px !important;
  min-height: 1122px !important;
  margin: 0 auto;
  background: white;
  box-shadow: 0 0 5px #bbb;
  padding: 40px 50px 40px 50px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  page-break-after: always;
  font-family: Arial, sans-serif;
}
/* aplica globalmente, mas NÃO nas fórmulas */
.pagina-a4,
.pagina-a4 *:not(.katex):not(.katex *) {
  font-size: 15px !important;
  line-height: 1.20 !important;
  box-sizing: border-box !important;
}

.pagina-a4 h1, .pagina-a4 .titulo {
  font-size: 16px !important;
  font-weight: bold;
  line-height: 1.18 !important;
}  
/* Bloco de texto “limpo” no PDF */
.preview-bloco-texto {
  font-size: 15px;
  font-family: Arial, sans-serif;
  line-height: 1.2;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-sizing: border-box;
}
.preview-bloco-texto p { margin: 0 !important; padding: 0 !important; }
.preview-bloco-texto br { display: none; }


    .logo-area { 
  height: 110px; 
  min-height: 110px;
  max-height: 110px;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; 
  background: #f8fafc; border-radius: 14px; 
  margin-bottom: 10px; border: 1px dashed #ccc; cursor: pointer; 
  transition: box-shadow 0.16s;
  /* Garante proporção do logo dentro da caixa */
    }
.logo-area img {
  max-height: 100%;
  max-width: 100%;
  height: auto;
  width: auto;
  object-fit: contain;   /* segurança extra (não distorce) */
  display: block;
  border-radius: 12px;   /* opcional, combina com a caixa */
}
/* Evita margem/distorção no logo (preview) */
.logo-area { line-height: 0; }               /* elimina espaço de linha na caixa */
.logo-area img {
  margin: 0 !important;                      /* neutraliza o 'div img { margin:14px }' */
  max-height: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  width: auto !important;
  object-fit: contain !important;
  display: block;
  border-radius: 12px;
}

/* Mesmo tratamento para o logo do cabeçalho gerado */
.header-logo-box { line-height: 0; }
.header-logo-img {
  margin: 0 !important;                      /* neutraliza margem global */
  max-height: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  width: auto !important;
  object-fit: contain !important;
  display: block;
  border-radius: 12px;
}

    .assinatura-linha { border-bottom: 1px solid #000; width: 500px; margin: 0 auto 2px auto; height: 28px; }
    .campo-gabarito { border-radius: 16px; border: 2px solid #111; padding: 14px 18px; display: flex; align-items: center; gap: 8px; width: 100%; box-sizing: border-box; justify-content: space-between;}
    .separador-questoes { display: flex; align-items: center; gap: 8px; margin-top: 2rem; margin-bottom: 1.5rem;}
    .separador-questoes span { font-size: 1.15rem; font-weight: bold; flex: 1; text-align: center; border-bottom: 2px solid #e5e7eb; padding-bottom: 2px;}
    .btn-add-container { position: relative; display:inline-block;}
    .dropdown-menu { position: absolute; left: 0; z-index: 999; background: #fff; border: 1px solid #bbb; border-radius: 7px; box-shadow: 0 6px 24px #0002; min-width: 200px; min-height: 0; padding: 6px 0; display: none;}
    .dropdown-menu button { width: 100%; text-align: left; background: none; border: none; padding: 9px 16px; font-size: 1rem; cursor: pointer; transition: background .15s;}
    .dropdown-menu button:hover { background: #aae2bb; }
    .btn-green { background: #22d3ee; color: #065f46; font-weight: bold; border-radius: 9999px; border: none; padding: 2px 18px; font-size: 1.45rem; margin-right: 8px; cursor: pointer; box-shadow: 0 1px 3px #0001; transition: background .2s;}
    .btn-green:hover { background: #2dd4bf; color: #055143;}
    .btn-save { background: #d1d5db; color: #1f2937; font-weight: 500; border-radius: 9999px; border: none; padding: 7px 28px; font-size: 1.01rem; margin: 24px 0 4px 0; cursor: pointer; box-shadow: 0 1px 4px #0001; display: block; margin-left: auto; margin-right: auto; transition: background .18s;}
    .btn-save:hover { background: #bcbcbc; color: #000;}
    .questao-bloco-prova { border: none; background: none; padding: 0; margin-bottom: 32px; page-break-inside: avoid;}
    .btn-remover-questao { color: #e11d48; background: none; border: none; font-size: 1.3rem; margin-right: 10px; cursor: pointer; vertical-align:top;}
    .numero-questao { font-weight: bold; color: #111; font-size: 1.08rem; margin-right: 8px; vertical-align: middle; display: inline-block; min-width: 38px;}
    .fonte-fonte { color: #777; font-size: 0.99rem; margin-left: 3px; font-weight: 400;}
    .enunciado-bloco { text-align: justify; margin-bottom: 12px; margin-top: 4px;}
    /* Reduz margens internas de parágrafos inseridos pelo Quill */
.img-center {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 12px 0;
}
.img-center img {
  display: inline-block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

    .alt-correta { color: #16a34a; font-weight: bold; }
    ol { margin-left: 0; padding-left: 18px; text-align: justify; }
    .bloco-actions { margin-top: 3px; text-align: right; }
    @media print { body, .pagina-a4, .questao-bloco-prova, .bloco-actions, .btn-remover-questao, .btn-add, .btn-save, #logoUpload, #btnAdd, #dropdownMenu, #btnSalvarQuestao, .titulo-lista, .btn-add-container, .btn-float { background: none !important; box-shadow: none !important; border: none !important; } textarea, input[type="text"], input[type="url"], select, button { display: none !important; } }
    #logoUpload { display: none; }
    .logo-area { transition: box-shadow 0.16s; }
    .logo-area:hover { box-shadow: 0 0 0 3px #bae6fd; border-color: #38bdf8; }
    .btn-float { position: fixed; right: 26px; bottom: 26px; z-index: 80 !important; background: #22d3ee; color: #fff; font-weight: bold; border: none; border-radius: 50px; box-shadow: 0 4px 24px #0003; padding: 15px 32px; font-size: 1.3rem; cursor: pointer; transition: background .16s;}
    .btn-float:hover { background: #0ea5e9;}
    .gabarito-vertical {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  letter-spacing: 2px;
  font-weight: bold;
  font-size: 1.07rem;
  color: #000000;
  margin-right: 8px;
  display: flex;
  align-items: center;
  height: 95px;
  user-select: none;
    }

    /* Paleta equivalente ao Tailwind (green-400/600, blue-400/600, gray-400/500, emerald-500/600) */
:root{
  --btn-green:  #4ade80;
  --btn-green-h:#16a34a;
  --btn-blue:   #60a5fa;
  --btn-blue-h: #2563eb;
  --btn-gray:   #9ca3af;
  --btn-gray-h: #6b7280;
  --btn-pri:    #10b981;
  --btn-pri-h:  #059669;
 --btn-save:   #f59e0b;  /* amber-500 */
  --btn-save-h: #d97706;  /* amber-600 */
  --btn-open:  #8b5cf6; /* violet-500 */
  --btn-open-h:#7c3aed; /* violet-600 */
}

/* Reset leve para garantir que nada sobrescreva a cor */
.btn-float--open{ background-color: var(--btn-open); color:#fff; }
.btn-float--open:hover,
.btn-float--open:focus-visible{ background-color: var(--btn-open-h); color:#fff; }
.btn-float--save{ background-color: var(--btn-save); color:#fff; }
.btn-float--save:hover,
.btn-float--save:focus-visible{ background-color: var(--btn-save-h); color:#fff; }
.btn-float--green,
.btn-float--blue,
.btn-float--gray,
.btn-float--primary{
  background: none;                 /* neutraliza shorthand background */
  background-color: transparent;    /* ponto de partida */
  color: #fff!important;
  border: none;
  transition: background-color .2s ease, transform .06s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}
.btn-float--green    { background-color: var(--btn-green); }
.btn-float--green:hover,
.btn-float--green:focus-visible { background-color: var(--btn-green-h); }

.btn-float--blue     { background-color: var(--btn-blue); }
.btn-float--blue:hover,
.btn-float--blue:focus-visible  { background-color: var(--btn-blue-h); }

.btn-float--gray     { background-color: var(--btn-gray); color:#fff
; }
.btn-float--gray:hover,
.btn-float--gray:focus-visible  { background-color: var(--btn-gray-h); color:#fff; }

.btn-float--primary  { background-color: var(--btn-pri); }
.btn-float--primary:hover,
.btn-float--primary:focus-visible { background-color: var(--btn-pri-h); }

/* microinterações */
.btn-float--green:active,
.btn-float--blue:active,
.btn-float--gray:active,
.btn-float--primary:active{ transform: translateY(1px); }

/* estado desabilitado, se usar */
.btn-float--green:disabled,
.btn-float--blue:disabled,
.btn-float--gray:disabled,
.btn-float--primary:disabled{
  opacity:.55; cursor:not-allowed; box-shadow:none;
}


/* ===== Flyout ao lado esquerdo do botão principal ===== */
.btn-float-group{
  position: fixed;
  z-index: 50;
}
.btn-float-group .btn-main{
  min-width: 250px; /* mesmo padrão dos seus floats */
}
.btn-float-group .flyout{
  position: absolute;
  right: 100%;          /* abre à ESQUERDA do botão Provas */
  bottom: 0;            /* alinhado pela base */
  display: grid;
  gap: 4px;
  opacity: 0;
  pointer-events: none;
  transform: translateX(8px) scale(0.98);
  transition: opacity .18s ease, transform .18s ease;
}
.btn-float-group.open .flyout{
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0) scale(1);
}
/* largura consistente nos botões internos */
.btn-float-group .flyout .btn-float{
  min-width: 250px;
}

/* Dentro do grupo, os botões NÃO são fixed */
.btn-float-group .btn-float{
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0;
}

/* garantir que fique acima de fundos/sombras, se necessário */
.btn-float-group{ z-index: 80; }




/* === Camadas: floats < modal < teclado MathLive === */
:root{
  --z-floats:   80;    /* botões flutuantes */
  --z-modal:   80;    /* modais (#modalEdicao, #modalEdicaoRapida) */
  --z-keyboard:12050;    /* teclado MathLive acima dos modais */
}

/* garante z-index dos botões flutuantes */
.btn-float{ z-index: var(--z-floats) !important; }

/* garante z-index dos modais */
#modalEdicao, #modalEdicaoRapida{ z-index: var(--z-modal) !important; }

/* garante z-index do teclado (host e container) */
#mathliveKeyboard, math-virtual-keyboard{
  position: fixed !important;
  z-index: var(--z-keyboard) !important;
}

/* se a versão do MathLive expõe Shadow Parts */
#mathliveKeyboard::part(container),
math-virtual-keyboard::part(container){
  position: fixed !important;
  z-index: var(--z-keyboard) !important;
}


/* === Overlay e host do teclado acima dos modais === */
#mlvkOverlay{
  position: fixed;
  inset: 0;
  z-index: 120500;      /* acima do modal rápido (100000) */
  pointer-events: none; /* overlay não captura cliques */
}
#mathliveKeyboard{
  position: absolute !important; /* dentro do overlay */
  z-index: 200001 !important;    /* topo */
  pointer-events: auto !important;
  display: block !important;
}




/* Toolbar Word/Writer para desktop */
.ql-toolbar.ql-snow {
  min-height: 30px !important;
  padding: 1px 4px !important;
  height: 32px !important;
  background: linear-gradient(to right, #60a5fa, #93c5fd, #dfebfc) !important;
  border: none !important;
  border-radius: 6px 6px 0 0 !important;
  .ql-toolbar .ql-mathlive {
  width: 27px !important;
  height: 27px !important;
  font-weight: 700;
}

}
.ql-toolbar .ql-formula, 
.ql-toolbar .ql-bold, 
.ql-toolbar .ql-italic, 
.ql-toolbar .ql-underline,
.ql-toolbar button,
.ql-toolbar .ql-picker-label {
  width: 27px !important;
  height: 27px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  font-size: 1rem !important;
  margin: 0 1px 0 0 !important;
}
.ql-toolbar button:hover, 
.ql-toolbar .ql-picker-label:hover {
  background: #e3e7ed !important;
  border-color: #8e99ad !important;
}
.ql-toolbar .ql-active,
.ql-toolbar button:active {
  background: #d2dae6 !important;
  border-color: #5986f4 !important;
}
.ql-toolbar .ql-separator {
  display: inline-block;
  width: 1px;
  height: 24px;
  background: #bfc4c9;
  margin: 0 5px;
  vertical-align: middle;
  content: "";
}
.quill-editor-custom .ql-editor {
  min-height: 250px !important;
  max-height: none !important;
  overflow-y: visible !important;
  padding-bottom: 12px;
}
 /* Aplica a todos os lugares: Quill, renderização, preview e PDF */
  .ql-editor img,
  .quill-editor-custom img,
  .bloco-renderizado img,
  .bloco-preview img,
  .bloco-alternativas img,
  .bloco-dissertativa img,
  .bloco-fonte img,
  div img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 14px auto; /* centraliza a imagem */
  }
   .ql-editor {
    font-size: 1rem; /* ou use 18px, 20px, etc. */
    line-height: 1.6;
  }
.coluna-pagina {
  position: relative;
  display: flex;
  gap: 16px; /* ou ajuste como preferir */
}
.coluna-pagina::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background-color: #ccc; /* ou #888 se quiser mais escura */
  z-index: 1;
}
.alternativa-item {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 3px;
  line-height: 1.25;
  font-size: 1rem;
  text-align: justify;
}
/* Bolha das alternativas nas QUESTÕES */
.alternativa-letra {
  display: inline-block;
  vertical-align: top;
  margin-top: 0;
  margin-right: 5px;
}
/* Bolha do GABARITO (centralizada na célula) */
.gabarito-bolha {
  display: block;
  margin: 0 auto;
}
.qr-img {
  /* defina tamanho físico estável */
  width: 36mm !important;      /* ~120 px a 101.6 dpi */
  height: auto !important;
  margin: 0 !important;
}
/* Linha unitária da resposta dissertativa */
.linha-dissertativa {
  border-bottom: 1px solid #111;
  height: 19px;
  margin: 0 0 3px 0;
}

/* Texto de instruções acima das linhas */
.instrucoes-dissertativa {
  font-size: 12px;
  color: #555;
  margin: 0 0 4px 0;
}
:root{
  /* pode ajustar se quiser */
  --disc-w:  5mm;    /* largura da pílula vertical */
  --disc-bg: #888;    /* fundo (contraste melhor pra print) */
  --disc-fg: #fff;    /* texto */
  --disc-r:  1.2mm;   /* raio da borda */
  --disc-font: 8pt;   /* tamanho dos caracteres D I S C */
  --disc-gap: 0.6rem;  /* espaçamento entre as letras */
}

.gab-disc-td{
  padding: 0;
  text-align: center;
  vertical-align: middle;
}

.gab-disc-wrap{
  height: 80%;
  display: flex;
  align-items: center;
  justify-content: center; /* centraliza a pílula no TD */
}

.gab-disc-pill{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 70%;
  box-sizing: border-box;

  width: var(--disc-w);
  padding: 1.2mm 0;              /* respiro vertical */
  gap: var(--disc-gap);
  border-radius: var(--disc-r);

  background: var(--disc-bg);
  color: var(--disc-fg);
  font-weight: 800;

  /* fidelidade de cor no PDF */
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.gab-disc-pill span{
  line-height: 1;
  font-size: var(--disc-font);
  letter-spacing: .1px;
  font-variant-numeric: tabular-nums;
}


/* FITA DOS NÚMEROS DAS QUESTÕES */

/* ===== PASSO 1: base estável p/ PDF e tela ===== */

/* tamanhos em mm para consistência no PDF */
:root{
  --col-w:   7mm;   /* largura mínima da coluna (um pouco maior) */
  --fita-h:  5mm;   /* altura da “fita” do número */
  --num-font: 6pt;  /* 2pt é ilegível no papel; 8–9pt fica bom */
  --fita-gap: 1.8mm;/* espaço lateral sutil para “respiro” */
  --fita-bg:  #fff; /* cinza escuro melhora contraste no print */
  --fita-fg:  #00000088; /* texto branco */
  --fita-r:   .7mm; /* raio da borda */
}

/* garante colunas fixas e iguais */
.gabarito-table{
  border-collapse: collapse;
  table-layout: fixed;            /* colunas com largura igual */
  width: 100%;
  font-family: system-ui, Arial, sans-serif;
}

.gabarito-table td{
  padding: 0;
  border: 0;                      /* sem linhas de grade aqui */
  vertical-align: top;            /* cola no topo do quadro */
}

.gab-num-td{
  min-width: var(--col-w);
  width: var(--col-w);            /* ajuda a estabilizar o layout */
  text-align: center;
}

/* “fita” do número */
.gab-fita{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  box-sizing: border-box;
  height: var(--fita-h);
  width: calc(100% - var(--fita-gap));
  margin: 0 calc(var(--fita-gap) / 2);

  background: var(--fita-bg);
  color: var(--fita-fg);
  font-weight: 800;
  font-size: var(--num-font);
  line-height: 1;
  letter-spacing: .2px;                   /* melhora leitura */
  font-variant-numeric: tabular-nums;     /* dígitos alinhados */
  border-radius: var(--fita-r);

  /* cores fiéis no PDF */
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;

  /* gruda no topo do quadro do gabarito */
  margin-top: 0;
}

/* torna tudo mais previsível no print */
@media print{
  .gabarito-table{
    width: 100%;
  }
  .gab-fita{ background:transparent !important; color:#000000 !important; font-weight:600 !important; }
  .gab-num-td{
    /* evita “aperto” por quebras inesperadas do motor de print */
    overflow: hidden;
  }
}


@media (max-width: 600px) {
  #previewBarraFixa {
    top: 12px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    padding: 8px 2vw !important;
    min-width: unset !important;
    max-width: 98vw !important;
    font-size: 0.97rem !important;
  }
  .bloco-cabecalho-questao {
    background-color: #888;
    color: white;
    padding: 2px 12px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0px;
    font-family: sans-serif;
    width: 100%;
    box-sizing: border-box;
  }
  /* === MathLive no Quill (campo inline) === */
.ql-editor .ql-mathlive-embed { 
  display: inline-block; 
  vertical-align: baseline; 
}
.ql-editor .ql-mathlive-embed math-field {
  min-height: 38px;
  font-size: 22px;
  line-height: 1.25;
  padding: 2px 6px;         
}
math-field.mf-inline-edit{
  min-height:38px;
  font-size:22px;
  line-height:1.25;
  padding:2px 6px;
  display:inline-block;
  vertical-align:baseline;
}
.ql-editor .ql-mathlive-embed math-field:focus {
  outline: 2px solid #60a5fa;
  border-radius: 6px;
}

}
/* esconder ícone do teclado e o menu embutidos no campo */
/*math-field::part(virtual-keyboard-toggle){ display:none !important; }
math-field::part(menu-toggle){ display:none !important; }

/* opcional: esconder o menu do teclado global também */
  math-virtual-keyboard::part(menu-toggle){ display:none !important; }
/* fallback leve por aria-label */
math-virtual-keyboard button[aria-label*="menu" i]{ display:none !important; } 

/* garante espaço para os controles do math-field */
.ql-editor .ql-mathlive-embed math-field,
math-field.mf-inline-edit{
  min-width: 30ch;          /* ou 140px */
  padding-right: 42px;       /* reserva área pros botões à direita */
  overflow: visible !important;
}




  /* Overlay + blur + acentos neon */
  #modalIa{
    display:none; position:fixed; inset:0; z-index:9999;
    align-items:center; justify-content:center;
    background: radial-gradient(1200px 600px at 85% 10%, rgba(56,189,248,.15), transparent 40%),
                radial-gradient(900px 600px at 15% 90%, rgba(16,185,129,.12), transparent 40%),
                rgba(2,6,23,.78);
    backdrop-filter: blur(4px);
  }
  /* Cartão “vidro” com borda glow */
  #modalIa .ia-card{
    position:relative; width:min(92vw,560px); margin:auto;
    border-radius:0; padding:28px 24px 20px;
    background: rgba(15,23,42,.92); color:#e5e7eb;
    box-shadow:0 20px 60px rgba(0,0,0,.35);
  }
  #modalIa .ia-card::before{
    content:""; position:absolute; inset:-1px; border-radius:20px;
    background: linear-gradient(135deg, rgba(16,185,129,.6), rgba(6,182,212,.6));
    filter: blur(8px); opacity:.35; z-index:-1;
  }
  /* Grade tecnológica sutil */
  #modalIa .ia-grid{ position:absolute; inset:0; pointer-events:none; border-radius:18px; overflow:hidden; }
  #modalIa .ia-grid::before{
    content:""; position:absolute; inset:0;
    background-image:
      linear-gradient(to right, rgba(148,163,184,.08) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(148,163,184,.08) 1px, transparent 1px);
    background-size:28px 28px;
  }
  /* Título em gradiente */
  #modalIa h2{
    margin:0 0 6px; text-align:center;
    font:700 1.25rem/1.2 ui-sans-serif,system-ui;
    letter-spacing:.04em;
    background:linear-gradient(90deg,#34d399,#22d3ee);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  #modalIa .ia-sub{ text-align:center; color:#94a3b8; margin-bottom:14px; font-size:.85rem; }

  /* Campo comando (monoespaçado, dark) */
  #modalIa label span{ display:block; margin:8px 0 6px; font-weight:600; color:#cbd5e1; }
  #modalIa textarea{
    width:100%; min-height:110px; resize:vertical;
    border-radius:12px; background:#0b1220; color:#e5e7eb;
    border:1px solid #1f2937; padding:12px;
    font:500 .97rem/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    outline:none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  }
  #modalIa textarea:focus{
    border-color:#22d3ee;
    box-shadow:0 0 0 3px rgba(34,211,238,.25), inset 0 0 0 1px rgba(34,211,238,.2);
  }

  /* Ações */
  #modalIa .ia-actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:14px; }
  #modalIa .btn{ border:none; border-radius:10px; padding:10px 18px; font-weight:700; cursor:pointer; }
  #modalIa .btn-secondary{ background:#334155; color:#e2e8f0; }
  #modalIa .btn-secondary:hover{ background:#475569; }
  #modalIa .btn-primary{
    background:linear-gradient(90deg,#06b6d4,#22c55e); color:#041015;
  }
  #modalIa .btn-primary:hover{ filter:brightness(1.05); }

  /* Close */
  #modalIa .ia-close{
    position:absolute; top:10px; right:12px; font-size:22px; line-height:1;
    color:#93a4b1; background:none; border:none; cursor:pointer; padding:6px; border-radius:8px;
  }
  #modalIa .ia-close:hover{ background:rgba(148,163,184,.12); color:#e2e8f0; }

  /* Status */
  #modalIa #iaStatusMsg{ margin:10px 0; text-align:center; display:none; color:#22d3ee; font-weight:600; }

/* --- Modais (visual + kill switch) --- */
#modalEdicao .bg-slate-900{box-shadow:0 20px 70px rgba(0,0,0,.45)}
#modalEdicao .bg-slate-900::before{
  content:"";position:absolute;inset:-1px;pointer-events:none;
  background:linear-gradient(135deg,rgba(6,182,212,.35),rgba(16,185,129,.35));
  filter:blur(10px);opacity:.35
}

/* z-index explícito dos modais (referência) */
#modalEdicao,
#modalEdicaoRapida{
  position: fixed;           /* garante camada própria */
  z-index: 10000;            /* acima de floats (9999) */
}

/* Teclado do MathLive sempre acima dos modais */


:is(#modalEdicao,#modalEdicaoRapida).hidden{display:none!important}

/* --- Quill nas alternativas (layout) --- */
/* Só no modal de Edição Rápida */
#modalEdicaoRapida .er-alt-row > * { float:none !important; }

#modalEdicaoRapida .er-alt-editor{
  display:block; width:100%; min-width:0; overflow:hidden;
  border:1px solid #cbd5e1; border-radius:6px;
}

#modalEdicaoRapida .er-alt-editor > .ql-toolbar{
  display:block !important; width:100% !important; float:none !important;
}

#modalEdicaoRapida .er-alt-editor > .ql-toolbar::after{
  content:""; display:block; clear:both;
}

#modalEdicaoRapida .er-alt-editor > .ql-container{
  display:block !important; width:100% !important;
  float:none !important; clear:both !important;   /* força o editor ficar abaixo */
}
/* Alternativas sem Quill */
#edicaoAlternativas .er-alt-row{ display:grid; grid-template-columns:28px minmax(0,1fr) 32px; gap:8px; align-items:start; width:100%; }
#edicaoAlternativas .er-alt-row + .er-alt-row{ margin-top:6px; }

#edicaoAlternativas .er-alt-editor{ display:block; min-width:0; width:100%; }
#edicaoAlternativas .er-alt-textarea{
  width:100%; min-height:120px; resize:vertical;
  border:1px solid #cbd5e1; border-radius:6px; padding:10px;
  font: 14px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#0f172a; background:#fff; box-sizing:border-box;
  writing-mode:horizontal-tb; direction:ltr;
}
#edicaoAlternativas .er-alt-textarea:focus{
  outline: none; border-color:#60a5fa; box-shadow:0 0 0 3px rgba(96,165,250,.25);
}

#edicaoAlternativas .er-alt-letter{
  display:flex; align-items:center; justify-content:center;
  width:28px; height:28px; border:1px solid #cbd5e1; border-radius:999px; font-weight:700;
}
#edicaoAlternativas .er-alt-radio{ display:flex; align-items:center; justify-content:center; }

  
  /* aplica no banco inteiro */
  #listaQuestoes .katex { 
    font-size: 1.6em !important;
    line-height: 1.35 !important;
    vertical-align: middle !important;
  }
  #listaQuestoes .katex-display {
    font-size: 1.85em !important;
    margin: 10px 0 !important;
  }

  /* para as questões do enem que tem /[...]/ */
  .nowrap { white-space: nowrap; }
