/* Shared admin navigation; all selectors scoped to avoid changing the public site. */
.admin-login-tab { position: fixed; right: 0; top: 45%; z-index: 50; padding: 14px 18px; color: #101111; background: #c4a15b; transform: translateX(calc(100% - 12px)); transition: transform .2s ease; text-decoration: none; }
.admin-login-tab:hover, .admin-login-tab:focus-visible { transform: translateX(0); }
.admin-navigation { position: relative; color: inherit; }
.admin-navigation summary { cursor: pointer; padding: 10px; }
.admin-navigation-links { position: absolute; right: 0; top: 100%; min-width: 210px; z-index: 80; background: #171a18; color: #f3efe3; border: 1px solid #c4a15b; padding: 12px; }
.admin-navigation-links a { display: block; padding: 8px; color: #f3efe3; white-space: nowrap; }
.admin-navigation-links button { background: transparent; color: #f3efe3; border: 1px solid #c4a15b; padding: 8px; cursor: pointer; }
.admin-body { margin: 0; background: #101111; color: #f3efe3; font: 16px/1.5 system-ui, sans-serif; }
.admin-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 4%; border-bottom: 1px solid #c4a15b; }
.admin-body a { color: #d6b575; }
.admin-main { max-width: 1400px; margin: 30px auto; padding: 0 24px; }
.admin-form { display: grid; gap: 12px; max-width: 550px; }
.admin-body input, .admin-body textarea, .admin-body button { font: inherit; padding: 10px; background: #202420; color: #f3efe3; border: 1px solid #777; }
.admin-body button, .admin-body input[type=submit] { cursor: pointer; border-color: #c4a15b; }
.admin-table-wrap { overflow-x: auto; }
.admin-body table { border-collapse: collapse; width: 100%; margin: 20px 0; }
.admin-body th, .admin-body td { text-align: left; padding: 10px; border-bottom: 1px solid #555; }
.admin-blocked { background: #4b2222; }
.admin-body dd { margin: 0 0 14px; overflow-wrap: anywhere; }
.admin-body dt { color: #d6b575; }
.admin-message { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (hover: none) { .admin-login-tab { transform: none; padding: 8px; font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .admin-login-tab { transition: none; } }
.admin-login-card {
  box-sizing: border-box;
  width: 100%;
  max-width: 420px;
  margin: 8vh auto;
  padding: 28px;
  background: #171a18;
  border: 1px solid #c4a15b;
}

.admin-login-card h1 {
  margin: 0 0 24px;
  font-size: 28px;
}

.admin-login-card .admin-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  max-width: 100%;
}

.admin-login-card .admin-form input,
.admin-login-card .admin-form button {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}

.admin-login-card input[type="submit"] {
  margin-top: 12px;
  background: #c4a15b;
  color: #101111;
}