/* ====== Painel UZIL — identidade visual do site ====== */
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700;8..60,900&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#f4f6f8;
  --navy:#12243d;
  --navy-2:#0b1626;
  --surface:#ffffff;
  --surface-2:#f7f9fb;
  --borda:#e6e9ee;
  --texto:#1a1f2b;
  --muted:#7a8494;
  --accent:#c8a24a;        /* dourado UZIL */
  --accent-hover:#b8923a;
  --azul:#1d4e89;
  --verde:#1a8a4b;
  --vermelho:#c5544a;
  --cinza:#eef1f4;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--texto);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Source Serif 4',Georgia,serif}
::selection{background:var(--azul);color:#fff}

/* ====== Topo (admin) ====== */
.topo{
  background:var(--navy);
  border-bottom:3px solid var(--accent);
  padding:15px 22px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;color:#fff;
}
.topo h1{font-family:'Source Serif 4';font-size:21px;font-weight:700;margin:0;letter-spacing:.3px;color:#fff}
.marca{color:var(--accent)}
.topo-direita{display:flex;align-items:center;gap:12px}
.topo-direita span{font-size:14px;color:#c5cdd8}

main{max-width:980px;margin:26px auto;padding:0 18px}
.barra-acoes{margin-bottom:18px}

/* ====== Botões ====== */
.btn{
  display:inline-block;padding:11px 19px;border:none;border-radius:9px;
  font-family:'Manrope';font-size:13.5px;font-weight:700;letter-spacing:.2px;
  text-decoration:none;cursor:pointer;line-height:1;
}
.btn-verde{background:var(--accent);color:var(--navy)}
.btn-verde:hover{background:var(--accent-hover)}
.btn-azul{background:transparent;color:var(--azul);border:1px solid rgba(29,78,137,.4)}
.btn-azul:hover{background:rgba(29,78,137,.08);border-color:var(--azul)}
.btn-vermelho{background:transparent;color:var(--vermelho);border:1px solid rgba(197,84,74,.4)}
.btn-vermelho:hover{background:rgba(197,84,74,.1);border-color:var(--vermelho)}
.btn-cinza{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}
.btn-cinza:hover{background:rgba(255,255,255,.2)}

/* ====== Tabela ====== */
.tabela-rolagem{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--borda);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(18,36,61,.04)}
th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--borda);font-size:14px;vertical-align:top}
th{background:var(--surface-2);font-family:'Manrope';font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:12px;color:var(--muted)}
tr:last-child td{border-bottom:none}
.obs{font-size:12px;color:var(--muted);margin-top:4px}
.acoes{white-space:nowrap}
.acoes .btn{margin-right:6px;padding:8px 13px;font-size:12.5px}
.vazio{color:var(--muted);background:var(--surface);border:1px dashed #d3d9e0;padding:30px;border-radius:12px;text-align:center}

/* ====== Formulário ====== */
.formulario{background:var(--surface);border:1px solid var(--borda);padding:28px;border-radius:14px;max-width:540px;box-shadow:0 1px 3px rgba(18,36,61,.04)}
.formulario label{display:block;font-family:'Manrope';font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.5px;margin:16px 0 7px;color:var(--muted)}
.formulario input,.formulario select,.formulario textarea{width:100%;padding:12px 14px;border:1px solid var(--borda);border-radius:9px;font-size:15px;font-family:'Manrope';background:#fff;color:var(--texto)}
.formulario input:focus,.formulario select:focus,.formulario textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,162,74,.15)}
.formulario button{margin-top:24px}

/* ====== Login ====== */
.tela-login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px;background:radial-gradient(900px 500px at 80% -10%,rgba(200,162,74,.14),transparent 60%),linear-gradient(180deg,#12243d,#0b1626)}
.caixa-login{background:var(--surface);border:1px solid var(--borda);padding:36px;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.4);width:100%;max-width:380px}
.logo-login{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:18px}
.caixa-login h1{font-family:'Source Serif 4';margin:0 0 4px;font-size:28px;font-weight:900;text-align:center;letter-spacing:1px;color:var(--navy)}
.caixa-login .sub{text-align:center;color:var(--muted);font-family:'Manrope';font-size:11.5px;font-weight:700;margin:0 0 22px;text-transform:uppercase;letter-spacing:2px}
.caixa-login label{display:block;font-family:'Manrope';font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin:14px 0 7px;color:var(--muted)}
.caixa-login input{width:100%;padding:13px 14px;border:1px solid var(--borda);border-radius:9px;font-size:15px;font-family:'Manrope';background:#fff;color:var(--texto)}
.caixa-login input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,162,74,.15)}
.caixa-login button{width:100%;margin-top:24px;padding:14px;background:var(--accent);color:var(--navy);border:none;border-radius:9px;font-family:'Manrope';font-size:15px;font-weight:800;letter-spacing:.3px;cursor:pointer}
.caixa-login button:hover{background:var(--accent-hover)}

/* ====== Mensagens ====== */
.erro{background:rgba(197,84,74,.1);color:#a23c33;border:1px solid rgba(197,84,74,.3);padding:12px 14px;border-radius:9px;font-size:14px}
.sucesso{background:rgba(26,138,75,.1);color:#146b3a;border:1px solid rgba(26,138,75,.3);padding:12px 14px;border-radius:9px;font-size:14px}

/* ====== Situações (etiquetas coloridas) ====== */
.st{display:inline-block;padding:5px 13px;border-radius:100px;font-size:12px;font-weight:800;font-family:'Manrope';letter-spacing:.3px;white-space:nowrap}
.st-verde{background:#e8f3ec;color:#146b3a;border:1px solid rgba(26,138,75,.3)}
.st-azul{background:#e7f0fb;color:#1d4e89;border:1px solid rgba(29,78,137,.28)}
.st-vermelho{background:#fdeede;color:#b4610f;border:1px solid rgba(180,97,15,.3)}
.st-cinza{background:#eef1f4;color:#5a6472;border:1px solid #dfe4ea}

/* ====== Agrupamento por categoria ====== */
.grupo-titulo{font-family:'Source Serif 4';font-size:19px;font-weight:700;color:var(--navy);margin:30px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--borda);display:flex;align-items:center;gap:10px}
.contagem{font-size:12px;font-weight:700;font-family:'Manrope';color:var(--muted);background:var(--cinza);border-radius:100px;padding:3px 10px}

/* ====== Página pública ====== */
.campo-busca{width:100%;padding:14px 16px;border:1px solid var(--borda);border-radius:11px;font-size:15px;font-family:'Manrope';background:#fff;color:var(--texto);margin-bottom:16px;box-shadow:0 1px 3px rgba(18,36,61,.04)}
.campo-busca:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,162,74,.15)}
.filtros{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px}
.chip{font-family:'Manrope';font-size:13px;font-weight:700;background:var(--surface);color:#33404f;border:1px solid #d3d9e0;border-radius:100px;padding:9px 16px;cursor:pointer;transition:all .15s}
.chip:hover{border-color:var(--accent);color:var(--navy)}
.chip.ativo{background:var(--navy);color:#fff;border-color:var(--navy)}
.legenda{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px;padding:14px 16px;background:var(--surface);border:1px solid var(--borda);border-radius:12px}
.rodape-publico{margin:32px 0 12px;color:var(--muted);font-size:14px;text-align:center}
