* { box-sizing: border-box; }
body {
  font-family: -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;
  margin: 0; color: #1d2733; background: #f4f6f9; font-size: 14px;
}
header {
  background: #1f2d3d; color: #fff; padding: 14px 24px;
}
header h1 { margin: 0 0 8px; font-size: 18px; }
nav a {
  color: #cdd7e2; text-decoration: none; margin-right: 18px; font-weight: 500;
}
nav a:hover { color: #fff; }
nav a.ativo { color: #fff; border-bottom: 2px solid #4a90d9; padding-bottom: 4px; }
main { padding: 24px; max-width: 1200px; margin: 0 auto; }
h2 { margin-top: 0; }

table { border-collapse: collapse; width: 100%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
th, td { text-align: left; padding: 8px 12px; border-bottom: 1px solid #eef1f5; }
th { background: #eef2f7; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; color: #5a6877; }
tr:hover td { background: #f9fbfd; }

a { color: #2f6fb3; }
.muted { color: #7a8694; }
.warn-cell { color: #b9520b; font-weight: 600; }

.filtros { margin: 0 0 16px; display: flex; gap: 8px; flex-wrap: wrap; }
.filtros input[type=text] { flex: 1; min-width: 260px; padding: 8px 10px; border: 1px solid #ccd3db; border-radius: 6px; }
.filtros select { padding: 8px 10px; border: 1px solid #ccd3db; border-radius: 6px; background: #fff; }
.filtros button, .btn-ok, .btn-no { padding: 8px 16px; border: 0; border-radius: 6px; cursor: pointer; color: #fff; background: #2f6fb3; font-weight: 600; }
.btn-ok { background: #2e9e5b; }
.btn-no { background: #c0392b; }
.btn-sm { padding: 4px 10px; font-size: 12px; }
.acao-prod { margin-top: 8px; }
code { background: #eef2f7; padding: 1px 5px; border-radius: 4px; font-size: 12px; }

.cards { display: flex; gap: 16px; flex-wrap: wrap; margin: 16px 0 28px; }
.card {
  background: #fff; border-radius: 10px; padding: 18px 22px; min-width: 160px;
  box-shadow: 0 1px 3px rgba(0,0,0,.08); flex: 1;
}
.card h3 { margin: 0 0 8px; font-size: 14px; color: #5a6877; }
.card .big { font-size: 30px; font-weight: 700; margin: 0; }
.card p { margin: 2px 0; }
.metric.ok .big { color: #2e9e5b; }
.metric.warn .big { color: #b9520b; }

.lojas-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.loja-col { background: #fff; border-radius: 10px; padding: 14px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.loja-col h4 { margin: 0 0 10px; padding-bottom: 8px; border-bottom: 2px solid #4a90d9; }
.prod { border-top: 1px solid #eef1f5; padding-top: 10px; margin-top: 10px; }
.prod:first-of-type { border-top: 0; }
.prod .nome { font-weight: 600; margin: 0 0 4px; }
table.kv { box-shadow: none; margin-top: 6px; }
table.kv td { padding: 3px 6px; border: 0; font-size: 13px; }
table.kv td:first-child { color: #7a8694; width: 40%; }

.badge { display: inline-block; background: #e7eef6; color: #2f6fb3; border-radius: 12px; padding: 2px 10px; font-size: 12px; font-weight: 600; }
.badge.warn { background: #fdecdf; color: #b9520b; }

.aviso { background: #fdecdf; border: 1px solid #f0b88a; color: #8a3d09; padding: 10px 14px; border-radius: 8px; margin: 12px 0; }

.pag { margin: 18px 0; display: flex; gap: 16px; align-items: center; }
.acoes form { margin: 0; }
