/* Telas antes do login: visual neutro (sem identidade do órgão). */
* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; }
body.acesso { display: flex; align-items: center; justify-content: center; background: #eef0f3;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: #2b2f36; }
.caixa { width: 100%; max-width: 340px; margin: 1rem; padding: 2rem 1.75rem 1.75rem; background: #fff; border-radius: 10px;
  box-shadow: 0 2px 10px rgba(20, 30, 50, .08), 0 0 0 1px rgba(20, 30, 50, .05); }
.simbolo { width: 44px; height: 44px; margin: 0 auto .9rem; border-radius: 50%; background: #5b6472; position: relative; }
.simbolo::before { content: ""; position: absolute; left: 14px; top: 20px; width: 16px; height: 12px; background: #fff; border-radius: 2px; }
.simbolo::after { content: ""; position: absolute; left: 16px; top: 10px; width: 12px; height: 13px; border: 3px solid #fff; border-bottom: 0; border-radius: 7px 7px 0 0; }
h1 { margin: 0 0 1.2rem; font-size: 1.15rem; font-weight: 600; text-align: center; color: #3a414c; }
label { display: block; margin: .7rem 0 .25rem; font-size: .85rem; color: #555d69; }
input { width: 100%; padding: .55rem .65rem; font-size: .95rem; border: 1px solid #c9ced6; border-radius: 6px; background: #fbfcfd; }
input:focus { outline: none; border-color: #5b6472; box-shadow: 0 0 0 3px rgba(91, 100, 114, .18); background: #fff; }
button, .botao { display: block; width: 100%; margin-top: 1.2rem; padding: .6rem; font-size: .95rem; font-weight: 600; text-align: center;
  color: #fff; background: #4a5260; border: 0; border-radius: 6px; cursor: pointer; text-decoration: none; }
button:hover, .botao:hover { background: #3a414c; }
.aviso { margin: 0 0 .8rem; padding: .55rem .7rem; font-size: .85rem; border-radius: 6px; background: #eef1f5; color: #3a414c; }
.aviso-erro { background: #fdecec; color: #8a1f1f; }
.aviso-aviso { background: #fff6e0; color: #7a5a00; }
.aviso-ok { background: #e9f6ec; color: #1f6b33; }
.mensagem { font-size: .95rem; text-align: center; }
