body.admin-page {
  min-width: 0;
  color: var(--studio-text, var(--ink));
  background: var(--studio-bg, #0b0c10);
}

.admin-shell {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
  padding: 24px 0 64px;
}

.admin-topbar,
.admin-card {
  border: 1px solid var(--studio-border, var(--line));
  border-radius: 16px;
  background: var(--studio-surface-raised, var(--soft-surface-strong));
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.16);
}

.admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
}

.admin-topbar h1,
.admin-card h2,
.admin-card p { margin-top: 0; }
.admin-topbar h1 { margin-bottom: 2px; font-size: 1.35rem; }
.admin-muted { color: var(--studio-muted, var(--muted)); }

.admin-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.admin-metric { padding: 18px; }
.admin-metric strong { display: block; font-size: 1.75rem; }
.admin-metric span { color: var(--studio-muted, var(--muted)); }

.admin-grid {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.5fr);
  gap: 16px;
}

.admin-grid > .admin-card,
.admin-topbar > div { min-width: 0; }

.admin-card { padding: 20px; }
.admin-form { display: grid; gap: 10px; }
.admin-form-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.admin-form input,
.admin-form select,
.admin-search input {
  width: 100%;
  min-height: 40px;
  padding: 0 11px;
  border: 1px solid var(--studio-border, var(--line));
  border-radius: 9px;
  color: inherit;
  background: var(--studio-surface-soft, var(--soft-surface));
}

.admin-search { display: flex; gap: 8px; margin-bottom: 12px; }
.admin-table-wrap { width: 100%; max-width: 100%; overflow: auto; }
.admin-table { width: 100%; border-collapse: collapse; font-size: .84rem; }
.admin-table th,
.admin-table td { padding: 10px 8px; border-bottom: 1px solid var(--studio-border, var(--line)); text-align: left; white-space: nowrap; }
.admin-table th { color: var(--studio-muted, var(--muted)); font-weight: 600; }
.admin-actions { display: flex; gap: 6px; }
.admin-actions button { min-height: 32px; padding: 0 9px; font-size: .78rem; }
.admin-code { margin-top: 10px; padding: 10px; border-radius: 9px; word-break: break-all; background: var(--studio-surface-soft, var(--soft-surface)); }
.admin-error { padding: 12px; border: 1px solid rgba(215,75,85,.4); border-radius: 10px; color: #ff9aa2; background: rgba(215,75,85,.12); }

@media (max-width: 860px) {
  .admin-topbar { align-items: flex-start; flex-direction: column; }
  .admin-topbar .admin-muted { overflow-wrap: anywhere; }
  .admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-grid { grid-template-columns: 1fr; }
  .admin-card { min-width: 0; }
  .admin-form-row { grid-template-columns: 1fr; }
}
