/* =====================================================================
   textoonline — páginas de texto (ajuda, privacidade, termos, painel)
   Leve de propósito: nenhuma letra vem da Internet, nenhuma imagem de
   fundo, nada que obrigue a esperar em ligações lentas.
   ===================================================================== */

:root{
  --azul:#0a6bc4;
  --verde:#5a9410;
  --laranja:#e06a00;
  --ink:var(--azul);
  --paper:#ffffff;
  --chrome:#f3f6f9;
  --borda:#d7dfe7;
  --texto:#232a31;
  --texto-suave:#65727e;
  --rust:var(--laranja);
  --sage:var(--verde);
}

*{box-sizing:border-box;}

html,body{
  margin:0;
  padding:0;
  background:var(--chrome);
  color:var(--texto);
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.7;
  -webkit-text-size-adjust:100%;
}

/* ---------- topo ---------- */
.topo{
  background:var(--chrome);
  border-bottom:1px solid var(--borda);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  padding:14px clamp(12px,4vw,32px);
}
.marca-sitio{
  font-style:italic;
  font-weight:700;
  font-size:clamp(19px,4vw,24px);
  color:var(--ink);
  text-decoration:none;
}
.marca-sitio .pinta{
  display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--rust);margin-left:5px;transform:translateY(-8px);
}
.menu-sitio{display:flex;align-items:center;gap:clamp(8px,2vw,18px);flex-wrap:wrap;}
.menu-sitio a{
  color:var(--texto-suave);
  text-decoration:none;
  font-family:"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:14px;
}
.menu-sitio a:hover{color:var(--ink);text-decoration:underline;}
.botao-tema{
  background:transparent;
  border:1px solid var(--borda);
  border-radius:3px;
  cursor:pointer;
  padding:4px 9px;
  font-size:14px;
  color:var(--texto-suave);
  font-family:inherit;
}
.botao-tema:hover{border-color:var(--ink);color:var(--ink);}

/* ---------- corpo ---------- */
.folha-texto{
  max-width:44rem;
  margin:clamp(20px,5vw,48px) auto;
  background:var(--paper);
  border:1px solid var(--borda);
  border-radius:4px;
  padding:clamp(20px,5vw,48px);
}
.folha-texto.largo{max-width:60rem;}

h1{font-size:clamp(1.45rem,4.5vw,2rem);line-height:1.25;margin:0 0 .2em;color:var(--ink);}
h2{font-size:clamp(1.15rem,3.5vw,1.4rem);margin:1.8em 0 .4em;color:var(--ink);}
h3{font-size:1.08rem;margin:1.4em 0 .3em;}
p{margin:0 0 1.05em;}
ul,ol{padding-left:1.3em;margin:0 0 1.1em;}
li{margin:.3em 0;}
a{color:var(--ink);}
strong{font-weight:700;}
hr{border:none;border-top:1px solid var(--borda);margin:2em 0;}
code{background:var(--chrome);padding:1px 5px;border-radius:3px;font-size:.9em;}
.entrada{color:var(--texto-suave);font-size:.92em;margin-top:-.4em;}
blockquote{
  margin:1.2em 0;padding:.6em 1em;border-left:3px solid var(--sage);
  background:rgba(95,122,90,.06);color:var(--texto-suave);
}

/* ---------- formulários ---------- */
form{margin:0;}
label{
  display:block;
  font-family:"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:13px;
  color:var(--texto-suave);
  margin:16px 0 5px;
}
input[type=text],input[type=email],input[type=password],input[type=url],input[type=search],textarea,select{
  width:100%;
  border:1px solid var(--borda);
  border-radius:3px;
  background:var(--paper);
  color:var(--texto);
  padding:10px;
  font-family:"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:15px;
}
textarea{min-height:150px;resize:vertical;}
input:focus,textarea:focus,select:focus{outline:2px solid var(--ink);outline-offset:1px;}

.botao{
  display:inline-block;
  background:var(--ink);
  color:var(--paper);
  border:none;
  border-radius:3px;
  padding:11px 20px;
  cursor:pointer;
  font-family:"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:15px;
  text-decoration:none;
}
.botao:hover{background:#152944;}
.botao.secundario{background:transparent;color:var(--ink);border:1px solid var(--ink);}
.botao.secundario:hover{background:rgba(31,58,95,.07);}
.botao.perigo{background:var(--rust);}
.linha-botoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;align-items:center;}

.recado{padding:11px 14px;border-radius:3px;margin:16px 0;font-size:14.5px;
  font-family:"Segoe UI",Helvetica,Arial,sans-serif;}
.recado.mal{background:#fbeae7;border-left:3px solid var(--rust);}
.recado.bem{background:#eef3ec;border-left:3px solid var(--sage);}
.recado.aviso{background:#fdf6e0;border-left:3px solid #b8863b;}

/* ---------- tabelas ---------- */
table.dados{width:100%;border-collapse:collapse;font-family:"Segoe UI",Helvetica,Arial,sans-serif;font-size:14px;}
table.dados th,table.dados td{border-bottom:1px solid var(--borda);padding:9px 8px;text-align:left;vertical-align:top;}
table.dados th{color:var(--texto-suave);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.4px;}
table.dados tr:hover td{background:rgba(31,58,95,.035);}
.envolver-tabela{overflow-x:auto;margin:16px 0;}
.marca-estado{font-size:12px;padding:2px 8px;border-radius:10px;background:var(--chrome);color:var(--texto-suave);}
.marca-estado.activo{background:#eef3ec;color:#3f5a3a;}
.marca-estado.suspenso{background:#fbeae7;color:#7d3527;}

/* ---------- cartões de resumo ---------- */
.resumo{display:flex;gap:clamp(10px,3vw,26px);flex-wrap:wrap;margin:18px 0 6px;}
.resumo div{border-left:2px solid var(--borda);padding-left:12px;}
.resumo strong{display:block;font-size:1.5rem;color:var(--ink);line-height:1.2;}
.resumo span{font-size:12.5px;color:var(--texto-suave);font-family:"Segoe UI",Helvetica,Arial,sans-serif;}

/* ---------- rodapé ---------- */
.rodape-sitio{
  max-width:44rem;
  margin:0 auto clamp(24px,6vw,60px);
  padding:0 clamp(12px,4vw,20px);
  font-family:"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:13px;
  color:var(--texto-suave);
  text-align:center;
}
.rodape-sitio nav{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.rodape-sitio a{color:var(--texto-suave);}

/* ---------- ecrãs pequenos, a partir de 4 polegadas ---------- */
@media (max-width:420px){
  html,body{font-size:15px;}
  .folha-texto{border-radius:0;border-left:none;border-right:none;margin:0 0 20px;}
  .menu-sitio{gap:10px;}
  .menu-sitio a{font-size:13px;}
  .linha-botoes .botao{width:100%;text-align:center;}
}

@media print{
  .topo,.rodape-sitio nav,.botao,.botao-tema{display:none;}
  body,.folha-texto{background:#fff;color:#000;border:none;}
}

/* O atributo hidden tem de ganhar sempre, mesmo a regras com display. */
[hidden]{display:none !important;}

/* logótipo nas páginas do sítio */
.marca-sitio img{height:36px; width:auto; display:block;}
@media (max-width:640px){ .marca-sitio img{height:28px;} }

/* cores da marca */
.botao-primario, .botao{background:var(--azul); border-color:var(--azul);}
.botao-primario:hover, .botao:hover{background:#075293; border-color:#075293;}
a{color:var(--azul);}
