/* Hide the static panel before scripts load or the API confirms access. */
html[data-admin-auth="pending"] body > :not(#admin-auth-status) {
  display: none !important;
}
#admin-auth-status {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 24px;
  background: #f5f7f6;
  color: #064e3b;
  text-align: center;
  font-size: 14px;
}
html[data-admin-auth="authenticated"] #admin-auth-status {
  display: none;
}
#admin-auth-retry[hidden] {
  display: none;
}

/* Only the content changes during navigation. The shell and its icons stay mounted. */
.app-shell[data-page-loading] main {
  display: none;
}
#admin-page-status {
  max-width: 1440px;
  min-height: 65vh;
  margin: 0 auto;
  padding: 38px;
  color: #52675c;
}
#admin-page-status p { margin-bottom: 22px; }
#admin-page-status button { margin-top: 18px; }
.admin-skeleton { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.admin-skeleton span { height: 150px; border: 1px solid #e5ebe7; border-radius: 18px; background: #edf1ef; }
html { scrollbar-gutter: stable; }
.nav-item img { flex-shrink: 0; }
main:focus, main h1:focus { outline: none; }
@media (max-width: 760px) {
  #admin-page-status { padding: 24px 18px; }
  .admin-skeleton { grid-template-columns: 1fr; }
  .admin-skeleton span { height: 110px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
