:root{
  /* Paleta derivada do logo da Print: azul #005490 */
  --fundo:#EDF2FA;
  --fundo-alto:#F7F9FD;
  --papel:#FFFFFF;
  --borda:#E3EAF4;
  --borda-forte:#D3DEEE;

  --tinta:#0F2A47;
  --tinta-suave:#5B7091;
  --marca:#005490;
  --marca-clara:#E8F0F9;
  --marca-escura:#003A66;

  --alerta:#B45309;
  --erro:#C2321F;
  --ok:#0F7B54;

  --sombra:0 1px 2px rgba(15,42,71,.05), 0 4px 12px rgba(15,42,71,.05);
  --sombra-alta:0 2px 4px rgba(15,42,71,.06), 0 10px 26px rgba(15,42,71,.09);

  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,monospace;
  --corpo:'Inter',system-ui,-apple-system,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}

body{
  background:var(--fundo);
  color:var(--tinta);
  font-family:var(--corpo);
  min-height:100vh;
  padding:34px 20px 64px;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:560px;margin:0 auto;position:relative}

label{
  display:block;font-size:12px;font-weight:500;color:var(--tinta-suave);
  margin-bottom:6px;
}
input,textarea,select{
  width:100%;background:var(--papel);border:1px solid var(--borda-forte);border-radius:10px;
  color:var(--tinta);font-family:inherit;font-size:14px;padding:11px 13px;
  transition:border-color .15s,box-shadow .15s;
}
input:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--marca);box-shadow:0 0 0 3px rgba(0,84,144,.1);
}
input::placeholder,textarea::placeholder{color:#9FB0C7}
textarea{resize:vertical;line-height:1.55}
select{cursor:pointer}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--marca);color:#fff;border:0;border-radius:10px;
  font-family:inherit;font-size:14px;font-weight:600;padding:12px 18px;
  cursor:pointer;text-decoration:none;transition:background .15s,transform .1s;
}
.btn:hover{background:var(--marca-escura)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn:focus-visible{outline:2px solid var(--marca);outline-offset:2px}
.btn.cheio{width:100%}
.btn.fantasma{background:var(--papel);border:1px solid var(--borda-forte);color:var(--tinta);font-weight:500}
.btn.fantasma:hover{background:var(--fundo-alto);border-color:var(--marca)}
.btn.perigo{background:var(--papel);border:1px solid var(--borda-forte);color:var(--erro);font-weight:500}
.btn.perigo:hover{border-color:var(--erro);background:#FEF5F4}
.btn.pequeno{padding:7px 12px;font-size:12px}

.nota{font-size:12px;color:var(--tinta-suave)}

#aviso{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--tinta);color:#fff;border-radius:10px;
  padding:12px 20px;font-size:13px;z-index:90;max-width:90vw;text-align:center;
  box-shadow:var(--sombra-alta);
}
#aviso.erro{background:var(--erro)}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
