.admin-body { margin: 0; }
.admin-top { padding: 16px; }
.admin-label { display: block; font-weight: 800; font-size: 12px; color: #6b7280; margin: 0 0 6px; }
.admin-input { width: 100%; box-sizing: border-box; border: 1px solid #e5e7eb; border-radius: 12px; padding: 12px; }
.admin-hint { color: #6b7280; font-size: 13px; }
.admin-warn { background: #fff7ed; border: 1px solid #fed7aa; padding: 12px; border-radius: 12px; font-size: 13px; }
.admin-list { display: flex; flex-direction: column; gap: 8px; }
.admin-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 10px; border: 1px solid #e5e7eb; background: #fff; border-radius: 12px; }
.admin-title { font-weight: 800; }
.admin-sub { color: #6b7280; font-size: 12px; }
.admin-link { text-decoration: none; color: #0f172a; font-size: 13px; font-weight: 700; }

.admin-login-card {
  max-width: 400px;
  margin: 48px auto;
  padding: 24px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.12);
  border: 1px solid #e5e7eb;
}
.admin-login-title { margin: 0 0 8px; font-size: 22px; color: #0f172a; }
.admin-login-form .admin-label { margin-top: 12px; }
.admin-login-form .admin-label:first-of-type { margin-top: 0; }
.admin-panel-hidden { display: none; }
.admin-btn--ghost {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 8px 14px;
  border-radius: 10px;
  font-weight: 700;
  cursor: pointer;
}
.admin-btn--ghost:hover { background: rgba(255, 255, 255, 0.1); }
textarea.admin-input { min-height: 72px; resize: vertical; font-family: inherit; }

.admin-theme-block { margin-bottom: 18px; }
.admin-theme-block .admin-btn--muted {
  margin-top: 8px;
  width: auto;
  padding: 8px 14px;
  font-size: 13px;
  background: #e5e7eb;
  color: #374151;
  border: none;
  border-radius: 10px;
  font-weight: 700;
  cursor: pointer;
}
.admin-theme-preview {
  margin-top: 8px;
  min-height: 0;
}
.admin-theme-preview img {
  display: block;
  max-width: 100%;
  max-height: 140px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  object-fit: cover;
}
input[type="file"].admin-input { padding: 10px; }
