*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --azul:    #0A2463;
  --azul-m:  #1B4FBF;
  --laranja: #F4700A;
  --verde:   #22C16B;
  --vermelho:#EF4444;
  --amarelo: #F59E0B;
  --off:     #F0F2F7;
  --muted:   #6B7494;
  --texto:   #1a2340;
  --branco:  #FAFAFA;
}

html { scroll-behavior:smooth; }

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  background: var(--branco);
  color: var(--texto);
  font-size: 16px;
  line-height: 1.6;
}

a { color:inherit; text-decoration:none; }

/* FLASH */
.flash-wrap { position:fixed; top:1rem; right:1rem; z-index:9999; display:flex; flex-direction:column; gap:0.5rem; max-width:380px; }
.flash { padding:0.9rem 1.4rem; border-radius:10px; font-size:0.9rem; font-weight:500; box-shadow:0 4px 20px rgba(0,0,0,0.13); transition:opacity 0.5s ease; }
.flash-sucesso { background:#EDFAF4; color:#1a7a4a; border-left:3px solid var(--verde); }
.flash-erro    { background:#FDECEA; color:#B91C1C; border-left:3px solid var(--vermelho); }
.flash-info    { background:#EEF4FF; color:var(--azul-m); border-left:3px solid var(--azul-m); }

/* BADGES */
.badge { display:inline-flex; align-items:center; gap:0.3rem; padding:0.25rem 0.7rem; border-radius:100px; font-size:0.75rem; font-weight:700; }
.badge-disponivel   { background:rgba(34,193,107,0.12); color:#16a34a; }
.badge-limitado     { background:rgba(244,112,10,0.12);  color:#c2410c; }
.badge-indisponivel { background:rgba(239,68,68,0.1);    color:#b91c1c; }
.badge-destaque     { background:rgba(245,158,11,0.15);  color:#92400E; }

/* BOTÕES */
.btn-prim { background:var(--laranja); color:#fff; padding:0.65rem 1.4rem; border-radius:8px; font-weight:700; font-size:0.88rem; border:none; cursor:pointer; display:inline-flex; align-items:center; gap:0.4rem; transition:background 0.2s, transform 0.15s; }
.btn-prim:hover { background:#e05e00; transform:translateY(-1px); }
.btn-sec  { background:var(--off); color:var(--texto); padding:0.65rem 1.4rem; border-radius:8px; font-weight:600; font-size:0.88rem; border:1px solid #dde; cursor:pointer; display:inline-flex; align-items:center; transition:background 0.2s; }
.btn-sec:hover { background:#e4e6ef; }
.btn-sm { padding:0.3rem 0.8rem; border-radius:6px; font-size:0.75rem; font-weight:600; cursor:pointer; border:none; transition:opacity 0.2s; display:inline-flex; align-items:center; }
.btn-sm:hover { opacity:0.8; }
.btn-editar         { background:#EEF4FF; color:var(--azul-m); }
.btn-remover        { background:#FEF2F2; color:#b91c1c; }
.btn-activar        { background:#EDFAF4; color:#16a34a; }
.btn-ocultar        { background:#FFF7ED; color:#c2410c; }
.btn-destaque       { background:rgba(245,158,11,0.12); color:#92400E; }
.btn-remover-destaque { background:rgba(245,158,11,0.08); color:#b45309; }

/* CAMPOS */
.campo { display:flex; flex-direction:column; gap:0.4rem; }
.campo label { font-size:0.82rem; font-weight:600; color:var(--texto); }
.label-hint { font-weight:400; color:var(--muted); font-size:0.78rem; }
.obrig { color:var(--vermelho); }
.campo input, .campo select, .campo textarea {
  padding:0.7rem 1rem; border-radius:8px; border:1.5px solid #dde;
  font-size:0.95rem; font-family:inherit; background:#fff; width:100%;
  transition:border-color 0.2s;
}
.campo input:focus, .campo select:focus { outline:none; border-color:var(--azul-m); }
.campo-linha { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

/* PESQUISA */
.pesquisa-input { padding:0.6rem 1rem; border-radius:8px; border:1.5px solid #dde; font-size:0.9rem; font-family:inherit; width:100%; margin-bottom:0.4rem; }
.pesquisa-input:focus { outline:none; border-color:var(--azul-m); }
.select-pesquisa-wrap { display:flex; flex-direction:column; flex:1; min-width:200px; }
.select-pesquisa-wrap select { width:100%; padding:0.65rem 1rem; border-radius:8px; border:1.5px solid #dde; font-size:0.9rem; font-family:inherit; }
.select-pesquisa-wrap select:focus { outline:none; border-color:var(--azul-m); }

.barra-pesquisa { display:flex; gap:0.8rem; margin-bottom:1.2rem; flex-wrap:wrap; }
.barra-pesquisa input { flex:1; min-width:200px; padding:0.65rem 1rem; border-radius:8px; border:1.5px solid #dde; font-size:0.95rem; font-family:inherit; }
.barra-pesquisa input:focus { outline:none; border-color:var(--azul-m); }
.resultado-texto { font-size:0.85rem; color:var(--muted); margin-bottom:1rem; }

/* LINKS */
.link-detalhe { color:var(--azul-m); font-weight:600; }
.link-detalhe:hover { text-decoration:underline; }

/* DETALHE GRID */
.detalhe-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:1rem; padding:1.5rem; }
.detalhe-item { display:flex; flex-direction:column; gap:0.2rem; }
.detalhe-label { font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); }
