:root {
  --cor-principal: #00132E;
  --cor-secundaria: #051A3A;
  --cor-branco: #FCFDFD;
  --cor-fundo-claro: #EFEFF0;
  --cor-cinza-claro: #E1E3E5;
  --cor-borda: #D2D5D4;
  --cor-texto-secundario: #56606F;
  --cor-cinza-frio: #AAADB1;
  --cor-texto: #101828;
  --cor-sucesso: #0B7A3B;
  --cor-alerta: #9A6700;
  --cor-erro: #B42318;
  --raio: 24px;
  --sombra: 0 20px 56px rgba(0,19,46,.12);
  --sombra-suave: 0 12px 30px rgba(0,19,46,.08);
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(0,19,46,.10), transparent 30rem),
    linear-gradient(180deg, var(--cor-branco), var(--cor-fundo-claro));
  color: var(--cor-texto);
}
a { text-decoration: none; color: inherit; }
.admin-topo {
  width: min(1180px, calc(100% - 32px));
  margin: 16px auto 0;
  background: rgba(252,253,253,.82);
  color: var(--cor-principal);
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  position: sticky;
  top: 0;
  z-index: 40;
  border: 1px solid rgba(210,213,212,.82);
  border-radius: 999px;
  box-shadow: var(--sombra-suave);
  backdrop-filter: blur(18px);
}
.admin-topo > a { font-weight: 950; font-size: 20px; letter-spacing: -.03em; }
.admin-topo nav { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.admin-topo nav a { background: var(--cor-fundo-claro); padding: 10px 13px; border-radius: 999px; font-weight: 850; color: var(--cor-texto-secundario); transition: .2s ease; }
.admin-topo nav a:hover { background: var(--cor-principal); color: var(--cor-branco); transform: translateY(-1px); }
.admin-main { width: min(1180px, calc(100% - 32px)); margin: auto; padding: 34px 0; }
h1 { color: var(--cor-principal); font-size: clamp(30px, 4vw, 44px); letter-spacing: -.05em; line-height: 1; }
.cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-bottom: 22px; }
.cards div, .painel-card, .tabela-card, .form-card {
  background: rgba(252,253,253,.88);
  border-radius: var(--raio);
  box-shadow: var(--sombra-suave);
  padding: 22px;
  border: 1px solid rgba(210,213,212,.82);
  backdrop-filter: blur(14px);
}
.cards span { display: block; color: var(--cor-texto-secundario); font-weight: 850; }
.cards b { display: block; color: var(--cor-principal); font-size: 30px; margin-top: 8px; letter-spacing: -.04em; }
.btn, button { display: inline-flex; align-items: center; justify-content: center; background: var(--cor-principal); color: var(--cor-branco); border: 0; border-radius: 999px; padding: 12px 17px; font-weight: 950; cursor: pointer; box-shadow: 0 14px 28px rgba(0,19,46,.18); transition: .2s ease; }
.btn:hover, button:hover { transform: translateY(-1px); box-shadow: 0 18px 34px rgba(0,19,46,.22); }
.btn.pequeno { padding: 8px 12px; font-size: 13px; }
.btn.perigo { background: var(--cor-erro); }
.topo-linha { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.topo-linha form { display: flex; gap: 8px; }
select, input, textarea { border: 1px solid var(--cor-borda); border-radius: 16px; padding: 12px; font: inherit; width: 100%; color: var(--cor-principal); background: var(--cor-branco); outline: none; }
select:focus, input:focus, textarea:focus { border-color: var(--cor-principal); box-shadow: 0 0 0 4px rgba(0,19,46,.08); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 14px 13px; border-bottom: 1px solid var(--cor-cinza-claro); text-align: left; vertical-align: middle; }
th { background: rgba(0,19,46,.04); color: var(--cor-principal); text-transform: uppercase; letter-spacing: .06em; font-size: 12px; }
.status { font-weight: 950; border-radius: 999px; padding: 8px 11px; display: inline-block; background: var(--cor-cinza-claro); color: var(--cor-texto-secundario); }
.status.pendente { background: #FFF5D6; color: var(--cor-alerta); }
.status.aprovado { background: #E9F8EF; color: var(--cor-sucesso); }
.status.rejeitado { background: #FFE7E7; color: var(--cor-erro); }
.detalhe-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.acoes { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.form-card { display: grid; gap: 14px; max-width: 760px; }
.form-card label { font-weight: 850; color: var(--cor-principal); }
.form-card input, .form-card textarea, .form-card select { margin-top: 7px; }
.login-body { min-height: 100vh; display: grid; place-items: center; background: linear-gradient(135deg, var(--cor-principal), var(--cor-secundaria)); padding: 18px; }
.login-card { background: rgba(252,253,253,.92); border-radius: 30px; padding: 30px; box-shadow: 0 26px 80px rgba(0,0,0,.24); width: min(430px, 94vw); display: grid; gap: 15px; border: 1px solid rgba(252,253,253,.30); backdrop-filter: blur(16px); }
.login-card img { width: 106px; height: 106px; border-radius: 50%; object-fit: contain; margin: auto; background: var(--cor-principal); box-shadow: var(--sombra-suave); }
.login-card h1 { text-align: center; margin: 0; }
.login-card button { width: 100%; }
.alerta { background: #FFF0F0; color: var(--cor-erro); padding: 13px; border-radius: 16px; border: 1px solid #FFD0D0; }
@media(max-width: 950px) { .cards, .detalhe-grid { grid-template-columns: 1fr; } .admin-topo { align-items: flex-start; flex-direction: column; border-radius: 28px; } .admin-topo nav { justify-content: flex-start; } .tabela-card { overflow: auto; } }

.muted {
  color: var(--cor-texto-secundario);
  margin: -10px 0 0;
  font-weight: 650;
  line-height: 1.5;
}
.alerta.sucesso {
  background: #E9F8EF;
  color: var(--cor-sucesso);
  border-color: #BFEACF;
  margin-bottom: 16px;
}
.btn.secundario {
  background: var(--cor-branco);
  color: var(--cor-principal);
  border: 1px solid var(--cor-borda);
  box-shadow: var(--sombra-suave);
}
.acoes-inline {
  white-space: nowrap;
}
.campo-grupo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media(max-width: 760px) {
  .campo-grupo { grid-template-columns: 1fr; }
}
