header {
        background-color: #35AEE3;
        color: white;
        padding: 15px 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
    }
    .logo {
        height: 120px;
    }
    .menu-toggle {
        font-size: 35px;
        background: none;
        border: none;
        color: white;
        cursor: pointer;
        position: absolute;
        left: 20px;
    }
    header h1 {
        margin: 0 auto;
        text-align: center;
        font-size: 24px;
    }
    nav {
        background-color: #2c9fd0;
        display: none;
        flex-direction: column;
        padding: 10px 20px;
    }
    nav a {
        color: white;
        text-decoration: none;
        margin: 5px 0;
        font-weight: bold;
    }
    nav a:hover {
        text-decoration: underline;
    }
body {
            font-family: 'Segoe UI', sans-serif;
            background-color: #f4f4f4;
            padding: 30px;
        }
        h1 {
            color: #35AEE3;
        }
        form {
            background-color: white;
            padding: 20px;
            border-radius: 10px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
            max-width: 400px;
        }
        label {
            display: block;
            margin-top: 15px;
            font-weight: bold;
        }
        input[type="text"], select {
            width: 100%;
            padding: 8px;
            border-radius: 6px;
            border: 1px solid #ccc;
        }
        button {
            margin-top: 20px;
            padding: 10px 20px;
            background-color: #35AEE3;
            color: white;
            border: none;
            border-radius: 6px;
            cursor: pointer;
        }
        button:hover {
            background-color: #2c9fd0;
        }
        .mensagem {
            margin-top: 15px;
            font-weight: bold;
        }
        table {
            margin-top: 40px;
            width: 100%;
            border-collapse: collapse;
            background-color: white;
        }
        th, td {
            border: 1px solid #ddd;
            padding: 10px;
            text-align: center;
        }
        th {
            background-color: #35AEE3;
            color: white;
        }
body {
            font-family: 'Segoe UI', sans-serif;
            background-color: #f4f4f4;
            padding: 30px;
        }
        h1 {
            color: #35AEE3;
        }
        form {
            background-color: white;
            padding: 20px;
            border-radius: 10px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
            max-width: 400px;
        }
        label {
            display: block;
            margin-top: 15px;
            font-weight: bold;
        }
        input[type="text"] {
            width: 100%;
            padding: 8px;
            border-radius: 6px;
            border: 1px solid #ccc;
        }
        button {
            margin-top: 20px;
            padding: 10px 20px;
            background-color: #35AEE3;
            color: white;
            border: none;
            border-radius: 6px;
            cursor: pointer;
        }
        button:hover {
            background-color: #2c9fd0;
        }
        .mensagem {
            margin-top: 15px;
            font-weight: bold;
            color: <?= isset($mensagem) && str_starts_with($mensagem, 'Erro') ? 'red' : 'green' ?>;
        }
        table {
            margin-top: 40px;
            width: 100%;
            border-collapse: collapse;
            background-color: white;
        }
        th, td {
            border: 1px solid #ddd;
            padding: 10px;
            text-align: center;
        }
        th {
            background-color: #35AEE3;
            color: white;
        }
body {
            font-family: 'Segoe UI', sans-serif;
            background-color: #f4f4f4;
            padding: 30px;
        }
        h1 {
            color: #35AEE3;
        }
        form {
            background-color: white;
            padding: 20px;
            border-radius: 10px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
            max-width: 400px;
        }
        label {
            display: block;
            margin-top: 15px;
            font-weight: bold;
        }
        input[type="text"], input[type="date"] {
            width: 100%;
            padding: 8px;
            border-radius: 6px;
            border: 1px solid #ccc;
        }
        button {
            margin-top: 20px;
            padding: 10px 20px;
            background-color: #35AEE3;
            color: white;
            border: none;
            border-radius: 6px;
            cursor: pointer;
        }
        button:hover {
            background-color: #2c9fd0;
        }
        .mensagem {
            margin-top: 15px;
            font-weight: bold;
            color: <?= isset($mensagem) && str_starts_with($mensagem, 'Erro') ? 'red' : 'green' ?>;
        }
        table {
            margin-top: 40px;
            width: 100%;
            border-collapse: collapse;
            background-color: white;
        }
        th, td {
            border: 1px solid #ddd;
            padding: 10px;
            text-align: center;
        }
        th {
            background-color: #35AEE3;
            color: white;
        }
body {
            font-family: 'Segoe UI', sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f4f4f4;
        }
        header {
            background-color: #35AEE3;
            color: white;
            padding: 20px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        header img {
            height: 160px;
        }
        .container {
            padding: 30px;
        }
        form label {
            font-weight: bold;
        }
        select {
            padding: 8px;
            border-radius: 8px;
            border: 1px solid #ccc;
            font-size: 16px;
            margin-left: 10px;
        }
        .timestamp {
            font-size: 14px;
            color: #666;
            margin: 10px 0;
            text-align: center;
        }
        .actions button {
            background: none;
            border: none;
            padding: 8px;
            cursor: pointer;
            transition: transform 0.2s;
        }
        .actions button:hover {
            transform: scale(1.1);
        }
        table {
            width: 100%;
            border-collapse: collapse;
            background-color: white;
            margin-top: 20px;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
        }
        th, td {
            padding: 12px;
            border: 1px solid #ddd;
            text-align: center;
        }
        th {
            background-color: #35AEE3;
            color: white;
        }
        tr:nth-child(even) {
            background-color: #f9f9f9;
        }
body { font-family: 'Segoe UI', sans-serif; background-color: #f4f4f4; margin: 0; padding: 0; }
        .container { padding: 30px; }
        form label { font-weight: bold; }
        select { padding: 8px; border-radius: 8px; border: 1px solid #ccc; font-size: 16px; margin-left: 10px; }
        .timestamp { font-size: 14px; color: #666; margin: 10px 0; text-align: center; }
        .actions button { background: none; border: none; padding: 8px; cursor: pointer; transition: transform 0.2s; }
        .actions button:hover { transform: scale(1.1); }
        table { width: 100%; border-collapse: collapse; background-color: white; margin-top: 20px; border-radius: 10px; overflow: hidden; box-shadow: 0 0 10px rgba(0,0,0,0.1); }
        th, td { padding: 12px; border: 1px solid #ddd; text-align: center; }
        th { background-color: #35AEE3; color: white; }
        tr:nth-child(even) { background-color: #f9f9f9; }
body {
            font-family: 'Segoe UI', sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f4f4f4;
        }

        header {
            background-color: #35AEE3;
            color: white;
            padding: 20px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        header img {
            height: 120px;
        }

        .container {
            padding: 30px;
        }

        h2 {
            color: #333;
            margin-bottom: 20px;
        }

        label, select {
            font-size: 16px;
        }

        select {
            padding: 8px;
            border-radius: 5px;
            border: 1px solid #ccc;
        }
table {
    width: 100%;
    border-collapse: collapse;
    background-color: white;
    margin-top: 20px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
    table-layout: fixed;
}

th, td {
    padding: 12px 8px;
    text-align: center;
    vertical-align: middle;
    border-bottom: 1px solid #ddd;
    font-size: 14px;
    word-wrap: break-word;
}

th {
    background-color: #35AEE3;
    color: white;
}

tr:nth-child(even) {
    background-color: #f0f0f0;
}

tr:hover {
    background-color: #e0f7ff;
}
body {
            font-family: 'Segoe UI', sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f4f4f4;
        }
        header {
            background-color: #35AEE3;
            color: white;
            padding: 20px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        header img {
            height: 60px;
        }
        .container {
            padding: 30px;
        }
        form label {
            font-weight: bold;
        }
        select {
            padding: 8px;
            border-radius: 8px;
            border: 1px solid #ccc;
            font-size: 16px;
            margin-left: 10px;
        }
        .timestamp {
            font-size: 14px;
            color: #666;
            margin: 10px 0;
            text-align: center;
        }
        .actions button {
            background-color: #35AEE3;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            font-size: 14px;
            margin-right: 10px;
            cursor: pointer;
            transition: background-color 0.3s;
        }
        .actions button:hover {
            background-color: #2a91be;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            background-color: white;
            margin-top: 20px;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
        }
        th, td {
            padding: 12px;
            border: 1px solid #ddd;
            text-align: center;
        }
        th {
            background-color: #35AEE3;
            color: white;
        }
        tr:nth-child(even) {
            background-color: #f9f9f9;
        }
body {
            font-family: 'Segoe UI', sans-serif;
            margin: 0;
            background-color: #f4f4f4;
        }
        header {
            background-color: #35AEE3;
            color: white;
            padding: 15px 20px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            position: relative;
        }
        .logo {
            height: 120px;
        }
        .menu-toggle {
            font-size: 35px;
            background: none;
            border: none;
            color: white;
            cursor: pointer;
            position: absolute;
            left: 20px;
        }
        h1 {
            margin: 0;
            text-align: center;
            width: 100%;
            font-size: 24px;
        }
        nav {
            background-color: #2c9fd0;
            display: none;
            flex-direction: column;
            padding: 10px 20px;
        }
        nav a {
            color: white;
            text-decoration: none;
            margin: 5px 0;
            font-weight: bold;
        }
        nav a:hover {
            text-decoration: underline;
        }
        .container {
            padding: 40px;
            text-align: center;
        }
        .container h2 {
            color: #35AEE3;
        }
/* === IA FTMERJ (escopo isolado) =============================== */
.ia-container { /* usa a .container do seu tema por fora; esta é um wrapper lógico */ }

/* Cards e grid inicial */
.ia-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 14px;
}
.ia-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 16px;
}

/* Formulários */
.ia-form { background: #fff; }
.ia-form--quick { margin-top: 24px; max-width: 760px; }
.ia-form--doc   { max-width: 860px; }
.ia-form label { display: block; margin: 10px 0 6px; font-weight: 600; }
.ia-form select,
.ia-form input[type="text"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  font-size: 15px;
  outline: none;
}
.ia-form .ia-actions-row {
  display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px;
}
.ia-tip { color: #666; margin-top: 8px; font-weight: 400; }

/* Botões */
.ia-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 6px; padding: 10px 16px; border: 0; border-radius: 8px;
  background: #35AEE3; color: #fff; text-decoration: none; cursor: pointer;
  font-weight: 600;
}
.ia-btn--secondary { background: #2c9fd0; }
.ia-actions { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }

/* Mensagens */
.ia-msg { color: #444; }
.ia-msg--muted { color: #666; }
.ia-msg--error { color: #b00020; }
.ia-alert {
  background: #fff2f2; border: 1px solid #ef9a9a; color: #7f1d1d;
  border-radius: 10px; padding: 12px;
}

/* Tabela de resultados */
.ia-results-title { margin-top: 20px; }
.ia-table { width: 100%; border-collapse: collapse; background: #fff; }
.ia-table thead th {
  text-align: left; background: #f6f8fb; border-bottom: 1px solid #e5e7eb; padding: 10px;
}
.ia-table tbody td { padding: 10px; border-bottom: 1px dashed #e5e7eb; vertical-align: top; }
.ia-col-title { width: 200px; }
.ia-col-local { width: 120px; }
.ia-col-actions { width: 280px; text-align: center; }
.ia-snippet { max-height: 120px; overflow: auto; }

/* Viewer / detalhes */
.ia-pdfviewer {
  display: none; margin-top: 12px; background: #0b10210a;
  border: 1px solid #e5e7eb; border-radius: 12px; padding: 12px;
}
.ia-pdfviewer iframe { width: 100%; height: 80vh; border: 0; }
.ia-thumb {
  display: none; margin-top: 10px; border-radius: 12px;
  max-width: 100%; border: 1px solid #e5e7eb;
}
.ia-section {
  display: none; background: #fff; border: 1px solid #ddd;
  border-radius: 10px; padding: 12px;
}

/* Destaque */
mark.ia-highlight { background: #fff59d; }

/* Cabeçalhos menores */
.ia-h2 { margin: 12px 0 8px; font-size: 22px; font-weight: 700; }
.ia-h3 { margin: 8px 0; font-size: 18px; font-weight: 700; }

/* ====== Correções de layout da IA ====== */

/* 1) Inputs/selects 100% sem estourar o container */
.ia-form select,
.ia-form input[type="text"],
.ia-form input[type="search"],
.ia-form input[type="url"],
.ia-form input[type="email"],
.ia-form textarea {
  box-sizing: border-box;   /* <- evita extrapolar a largura */
  width: 100%;
  max-width: 100%;
}

/* 2) Botões menores (tamanho padrão da IA nesta página) */
.ia-container .ia-btn {
  padding: 6px 10px;        /* antes 10px 16px */
  font-size: 13px;          /* antes ~15/16px */
  border-radius: 6px;       /* levemente menor */
  line-height: 1.2;
}

/* 3) Espaçamento entre botões mais justo */
.ia-actions { gap: 4px; }   /* antes 6px */
.ia-actions-row { gap: 6px; } /* barra de ações do formulário */

/* 4) Coluna de ações mais compacta na tabela */
.ia-col-actions { width: 220px; }   /* antes 280px */
.ia-col-title   { width: 180px; }   /* opcional: título um pouco menor */
.ia-col-local   { width: 110px; }   /* opcional: local um pouco menor */

/* 5) Evitar overflow horizontal em telas pequenas */
@media (max-width: 992px) {
  .ia-table { table-layout: fixed; }
  .ia-col-actions { width: 1%; }        /* deixa a largura fluir */
  .ia-actions { justify-content: flex-start; }
  .ia-snippet { max-height: 96px; }
}

/* 6) Se algum iframe do PDF causar rolagem lateral, garanta 100% */
.ia-pdfviewer iframe { width: 100%; max-width: 100%; display: block; }
.ia-form input[type="text"] { margin-left: 0; margin-right: 0; }

/* === Normalização dos botões da IA ========================== */
/* mesma aparência para <button.ia-btn> e <a.ia-btn> */
.ia-container .ia-btn,
.ia-container .ia-actions-row .ia-btn,
.ia-container .ia-actions .ia-btn,
.ia-container button.ia-btn,
.ia-container a.ia-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;

  /* tamanho igual ao "Buscar" (menor) */
  padding: 6px 10px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  border-radius: 6px !important;

  /* cores */
  background: #35AEE3 !important;
  color: #fff !important;
  border: 0 !important;
  text-decoration: none !important;
  cursor: pointer !important;

  /* zera margens herdadas de regras globais de button */
  margin: 0 !important;
}

/* variação secundária (Trocar / Limpar) só muda a cor */
.ia-container .ia-btn.ia-btn--secondary {
  background: #2c9fd0 !important;
  color: #fff !important;
}

/* espaçamentos entre botões */
.ia-actions   { gap: 4px !important; }
.ia-actions-row { gap: 6px !important; }

/* garante que regras globais 'button { padding:10px 20px }' não
   ganhem dentro da IA */
.ia-container button.ia-btn { padding: 6px 10px !important; }

/* acessibilidade do link como botão */
.ia-container a.ia-btn:visited { color: #fff !important; }
.ia-container a.ia-btn:hover   { filter: brightness(0.95); }

/* responsivo */
@media (max-width: 600px) {
  .ia-container .ia-btn,
  .ia-container .ia-actions-row .ia-btn,
  .ia-container .ia-actions .ia-btn {
    padding: 6px 8px !important;
    font-size: 12.5px !important;
  }
}
/* === Força botões da IA a ficarem idênticos (Buscar / Trocar / Limpar) === */
.ia-container .ia-btn,
.ia-container a.ia-btn,
.ia-container button.ia-btn,
.ia-container .ia-actions-row .ia-btn,
.ia-container .ia-actions .ia-btn {
  /* layout */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;

  /* tamanho único */
  height: 36px !important;          /* <- igual para todos */
  min-height: 36px !important;
  padding: 0 12px !important;        /* sem variação por elemento */
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  font-family: inherit !important;

  /* visual */
  background: #35AEE3 !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  cursor: pointer !important;

  /* neutraliza estilo nativo de <button> (Safari/Chrome/Firefox) */
  appearance: none !important;
  -webkit-appearance: none !important;

  /* neutraliza heranças de margens globais */
  margin: 0 !important;
}

/* variação secundária (Trocar / Limpar) só muda a cor */
.ia-container .ia-btn.ia-btn--secondary {
  background: #2c9fd0 !important;
  color: #fff !important;
}

/* espaçamento entre botões */
.ia-actions { gap: 4px !important; }
.ia-actions-row { gap: 6px !important; }
/* ================== IA FTMERJ (escopo da página) ================== */
[data-page="ia-ftmerj"] .ia-container {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}
[data-page="ia-ftmerj"] .ia-hero { margin-top: 10px; }

[data-page="ia-ftmerj"] .ia-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 14px;
  justify-items: center;
}
[data-page="ia-ftmerj"] .ia-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 16px;
  width: 100%;
  max-width: 420px;
}

[data-page="ia-ftmerj"] .ia-form { background: #fff; margin: 14px auto 0; }
[data-page="ia-ftmerj"] .ia-form--doc { max-width: 860px; }
[data-page="ia-ftmerj"] .ia-form label { display: block; margin: 10px 0 6px; font-weight: 600; text-align: left; }
[data-page="ia-ftmerj"] .ia-form input[type="text"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  font-size: 15px;
  outline: none;
  box-sizing: border-box;
  max-width: 100%;
}
[data-page="ia-ftmerj"] .ia-actions-row {
  display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px;
}
[data-page="ia-ftmerj"] .ia-actions-center {
  justify-content: center; /* centraliza os botões */
}

/* Botões padronizados */
[data-page="ia-ftmerj"] .ia-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 6px; padding: 8px 14px; border: 0; border-radius: 8px;
  background: #35AEE3; color: #fff; text-decoration: none; cursor: pointer;
  font-weight: 700; font-size: 14px; line-height: 1.2;
}
[data-page="ia-ftmerj"] .ia-btn--secondary { background: #2c9fd0; }

/* Alertas & mensagens */
[data-page="ia-ftmerj"] .ia-alert {
  background: #fff2f2; border: 1px solid #ef9a9a; color: #7f1d1d;
  border-radius: 10px; padding: 12px; text-align: left;
}
[data-page="ia-ftmerj"] .ia-msg--muted { color: #666; }
[data-page="ia-ftmerj"] mark.ia-highlight { background: #fff59d; }

/* Títulos */
[data-page="ia-ftmerj"] .ia-h2 { margin: 12px 0 8px; font-size: 22px; font-weight: 700; color: #35AEE3; }
[data-page="ia-ftmerj"] .ia-h3 { margin: 8px 0; font-size: 18px; font-weight: 700; }

/* Tabela de resultados */
[data-page="ia-ftmerj"] .ia-table { width: 100%; border-collapse: collapse; background: #fff; margin: 10px auto 0; }
[data-page="ia-ftmerj"] .ia-table thead th {
  text-align: left; background: #f6f8fb; border-bottom: 1px solid #e5e7eb; padding: 10px;
}
[data-page="ia-ftmerj"] .ia-table tbody td { padding: 10px; border-bottom: 1px dashed #e5e7eb; vertical-align: top; text-align: left; }
[data-page="ia-ftmerj"] .ia-col-title { width: 220px; }
[data-page="ia-ftmerj"] .ia-col-local { width: 120px; text-align: center; }
[data-page="ia-ftmerj"] .ia-col-actions { width: 260px; text-align: center; }
[data-page="ia-ftmerj"] .ia-snippet { max-height: 120px; overflow: auto; }

/* Viewer/Detalhes */
[data-page="ia-ftmerj"] .ia-pdfviewer {
  display: none; margin-top: 12px; background: #0b10210a;
  border: 1px solid #e5e7eb; border-radius: 12px; padding: 12px;
}
[data-page="ia-ftmerj"] .ia-pdfviewer iframe { width: 100%; height: 80vh; border: 0; display: block; }
[data-page="ia-ftmerj"] .ia-thumb {
  display: none; margin-top: 10px; border-radius: 12px;
  max-width: 100%; border: 1px solid #e5e7eb;
}
[data-page="ia-ftmerj"] .ia-section {
  display: none; background: #fff; border: 1px solid #ddd;
  border-radius: 10px; padding: 12px; text-align: left;
}

/* Caixa de resposta da IA */
[data-page="ia-ftmerj"] .ia-answer {
  background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:14px; margin-top:16px; text-align: left;
}
[data-page="ia-ftmerj"] .ia-answer-list { margin: 6px 0 10px 22px; }

/* Referências */
[data-page="ia-ftmerj"] .ia-refs {
  background:#f8fafc; border:1px dashed #d6dee8; border-radius:8px; padding:10px; margin-top:10px;
}
[data-page="ia-ftmerj"] .ia-refs h4 { margin:0 0 8px; font-size:16px; }
[data-page="ia-ftmerj"] .ia-ref-item { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:6px 0; border-bottom:1px dashed #e5e7eb; }
[data-page="ia-ftmerj"] .ia-ref-item:last-child { border-bottom:0; }
[data-page="ia-ftmerj"] .ia-ref-meta { text-align:left; }
[data-page="ia-ftmerj"] .ia-ref-title { font-weight:600; }
[data-page="ia-ftmerj"] .ia-ref-local { color:#666; font-size:13px; }

/* Loader overlay com animação da logo */
[data-page="ia-ftmerj"] .ia-loader {
  position: fixed; inset: 0; background: rgba(255,255,255,0.85);
  display: grid; place-items: center; z-index: 9999;
}
[data-page="ia-ftmerj"] .ia-loader[hidden] { display: none; }
[data-page="ia-ftmerj"] .ia-loader-box { text-align: center; }
[data-page="ia-ftmerj"] .ia-loader-logo {
  width: 140px; height: auto; opacity: 0.25; animation: iaPulse 1.2s ease-in-out infinite alternate;
  image-rendering: -webkit-optimize-contrast;
}
[data-page="ia-ftmerj"] .ia-loader-text { margin-top: 10px; font-weight: 700; color: #2c9fd0; font-size: 16px; }
@keyframes iaPulse {
  from { opacity: 0.25; transform: scale(0.96); }
  to   { opacity: 1;    transform: scale(1.00); }
}

/* Responsividade */
@media (max-width: 992px) {
  [data-page="ia-ftmerj"] .ia-table { table-layout: fixed; }
  [data-page="ia-ftmerj"] .ia-col-actions { width: 1%; }
  [data-page="ia-ftmerj"] .ia-snippet { max-height: 96px; }
}
/* ================= AJUSTES ESPECÍFICOS IA FTMERJ ================ */

/* 1) Loader com logo dimensionada de forma rígida */
[data-page="ia-ftmerj"] .ia-loader-logo {
  width: 110px !important;   /* ajuste fino do tamanho da logo no loader */
  max-width: 110px !important;
  height: auto !important;
  display: block;
  margin: 0 auto;
  opacity: 0.25;
  animation: iaPulse 1.2s ease-in-out infinite alternate;
  image-rendering: -webkit-optimize-contrast;
}

/* 2) Container bonito para a resposta da IA */
[data-page="ia-ftmerj"] .ia-answer {
  max-width: 860px;
  margin: 16px auto;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(16, 24, 40, 0.06);
  padding: 14px 18px;
  text-align: left;
}

/* Cabeçalho da resposta */
[data-page="ia-ftmerj"] .ia-answer-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: #2c9fd0;
  border-bottom: 1px solid #eaf1f6;
  padding-bottom: 8px;
  margin-bottom: 10px;
}
[data-page="ia-ftmerj"] .ia-answer-header .ia-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: #2c9fd0; flex: 0 0 auto;
}

/* Corpo da resposta (tipografia e espaçamento) */
[data-page="ia-ftmerj"] .ia-answer-content {
  color: #243b53;
  line-height: 1.6;
  font-size: 15px;
}
[data-page="ia-ftmerj"] .ia-answer-content p {
  margin: 10px 0;
}
[data-page="ia-ftmerj"] .ia-answer-content ol,
[data-page="ia-ftmerj"] .ia-answer-content ul {
  margin: 8px 0 8px 20px;
}
[data-page="ia-ftmerj"] .ia-answer-content li {
  margin: 6px 0;
}
[data-page="ia-ftmerj"] .ia-answer-content a {
  color: #2c9fd0;
  text-decoration: none;
  border-bottom: 1px dashed #2c9fd0;
}
[data-page="ia-ftmerj"] .ia-answer-content a:hover {
  text-decoration: underline;
}

/* Referências (quando adicionadas pelo JS) ficam integradas ao container */
[data-page="ia-ftmerj"] .ia-answer .ia-refs {
  background: #f8fafc;
  border: 1px dashed #d6dee8;
  border-radius: 8px;
  padding: 10px;
  margin-top: 12px;
}
[data-page="ia-ftmerj"] .ia-answer .ia-refs h4 {
  margin: 0 0 8px;
  color: #2c3e50;
  font-size: 15px;
}
[data-page="ia-ftmerj"] .ia-answer .ia-answer-list {
  margin: 6px 0 6px 20px;
}

/* (Opcional) Centralização global do conteúdo da IA (já existente) */
[data-page="ia-ftmerj"] .ia-container {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}
