/*
 * Lusty Looters admin v485
 * One component system for surfaces, metrics, controls, and motion.
 *
 * This stylesheet is intentionally loaded after v484. It standardises the
 * small working components while keeping every page open to the starfield.
 */

html body.ll-admin-shell {
  --ll-ui-surface: linear-gradient(160deg, rgba(10, 18, 32, .96), rgba(4, 8, 16, .96));
  --ll-ui-surface-soft: rgba(7, 15, 28, .92);
  --ll-ui-surface-control: rgba(3, 10, 22, .90);
  --ll-ui-border: rgba(15, 104, 234, .30);
  --ll-ui-border-soft: rgba(95, 161, 255, .17);
  --ll-ui-border-hover: rgba(95, 161, 255, .58);
  --ll-ui-text: #eef5ff;
  --ll-ui-muted: #9db9df;
  --ll-ui-blue: #5fa1ff;
  --ll-ui-green: #55e68c;
  --ll-ui-gold: #f7c66b;
  --ll-ui-red: #ff6b7d;
  --ll-ui-radius: 16px;
  --ll-ui-control-radius: 10px;
  --ll-ui-shadow: 0 14px 34px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(95, 161, 255, .035);
  --ll-ui-shadow-hover: 0 17px 40px rgba(0, 0, 0, .30), 0 0 22px rgba(15, 104, 234, .09), inset 0 1px 0 rgba(95, 161, 255, .055);
}

/* One card shape and one restrained effect language. */
html body.ll-admin-shell
  :where(
    .dash-card,
    .dash-panel,
    .stat-card,
    .stat-cell,
    .store-v470-stat,
    .admin-stats article,
    .delivery-stat,
    .staff-stat,
    .command-card,
    .server-dropdown,
    .server-dropdown-item,
    .activity-item,
    .queue-wrap,
    .manual-banlist-card,
    .player-row-card,
    .content-card,
    .admin-order-card,
    .admin-subscription-card,
    .block-card,
    .manual-unblock,
    .staff-card,
    .staff-panel,
    .staff-role-box,
    .delivery-head,
    .delivery-row,
    .delivery-command-card,
    .delivery-setup-card,
    .delivery-subscription-card,
    .store-v470-header,
    .store-v470-tabs,
    .store-v470-panel,
    .store-v470-catalogue-head,
    .store-v470-product-card,
    .editor-section,
    .editor-settings-panel,
    .price-adjuster-card,
    .editor-thumbnail-panel,
    .quick-choice-card,
    .dino-help-card,
    .admin-step-card,
    .admin-recipe-card,
    .admin-preview-card,
    .admin-result-card,
    .selected-item-summary-card,
    .admin-setup-card,
    .command-placeholder-card,
    .command-preview-control-card,
    .command-stage-card,
    .discord-delivery-card,
    .product-media-help-card,
    .fb-builder-card,
    .feedback-access-card,
    .feedback-admin-row,
    .feedback-server-card,
    .death-context-card,
    .death-overview-card,
    .owner-preset-run-card,
    .notice-card,
    .preview-card,
    .toggle-row,
    .table-wrap,
    .table-shell
  ) {
  position: relative !important;
  border: 1px solid var(--ll-ui-border) !important;
  border-radius: var(--ll-ui-radius) !important;
  background: var(--ll-ui-surface) !important;
  box-shadow: var(--ll-ui-shadow) !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
  transition:
    border-color .16s ease,
    background-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease !important;
}

html body.ll-admin-shell
  :where(
    .rcon-home-identical .panel,
    .banner-admin-page .panel
  ) {
  border-radius: var(--ll-ui-radius) !important;
  border-color: var(--ll-ui-border) !important;
  background: var(--ll-ui-surface) !important;
  box-shadow: var(--ll-ui-shadow) !important;
  filter: none !important;
  transform: none !important;
  transition:
    border-color .16s ease,
    background-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease !important;
}

html body.ll-admin-shell
  :where(
    .dash-card,
    .dash-panel,
    .stat-card,
    .stat-cell,
    .store-v470-stat,
    .admin-stats article,
    .delivery-stat,
    .staff-stat,
    .command-card,
    .server-dropdown,
    .server-dropdown-item,
    .activity-item,
    .queue-wrap,
    .manual-banlist-card,
    .player-row-card,
    .content-card,
    .admin-order-card,
    .admin-subscription-card,
    .block-card,
    .manual-unblock,
    .staff-card,
    .staff-panel,
    .staff-role-box,
    .delivery-head,
    .delivery-row,
    .delivery-command-card,
    .delivery-setup-card,
    .delivery-subscription-card,
    .store-v470-header,
    .store-v470-tabs,
    .store-v470-panel,
    .store-v470-catalogue-head,
    .store-v470-product-card,
    .editor-section,
    .editor-settings-panel,
    .price-adjuster-card,
    .editor-thumbnail-panel,
    .quick-choice-card,
    .dino-help-card,
    .admin-step-card,
    .admin-recipe-card,
    .admin-preview-card,
    .admin-result-card,
    .selected-item-summary-card,
    .admin-setup-card,
    .command-placeholder-card,
    .command-preview-control-card,
    .command-stage-card,
    .discord-delivery-card,
    .product-media-help-card,
    .fb-builder-card,
    .feedback-access-card,
    .feedback-admin-row,
    .feedback-server-card,
    .death-context-card,
    .death-overview-card,
    .owner-preset-run-card,
    .notice-card,
    .preview-card,
    .toggle-row
  )::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 16px auto !important;
  display: block !important;
  height: 1px !important;
  border: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(95, 161, 255, .52), transparent) !important;
  opacity: .72 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

html body.ll-admin-shell
  :where(
    .dash-card,
    .dash-panel,
    .stat-card,
    .stat-cell,
    .store-v470-stat,
    .admin-stats article,
    .delivery-stat,
    .staff-stat
  )::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

html body.ll-admin-shell
  :where(
    .dash-card,
    .dash-panel,
    .stat-card,
    .stat-cell,
    .store-v470-stat,
    .admin-stats article,
    .delivery-stat,
    .staff-stat,
    .command-card,
    .server-dropdown-item,
    .activity-item,
    .player-row-card,
    .content-card,
    .admin-order-card,
    .admin-subscription-card,
    .block-card,
    .staff-card,
    .delivery-row,
    .store-v470-product-card,
    .quick-choice-card,
    .feedback-admin-row,
    .feedback-server-card,
    .death-context-card,
    .death-overview-card,
    .notice-card,
    .preview-card
  ):hover,
html body.ll-admin-shell
  :where(
    .rcon-home-identical .panel,
    .banner-admin-page .panel
  ):hover {
  border-color: var(--ll-ui-border-hover) !important;
  box-shadow: var(--ll-ui-shadow-hover) !important;
  filter: none !important;
  transform: translateY(-1px) !important;
}

/* Joined stat bars become independent, compact RCON-style cards. */
html body.ll-admin-shell .stats-strip {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 20px 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.ll-admin-shell
  :where(.admin-stats, .staff-stat-grid, .delivery-grid, .store-v470-stats, .top-stats) {
  gap: 12px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.ll-admin-shell
  :where(.stat-cell, .admin-stats article, .staff-stat, .delivery-stat, .store-v470-stat) {
  min-width: 0 !important;
  min-height: 88px !important;
  padding: 15px 17px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: left !important;
  overflow: hidden !important;
}

html body.ll-admin-shell .stat-cell .stat-label,
html body.ll-admin-shell .admin-stats article > span,
html body.ll-admin-shell .staff-stat > span,
html body.ll-admin-shell .store-v470-stat > small {
  order: -1 !important;
}

html body.ll-admin-shell
  :where(
    .stat-label,
    .admin-stats article > span,
    .staff-stat > span,
    .delivery-stat > small,
    .store-v470-stat > small,
    .dash-card > label,
    .stat-card small
  ) {
  margin: 0 !important;
  color: var(--ll-ui-blue) !important;
  font: 900 10px/1.2 "JetBrains Mono", Consolas, monospace !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

html body.ll-admin-shell
  :where(
    .stat-num,
    .admin-stats article > b,
    .staff-stat > b,
    .delivery-stat > b,
    .store-v470-stat > span,
    .dash-card > strong
  ) {
  display: block !important;
  margin: 9px 0 0 !important;
  color: var(--ll-ui-text) !important;
  font: 900 clamp(24px, 2.1vw, 31px)/1 "Cinzel", Georgia, serif !important;
  letter-spacing: -.025em !important;
  text-shadow: none !important;
}

html body.ll-admin-shell .stat-card {
  min-height: 92px !important;
  padding: 16px !important;
  gap: 14px !important;
}

html body.ll-admin-shell .stat-card .stat-icon {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border: 1px solid rgba(95, 161, 255, .22) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

html body.ll-admin-shell .stat-card b {
  margin-top: 5px !important;
  color: var(--ll-ui-text) !important;
  font: 900 25px/1 "Cinzel", Georgia, serif !important;
  letter-spacing: -.02em !important;
  text-shadow: none !important;
}

html body.ll-admin-shell .stat-card span {
  margin-top: 5px !important;
  color: var(--ll-ui-muted) !important;
}

/* Compact information blocks use the same language as the main metrics. */
html body.ll-admin-shell
  :where(.command-status, .chart-statline > span, .mini-row, .health-pill, .chart-note, .notice) {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid var(--ll-ui-border) !important;
  border-radius: var(--ll-ui-radius) !important;
  background: var(--ll-ui-surface) !important;
  box-shadow: var(--ll-ui-shadow) !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

html body.ll-admin-shell
  :where(.command-status, .chart-statline > span, .mini-row, .health-pill, .chart-note, .notice)::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 12px auto !important;
  display: block !important;
  width: auto !important;
  height: 1px !important;
  border: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(95, 161, 255, .46), transparent) !important;
  opacity: .68 !important;
  transform: none !important;
  animation: none !important;
  pointer-events: none !important;
}

html body.ll-admin-shell
  :where(.command-status, .chart-statline > span, .mini-row, .health-pill, .chart-note, .notice)::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

html body.ll-admin-shell
  :where(.command-status, .chart-statline > span, .mini-row, .health-pill, .chart-note, .notice):hover {
  border-color: var(--ll-ui-border-hover) !important;
  box-shadow: var(--ll-ui-shadow-hover) !important;
  filter: none !important;
  transform: translateY(-1px) !important;
}

html body.ll-admin-shell .command-status > span,
html body.ll-admin-shell .chart-statline > span {
  color: var(--ll-ui-blue) !important;
}

html body.ll-admin-shell .command-status > strong,
html body.ll-admin-shell .chart-statline > span > b {
  color: var(--ll-ui-text) !important;
  text-shadow: none !important;
}

/* Shared headings, labels, and supporting text. */
html body.ll-admin-shell
  :where(h1, h2, h3, h4, .page-title, .section-title, .panel-title) {
  color: #fff !important;
  font-family: "Cinzel", Georgia, serif !important;
  font-weight: 900 !important;
}

html body.ll-admin-shell
  :where(.section-label, .field-label, .label, .eyebrow, .kicker, .staff-kicker, .block-kicker, th) {
  color: var(--ll-ui-blue) !important;
  font-family: "JetBrains Mono", Consolas, monospace !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

html body.ll-admin-shell
  :where(p, small, .section-desc, .page-sub, .panel-copy, .meta-line, .staff-sub, .staff-note) {
  color: var(--ll-ui-muted) !important;
}

/* One control shape and one interaction treatment. */
html body.ll-admin-shell
  :where(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea,
    .staff-editor,
    .command-preview
  ) {
  border: 1px solid var(--ll-ui-border) !important;
  border-radius: var(--ll-ui-control-radius) !important;
  background: var(--ll-ui-surface-control) !important;
  color: var(--ll-ui-text) !important;
  box-shadow: none !important;
  filter: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease !important;
}

html body.ll-admin-shell
  :where(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea,
    .staff-editor,
    .command-preview
  ):hover {
  border-color: rgba(95, 161, 255, .48) !important;
  box-shadow: none !important;
  filter: none !important;
}

html body.ll-admin-shell
  :where(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea,
    .staff-editor,
    .command-preview
  ):focus {
  outline: none !important;
  border-color: rgba(95, 161, 255, .82) !important;
  box-shadow: 0 0 0 3px rgba(15, 104, 234, .14) !important;
}

html body.ll-admin-shell
  :where(
    button,
    .btn,
    .view-btn,
    .filter-btn,
    .staff-btn,
    .staff-link,
    .delivery-btn,
    .death-btn,
    .row-save-btn,
    .store-v470-button,
    .item-editor-back,
    .item-editor-view-product,
    .manual-banlist-btn,
    .copy-eos-btn,
    .dash-btn,
    .llp-refresh
  ) {
  border-radius: var(--ll-ui-control-radius) !important;
  border: 1px solid rgba(95, 161, 255, .38) !important;
  background: rgba(15, 104, 234, .08) !important;
  color: #8fc1ff !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  transition:
    border-color .15s ease,
    background-color .15s ease,
    color .15s ease,
    box-shadow .15s ease,
    transform .15s ease !important;
}

html body.ll-admin-shell
  :where(
    button,
    .btn,
    .view-btn,
    .filter-btn,
    .staff-btn,
    .staff-link,
    .delivery-btn,
    .death-btn,
    .row-save-btn,
    .store-v470-button,
    .item-editor-back,
    .item-editor-view-product,
    .manual-banlist-btn,
    .copy-eos-btn,
    .dash-btn,
    .llp-refresh
  ):hover {
  border-color: rgba(95, 161, 255, .72) !important;
  background: rgba(15, 104, 234, .15) !important;
  color: #dcecff !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .22), 0 0 16px rgba(15, 104, 234, .08) !important;
  filter: none !important;
  transform: translateY(-1px) !important;
}

html body.ll-admin-shell
  :where(button, .btn, .staff-btn, .delivery-btn, .store-v470-button):active {
  box-shadow: none !important;
  transform: translateY(0) !important;
}

html body.ll-admin-shell
  :where(button, .btn, .staff-btn, .delivery-btn, .store-v470-button):disabled {
  opacity: .48 !important;
  box-shadow: none !important;
  filter: grayscale(.2) !important;
  transform: none !important;
  cursor: not-allowed !important;
}

html body.ll-admin-shell
  :where(
    .primary,
    .btn-primary,
    .store-v470-button-primary,
    .delivery-btn.primary,
    button[type="submit"]:not(.danger-btn):not(.warn)
  ) {
  border-color: rgba(95, 161, 255, .62) !important;
  background: linear-gradient(135deg, #146fe9, #338cff) !important;
  color: #f8fbff !important;
}

html body.ll-admin-shell
  :where(.danger, .danger-btn, .ban-player-btn, .delivery-btn.danger, button[data-tone="danger"]) {
  border-color: rgba(255, 107, 125, .44) !important;
  background: rgba(255, 107, 125, .08) !important;
  color: #ffd3da !important;
}

html body.ll-admin-shell
  :where(.warn, .gold, .delivery-btn.warn, button[data-tone="warning"]) {
  border-color: rgba(247, 198, 107, .42) !important;
  background: rgba(247, 198, 107, .07) !important;
  color: #ffe2a4 !important;
}

html body.ll-admin-shell
  :where(
    .pill,
    .status-pill,
    .staff-pill,
    .store-v470-badge,
    .ll-stripe-mode-pill,
    .admin-order-status,
    .admin-subscription-status,
    .tag,
    .badge
  ) {
  border-radius: 999px !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

/* Tables and rows keep the same subtle interaction as cards. */
html body.ll-admin-shell :where(.data-table tbody tr, table tbody tr) {
  transition: background-color .15s ease, box-shadow .15s ease !important;
}

html body.ll-admin-shell :where(.data-table tbody tr, table tbody tr):hover {
  background: rgba(15, 104, 234, .055) !important;
  box-shadow: inset 3px 0 0 rgba(95, 161, 255, .45) !important;
  filter: none !important;
  transform: none !important;
}

/* Responsive metric groups retain the same card design rather than shrinking. */
@media (max-width: 980px) {
  html body.ll-admin-shell .stats-strip,
  html body.ll-admin-shell .admin-stats,
  html body.ll-admin-shell .staff-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  html body.ll-admin-shell .stats-strip,
  html body.ll-admin-shell .admin-stats,
  html body.ll-admin-shell .staff-stat-grid {
    grid-template-columns: 1fr !important;
  }

  html body.ll-admin-shell
    :where(.stat-cell, .admin-stats article, .staff-stat, .delivery-stat, .store-v470-stat) {
    min-height: 80px !important;
    padding: 14px !important;
  }
}

/* v484 remains authoritative: page workspaces are never giant cards. */
html body.ll-admin-shell
  :where(
    .admin-main,
    .admin-store-main,
    .admin-orders-section,
    .admin-subscriptions-section,
    .staff-admin-page,
    .staff-shell,
    .delivery-main,
    .banner-manager-content,
    .security-main,
    .death-main,
    .death-dashboard,
    .page-shell,
    main.page,
    main.shell
  ),
html body.ll-admin-shell[data-admin-active-route="feedback"] .admin-main > .admin-panel,
html body.ll-admin-shell[data-admin-active-route="security"] main.page > .panel,
html body.ll-admin-shell[data-admin-active-route="death"] .page-shell > #deathHistoryPanel.panel,
html body.ll-admin-shell.admin-delivery-servers-page .delivery-main > .delivery-panel,
html body.ll-admin-shell.admin-store-item-page .editor-product-reference-card,
html body.ll-admin-shell.admin-store-item-page .admin-editor-settings-card,
html body.ll-admin-shell.admin-orders-page .admin-orders-section > .wrap,
html body.ll-admin-shell.admin-subscriptions-page .admin-subscriptions-section > .wrap,
html body.ll-admin-shell.store-manager-v470 .store-v470-shell {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

html body.ll-admin-shell
  :where(
    .admin-main,
    .admin-store-main,
    .admin-orders-section,
    .admin-subscriptions-section,
    .staff-admin-page,
    .staff-shell,
    .delivery-main,
    .banner-manager-content,
    .security-main,
    .death-main,
    .death-dashboard,
    .page-shell,
    main.page,
    main.shell
  )::before,
html body.ll-admin-shell
  :where(
    .admin-main,
    .admin-store-main,
    .admin-orders-section,
    .admin-subscriptions-section,
    .staff-admin-page,
    .staff-shell,
    .delivery-main,
    .banner-manager-content,
    .security-main,
    .death-main,
    .death-dashboard,
    .page-shell,
    main.page,
    main.shell
  )::after {
  content: none !important;
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html body.ll-admin-shell *,
  html body.ll-admin-shell *::before,
  html body.ll-admin-shell *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
