*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
:root{
  --P:#1E3A5F;--A:#F5A623;
  --bg:#ECEEF2;--card:#FFFFFF;
  --tx:#111827;--mt:#6B7280;--bd:#E5E7EB;
  --ok:#16A34A;--shadow:0 4px 24px rgba(0,0,0,.09);
}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;-webkit-font-smoothing:antialiased}

/* ── NAVBAR ── */
#navbar{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:60px;background:var(--P);
  display:flex;align-items:center;
  box-shadow:0 2px 16px rgba(0,0,0,.2);
}
#navbar-inner{
  max-width:1200px;width:100%;margin:0 auto;
  padding:0 40px;display:flex;align-items:center;
  justify-content:space-between;
}
#navbar-logo{font-size:.75rem;font-weight:800;color:#fff;letter-spacing:.12em;text-transform:uppercase}
#navbar-tag{font-size:.7rem;color:rgba(255,255,255,.5);font-weight:500}

/* ── WRAPPER ── */
#wrapper{
  max-width:1200px;margin:0 auto;
  padding:100px 40px 60px;
}

/* ── HEADER ── */
#page-header{margin-bottom:40px}
#page-titulo{font-size:1.8rem;font-weight:800;color:var(--P);margin-bottom:6px}
#page-sub{font-size:.88rem;color:var(--mt)}

/* ── GRID CARDS ── */
#cards-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  gap:24px;
}

/* ── CARD ── */
.emp-card{
  background:var(--card);border-radius:20px;
  border:1px solid var(--bd);
  box-shadow:var(--shadow);
  overflow:hidden;
  text-decoration:none;color:inherit;
  display:flex;flex-direction:column;
  transition:transform .2s,box-shadow .2s;
}
.emp-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.13)}

/* Foto */
.card-foto{height:200px;overflow:hidden;position:relative;background:var(--P)}
.card-foto img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.emp-card:hover .card-foto img{transform:scale(1.04)}
.card-badge{
  position:absolute;top:12px;left:12px;
  background:var(--A);color:#fff;
  font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:20px;
}
.card-entrega{
  position:absolute;bottom:12px;right:12px;
  background:rgba(0,0,0,.55);backdrop-filter:blur(4px);color:#fff;
  font-size:.65rem;font-weight:500;padding:4px 10px;border-radius:6px;
}

/* Corpo */
.card-body{padding:20px;flex:1;display:flex;flex-direction:column;gap:10px}
.card-preco{font-size:1.4rem;font-weight:800;color:var(--P);line-height:1}
.card-preco span{font-size:.75rem;color:var(--mt);font-weight:400;margin-left:4px}
.card-nome{font-size:1rem;font-weight:700;color:var(--tx)}
.card-end{font-size:.75rem;color:var(--mt);display:flex;align-items:center;gap:5px}

/* Chips */
.card-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.card-chip{
  background:var(--bg);border:1px solid var(--bd);
  font-size:.68rem;font-weight:500;color:var(--tx);
  padding:4px 10px;border-radius:20px;
}

/* Divider */
.card-div{border:none;border-top:1px solid var(--bd);margin:4px 0}

/* Status bar */
.card-status{display:flex;gap:12px}
.card-stat{display:flex;flex-direction:column;align-items:center;flex:1;gap:2px}
.stat-num{font-size:1rem;font-weight:800;color:var(--P)}
.stat-ok{color:var(--ok)}
.stat-wn{color:#D97706}
.stat-label{font-size:.6rem;color:var(--mt);text-transform:uppercase;letter-spacing:.08em;font-weight:600}

/* CTA */
.card-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--P);color:#fff;
  border-radius:12px;padding:13px;
  font-size:.82rem;font-weight:700;
  margin-top:auto;transition:filter .15s;
}
.emp-card:hover .card-cta{filter:brightness(.9)}

/* ── STATUS GERAL ── */
#resumo{
  display:flex;gap:16px;margin-bottom:32px;flex-wrap:wrap;
}
.resumo-item{
  background:var(--card);border:1px solid var(--bd);border-radius:14px;
  padding:16px 24px;display:flex;flex-direction:column;gap:4px;
  box-shadow:0 2px 10px rgba(0,0,0,.05);flex:1;min-width:140px;
}
.resumo-num{font-size:1.6rem;font-weight:800;color:var(--P)}
.resumo-label{font-size:.7rem;color:var(--mt);text-transform:uppercase;letter-spacing:.08em;font-weight:600}

/* ── MOBILE ── */
@media(max-width:767px){
  #navbar-inner{padding:0 16px}
  #wrapper{padding:80px 16px 40px}
  #page-titulo{font-size:1.3rem}
  #cards-grid{grid-template-columns:1fr}
  #resumo{gap:8px}
  .resumo-item{padding:12px 16px}
}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(16px);transition:opacity .5s,transform .5s}
.rv.in{opacity:1;transform:translateY(0)}