:root {
  --marca: #AA3E22;
  --preto: #111;
  --cinza: #f4f4f4;
  --borda: #e5e5e5;
  --ok: #10653E;
  --erro: #b00020;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Poppins, system-ui, sans-serif;
  background: var(--cinza);
  color: #222;
  line-height: 1.45;
}
.login-wrap {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1.5rem;
}
.card {
  background: #fff;
  border-radius: 14px;
  padding: 1.25rem 1.35rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  margin-bottom: 1rem;
}
.login-card { width: min(100%, 400px); }
.login-card h1, .admin-top h1 { margin: 0 0 .4rem; font-size: 1.4rem; }
.muted { color: #666; margin: 0 0 1rem; font-size: .92rem; }
.hint { display: block; color: #888; font-size: .8rem; margin-top: .25rem; }
label { display: block; font-weight: 600; font-size: .9rem; margin: .75rem 0; }
input, select {
  display: block; width: 100%; margin-top: .35rem;
  padding: .65rem .75rem; border: 1px solid var(--borda);
  border-radius: 10px; font: inherit;
}
input:focus, select:focus { outline: 2px solid var(--marca); border-color: transparent; }
.btn {
  border: 0; border-radius: 999px; padding: .7rem 1.2rem;
  font: inherit; font-weight: 700; cursor: pointer;
  background: var(--marca); color: #fff;
}
.btn:disabled { opacity: .6; cursor: wait; }
.btn-ghost { background: #fff; color: var(--preto); border: 1px solid var(--borda); }
.btn-save { background: var(--ok); font-size: 1rem; padding: .85rem 1.6rem; }
.erro { color: var(--erro); margin-top: .75rem; }
.admin { max-width: 760px; margin: 0 auto; padding: 1rem 1rem 6rem; }
.admin-top {
  display: flex; flex-wrap: wrap; gap: 1rem;
  justify-content: space-between; align-items: flex-start;
  margin: 1rem 0 1.25rem;
}
.admin-top-actions { display: flex; gap: .5rem; }
.grid2 { display: grid; gap: 0 1rem; }
@media (min-width: 640px) { .grid2 { grid-template-columns: 1fr 1fr; } }
.vendedor {
  display: grid; gap: .5rem; grid-template-columns: 1fr;
  background: var(--cinza); border-radius: 12px; padding: .85rem;
  margin-bottom: .75rem;
}
@media (min-width: 640px) {
  .vendedor { grid-template-columns: 1.2fr 1fr .9fr auto; align-items: end; }
}
.vendedor label { margin: 0; }
.loja-block { margin-top: 1rem; padding-top: .5rem; border-top: 1px solid var(--borda); }
.loja-block h3 { margin: 0 0 .25rem; font-size: 1rem; color: var(--marca); }
.save-bar {
  position: sticky; bottom: 0; background: rgba(244,244,244,.95);
  backdrop-filter: blur(6px); padding: 1rem 0; display: flex;
  flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between;
}
.status { margin: 0; font-weight: 600; }
.status.ok { color: var(--ok); }
.status.err { color: var(--erro); }
.btn-rm {
  background: transparent; border: 1px solid #ddd; color: var(--erro);
  border-radius: 999px; padding: .55rem .9rem; font-weight: 700; cursor: pointer;
}
