:root { --azul:#1c5d99; --cinza:#f4f5f7; --borda:#d9dde3; --texto:#1f2933; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, "Segoe UI", Roboto, sans-serif;
  color: var(--texto); background: var(--cinza); }
header { display:flex; align-items:center; gap:24px; padding:12px 24px;
  background:#fff; border-bottom:1px solid var(--borda); }
header .logo { font-weight:700; color:var(--azul); text-decoration:none; }
header nav a { margin-right:16px; text-decoration:none; color:var(--texto); }
header .user { margin-left:auto; font-size:14px; color:#5b6673; }
main { max-width: 960px; margin: 24px auto; padding: 0 20px; }
h1 { font-size: 22px; } h2 { font-size: 17px; margin-top: 28px; }
a { color: var(--azul); }
table { width:100%; border-collapse:collapse; background:#fff; margin-top:12px;
  border:1px solid var(--borda); }
th, td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--borda); font-size:14px; }
th { background:#fafbfc; }
.card { background:#fff; border:1px solid var(--borda); border-radius:8px;
  padding:20px; margin-top:16px; }
.card.login { max-width:340px; margin:60px auto; }
form label { display:block; margin-bottom:12px; font-size:14px; font-weight:600; }
form input, form select, form textarea { display:block; width:100%; margin-top:4px;
  padding:8px; border:1px solid var(--borda); border-radius:6px; font-size:14px;
  font-weight:400; }
form label.check { font-weight:400; }
form label.check input { display:inline; width:auto; margin-right:6px; }
form input[readonly], form select:disabled {
  background:#eceff2; color:#8a94a1; border-color:#e2e6ea; cursor:not-allowed;
}
.filtro-form { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.filtro-form label { display:flex; align-items:center; gap:8px; margin-bottom:0; }
.filtro-form select { display:inline-block; width:auto; margin-top:0; }
.filtro-form button { width:auto; }
.campo-busca { display:flex; gap:6px; margin-top:4px; }
.campo-busca input { margin-top:0; flex:1; }
.campo-busca button { width:auto; white-space:nowrap; padding:8px 12px; }
.campo-senha { position:relative; margin-top:4px; }
.campo-senha input { margin-top:0; padding-right:40px; }
.campo-senha .olho { position:absolute; right:0; top:0; height:100%; width:36px;
  background:transparent; border:0; color:inherit; padding:0; font-size:16px;
  cursor:pointer; line-height:1; }
.campo-senha .olho:hover { opacity:0.7; }
fieldset { border:1px solid var(--borda); border-radius:6px; margin:0 0 16px; padding:14px; }
legend { font-weight:700; font-size:13px; padding:0 6px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.grid3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:0 16px; }
.span2 { grid-column: span 2; }
button, .btn { display:inline-block; background:var(--azul); color:#fff; border:0;
  padding:9px 16px; border-radius:6px; font-size:14px; cursor:pointer;
  text-decoration:none; }
button.secundario, .btn.secundario { background:#fff; color:var(--azul);
  border:1px solid var(--azul); }
.acoes { display:flex; gap:12px; align-items:center; margin-top:16px; }
.acoes form { margin:0; }
.alert { padding:10px 14px; border-radius:6px; margin:12px 0; font-size:14px; }
.alert.erro { background:#fde8e8; color:#9b1c1c; }
.alert.aviso { background:#fef3c7; color:#92400e; }
.hint { font-size:12px; color:#6b7280; font-weight:400; }
.ok { color:#046c4e; }
.status { font-size:12px; padding:2px 8px; border-radius:999px; background:#e5e7eb; }
.s-autorizada { background:#def7ec; color:#046c4e; }
.s-rejeitada, .s-erro { background:#fde8e8; color:#9b1c1c; }
.s-processando, .s-enviando { background:#e1effe; color:#1e429f; }
.s-producao { background:#fde8e8; color:#9b1c1c; }
.s-homologacao { background:#e1effe; color:#1e429f; }
pre { white-space:pre-wrap; font-size:13px; margin:0; }
