/* Ouvidoria — tela de login (reusa estilo visual do painel-gestao). */

#ouvidoria-raiz {
  --brand:#0b3a6e; --brand-dk:#082a51; --brand-lt:#e8eff8;
  --border:#e4e8ee; --text:#0f172a; --muted:#64748b;
  --err:#dc2626;
  font-family:'Inter','Archivo',system-ui,sans-serif; color:var(--text);
  font-size:14px; line-height:1.5; padding:120px 0 60px;
  max-width:1040px; margin:0 auto;
}
#ouvidoria-raiz .esconde { display:none !important; }

#ouvidoria-raiz .login-card {
  background:#fff; border:1px solid var(--border);
  padding:30px 32px; border-radius:12px; max-width:480px; margin:0 auto;
  box-shadow:0 1px 2px rgba(15,23,42,.06),0 2px 8px rgba(15,23,42,.04);
}
#ouvidoria-raiz .login-card h1 { font-size:22px; font-weight:600; margin:0 0 6px; color:var(--text); }
#ouvidoria-raiz .login-card .sub { color:var(--muted); font-size:14px; margin:0 0 20px; }

#ouvidoria-raiz label.campo {
  display:block; font-size:13px; font-weight:500; color:var(--text); margin:14px 0 6px;
}
#ouvidoria-raiz input[type=text], #ouvidoria-raiz input[type=password] {
  width:100%; padding:10px 12px; border:1px solid var(--border);
  border-radius:8px; font:14px Inter,sans-serif;
  background:#fff; color:var(--text); box-sizing:border-box;
}
#ouvidoria-raiz input:focus { outline:none; border-color:var(--brand); box-shadow:0 0 0 2px var(--brand-lt); }

#ouvidoria-raiz .erro { font-size:13px; color:var(--err); font-weight:500; margin:10px 0 0; }
#ouvidoria-raiz .acao {
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:11px 20px; border:0; border-radius:8px;
  background:var(--brand); color:#fff; font:600 14px Inter,sans-serif;
  cursor:pointer; width:100%; margin-top:16px; transition:background .15s;
}
#ouvidoria-raiz .acao:hover:not(:disabled) { background:var(--brand-dk); }
#ouvidoria-raiz .acao:disabled { background:#94a3b8; cursor:not-allowed; }
#ouvidoria-raiz .dica { color:var(--muted); font-size:12px; margin:14px 0 0; text-align:center; }

.painel-toast { position:fixed; bottom:20px; right:20px; z-index:9999; display:flex; flex-direction:column; gap:8px; }
.painel-toast .t {
  background:#fff; border:1px solid #e4e8ee; border-left:4px solid #0b3a6e;
  padding:12px 16px; border-radius:8px;
  box-shadow:0 1px 2px rgba(15,23,42,.06),0 2px 8px rgba(15,23,42,.04);
  min-width:260px; font-size:13px;
}
.painel-toast .t.err { border-left-color:#dc2626; }
