/* ==========================================================================
   FACULDADE REGES DE REALEZA — ÁREA DO ALUNO
   Design System v3  —  auditado para WCAG AA, mobile-first, drop-in
   Paleta extraída do logotipo oficial REGES:
     Azul royal  #13419F  |  Ciano     #00ACEE (marca)
     Navy        #0B2A6B  |  Fundo     #F2F5F9
   ========================================================================== */

:root{
  /* ── Marca ─────────────────────────────────────────────────────────────── */
  --rg-azul:        #13419F;
  --rg-azul-esc:    #0B2A6B;
  --rg-azul-med:    #1A5CBF;    /* hover / ativo claro */
  --rg-ciano:       #00ACEE;    /* acento da marca */
  --rg-ciano-esc:   #0090CC;    /* só em fundo escuro */

  /* ── Categorias (todas passam 4.5:1 em branco) ────────────────────────── */
  --rg-cat-rec:  #0070A8;   /* Meus Recursos — ciano escuro  4.98:1 */
  --rg-cat-aca:  #1D6B30;   /* Acadêmico — verde             5.43:1 */
  --rg-cat-fin:  #981212;   /* Financeiro — vermelho         5.81:1 */
  --rg-cat-bib:  #8C4A0F;   /* Biblioteca — laranja          5.22:1 */

  /* ── Neutros ───────────────────────────────────────────────────────────── */
  --rg-fundo:   #F2F5F9;
  --rg-branco:  #FFFFFF;
  --rg-tinta:   #1A202C;    /* texto principal  17.1:1 branco */
  --rg-cinza-1: #4A5568;    /* texto secundário  7.5:1 branco */
  --rg-cinza-2: #667386;   /* legendas  4.81:1 branco AA */
  --rg-linha:   #CBD5E0;
  --rg-linha-l: #E2E8F0;    /* linha suave em fundo claro     */

  /* ── Semântico ─────────────────────────────────────────────────────────── */
  --rg-verde:        #125024;   /* texto badge "Aprovado" — 8.5:1 no tint */
  --rg-verde-tint:   #E1F0E6;   /* fundo verde levemente mais saturado     */
  --rg-verde-borda:  #9FCDAE;   /* borda nítida do badge ok                */
  --rg-vermelho:     #8E1212;
  --rg-vermelho-tint:#FBE7E7;
  --rg-vermelho-borda:#E0A3A3;
  --rg-amarelo-tint: #FFFBEB;

  /* ── Elevação ──────────────────────────────────────────────────────────── */
  --rg-sombra-1: 0 1px 3px rgba(10,30,70,.07), 0 4px 12px rgba(10,30,70,.06);
  --rg-sombra-2: 0 2px 6px rgba(10,30,70,.09), 0 10px 28px rgba(10,30,70,.08);
  --rg-raio:  10px;
  --rg-raio-s: 7px;

  /* ── Tipografia ─────────────────────────────────────────────────────────── */
  --rg-f-titulo: "Lora", Georgia, "Times New Roman", serif;
  --rg-f-corpo:  "Public Sans", "Segoe UI", Tahoma, Arial, sans-serif;
}

/* ── Reset base ─────────────────────────────────────────────────────────── */
html.rg, html.rg body{
  height:auto; min-height:100%;
  margin:0; padding:0;
  max-width:100%; overflow-x:hidden;
  background:var(--rg-fundo);
  color:var(--rg-tinta);
  font-family:var(--rg-f-corpo);
  font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-size-adjust:100%;
}
html.rg *, html.rg *::before, html.rg *::after{ box-sizing:border-box; }
html.rg a{ color:var(--rg-azul); }
html.rg img{ max-width:100%; height:auto; display:block; }
html.rg :focus-visible{
  outline:2px solid var(--rg-ciano);
  outline-offset:3px;
  border-radius:4px;
}

/* ── Casca ───────────────────────────────────────────────────────────────── */
.rg-app{ min-height:100vh; display:flex; flex-direction:column; }

/* ── Topo ───────────────────────────────────────────────────────────────── */
.rg-topo{
  background:var(--rg-branco);
  border-bottom:3px solid var(--rg-ciano);
  box-shadow:0 1px 0 var(--rg-linha-l), 0 4px 16px rgba(10,30,70,.06);
  position:sticky; top:0; z-index:100;
}
.rg-topo-inner{
  max-width:1140px; margin:0 auto; padding:0 20px;
  min-height:66px;
  display:flex; align-items:center; gap:0; flex-wrap:nowrap;
}

/* burger */
.rg-burger{
  display:none; flex-shrink:0;
  background:none; border:1.5px solid var(--rg-linha);
  border-radius:var(--rg-raio-s); color:var(--rg-azul);
  padding:7px 10px; cursor:pointer; font-size:16px; line-height:1;
  margin-right:12px;
}
.rg-burger:hover{ background:var(--rg-fundo); }

/* logo + área */
.rg-marca{ display:flex; align-items:center; gap:16px; min-width:0; flex:0 1 auto; }
.rg-marca a{ display:flex; align-items:center; text-decoration:none; min-width:0; }
.rg-marca img{ height:44px; max-height:44px; width:auto; max-width:100%; object-fit:contain; }
.rg-area{
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.18em;
  color:var(--rg-cinza-1); white-space:nowrap;
  border-left:2px solid var(--rg-linha-l); padding-left:16px;
}

/* aluno info */
.rg-saudacao{
  margin-left:auto; padding-left:16px; text-align:right; min-width:0; overflow:hidden;
}
.rg-saudacao strong{
  display:block; font-size:14px; font-weight:700; color:var(--rg-azul-esc);
  max-width:360px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.rg-saudacao .turno{
  font-size:12px; color:var(--rg-cinza-2);
}

/* botão sair */
.rg-sair{
  flex-shrink:0; margin-left:14px;
  display:inline-flex; align-items:center;
  padding:8px 16px; border-radius:var(--rg-raio-s);
  background:var(--rg-azul); color:#fff !important;
  font-size:13px; font-weight:700;
  text-decoration:none !important; white-space:nowrap;
  transition:background .15s;
}
.rg-sair:hover{ background:var(--rg-azul-med); }

/* ── Corpo ───────────────────────────────────────────────────────────────── */
.rg-corpo{
  max-width:1140px; width:100%; margin:0 auto;
  padding:28px 20px 48px;
  display:flex; gap:26px; flex:1; align-items:flex-start;
}

/* ── Menu lateral ────────────────────────────────────────────────────────── */
.rg-menu{
  width:226px; flex:0 0 226px;
  background:var(--rg-branco);
  border:1px solid var(--rg-linha-l);
  border-radius:var(--rg-raio);
  box-shadow:var(--rg-sombra-1);
  padding:10px 8px;
  position:sticky; top:86px;   /* 66px topo + 20px folga */
}
.rg-grupo{
  display:flex; align-items:center; gap:8px;
  padding:14px 10px 5px;
  font-size:11.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--rg-cinza-1);
}
.rg-grupo::before{
  content:""; flex-shrink:0;
  width:18px; height:3px; border-radius:2px;
  background:var(--rg-cinza-1);
}
.rg-grupo.rec::before  { background:var(--rg-cat-rec); }
.rg-grupo.aca::before  { background:var(--rg-cat-aca); }
.rg-grupo.fin::before  { background:var(--rg-cat-fin); }
.rg-grupo.bib::before  { background:var(--rg-cat-bib); }
.rg-grupo.rec { color:var(--rg-cat-rec); }
.rg-grupo.aca { color:var(--rg-cat-aca); }
.rg-grupo.fin { color:var(--rg-cat-fin); }
.rg-grupo.bib { color:var(--rg-cat-bib); }

.rg-menu a{
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 10px; border-radius:var(--rg-raio-s);
  color:var(--rg-tinta); font-size:14px; font-weight:500;
  text-decoration:none; line-height:1.3;
  transition:background .12s;
}
.rg-menu a:hover{ background:var(--rg-fundo); }
.rg-menu a.ativo{
  background:var(--rg-azul); color:#fff !important; font-weight:700;
}
.rg-menu a .ext{
  flex-shrink:0; font-size:11px; color:var(--rg-cinza-2); margin-left:6px;
}
.rg-menu a.ativo .ext{ color:rgba(255,255,255,.65); }
.rg-menu-divisor{ height:1px; background:var(--rg-linha-l); margin:6px 4px; }

/* ── Conteúdo ────────────────────────────────────────────────────────────── */
.rg-conteudo{ flex:1; min-width:0; }

/* ── Rodapé ──────────────────────────────────────────────────────────────── */
.rg-rodape{
  background:var(--rg-azul-esc);
  border-top:3px solid var(--rg-ciano);
}
.rg-rodape-inner{
  max-width:1140px; margin:0 auto; padding:16px 20px;
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
  font-size:13px; color:rgba(255,255,255,.8);
  line-height:1.5;
}

/* ── Titulação de página ─────────────────────────────────────────────────── */
.rg-eyebrow{
  display:flex; align-items:center; gap:8px;
  font-size:11.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:var(--rg-cinza-1); margin:0 0 6px;
}
.rg-eyebrow::before{
  content:""; flex-shrink:0;
  width:20px; height:3px; border-radius:2px; background:var(--rg-azul);
}
.rg-eyebrow.rec::before { background:var(--rg-cat-rec); }
.rg-eyebrow.aca::before { background:var(--rg-cat-aca); }
.rg-eyebrow.fin::before { background:var(--rg-cat-fin); }
.rg-eyebrow.bib::before { background:var(--rg-cat-bib); }

.rg-h1{
  font-family:var(--rg-f-titulo); font-size:27px; font-weight:600;
  margin:0 0 5px; color:var(--rg-tinta); line-height:1.25;
}
.rg-sub{
  color:var(--rg-cinza-1); font-size:14.5px; margin:0 0 22px;
}

/* ── Cartão ──────────────────────────────────────────────────────────────── */
.rg-cartao{
  background:var(--rg-branco);
  border:1px solid var(--rg-linha-l);
  border-radius:var(--rg-raio);
  box-shadow:var(--rg-sombra-1);
  padding:22px 24px;
  margin-bottom:24px;
}
.rg-cartao-titulo{
  font-family:var(--rg-f-titulo);
  font-size:17px; font-weight:600; color:var(--rg-azul-esc);
  margin:0 0 16px; padding:0 0 14px;
  border-bottom:1.5px solid var(--rg-linha-l);
  display:flex; align-items:center; gap:10px;
}
.rg-cartao-titulo::before{
  content:""; flex-shrink:0;
  width:4px; height:20px; border-radius:2px; background:var(--rg-ciano);
}

/* ── Tabelas ─────────────────────────────────────────────────────────────── */
.rg-tabela-wrap{ width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
table.rg-tabela{
  width:100%; border-collapse:collapse; font-size:14.5px;
}
.rg-tabela thead tr{
  background:var(--rg-fundo);
  border-bottom:2px solid var(--rg-linha);
}
.rg-tabela th{
  text-align:left;
  font-size:11.5px; text-transform:uppercase; letter-spacing:.07em;
  color:var(--rg-cinza-1); font-weight:800;
  padding:11px 14px; white-space:nowrap;
}
.rg-tabela td{
  padding:12px 14px; border-bottom:1px solid var(--rg-linha-l);
  vertical-align:middle; color:var(--rg-tinta);
}
.rg-tabela tbody tr:last-child td{ border-bottom:none; }
.rg-tabela tbody tr:hover{ background:#F7FAFF; }
.rg-tabela .num{
  text-align:center; font-variant-numeric:tabular-nums; white-space:nowrap;
}

/* ── Badges ──────────────────────────────────────────────────────────────── */
.rg-badge{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:4px 12px; border-radius:999px;
  font-size:12px; font-weight:700; white-space:nowrap;
  border:1.5px solid transparent; letter-spacing:.01em;
}
.rg-badge::before{
  content:""; width:7px; height:7px; border-radius:50%;
  background:currentColor; flex-shrink:0;
}
/* Aprovado — verde escuro #125024 sobre tint, com borda nítida (8.5:1) */
.rg-badge.ok{
  background:var(--rg-verde-tint); color:var(--rg-verde);
  border-color:var(--rg-verde-borda);
}
/* Reprovado — vermelho */
.rg-badge.erro{
  background:var(--rg-vermelho-tint); color:var(--rg-vermelho);
  border-color:var(--rg-vermelho-borda);
}
/* Em curso / neutro */
.rg-badge.neutro{
  background:var(--rg-fundo); color:var(--rg-cinza-1);
  border-color:var(--rg-linha);
}

/* ── Mural de mensagens ───────────────────────────────────────────────────── */
.rg-msg{
  display:flex; align-items:baseline; gap:16px;
  padding:12px 4px; border-bottom:1px solid var(--rg-linha-l);
}
.rg-msg:last-child{ border-bottom:none; }
.rg-msg .titulo-msg{
  flex:1; min-width:0;
  font-weight:600; font-size:14.5px; color:var(--rg-tinta); text-decoration:none;
}
.rg-msg .titulo-msg:hover{ color:var(--rg-azul); text-decoration:underline; }
.rg-msg .meta{
  flex-shrink:0; text-align:right;
  font-size:12.5px; color:var(--rg-cinza-2); white-space:nowrap;
}
.rg-msg .meta .autor{ display:block; color:var(--rg-azul); font-weight:700; font-size:12px; }

/* ── Quadro de horários ───────────────────────────────────────────────────── */
.rg-horario-wrap{ width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
table.rg-horario{
  width:100%; border-collapse:collapse; font-size:13.5px;
  border:1px solid var(--rg-linha);
  border-radius:var(--rg-raio); overflow:hidden;
}
.rg-horario th{
  background:var(--rg-azul); color:#fff;
  padding:10px 12px;
  font-size:11px; text-transform:uppercase; letter-spacing:.07em; white-space:nowrap;
  font-weight:800; text-align:center;
}
.rg-horario th:first-child{ text-align:left; }
.rg-horario td{
  border-top:1px solid var(--rg-linha-l);
  border-right:1px solid var(--rg-linha-l);
  padding:8px; text-align:center; vertical-align:top;
  background:var(--rg-branco); min-width:115px;
}
.rg-horario td:first-child{ border-right:2px solid var(--rg-linha); }
.rg-horario td.hora{
  font-weight:700; white-space:nowrap; text-align:left;
  background:var(--rg-fundo); color:var(--rg-tinta);
  font-variant-numeric:tabular-nums; padding:10px 12px;
}
.rg-horario td.vazio{
  background:#FAFBFD; color:var(--rg-linha);
  font-size:16px; vertical-align:middle;
}
.rg-aula{
  background:var(--rg-fundo);
  border:1px solid var(--rg-linha-l);
  border-left:3px solid var(--rg-azul);
  border-radius:var(--rg-raio-s);
  padding:8px 10px; text-align:left;
}
.rg-aula .disc{
  font-weight:700; color:var(--rg-azul-esc); display:block; margin-bottom:3px;
  font-size:13.5px;
}
.rg-aula .meta{
  font-size:12px; color:var(--rg-cinza-1); display:block; line-height:1.4;
}

.rg-obs{
  margin-top:16px; padding:12px 16px;
  border-left:3px solid var(--rg-azul);
  background:var(--rg-fundo); border-radius:0 var(--rg-raio-s) var(--rg-raio-s) 0;
  font-size:13.5px; color:var(--rg-cinza-1);
}
.rg-obs strong{ color:var(--rg-tinta); }

/* ── Arquivos ─────────────────────────────────────────────────────────────── */
.rg-disciplina{
  font-weight:800; font-size:13px; color:var(--rg-azul-esc);
  text-transform:uppercase; letter-spacing:.06em;
  padding:16px 0 6px; border-bottom:2px solid var(--rg-linha);
  display:flex; align-items:center; gap:8px;
}
.rg-disciplina::before{
  content:""; width:14px; height:3px; border-radius:2px; background:var(--rg-cat-rec);
}
.rg-arquivo{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:11px 4px; border-bottom:1px solid var(--rg-linha-l);
  font-size:14.5px;
}
.rg-arquivo:last-child{ border-bottom:none; }
.rg-arquivo .nome{ word-break:break-word; color:var(--rg-tinta); }
.rg-vazio{
  padding:10px 4px; color:var(--rg-cinza-2);
  font-style:italic; font-size:13.5px;
}

/* ── Botões ──────────────────────────────────────────────────────────────── */
.rg-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--rg-azul); color:#fff !important;
  border:none; border-radius:var(--rg-raio-s);
  padding:11px 20px;
  font-family:var(--rg-f-corpo); font-size:14.5px; font-weight:700;
  cursor:pointer; text-decoration:none !important; white-space:nowrap;
  transition:background .15s, box-shadow .15s;
  box-shadow:0 1px 2px rgba(10,30,70,.15);
}
.rg-btn:hover{ background:var(--rg-azul-med); box-shadow:0 3px 10px rgba(10,30,70,.2); }
.rg-btn.suave{
  background:var(--rg-branco); color:var(--rg-azul) !important;
  border:1.5px solid var(--rg-azul);
}
.rg-btn.suave:hover{ background:var(--rg-fundo); }

/* ── Formulários ─────────────────────────────────────────────────────────── */
.rg-campo{ margin-bottom:18px; }
.rg-campo label{
  display:block; font-size:13px; font-weight:700;
  color:var(--rg-tinta); margin-bottom:7px;
}
.rg-campo input[type=text],
.rg-campo input[type=password]{
  width:100%; padding:11px 14px; font-size:15px;
  border:1.5px solid var(--rg-linha); border-radius:var(--rg-raio-s);
  background:var(--rg-fundo); color:var(--rg-tinta);
  font-family:var(--rg-f-corpo);
  transition:border-color .15s, box-shadow .15s;
}
.rg-campo input:focus{
  outline:none; background:var(--rg-branco);
  border-color:var(--rg-azul);
  box-shadow:0 0 0 3px rgba(19,65,159,.14);
}
.rg-campo .dica{ font-size:12.5px; color:var(--rg-cinza-2); margin-top:6px; }

/* ── Alertas ─────────────────────────────────────────────────────────────── */
.rg-alerta{
  padding:13px 16px; border-radius:var(--rg-raio-s);
  font-size:14px; margin-bottom:18px;
  border:1.5px solid transparent;
  font-weight:500;
}
.rg-alerta.erro{
  background:var(--rg-vermelho-tint); color:var(--rg-vermelho);
  border-color:var(--rg-vermelho-borda);
}
.rg-alerta.ok{
  background:var(--rg-verde-tint); color:var(--rg-verde);
  border-color:var(--rg-verde-borda);
}
.rg-alerta.info{
  background:#EBF4FD; color:var(--rg-azul-esc);
  border-color:rgba(19,65,159,.18);
}

/* validacao RSV legada */
#rsvErrors{ margin-bottom:10px; }

/* ── Carregando ──────────────────────────────────────────────────────────── */
.rg-carregando{
  display:flex; align-items:center; gap:12px;
  color:var(--rg-cinza-1); font-size:14px; padding:14px 0;
}
.rg-spinner{
  width:18px; height:18px; border-radius:50%;
  border:2.5px solid var(--rg-linha); border-top-color:var(--rg-azul);
  animation:rg-girar .75s linear infinite;
  flex-shrink:0;
}
@keyframes rg-girar{ to{ transform:rotate(360deg); } }

/* ── Tela de login ───────────────────────────────────────────────────────── */
.rg-login{
  min-height:100vh; margin:0; display:flex; flex-direction:column;
  background:
    linear-gradient(155deg,
      var(--rg-azul-esc)   0%,
      var(--rg-azul)      45%,
      #1762C8             80%,
      #0090CC            120%);
  font-family:var(--rg-f-corpo);
}
.rg-login-centro{
  flex:1; display:flex; align-items:center; justify-content:center;
  padding:40px 16px;
}
.rg-login-caixa{
  width:100%; max-width:420px;
  background:var(--rg-branco);
  border-radius:14px;
  box-shadow:
    0 4px 6px rgba(5,15,40,.12),
    0 20px 60px rgba(5,15,40,.40);
  padding:38px 36px 32px;
  border-top:4px solid var(--rg-ciano);
}
.rg-login-marca{
  text-align:center; margin-bottom:28px;
}
.rg-login-marca img{
  width:190px; max-width:76%; height:auto;
  display:inline-block; margin-bottom:8px;
  filter:brightness(1.06) saturate(1.1);
}
.rg-login-marca h1{
  font-family:var(--rg-f-titulo); font-size:20px; font-weight:600;
  color:var(--rg-tinta); margin:0 0 4px;
}
.rg-login-marca .sub-login{
  font-size:11px; text-transform:uppercase; letter-spacing:.2em;
  color:var(--rg-cinza-2);
}
.rg-login-caixa .rg-campo{ max-width:none; margin-bottom:16px; }
.rg-login-caixa .rg-btn{ width:100%; padding:13px; font-size:15px; margin-top:6px; }

.rg-login-rodape{
  text-align:center; padding:18px;
  font-size:12.5px; color:rgba(255,255,255,.65);
}

/* ── Modal do Censo (pesquisa.php) — mecânica :target preservada ────────── */
.modalWindow{
  position:fixed; top:0; right:0; bottom:0; left:0;
  background:rgba(5,15,40,.6);
  z-index:9999; opacity:0; pointer-events:none;
  transition:opacity .25s ease-in;
  font-family:var(--rg-f-corpo); font-size:14.5px;
  overflow-y:auto;
}
.modalWindow:target{ opacity:1; pointer-events:auto; }
.modalWindow > div{
  width:540px; max-width:94%;
  position:relative; margin:5% auto;
  border-radius:12px; background:var(--rg-branco);
  box-shadow:0 24px 70px rgba(0,0,0,.4); overflow:hidden;
}
.modalHeader{ padding:20px 24px 0; }
.modalHeader h2{
  font-family:var(--rg-f-titulo); font-size:20px; color:var(--rg-azul-esc);
  margin:0 0 12px; padding-bottom:12px; border-bottom:1.5px solid var(--rg-linha-l);
}
.modalContent{ padding:8px 24px 14px; }
.modalContent fieldset{
  border:1.5px solid var(--rg-linha-l); border-radius:var(--rg-raio-s);
  margin:0 0 14px; padding:12px 16px;
}
.modalContent legend{ font-weight:700; font-size:13px; padding:0 6px; color:var(--rg-tinta); }
.modalContent label{ font-size:14px; }
.modalFooter{
  background:var(--rg-fundo); border-top:1.5px solid var(--rg-linha-l);
  padding:14px 24px;
}
.modalFooter p{ margin:0; padding:4px; color:var(--rg-vermelho); text-align:right; font-size:13px; }
.modalFooter .ok, .modalFooter .cancel{
  display:inline-block; float:right; margin-left:10px;
  padding:9px 20px; border-radius:var(--rg-raio-s);
  font-weight:700; font-size:13.5px; line-height:1.2;
  text-decoration:none !important; text-align:center; cursor:pointer;
  transition:background .15s;
}
.modalFooter .ok{ background:var(--rg-azul); color:#fff !important; }
.modalFooter .ok:hover{ background:var(--rg-azul-med); }
.modalFooter .cancel{
  background:var(--rg-branco); color:var(--rg-cinza-1) !important;
  border:1.5px solid var(--rg-linha);
}
.modalFooter .cancel:hover{ background:var(--rg-vermelho-tint); color:var(--rg-vermelho) !important; }
.modalWindow .close{
  position:absolute; right:14px; top:14px; width:28px; height:28px;
  display:flex; align-items:center; justify-content:center;
  background:var(--rg-fundo); color:var(--rg-cinza-1) !important;
  border:1.5px solid var(--rg-linha); border-radius:50%;
  font-size:12px; font-weight:700; text-decoration:none !important;
  transition:background .12s;
}
.modalWindow .close:hover{ background:var(--rg-vermelho-tint); color:var(--rg-vermelho) !important; }
.clear{ float:none; clear:both; }

/* tooltip (pesquisa.php) */
a.tooltip{
  position:relative; font-size:13px; color:var(--rg-azul);
  text-decoration:none; cursor:help;
}
a.tooltip span{ display:none; }
a.tooltip:hover{ z-index:25; }
a.tooltip:hover span{
  display:block; position:absolute; width:min(420px,80vw); top:22px; left:0;
  font-size:13px; line-height:1.55; padding:12px 14px;
  border:1px solid var(--rg-azul-esc); border-radius:var(--rg-raio-s);
  background:var(--rg-azul-esc); color:rgba(255,255,255,.92);
  box-shadow:0 12px 32px rgba(0,0,0,.28);
}

/* interruptor SIM/NÃO (pesquisa.php) */
.onoffswitch{
  position:relative; width:90px;
  -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none;
}
.onoffswitch-checkbox{ display:none; }
.onoffswitch-label{
  display:block; overflow:hidden; cursor:pointer;
  border:2px solid var(--rg-linha); border-radius:20px;
}
.onoffswitch-inner{
  display:block; width:200%; margin-left:-100%;
  transition:margin .25s ease-in 0s;
}
.onoffswitch-inner:before, .onoffswitch-inner:after{
  display:block; float:left; width:50%; height:30px; padding:0; line-height:30px;
  font-size:13px; color:#fff; font-family:var(--rg-f-corpo); font-weight:700;
  box-sizing:border-box;
}
.onoffswitch-inner:before{
  content:"SIM"; padding-left:12px;
  background-color:var(--rg-azul); color:#fff;
}
.onoffswitch-inner:after{
  content:"N\00C3O"; padding-right:12px;
  background-color:#E8ECF1; color:var(--rg-cinza-1); text-align:right;
}
.onoffswitch-switch{
  display:block; width:18px; margin:6px; background:#fff;
  position:absolute; top:0; bottom:0; right:56px;
  border:2px solid var(--rg-linha); border-radius:20px;
  transition:all .25s ease-in 0s;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner{ margin-left:0; }
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch{ right:0; }

/* ── Página avulsa (mostramsg.php) ──────────────────────────────────────── */
.rg-avulsa{
  background:var(--rg-fundo); margin:0; padding:32px 16px;
  font-family:var(--rg-f-corpo); color:var(--rg-tinta);
}
.rg-avulsa-caixa{
  max-width:760px; margin:0 auto;
  background:var(--rg-branco);
  border:1px solid var(--rg-linha-l); border-radius:var(--rg-raio);
  box-shadow:var(--rg-sombra-2); padding:32px 36px;
  border-top:4px solid var(--rg-ciano);
}
.rg-avulsa-caixa h1{
  font-family:var(--rg-f-titulo); font-size:24px; margin:0 0 18px;
  color:var(--rg-azul-esc); border-bottom:1.5px solid var(--rg-linha-l); padding-bottom:14px;
}
.rg-avulsa-corpo{ font-size:15px; line-height:1.7; }

/* ── Responsivo ──────────────────────────────────────────────────────────── */
@media (max-width: 900px){
  .rg-burger{ display:inline-flex; }
  .rg-saudacao{ display:none; }
  .rg-area{ display:none; }
  .rg-marca img{ height:40px; max-height:40px; }
  .rg-topo-inner{ min-height:60px; }

  .rg-corpo{ flex-direction:column; padding:16px 14px 36px; gap:16px; }
  .rg-conteudo{ width:100%; max-width:100%; }
  .rg-cartao{ padding:18px 16px; max-width:100%; overflow:hidden; }
  .rg-menu{
    position:static; width:100%; flex:none;
    display:none;
  }
  .rg-menu.aberto{ display:block; }
  .rg-h1{ font-size:23px; }
}
@media (max-width: 560px){
  .rg-marca img{ height:36px; max-height:36px; }
  .rg-topo-inner{ padding:0 12px; }
  .rg-sair{ margin-left:10px; padding:8px 13px; }
  .rg-tabela th, .rg-tabela td{ padding:9px 10px; font-size:13.5px; }
  .rg-msg{ flex-direction:column; gap:3px; }
  .rg-msg .meta{ text-align:left; }
  .rg-login-caixa{ padding:30px 22px 26px; }
  .rg-avulsa-caixa{ padding:22px 18px; }
}
@media (prefers-reduced-motion: reduce){
  .rg-spinner{ animation:none; }
  .modalWindow, .onoffswitch-inner, .onoffswitch-switch, .rg-btn, .rg-sair,
  .rg-menu a, .rg-campo input{ transition:none; }
}
