.admin-root {
  padding: var(--lm-space-0);
  background: var(--lm-slate-950);
}

.admin-shell {
  min-height: 100vh;
}

.admin-header {
  display: flex;
  min-height: var(--lm-menu-bar-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--lm-space-4);
  padding: var(--lm-space-3) max(var(--lm-space-4), calc((100vw - 1120px) / 2));
  border-bottom: var(--lm-border-standard) solid var(--lm-glass-edge);
  background: linear-gradient(180deg, var(--lm-glass-fill), var(--lm-glass-shadow)), var(--lm-slate-900);
  box-shadow: var(--lm-shadow-2);
}

.admin-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--lm-space-2);
  color: var(--lm-text-primary);
  font-size: var(--lm-font-size-lg);
  font-weight: 700;
  text-decoration: none;
}

.admin-brand span {
  color: var(--lm-gold-100);
  font-size: var(--lm-font-size-sm);
  font-weight: 500;
}

.admin-header__actions,
.admin-header__actions form,
.admin-page-heading,
.admin-form-actions,
.admin-table__actions {
  display: flex;
  align-items: center;
  gap: var(--lm-space-3);
}

.admin-main {
  width: min(100% - var(--lm-space-5) * 2, 1120px);
  margin: var(--lm-space-0) auto;
  padding: var(--lm-space-6) var(--lm-space-0) var(--lm-space-7);
}

.admin-page-heading {
  justify-content: space-between;
  margin-bottom: var(--lm-space-5);
}

.admin-page-heading h1,
.admin-login h1 {
  margin: var(--lm-space-0);
  color: var(--lm-text-primary);
  font-size: var(--lm-font-size-display);
}

.admin-eyebrow {
  margin: var(--lm-space-0) var(--lm-space-0) var(--lm-space-1);
  color: var(--lm-gold-100);
  font-size: var(--lm-font-size-sm);
  font-weight: 650;
}

.admin-link,
.admin-button-link {
  color: var(--lm-blue-100);
  text-decoration: none;
  cursor: pointer;
}

.admin-link:hover,
.admin-button-link:hover {
  color: var(--lm-gold-100);
  text-decoration: underline;
}

.admin-table-wrap {
  overflow-x: auto;
  border: var(--lm-border-standard) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-3);
  background: var(--lm-slate-900);
  box-shadow: var(--lm-shadow-2);
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.admin-table th,
.admin-table td {
  padding: var(--lm-space-3) var(--lm-space-4);
  border-bottom: var(--lm-border-subtle) solid var(--lm-glass-edge);
  vertical-align: middle;
}

.admin-table th {
  color: var(--lm-gold-100);
  background: var(--lm-slate-850);
  font-size: var(--lm-font-size-sm);
  font-weight: 650;
}

.admin-table td { color: var(--lm-text-secondary); }
.admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-table tbody tr:hover { background: var(--lm-glass-fill); }
.admin-table__actions { white-space: nowrap; }
.admin-table__actions form { margin: var(--lm-space-0); }

.admin-button-link {
  padding: var(--lm-space-0);
  border: 0;
  background: none;
  font: inherit;
}

.admin-button-link--danger { color: var(--lm-error); }

.admin-empty,
.admin-alert {
  padding: var(--lm-space-3) var(--lm-space-4);
  border: var(--lm-border-standard) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-2);
  background: var(--lm-slate-900);
}

.admin-alert { margin: var(--lm-space-0) var(--lm-space-0) var(--lm-space-4); }
.admin-alert--error { color: var(--lm-error); border-color: var(--lm-error); }
.admin-alert--success { color: var(--lm-success); border-color: var(--lm-success); }
.admin-empty { color: var(--lm-text-secondary); }

.admin-import {
  display: grid;
  gap: var(--lm-space-3);
  margin-bottom: var(--lm-space-5);
}

.admin-import > h2,
.admin-import-card h2,
.admin-import-results h2 {
  margin: var(--lm-space-0);
  color: var(--lm-text-primary);
  font-size: var(--lm-font-size-lg);
}

.admin-import-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--lm-space-4);
}

.admin-import-card {
  display: grid;
  align-content: start;
  gap: var(--lm-space-3);
  min-width: 0;
  padding: var(--lm-space-4);
  border: var(--lm-border-standard) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-2);
  background: var(--lm-slate-900);
  box-shadow: var(--lm-shadow-1);
}

.admin-import-form {
  display: grid;
  gap: var(--lm-space-3);
}

.admin-import-form .lm-btn { justify-self: start; }

.admin-import-results {
  display: grid;
  gap: var(--lm-space-4);
  margin-bottom: var(--lm-space-5);
  padding: var(--lm-space-5);
  border: var(--lm-border-standard) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-3);
  background: linear-gradient(155deg, var(--lm-slate-850), var(--lm-slate-900));
  box-shadow: var(--lm-shadow-2);
}

.admin-import-results__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--lm-space-3);
  margin: var(--lm-space-0);
}

.admin-import-results__summary > div {
  display: grid;
  gap: var(--lm-space-1);
  padding: var(--lm-space-3);
  border: var(--lm-border-subtle) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-2);
  background: var(--lm-slate-900);
}

.admin-import-results__summary dt { color: var(--lm-text-secondary); }
.admin-import-results__summary dd { margin: var(--lm-space-0); color: var(--lm-gold-100); font-size: var(--lm-font-size-xl); }

.admin-import-results__details ul {
  display: grid;
  gap: var(--lm-space-2);
  margin: var(--lm-space-3) var(--lm-space-0) var(--lm-space-0);
  padding-inline-start: var(--lm-space-5);
  color: var(--lm-text-secondary);
}

.admin-import-results__details p { color: var(--lm-text-muted); }

.admin-form {
  display: grid;
  gap: var(--lm-space-5);
}

.admin-product-form {
  padding: var(--lm-space-5);
  border: var(--lm-border-standard) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-3);
  background: linear-gradient(155deg, var(--lm-slate-850), var(--lm-slate-900));
  box-shadow: var(--lm-shadow-2);
}

.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--lm-space-4);
}

.admin-form label {
  display: grid;
  min-width: 0;
  gap: var(--lm-space-2);
  color: var(--lm-text-secondary);
  font-size: var(--lm-font-size-sm);
}

.admin-field-full { grid-column: 1 / -1; }

.admin-form input,
.admin-form select,
.admin-form textarea {
  width: 100%;
  min-height: var(--lm-control-height);
  padding: var(--lm-space-2) var(--lm-space-3);
  border: var(--lm-border-standard) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-2);
  color: var(--lm-text-primary);
  background: var(--lm-slate-950);
  font: inherit;
  font-size: var(--lm-font-size-md);
}

.admin-form textarea { min-height: calc(var(--lm-control-height) * 3); resize: vertical; }
.admin-form input[type="checkbox"] { width: auto; min-height: auto; accent-color: var(--lm-blue-500); }
.admin-form input[type="file"] { padding: var(--lm-space-2); }
.admin-form input:focus-visible,
.admin-form select:focus-visible,
.admin-form textarea:focus-visible {
  outline: var(--lm-focus-width) solid var(--lm-gold-100);
  outline-offset: var(--lm-focus-offset);
}

.admin-form select option {
  color: var(--lm-text-primary);
  background: var(--lm-slate-900);
}

.admin-help {
  color: var(--lm-text-muted);
  font-size: var(--lm-font-size-sm);
}

.admin-fieldset {
  display: grid;
  gap: var(--lm-space-3);
  min-width: 0;
  margin: var(--lm-space-0);
  padding: var(--lm-space-4);
  border: var(--lm-border-standard) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-2);
}

.admin-fieldset legend {
  padding: var(--lm-space-0) var(--lm-space-2);
  color: var(--lm-gold-100);
  font-weight: 650;
}

.admin-row-list,
.admin-image-list,
.admin-video-list {
  display: grid;
  gap: var(--lm-space-3);
}

.admin-data-row,
.admin-image-row,
.admin-video-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--lm-space-3);
  padding: var(--lm-space-3);
  border: var(--lm-border-subtle) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-2);
  background: var(--lm-glass-fill);
}

.admin-icon-button {
  min-height: var(--lm-control-height);
  padding: var(--lm-space-2) var(--lm-space-3);
  border: var(--lm-border-standard) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-2);
  color: var(--lm-text-secondary);
  background: var(--lm-slate-800);
  font: inherit;
  cursor: pointer;
}

.admin-icon-button:hover { color: var(--lm-error); border-color: var(--lm-error); }

.admin-image-row {
  grid-template-columns: minmax(100px, 180px) minmax(100px, 180px) minmax(140px, 1fr);
  align-items: center;
}

.admin-image-row img {
  display: block;
  width: 100%;
  aspect-ratio: var(--lm-card-image-ratio);
  object-fit: contain;
  border: var(--lm-border-subtle) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-1);
  background: var(--lm-slate-950);
}

.admin-check {
  display: flex !important;
  align-items: center;
  gap: var(--lm-space-2) !important;
}

.admin-video-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.admin-video-row a {
  color: var(--lm-blue-100);
  overflow-wrap: anywhere;
}

.admin-form-actions { justify-content: flex-start; }

.admin-product-import {
  display: grid;
  gap: var(--lm-space-3);
  padding: var(--lm-space-3);
  border: var(--lm-border-subtle) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-2);
  background: var(--lm-glass-fill);
}

.admin-product-import__controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--lm-space-3);
}

.admin-login {
  display: grid;
  gap: var(--lm-space-4);
  width: min(100% - var(--lm-space-5) * 2, 420px);
  margin: clamp(var(--lm-space-7), 15vh, calc(var(--lm-space-7) * 4)) auto;
  padding: var(--lm-space-5);
  border: var(--lm-border-standard) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-3);
  background: linear-gradient(155deg, var(--lm-slate-850), var(--lm-slate-900));
  box-shadow: var(--lm-shadow-3), var(--lm-glow-frame);
}

.admin-login .admin-brand { color: var(--lm-gold-100); }
.admin-login .admin-form { margin-top: var(--lm-space-2); }

.admin-dialog {
  width: min(calc(100% - var(--lm-space-5) * 2), 420px);
  margin: auto;
  padding: var(--lm-space-5);
  border: var(--lm-border-standard) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-3);
  color: var(--lm-text-primary);
  background: var(--lm-slate-850);
  box-shadow: var(--lm-shadow-3);
}

.admin-dialog::backdrop {
  background: rgba(0, 0, 0, 0.72);
}

.admin-dialog__content {
  display: grid;
  justify-items: start;
  gap: var(--lm-space-4);
}

.admin-dialog__content p {
  margin: var(--lm-space-0);
  color: var(--lm-text-primary);
}

.admin-dialog__content form { margin: var(--lm-space-0); }

@media (max-width: 700px) {
  .admin-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-page-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-form-grid { grid-template-columns: minmax(0, 1fr); }
  .admin-field-full { grid-column: auto; }
  .admin-data-row { grid-template-columns: minmax(0, 1fr); }
  .admin-product-import__controls { grid-template-columns: minmax(0, 1fr); }
  .admin-image-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .admin-image-row img { grid-column: 1 / -1; max-width: 280px; }
  .admin-import-grid { grid-template-columns: minmax(0, 1fr); }
  .admin-import-results__summary { grid-template-columns: minmax(0, 1fr); }
}
