:root {
  --slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-400:#94a3b8;
  --slate-500:#64748b;--slate-700:#334155;--slate-900:#0f172a;--slate-950:#020617;
  --orange-500:#16a34a;--orange-600:#15803d;
}
* { box-sizing: border-box; }
body { margin:0; font-family:'Inter',sans-serif; background:var(--slate-100); color:var(--slate-900); }
h1,h2,h3 { font-family:'Space Grotesk',sans-serif; margin:0 0 0.5rem; }
a { text-decoration:none; color:inherit; }

.admin-shell { display:flex; min-height:100vh; }
.admin-sidebar { width:220px; background:var(--slate-950); color:var(--slate-50); padding:1.5rem 1.25rem; display:flex; flex-direction:column; gap:2rem; flex-shrink:0; }
.admin-logo { font-family:'Space Grotesk',sans-serif; font-weight:700; display:flex; align-items:center; gap:0.5rem; }
.admin-logo small { color:var(--slate-400); font-weight:400; font-size:0.7rem; margin-left:0.25rem; }
.nav-logo-dot { width:8px; height:8px; border-radius:50%; background:var(--orange-500); display:inline-block; }
.admin-sidebar nav { display:flex; flex-direction:column; gap:0.9rem; font-size:0.9rem; }
.admin-sidebar nav a { color:var(--slate-400); }
.admin-sidebar nav a:hover { color:#fff; }
.admin-logout { margin-top:auto; color:var(--orange-500); font-weight:600; font-size:0.85rem; }

.admin-main { flex:1; padding:2.5rem; max-width:64rem; }
.admin-topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:2rem; flex-wrap:wrap; gap:1rem; }

.admin-card { background:#fff; border:1px solid var(--slate-200); border-radius:1rem; padding:1.5rem; margin-bottom:1.5rem; }
.admin-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); gap:1rem; margin-bottom:2rem; }
.admin-kpi { background:#fff; border:1px solid var(--slate-200); border-radius:1rem; padding:1.25rem; }
.admin-kpi .val { font-family:'Space Grotesk',sans-serif; font-size:1.8rem; font-weight:700; }
.admin-kpi .lbl { color:var(--slate-500); font-size:0.8rem; }

table { width:100%; border-collapse:collapse; font-size:0.88rem; }
th, td { text-align:left; padding:0.7rem 0.6rem; border-bottom:1px solid var(--slate-200); }
th { color:var(--slate-500); font-weight:600; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.04em; }
tr:hover td { background:var(--slate-50); }

.btn { display:inline-flex; align-items:center; gap:0.4rem; padding:0.6rem 1.1rem; border-radius:0.6rem; font-weight:600; font-size:0.85rem; border:1px solid transparent; cursor:pointer; }
.btn-primary { background:var(--orange-500); color:#fff; }
.btn-primary:hover { background:var(--orange-600); }
.btn-outline { border-color:var(--slate-200); background:#fff; }
.btn-outline:hover { border-color:var(--orange-500); color:var(--orange-500); }
.btn-danger { background:#fee2e2; color:#b91c1c; }
.btn-danger:hover { background:#fecaca; }
.btn-sm { padding:0.35rem 0.7rem; font-size:0.78rem; }

form.admin-form { display:flex; flex-direction:column; gap:1rem; max-width:38rem; }
form.admin-form label { font-size:0.82rem; font-weight:600; margin-bottom:0.3rem; display:block; }
form.admin-form input, form.admin-form textarea, form.admin-form select {
  width:100%; padding:0.65rem 0.8rem; border:1px solid var(--slate-200); border-radius:0.6rem; font-size:0.9rem; font-family:inherit; outline:none;
}
form.admin-form input:focus, form.admin-form textarea:focus, form.admin-form select:focus { border-color:var(--orange-500); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.checkbox-row { display:flex; align-items:center; gap:0.5rem; }
.checkbox-row input { width:auto; }

.alert { padding:0.75rem 1rem; border-radius:0.6rem; font-size:0.85rem; margin-bottom:1.25rem; }
.alert-erro { background:#fee2e2; color:#b91c1c; border:1px solid #fca5a5; }
.alert-sucesso { background:#dcfce7; color:#166534; border:1px solid #86efac; }

.login-page { min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--slate-950); padding:1.5rem; }
.login-box { background:#fff; border-radius:1.5rem; padding:2.5rem; width:100%; max-width:22rem; }
.login-box .eyebrow { color:var(--orange-500); font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:0.5rem; }

@media (max-width:720px) {
  .admin-shell { flex-direction:column; }
  .admin-sidebar { width:100%; flex-direction:row; align-items:center; flex-wrap:wrap; }
  .admin-sidebar nav { flex-direction:row; flex-wrap:wrap; }
  .admin-logout { margin-top:0; margin-left:auto; }
  .admin-main { padding:1.5rem; }
  .form-row { grid-template-columns:1fr; }
}

/* ===== Acessibilidade ===== */
.skip-link {
  position:absolute; left:-9999px; top:0; z-index:2000;
  background:var(--orange-600); color:#fff; padding:0.75rem 1.25rem;
  border-radius:0 0 0.75rem 0; font-weight:700; font-size:0.9rem;
}
.skip-link:focus-visible { left:0; }
:focus-visible { outline:3px solid var(--orange-500); outline-offset:2px; }
.admin-sidebar nav a:focus-visible { color:#fff; }
