@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,600;0,9..40,700&family=Silkscreen:wght@400;700&display=swap');

/* Account / Minecraft profile */
.account-body {
  background: radial-gradient(ellipse 120% 80% at 50% -20%, rgba(34, 197, 94, 0.12), transparent 50%),
    var(--bg-dark);
}

.account-main {
  max-width: 720px;
  margin: 0 auto;
  padding: 2rem 1.25rem 4rem;
}

.admin-main--user-detail {
  max-width: 960px;
}

.account-card.mc-panel,
.profile-hero.mc-panel,
.stats-panel.mc-panel,
.inv-panel.mc-panel {
  background: linear-gradient(145deg, #1a1a2e 0%, #12121c 100%);
  border: 3px solid #3d3d52;
  border-radius: 4px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 8px 24px rgba(0, 0, 0, 0.45);
  padding: 1.75rem 1.5rem;
  image-rendering: pixelated;
}

.account-title {
  font-size: 1.35rem;
  color: #ffd54f;
  text-shadow: 2px 2px 0 #3e2723;
  margin-bottom: 1rem;
  letter-spacing: 0.02em;
}

.account-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.account-form label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  color: var(--text-muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.account-form input {
  background: #0d0d14;
  border: 2px solid #4a4a62;
  border-radius: 4px;
  color: var(--text);
  padding: 0.65rem 0.75rem;
  font-size: 1rem;
}

.account-form input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.25);
}

/* Password field + show/hide (eye) toggle */
.account-password-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  color: var(--text-muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.account-password-label {
  display: block;
}

.account-password-row {
  position: relative;
  width: 100%;
}

.account-password-row input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.65rem 2.75rem 0.65rem 0.75rem;
  background: #0d0d14;
  border: 2px solid #4a4a62;
  border-radius: 4px;
  color: var(--text);
  font-size: 1rem;
}

.account-password-row input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.25);
}

.account-password-toggle {
  position: absolute;
  right: 0.3rem;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  line-height: 0;
}

.account-password-toggle:hover {
  color: #e2e8f0;
  background: rgba(255, 255, 255, 0.06);
}

.account-password-toggle:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.account-password-toggle svg {
  display: block;
}

.hypercode-input {
  font-family: ui-monospace, monospace;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 700;
}

.btn-mc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.25rem;
  background: linear-gradient(180deg, #5c9e4b 0%, #3d7a34 100%);
  border: 2px solid #2d5a27;
  border-radius: 4px;
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.btn-mc:hover {
  filter: brightness(1.08);
}

.btn-mc-inline {
  text-decoration: none;
  margin-top: 0.5rem;
}

/* ClaimProtect web teleport — shared player table, claim overview, staff queue TP */
.btn-mc-teleport {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: inherit;
  line-height: 1.15;
  cursor: pointer;
  color: #ecfeff;
  text-shadow:
    0 0 10px rgba(34, 211, 238, 0.95),
    0 0 22px rgba(167, 139, 250, 0.55),
    0 1px 2px rgba(0, 0, 0, 0.85);
  background: linear-gradient(155deg, #5b21b6 0%, #7c3aed 38%, #0e7490 100%);
  border: 2px solid rgba(196, 181, 253, 0.95);
  border-radius: 6px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 24px rgba(124, 58, 237, 0.5),
    0 4px 16px rgba(14, 116, 144, 0.45);
  transition: transform 0.12s ease, filter 0.12s ease, box-shadow 0.12s ease;
  white-space: nowrap;
  box-sizing: border-box;
}

.btn-mc-teleport::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: radial-gradient(circle at 28% 28%, #fff 0%, #a5f3fc 35%, #22d3ee 70%, transparent 72%);
  box-shadow:
    0 0 6px #22d3ee,
    0 0 14px #c4b5fd;
  flex-shrink: 0;
}

.btn-mc-teleport:hover:not(:disabled) {
  filter: brightness(1.14) saturate(1.08);
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 32px rgba(124, 58, 237, 0.65),
    0 6px 20px rgba(14, 116, 144, 0.5);
}

.btn-mc-teleport:active:not(:disabled) {
  transform: translateY(0) scale(0.98);
}

.btn-mc-teleport:focus-visible {
  outline: 2px solid #22d3ee;
  outline-offset: 3px;
}

.btn-mc-teleport:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  filter: grayscale(0.25) brightness(0.85);
  transform: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.35);
}

/* Auction House / cart — spectral sibling of teleport (shopping cart icon) */
.btn-mc-ah-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: inherit;
  line-height: 1.15;
  cursor: pointer;
  color: #ecfdf5;
  text-shadow:
    0 0 10px rgba(52, 211, 153, 0.9),
    0 0 20px rgba(16, 185, 129, 0.45),
    0 1px 2px rgba(0, 0, 0, 0.85);
  background: linear-gradient(155deg, #065f46 0%, #059669 40%, #0d9488 100%);
  border-radius: 6px;
  border: 2px solid rgba(167, 243, 208, 0.9);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 22px rgba(5, 150, 105, 0.45),
    0 4px 14px rgba(13, 148, 136, 0.4);
  transition: transform 0.12s ease, filter 0.12s ease, box-shadow 0.12s ease;
  white-space: nowrap;
  box-sizing: border-box;
}

.btn-mc-ah-cart::before {
  content: '';
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  background-color: currentColor;
  opacity: 0.95;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.btn-mc-ah-cart:hover:not(:disabled) {
  filter: brightness(1.12) saturate(1.06);
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 28px rgba(5, 150, 105, 0.55),
    0 6px 18px rgba(13, 148, 136, 0.48);
}

.btn-mc-ah-cart:active:not(:disabled) {
  transform: translateY(0) scale(0.98);
}

.btn-mc-ah-cart:focus-visible {
  outline: 2px solid #34d399;
  outline-offset: 3px;
}

.btn-mc-ah-cart:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  filter: grayscale(0.2) brightness(0.88);
}

.btn-mc-ah-cart:has(.ah-tile-pop-ic)::before {
  display: none;
}

/* Auction House — remove from cart (spectral shell matching .btn-mc-ah-cart, warm accent) */
.btn-mc-ah-cart-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: inherit;
  line-height: 1.15;
  cursor: pointer;
  color: #fff7ed;
  text-shadow:
    0 0 10px rgba(251, 146, 60, 0.95),
    0 0 20px rgba(234, 88, 12, 0.5),
    0 1px 2px rgba(0, 0, 0, 0.85);
  background: linear-gradient(155deg, #7c2d12 0%, #c2410c 42%, #ea580c 100%);
  border-radius: 6px;
  border: 2px solid rgba(254, 215, 170, 0.92);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 22px rgba(234, 88, 12, 0.48),
    0 4px 14px rgba(194, 65, 12, 0.42);
  transition: transform 0.12s ease, filter 0.12s ease, box-shadow 0.12s ease;
  white-space: nowrap;
  box-sizing: border-box;
}

.btn-mc-ah-cart-remove::before {
  content: '';
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  background-color: currentColor;
  opacity: 0.95;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8 12h8M12 20a8 8 0 100-16 8 8 0 000 16z'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8 12h8M12 20a8 8 0 100-16 8 8 0 000 16z'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.btn-mc-ah-cart-remove:hover:not(:disabled) {
  filter: brightness(1.1) saturate(1.06);
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 28px rgba(251, 146, 60, 0.55),
    0 6px 18px rgba(234, 88, 12, 0.5);
}

.btn-mc-ah-cart-remove:active:not(:disabled) {
  transform: translateY(0) scale(0.98);
}

.btn-mc-ah-cart-remove:focus-visible {
  outline: 2px solid #fb923c;
  outline-offset: 3px;
}

.btn-mc-ah-cart-remove:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  filter: grayscale(0.2) brightness(0.88);
}

.btn-mc-ah-cart-remove.btn-mc-compact {
  padding: 0.32rem 0.6rem;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  border-radius: 5px;
  gap: 0.3rem;
}

.btn-mc-ah-cart-remove.btn-mc-compact::before {
  width: 0.72rem;
  height: 0.72rem;
}

.btn-mc-ah-cart-remove:has(.ah-tile-pop-ic)::before {
  display: none;
}

/* Auction House — end listing / owner cancel (spectral template like .btn-mc-ah-cart, danger hue) */
.btn-mc-spectral-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: inherit;
  line-height: 1.15;
  cursor: pointer;
  color: #fef2f2;
  text-shadow:
    0 0 10px rgba(248, 113, 113, 0.95),
    0 0 20px rgba(239, 68, 68, 0.45),
    0 1px 2px rgba(0, 0, 0, 0.85);
  background: linear-gradient(155deg, #7f1d1d 0%, #b91c1c 38%, #9f1239 100%);
  border-radius: 6px;
  border: 2px solid rgba(252, 165, 165, 0.92);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 22px rgba(185, 28, 28, 0.5),
    0 4px 14px rgba(159, 18, 57, 0.42);
  transition: transform 0.12s ease, filter 0.12s ease, box-shadow 0.12s ease;
  white-space: nowrap;
  box-sizing: border-box;
}

.btn-mc-spectral-danger::before {
  content: '';
  width: 0.85rem;
  height: 0.85rem;
  flex-shrink: 0;
  background-color: currentColor;
  opacity: 0.92;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 6h18M8 6V4a2 2 0 012-2h4a2 2 0 012 2v2M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 6h18M8 6V4a2 2 0 012-2h4a2 2 0 012 2v2M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.btn-mc-spectral-danger:hover:not(:disabled) {
  filter: brightness(1.1) saturate(1.05);
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 28px rgba(220, 38, 38, 0.55),
    0 6px 18px rgba(159, 18, 57, 0.48);
}

.btn-mc-spectral-danger:active:not(:disabled) {
  transform: translateY(0) scale(0.98);
}

.btn-mc-spectral-danger:focus-visible {
  outline: 2px solid #f87171;
  outline-offset: 3px;
}

.btn-mc-spectral-danger.btn-mc-compact {
  padding: 0.32rem 0.6rem;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  border-radius: 5px;
  gap: 0.3rem;
}

.btn-mc-spectral-danger.btn-mc-compact::before {
  width: 0.72rem;
  height: 0.72rem;
}

.btn-mc-spectral-danger:has(.ah-tile-pop-ic)::before {
  display: none;
}

/* Spectral sibling of teleport — edit / primary warp actions (also use on <a>) */
.btn-mc-edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: inherit;
  line-height: 1.15;
  cursor: pointer;
  color: #fffbeb;
  text-decoration: none;
  text-shadow:
    0 0 10px rgba(251, 191, 36, 0.95),
    0 0 22px rgba(245, 158, 11, 0.45),
    0 1px 2px rgba(0, 0, 0, 0.85);
  background: linear-gradient(155deg, #78350f 0%, #b45309 35%, #6d28d9 100%);
  border: 2px solid rgba(253, 230, 138, 0.92);
  border-radius: 6px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 24px rgba(180, 83, 9, 0.45),
    0 4px 16px rgba(109, 40, 217, 0.4);
  transition: transform 0.12s ease, filter 0.12s ease, box-shadow 0.12s ease;
  white-space: nowrap;
  box-sizing: border-box;
}

.btn-mc-edit::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: radial-gradient(circle at 28% 28%, #fff 0%, #fde68a 35%, #f59e0b 70%, transparent 72%);
  box-shadow:
    0 0 6px #fbbf24,
    0 0 14px #c4b5fd;
  flex-shrink: 0;
}

.btn-mc-edit:hover {
  filter: brightness(1.12) saturate(1.06);
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 32px rgba(245, 158, 11, 0.55),
    0 6px 20px rgba(109, 40, 217, 0.48);
}

.btn-mc-edit:active {
  transform: translateY(0) scale(0.98);
}

.btn-mc-edit:focus-visible {
  outline: 2px solid #fbbf24;
  outline-offset: 3px;
}

.btn-mc-teleport--compact {
  padding: 0.32rem 0.6rem;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  border-radius: 5px;
  gap: 0.3rem;
}

.btn-mc-teleport--compact::before {
  width: 0.42rem;
  height: 0.42rem;
}

.cp-web-table td:has(.btn-mc-teleport),
.admin-user-cp-web .cp-web-table td:last-child {
  vertical-align: middle;
}

.account-error {
  background: rgba(185, 28, 28, 0.2);
  border: 1px solid #b91c1c;
  color: #fecaca;
  padding: 0.65rem 0.85rem;
  border-radius: 4px;
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

.account-form-hint {
  color: var(--text-muted);
  font-size: 0.88rem;
  line-height: 1.4;
  margin: 0 0 1rem 0;
}

.account-success {
  background: rgba(34, 197, 94, 0.15);
  border: 1px solid var(--accent-dim);
  color: #bbf7d0;
  padding: 0.65rem 0.85rem;
  border-radius: 4px;
  margin-top: 1rem;
}

.account-foot,
.link-help {
  margin-top: 1.25rem;
  color: var(--text-muted);
  font-size: 0.95rem;
}

.link-help strong {
  color: #ffd54f;
}

.account-foot a {
  color: var(--accent);
}

/* Profile */
.profile-wrap {
  max-width: 1200px;
}

.profile-hero {
  margin-bottom: 1.5rem;
}

/* Player dashboard — identity left, stats dashboard right */
.profile-hero-layout {
  display: grid;
  gap: 1.25rem 1.5rem;
  align-items: stretch;
}

@media (min-width: 901px) {
  .profile-hero-layout:not(.profile-hero-layout--identity-only) {
    grid-template-columns: minmax(0, 1fr) minmax(17.5rem, 40%);
  }
}

@media (max-width: 900px) {
  .profile-hero-layout:not(.profile-hero-layout--identity-only) {
    grid-template-columns: 1fr;
  }
}

.profile-hero-identity {
  min-width: 0;
}

.profile-hero-identity .profile-head {
  align-items: flex-start;
}

.profile-hero-dashboard {
  min-width: 0;
}

/* Survival stats dashboard panel (player profile hero, right column) */
.profile-stats-dashboard {
  position: relative;
  height: 100%;
  border-radius: 8px;
  border: 1px solid rgba(196, 165, 95, 0.38);
  background:
    linear-gradient(155deg, rgba(24, 26, 42, 0.97) 0%, rgba(12, 14, 26, 0.99) 42%, rgba(18, 22, 38, 0.96) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 8px 28px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}

.profile-stats-dashboard-deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 120% 80% at 100% 0%, rgba(251, 191, 36, 0.09) 0%, transparent 55%),
    radial-gradient(ellipse 90% 70% at 0% 100%, rgba(56, 189, 248, 0.06) 0%, transparent 50%),
    repeating-linear-gradient(
      -12deg,
      transparent,
      transparent 11px,
      rgba(255, 255, 255, 0.015) 11px,
      rgba(255, 255, 255, 0.015) 12px
    );
  opacity: 1;
}

.profile-stats-dashboard-inner {
  position: relative;
  z-index: 1;
  padding: 1rem 1.05rem 1.1rem;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.profile-stats-dashboard-header {
  margin: 0 0 0.85rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.profile-stats-dashboard-heading {
  margin: 0 0 0.2rem;
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fde68a;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.profile-stats-dashboard-tagline {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #94a3b8;
}

.profile-stats-dashboard-empty {
  margin: 0;
  padding: 0.25rem 0 0.15rem;
}

.profile-stats-dashboard-body {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.profile-stats-dash-section {
  margin: 0;
}

.profile-stats-dash-section:last-child {
  margin-bottom: 0;
}

.profile-stats-dash-section-title {
  margin: 0 0 0.45rem;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #86efac;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
}

.profile-stats-dash-grid {
  display: grid;
  gap: 0.45rem 0.5rem;
  align-items: stretch;
}

.profile-stats-dash-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.profile-stats-dash-grid--economy {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 1100px) {
  .profile-stats-dash-grid--economy {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.profile-stats-dash-grid--claims {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-stats-dash-grid--combat {
  grid-template-columns: repeat(auto-fill, minmax(5.75rem, 1fr));
}

.profile-stats-dash-chip {
  min-width: 0;
}

.profile-stats-dash-chip .mc-stat-chip-val {
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 400px) {
  .profile-stats-dash-grid--3 {
    grid-template-columns: 1fr;
  }
}

.profile-head {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
}

/* Staff user #703 — hero: avatar | identity | last position */
.profile-head.admin-user-hero-head {
  display: grid;
  grid-template-columns: auto 1fr minmax(12.5rem, 28%);
  gap: 1rem 1.25rem;
  align-items: start;
}

.admin-user-hero-main.profile-welcome {
  min-width: 0;
}

.admin-user-hero-position {
  margin: 0;
  padding: 0.65rem 0.85rem;
  background: rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 4px;
  min-width: 0;
}

.admin-user-hero-position-title {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #86efac;
  font-family: 'Silkscreen', ui-monospace, monospace;
}

.admin-user-hero-position-hint {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
}

.admin-user-hero-position-coords {
  margin: 0 0 0.5rem;
  font-size: 0.88rem;
  line-height: 1.45;
}

.admin-user-hero-position-empty {
  margin: 0 0 0.35rem;
  font-size: 0.85rem;
}

.admin-user-hero-position-meta {
  margin: 0;
  font-size: 0.72rem;
}

@media (max-width: 900px) {
  .profile-head.admin-user-hero-head {
    grid-template-columns: auto 1fr;
  }

  .admin-user-hero-position {
    grid-column: 1 / -1;
  }
}

.profile-avatar-wrap {
  flex-shrink: 0;
  padding: 6px;
  background: #2a2a3d;
  border: 3px solid #5c5c78;
  border-radius: 4px;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.05);
}

.profile-avatar-wrap--online {
  border-color: #22c55e;
  box-shadow:
    0 0 0 1px rgba(34, 197, 94, 0.45),
    inset 0 2px 0 rgba(255, 255, 255, 0.06);
}

.profile-avatar {
  display: block;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

/* Staff user hero: UUID in text column under claim blocks / rank */
.admin-user-uuid-hero {
  margin-top: 0.85rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  font-size: 0.88rem;
  line-height: 1.45;
}

.admin-user-uuid-hero-label {
  color: #94a3b8;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-right: 0.35rem;
}

.admin-user-uuid-hero-code {
  word-break: break-all;
  font-size: 0.82rem;
}

.admin-user-uuid-hero--empty .admin-muted {
  font-size: 0.88rem;
}

.profile-kicker {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #94a3b8;
  margin-bottom: 0.35rem;
}

.profile-name {
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  color: #fff;
  text-shadow: 2px 2px 0 #1e293b;
  margin-bottom: 0.35rem;
}

.profile-name-with-badge {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.85rem;
}

.profile-rank-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.75rem;
  font-size: clamp(0.62rem, 1.6vw, 0.72rem);
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-radius: 999px;
  color: #ecfeff;
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.4), rgba(129, 140, 248, 0.38));
  border: 1px solid rgba(125, 211, 252, 0.55);
  box-shadow:
    0 0 22px rgba(56, 189, 248, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.profile-sub {
  color: var(--text-muted);
  font-size: 0.95rem;
  max-width: 36rem;
}

.profile-rank-line strong {
  color: #ffd54f;
  font-weight: 700;
}

.mc-stat-chip-rank .mc-stat-chip-val {
  font-weight: 700;
}

/* LiteBans — banned from Minecraft (profile alert; website login still works) */
.profile-mc-ban-banner {
  margin-bottom: 1.25rem;
  padding: 1.35rem 1.5rem;
  border-radius: 8px;
  border: 2px solid #f87171;
  background: linear-gradient(180deg, #991b1b 0%, #450a0a 100%);
  box-shadow:
    0 0 0 2px rgba(0, 0, 0, 0.45),
    0 8px 28px rgba(0, 0, 0, 0.55);
}

.profile-mc-ban-inner {
  max-width: 42rem;
}

.profile-mc-ban-title {
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fecaca;
  text-shadow: 2px 2px 0 #7f1d1d;
  margin: 0 0 0.5rem 0;
}

.profile-mc-ban-lead {
  color: #fecdd3;
  font-size: 0.92rem;
  line-height: 1.45;
  margin: 0 0 0.75rem 0;
}

.profile-mc-ban-reason,
.profile-mc-ban-duration,
.profile-mc-ban-countdown-wrap,
.profile-mc-ban-meta {
  color: #fee2e2;
  font-size: 0.92rem;
  line-height: 1.45;
  margin: 0.35rem 0 0 0;
}

.profile-mc-ban-label {
  color: #fca5a5;
  font-weight: 600;
  margin-right: 0.35em;
}

.profile-mc-ban-countdown {
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-weight: 700;
  color: #fff;
}

.admin-ban-status {
  color: var(--text-muted);
  font-size: 0.9rem;
  margin: 0 0 0.5rem 0;
}

.stats-panel {
  margin-bottom: 1rem;
}

.stats-panel .inv-hint {
  margin-bottom: 0.5rem;
  font-size: 0.8rem;
  line-height: 1.35;
}

.inv-panel {
  margin-top: 0.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.inv-ender-perm-banner {
  margin: 0.75rem 0 1rem 0;
  padding: 0.85rem 1rem;
  border-radius: 8px;
  border: 1px solid rgba(196, 165, 95, 0.65);
  background: rgba(90, 70, 40, 0.35);
  font-size: 0.92rem;
  line-height: 1.45;
}

.inv-ender-perm-banner p {
  margin: 0;
}

.inv-ender-perm-banner a {
  font-weight: 600;
}

/* Profile stats — compact chips (readable UI font, not pixel font) */
.mc-stats-compact {
  font-family: 'DM Sans', ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-feature-settings: 'tnum' 1;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.mc-stats-compact-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.45rem;
}

.mc-stats-claim-row {
  margin-top: 0.15rem;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(61, 68, 88, 0.65);
}

.mc-stat-chip-labeled {
  flex-direction: column;
  align-items: stretch;
  align-self: flex-start;
  gap: 0.2rem;
  min-height: auto;
  padding: 0.32rem 0.45rem 0.35rem 0.42rem;
}

.mc-stat-kicker {
  display: block;
  font-size: 0.58rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #64748b;
  font-weight: 700;
  line-height: 1.2;
}

.mc-stat-chip-body {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.profile-claim-line {
  font-size: 0.88rem;
  color: #94a3b8;
  line-height: 1.45;
  margin-top: 0.25rem;
}

.profile-claim-line strong {
  color: #e2e8f0;
  font-weight: 700;
}

.mc-stat-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.28rem 0.5rem 0.28rem 0.4rem;
  background: linear-gradient(165deg, rgba(30, 41, 59, 0.75) 0%, rgba(15, 23, 42, 0.92) 100%);
  border: 1px solid #3d4458;
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  min-height: 1.85rem;
}

.mc-stat-icon {
  flex-shrink: 0;
  font-size: 0.95rem;
  line-height: 1;
  width: 1.15rem;
  text-align: center;
  filter: drop-shadow(1px 1px 0 rgba(0, 0, 0, 0.45));
}

.mc-stat-icon-lv {
  font-family: inherit;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fde047;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  width: auto;
  min-width: 1.15rem;
  padding: 0.05rem 0;
}

.mc-stat-icon-empty {
  visibility: hidden;
  width: 1.15rem;
}

/* Gems chip: original invisible icon slot, but tighter bubble (less edge + icon gap) */
.mc-stat-chip-gems {
  flex: 0 0 auto;
  padding: 0.28rem 0.42rem 0.28rem 0.28rem;
  gap: 0.15rem;
}

.mc-stat-chip-gems .mc-stat-icon-empty {
  width: 0.45rem;
  min-width: 0.45rem;
  flex-shrink: 0;
}

.mc-stat-chip-gems .mc-stat-gems {
  color: #f59e0b;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
}

.mc-stat-chip-val {
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  color: #e2e8f0;
  text-shadow: 0 1px 2px rgba(15, 23, 42, 0.85);
  white-space: nowrap;
  line-height: 1.25;
}

.mc-stat-coins {
  color: #4ade80;
}

.mc-stat-sep {
  color: #64748b;
  font-weight: 400;
  margin: 0 0.06em;
}

.mc-stat-suffix {
  font-weight: 700;
  color: #38bdf8;
  margin-left: 0.06em;
}

.stats-empty {
  color: var(--text-muted);
  font-style: italic;
  margin: 0;
}

.inv-title {
  font-size: 1.15rem;
  color: #ffd54f;
  text-shadow: 1px 1px 0 #3e2723;
  margin-bottom: 0.5rem;
}

.inv-hint {
  color: var(--text-muted);
  font-size: 0.88rem;
  margin-bottom: 1rem;
}

/* Inventory transfer errors only (success lines stay hidden) */
.inv-transfer-msg {
  font-size: 0.88rem;
  margin: 0.85rem auto 0 auto;
  padding: 0.55rem 0.85rem;
  border-radius: 8px;
  max-width: 42rem;
  text-align: center;
  box-sizing: border-box;
}

.inv-transfer-msg[hidden] {
  display: none !important;
}

.inv-transfer-msg--err {
  color: #fecaca;
  background: rgba(127, 29, 29, 0.35);
  border: 1px solid rgba(248, 113, 113, 0.45);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
}

.mc-inv-pick-active .mc-slot-interactive.mc-slot-empty {
  outline: 0.12rem dashed rgba(255, 255, 255, 0.35);
  outline-offset: -2px;
}

.mc-slot-interactive {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}

.mc-slot-interactive:hover {
  filter: brightness(1.08);
}

/* Minecraft-style inventories: fixed square slots (like 18×18 px scaled), vanilla panel chrome */
:root {
  --mc-slot: 36px;
  --mc-gap: 4px;
  /* Wider flex gap between armor/off-hand column and main 9 (player panel only) */
  --mc-armor-to-grid-gap: 12px;
  /* Slight inset so armor column sits a bit left of the main grid block */
  --mc-inv-armor-inset: 8px;
  /* Armor inset + armor slot + wide gap + 9 slots + internal grid gaps */
  --mc-inv-row-width: calc(
    var(--mc-inv-armor-inset) + 10 * var(--mc-slot) + 8 * var(--mc-gap) + var(--mc-armor-to-grid-gap)
  );
}

.mc-inv-twin {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 1.25rem;
  align-items: stretch;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

/* Inner node replaced by live snapshot JS; contents = columns still lay out as twin children */
#mc-inv-twin-refresh {
  display: contents;
}

@media (max-width: 960px) {
  .mc-inv-twin {
    grid-template-columns: 1fr;
    justify-items: center;
    width: 100%;
  }

  .mc-inv-shell-ender {
    flex: 0 1 auto;
    align-self: center;
    width: auto;
  }

  .mc-ender-chest {
    flex: 0 1 auto;
    display: block;
    min-height: 0;
  }

  .mc-ender-chest-shell.mc-inv-shell-ender {
    flex: 0 1 auto;
    min-height: 0;
  }

  .mc-ender-chest-slotwell {
    flex: 0 1 auto;
    min-height: 0;
    display: block;
  }
}

.mc-inv-column {
  min-width: 0;
  width: max-content;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}

.mc-inv-heading {
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
  letter-spacing: 0.04em;
}

.mc-inv-heading-player {
  color: #e0e0e0;
  text-shadow: 2px 2px 0 #2a2a2a;
}

.mc-inv-heading-ender {
  color: #d8b4ff;
  text-shadow: 2px 2px 0 #3d2060;
}

/* Container panels — vanilla generic_54 / player-like gray */
.mc-inv-shell {
  --slot-bg: #8b8b8b;
  --slot-empty: #6b6b6b;
  --panel-bg-top: #c6c6c6;
  --panel-bg-bot: #6f6f6f;
  --panel-border-out: #373737;
  --panel-border-hi: #ffffff;
  --panel-border-lo: #2a2a2a;
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  /* Match inventory row width (armor | 9); keeps Ender column aligned when side-by-side */
  min-width: calc(24px + var(--mc-inv-row-width));
  background: linear-gradient(180deg, var(--panel-bg-top) 0%, var(--panel-bg-bot) 100%);
  border: 4px solid var(--panel-border-out);
  border-top-color: var(--panel-border-hi);
  border-left-color: var(--panel-border-hi);
  border-right-color: var(--panel-border-lo);
  border-bottom-color: var(--panel-border-lo);
  padding: 10px 12px;
  border-radius: 0;
  overflow-x: auto;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    0 4px 12px rgba(0, 0, 0, 0.45);
}

/* Ender chest: darker purple-black panel (approx. ender UI) */
.mc-inv-shell-ender {
  --slot-bg: #2f2f2f;
  --slot-empty: #2a2a2a;
  --panel-bg-top: #4a2f5c;
  --panel-bg-bot: #1a0f22;
  --panel-border-hi: #8b6aa8;
  --panel-border-lo: #1a0b24;
  border-color: #2d1538;
  flex: 1 1 auto;
  align-self: stretch;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Ender chest “block” frame (player + staff inventory twin) */
.mc-ender-chest {
  --ec-void: #0a0510;
  --ec-obsidian: #1a0f28;
  --ec-edge: #3d2060;
  --ec-magenta: #c026d3;
  --ec-violet: #7c3aed;
  max-width: 100%;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  filter: drop-shadow(0 8px 22px rgba(88, 28, 135, 0.45));
}

/* Lid: same idea as player wood lid — CSS only, purple/obsidian (no center graphic). */
.mc-ender-chest-lid {
  flex-shrink: 0;
  height: 1.35rem;
  min-height: 1.35rem;
  margin: 0 0.35rem -5px;
  border-radius: 10px 10px 4px 4px;
  background: linear-gradient(
    180deg,
    #7a6a9a 0%,
    #4a3560 22%,
    #2a1a38 52%,
    #120818 100%
  );
  border: 2px solid #2d1b45;
  border-bottom: none;
  box-shadow:
    inset 0 2px 0 rgba(192, 38, 211, 0.16),
    inset 0 -8px 14px rgba(0, 0, 0, 0.45),
    0 5px 12px rgba(0, 0, 0, 0.65);
  z-index: 2;
  overflow: hidden;
}

.mc-ender-chest-shell.mc-inv-shell-ender {
  position: relative;
  z-index: 1;
  width: fit-content;
  max-width: 100%;
  align-self: center;
  padding: 0.65rem 0.75rem 0.85rem;
  margin-top: 0;
  background: linear-gradient(
    165deg,
    #352050 0%,
    var(--ec-obsidian) 35%,
    var(--ec-void) 100%
  );
  border: 3px solid #1a0a22;
  /* Dark seam under the lid so the body doesn’t read as one flat top */
  border-top: 3px solid #07040c;
  border-radius: 0 0 10px 10px;
  box-shadow:
    inset 0 0 0 1px rgba(192, 38, 211, 0.12),
    inset 0 10px 14px -6px rgba(0, 0, 0, 0.45),
    inset 0 3px 18px rgba(0, 0, 0, 0.55),
    0 2px 0 rgba(255, 255, 255, 0.04);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
}

.mc-ender-chest-head {
  width: 100%;
  text-align: center;
}

.mc-ender-chest-head .mc-inv-heading-ender {
  margin: 0 0 0.15rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #e9d5ff;
  text-shadow:
    0 0 12px rgba(192, 38, 211, 0.45),
    2px 2px 0 #2d1050;
}

.mc-ender-chest-slotwell {
  padding: 0.55rem 0.6rem 0.65rem;
  border-radius: 6px;
  background: radial-gradient(ellipse 120% 80% at 50% 20%, rgba(88, 28, 135, 0.22) 0%, transparent 55%),
    linear-gradient(180deg, #120818 0%, var(--ec-void) 100%);
  border: 2px solid rgba(0, 0, 0, 0.65);
  box-shadow:
    inset 0 3px 16px rgba(0, 0, 0, 0.65),
    inset 0 0 0 1px rgba(124, 58, 237, 0.2),
    0 0 20px rgba(192, 38, 211, 0.08);
  box-sizing: border-box;
}

.mc-ender-chest-slotwell .mc-inv-ec-body {
  margin-inline: auto;
}

.mc-ender-chest-slotwell .mc-slot {
  --slot-bg: #1f1528;
  --slot-empty: #140c1c;
  border-color: #0f0a14;
  border-top-color: #5b3d6b;
  border-left-color: #5b3d6b;
  border-right-color: #080510;
  border-bottom-color: #080510;
  background: linear-gradient(160deg, #241830 0%, #120a18 100%);
  box-shadow:
    inset 0 2px 6px rgba(0, 0, 0, 0.55),
    inset 0 0 0 1px rgba(192, 38, 211, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.03);
}

.mc-ender-chest-slotwell .mc-slot:hover {
  border-top-color: #7c5a94;
  border-left-color: #7c5a94;
  box-shadow:
    inset 0 2px 6px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(192, 38, 211, 0.2);
}

.mc-ender-chest-slotwell .mc-slot-empty {
  background: linear-gradient(160deg, #181020 0%, #0c0810 100%);
  opacity: 1;
}

.mc-ender-chest-foot {
  flex-shrink: 0;
  height: 0.4rem;
  margin: 0 0.85rem;
  border-radius: 0 0 5px 5px;
  background: linear-gradient(180deg, #0c0610 0%, #050308 100%);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
}

/* Side-by-side: stretch Ender frame to match player inventory column height */
@media (min-width: 961px) {
  .mc-inv-column.mc-inv-column--ender {
    justify-content: flex-start;
  }

  .mc-ender-chest {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    align-items: center;
  }

  .mc-ender-chest-shell.mc-inv-shell-ender {
    flex: 1 1 auto;
    min-height: 0;
    justify-content: flex-start;
  }

  .mc-ender-chest-slotwell {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

/* Player inventory — survival GUI frame (scoped; twin panel only) */
.mc-player-inventory {
  --pi-wood-hi: #8b6b52;
  --pi-wood-mid: #5c4334;
  --pi-wood-lo: #2d2118;
  --pi-slotwell: #4a4844;
  max-width: 100%;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  filter: drop-shadow(0 6px 18px rgba(35, 22, 14, 0.42));
}

.mc-player-inventory-lid {
  position: relative;
  flex-shrink: 0;
  height: 1.3rem;
  min-height: 1.3rem;
  margin: 0 0.5rem -6px;
  border-radius: 12px 12px 4px 4px;
  background: linear-gradient(
    180deg,
    #9d7a5e 0%,
    var(--pi-wood-hi) 22%,
    var(--pi-wood-mid) 55%,
    var(--pi-wood-lo) 100%
  );
  border: 2px solid #1a1410;
  border-bottom: none;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.18),
    inset 0 -10px 16px rgba(0, 0, 0, 0.42),
    0 6px 14px rgba(0, 0, 0, 0.5);
  z-index: 2;
  overflow: hidden;
}

.mc-player-inventory-lid-shine {
  position: absolute;
  left: 8%;
  right: 8%;
  top: 3px;
  height: 42%;
  border-radius: 4px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, transparent 100%);
  pointer-events: none;
}

.mc-player-inventory-shell.mc-inv-shell.mc-inv-shell-player {
  position: relative;
  z-index: 1;
  width: fit-content;
  max-width: 100%;
  align-self: center;
  margin-top: 0;
  padding: 0.65rem 0.75rem 0.85rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  background: linear-gradient(180deg, #e4dfd4 0%, #c9c4ba 38%, #a8a39a 100%);
  border: 4px solid var(--pi-wood-lo);
  border-top-color: #6b5344;
  border-left-color: #7a5f4a;
  border-right-color: #1f1812;
  border-bottom-color: #1f1812;
  border-top-color: #2a1f18;
  border-radius: 0 0 10px 10px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 8px 12px -5px rgba(0, 0, 0, 0.18),
    inset 0 -2px 10px rgba(0, 0, 0, 0.12),
    0 2px 0 rgba(255, 255, 255, 0.06);
  overflow-x: auto;
}

.mc-player-inventory-head {
  width: 100%;
  text-align: center;
}

.mc-player-inventory-head .mc-inv-heading-player {
  margin: 0 0 0.1rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #3a3028;
  text-shadow:
    1px 1px 0 rgba(255, 255, 255, 0.45),
    0 -1px 0 rgba(0, 0, 0, 0.12);
}

.mc-player-inventory-slotwell {
  padding: 0.55rem 0.6rem 0.65rem;
  border-radius: 5px;
  background: linear-gradient(180deg, #5e5b56 0%, var(--pi-slotwell) 55%, #3d3b38 100%);
  border: 2px solid #1c1b19;
  box-shadow:
    inset 0 3px 14px rgba(0, 0, 0, 0.38),
    inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  box-sizing: border-box;
}

.mc-player-inventory-slotwell .mc-inv-row-hotbar {
  margin-top: 8px;
  padding-top: 10px;
  border-top: 3px solid rgba(0, 0, 0, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.mc-player-inventory-slotwell .mc-slot {
  --slot-bg: #8b8b8b;
  --slot-empty: #5e5e5e;
  border-color: #2a2a2a;
  border-top-color: #f0f0f0;
  border-left-color: #e8e8e8;
  border-right-color: #1a1a1a;
  border-bottom-color: #1a1a1a;
  background: linear-gradient(165deg, #9a9a9a 0%, #7a7a7a 45%, #656565 100%);
  box-shadow:
    inset 2px 2px 0 rgba(255, 255, 255, 0.2),
    inset -2px -2px 0 rgba(0, 0, 0, 0.28);
}

.mc-player-inventory-slotwell .mc-slot:hover {
  border-top-color: #ffffff;
  border-left-color: #f5f5f5;
  filter: brightness(1.06);
}

.mc-player-inventory-slotwell .mc-slot-empty {
  background: linear-gradient(165deg, #6e6e6e 0%, #4a4a4a 100%);
  opacity: 1;
}

.mc-player-inventory-foot {
  flex-shrink: 0;
  height: 0.4rem;
  margin: 0 0.85rem;
  border-radius: 0 0 5px 5px;
  background: linear-gradient(180deg, var(--pi-wood-lo) 0%, #120e0a 100%);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.35);
}

@media (max-width: 960px) {
  .mc-player-inventory-shell.mc-inv-shell.mc-inv-shell-player {
    width: auto;
    max-width: 100%;
  }
}

.mc-inv-shell-ender--no-transfer {
  opacity: 0.72;
  filter: saturate(0.88);
}

.mc-inv-shell-ender--no-transfer .mc-slot-interactive {
  cursor: not-allowed;
}

.mc-inv-body {
  display: flex;
  flex-direction: column;
  gap: var(--mc-gap);
  width: fit-content;
  max-width: 100%;
}

.mc-inv-shell-player .mc-inv-body {
  padding-inline-start: var(--mc-inv-armor-inset);
}

.mc-inv-row {
  display: flex;
  flex-direction: row;
  gap: var(--mc-gap);
  align-items: center;
}

.mc-inv-shell-player .mc-inv-row {
  gap: var(--mc-armor-to-grid-gap);
}

.mc-inv-armor {
  flex: 0 0 var(--mc-slot);
  width: var(--mc-slot);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Empty column same width as armor (align hotbar with storage grid) */
.mc-inv-armor.mc-inv-armor-spacer {
  visibility: hidden;
  pointer-events: none;
}

.mc-inv-nine {
  display: grid;
  grid-template-columns: repeat(9, var(--mc-slot));
  gap: var(--mc-gap);
  width: fit-content;
}

/* Boots row: armor slot only — no fake storage slots (matches vanilla layout). */
.mc-inv-row-boots {
  align-items: center;
}

.mc-inv-boots-gap {
  flex: 0 0 auto;
  width: calc(9 * var(--mc-slot) + 8 * var(--mc-gap));
  min-height: var(--mc-slot);
  pointer-events: none;
}

/* Empty armor / off-hand silhouettes only — hide when slot has an item */
.mc-slot[data-mc-slot-role].mc-slot-empty::before {
  content: '';
  position: absolute;
  inset: 5px;
  background: center / contain no-repeat;
  opacity: 0.48;
  pointer-events: none;
  z-index: 0;
}

.mc-slot[data-mc-slot-role="helmet"].mc-slot-empty::before {
  background-image: url('/images/inventory-slots/helmet.svg');
}

.mc-slot[data-mc-slot-role="chestplate"].mc-slot-empty::before {
  background-image: url('/images/inventory-slots/chestplate.svg');
}

.mc-slot[data-mc-slot-role="leggings"].mc-slot-empty::before {
  background-image: url('/images/inventory-slots/leggings.svg');
}

.mc-slot[data-mc-slot-role="boots"].mc-slot-empty::before {
  background-image: url('/images/inventory-slots/boots.svg');
}

.mc-slot[data-mc-slot-role="offhand"].mc-slot-empty::before {
  background-image: url('/images/inventory-slots/shield.svg');
}

.mc-slot[data-mc-slot-role] .mc-item-img {
  position: relative;
  z-index: 1;
}

.mc-inv-tline-slotrole {
  color: #a3e635;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.mc-inv-row-hotbar {
  margin-top: 6px;
  padding-top: 8px;
  border-top: 3px solid rgba(0, 0, 0, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

/* Ender chest: 3×9 only — centered within panel (same width as inventory shell) */
.mc-inv-ec-body {
  display: flex;
  flex-direction: column;
  gap: var(--mc-gap);
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

.mc-inv-ec-row {
  display: grid;
  grid-template-columns: repeat(9, var(--mc-slot));
  gap: var(--mc-gap);
}

/* Square slot — Minecraft uses ~18px outer with 16px inner; we lock 36×36 */
.mc-slot {
  position: relative;
  box-sizing: border-box;
  width: var(--mc-slot);
  height: var(--mc-slot);
  min-width: var(--mc-slot);
  min-height: var(--mc-slot);
  flex-shrink: 0;
  background: var(--slot-bg);
  border: 2px solid var(--panel-border-out);
  border-top-color: var(--panel-border-hi);
  border-left-color: var(--panel-border-hi);
  border-right-color: var(--panel-border-lo);
  border-bottom-color: var(--panel-border-lo);
  box-shadow:
    inset 2px 2px 0 rgba(255, 255, 255, 0.22),
    inset -2px -2px 0 rgba(0, 0, 0, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Must follow .mc-slot so these box-shadow layers are not overwritten. Inset ring stays visible with overflow:hidden. */
.mc-slot.mc-slot-picked {
  outline: none;
  box-shadow:
    inset 0 0 0 2px #7dd3fc,
    inset 2px 2px 0 rgba(255, 255, 255, 0.22),
    inset -2px -2px 0 rgba(0, 0, 0, 0.28);
}

.mc-inv-shell-ender .mc-slot {
  border-color: #1f1f1f;
  border-top-color: #5c4a66;
  border-left-color: #5c4a66;
  border-right-color: #0d0d0d;
  border-bottom-color: #0d0d0d;
}

.mc-slot-empty {
  background: var(--slot-empty);
  opacity: 0.95;
}

.mc-item-img {
  width: 24px;
  height: 24px;
  max-width: 24px;
  max-height: 24px;
  object-fit: contain;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  filter: drop-shadow(1px 1px 0 rgba(0, 0, 0, 0.45));
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* In-game–style item tooltip (§ colors from Survival sync tooltip_legacy JSON) */
.mc-inv-floating-tooltip {
  position: fixed;
  z-index: 10050;
  max-width: min(280px, calc(100vw - 16px));
  padding: 6px 8px;
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #fff;
  background: linear-gradient(180deg, #100010 0%, #0a000a 100%);
  border: 2px solid #500050;
  border-top-color: #a060a0;
  border-left-color: #a060a0;
  border-right-color: #280028;
  border-bottom-color: #280028;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.12),
    0 4px 14px rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

.mc-inv-floating-tooltip .mc-inv-tline {
  min-height: 0.95em;
}

.mc-inv-floating-tooltip .mc-inv-tline + .mc-inv-tline {
  margin-top: 1px;
}

.mc-slot-count {
  position: absolute;
  bottom: 2px;
  right: 3px;
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-size: 0.65rem;
  font-weight: 700;
  color: #fff;
  text-shadow:
    1px 1px 0 #000,
    -1px -1px 0 #3f3f3f;
  line-height: 1;
  pointer-events: none;
}

/* Clicks must hit the slot div, not the child image (fixes missed clicks) */
.mc-slot .mc-item-img {
  pointer-events: none;
}

.mc-slot-offhand {
  box-shadow:
    inset 2px 2px 0 rgba(255, 255, 255, 0.28),
    inset -2px -2px 0 rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(255, 255, 255, 0.08);
}

.inv-empty {
  color: var(--text-muted);
  font-style: italic;
}

.profile-foot {
  margin-top: 1.5rem;
}

.profile-foot a {
  color: var(--accent);
}

@media (max-width: 540px) {
  .profile-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ——— Management / admin ——— */
.admin-body .account-main.admin-main {
  max-width: 1200px;
}

.admin-hero {
  margin-bottom: 1rem;
}

.admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}

.admin-maintenance-bar {
  margin-bottom: 1.5rem;
  padding: 1rem 1.15rem 1.15rem;
  background: linear-gradient(160deg, #1a1a2e 0%, #12121c 100%);
  border: 2px solid #3d3d52;
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.admin-maintenance-form {
  margin: 0;
}

.admin-maintenance-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.25rem;
  justify-content: space-between;
}

.admin-maintenance-copy {
  flex: 1 1 14rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.admin-maintenance-title {
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #c4b5fd;
}

.admin-maintenance-desc {
  font-size: 0.8rem;
  color: #94a3b8;
  line-height: 1.45;
  max-width: 42rem;
}

.admin-maintenance-save {
  font-size: 0.8rem;
  padding: 0.4rem 0.9rem;
  flex-shrink: 0;
}

.admin-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  cursor: pointer;
  flex-shrink: 0;
  user-select: none;
}

.admin-switch-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.admin-switch-track {
  position: relative;
  width: 2.85rem;
  height: 1.5rem;
  border-radius: 999px;
  background: #2d2d44;
  border: 2px solid #4a4a62;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.admin-switch-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(1.5rem - 8px);
  height: calc(1.5rem - 8px);
  border-radius: 50%;
  background: #94a3b8;
  transition: transform 0.2s ease, background 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.admin-switch-input:focus-visible + .admin-switch-track {
  outline: 2px solid rgba(34, 197, 94, 0.55);
  outline-offset: 2px;
}

.admin-switch-input:checked + .admin-switch-track {
  background: linear-gradient(135deg, rgba(234, 179, 8, 0.35), rgba(249, 115, 22, 0.25));
  border-color: rgba(251, 191, 36, 0.55);
  box-shadow: 0 0 12px rgba(234, 88, 12, 0.25);
}

.admin-switch-input:checked + .admin-switch-track .admin-switch-thumb {
  transform: translateX(1.35rem);
  background: #fde68a;
}

.admin-switch-label {
  font-size: 0.85rem;
  font-weight: 700;
  color: #e2e8f0;
  min-width: 2rem;
}

.account-maintenance-card .account-maintenance-lead {
  font-size: 1.05rem;
  color: #cbd5e1;
  line-height: 1.5;
  margin: 0.5rem 0 0;
}

.account-maintenance-login-banner {
  margin: 0 0 1rem;
  padding: 0.65rem 0.85rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #fef3c7;
  background: rgba(234, 179, 8, 0.14);
  border: 1px solid rgba(234, 179, 8, 0.45);
  border-radius: 4px;
  text-align: center;
}

.admin-tile {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  transition: filter 0.15s ease;
}

.admin-tile:hover {
  filter: brightness(1.06);
}

.admin-tile-label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #94a3b8;
}

.admin-tile-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: #ffd54f;
  font-family: 'Silkscreen', ui-monospace, monospace;
}

.admin-tile-static {
  cursor: default;
}

.admin-panel-hint {
  margin-top: 0.5rem;
}

.admin-table-wrap {
  overflow: hidden;
}

.admin-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.admin-table th,
.admin-table td {
  padding: 0.5rem 0.65rem;
  text-align: left;
  border-bottom: 1px solid #3d3d52;
}

.admin-table th {
  color: #94a3b8;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.admin-table-row {
  cursor: pointer;
}

.admin-table-row:hover {
  background: rgba(34, 197, 94, 0.08);
}

/* Users admin list (#702): a bit more horizontal room after column changes */
.admin-users-table th,
.admin-users-table td {
  padding: 0.55rem 0.95rem;
}

.admin-users-sort-rail {
  margin: 0.5rem 0 0.5rem;
}

/* Shared frame + gold accent: sort summary (#702) + users table rail */
.admin-users-rail-frame {
  position: relative;
  display: flex;
  align-items: stretch;
  border-radius: 6px;
  background: linear-gradient(145deg, rgba(15, 23, 42, 0.95) 0%, rgba(30, 41, 59, 0.92) 48%, rgba(17, 24, 39, 0.98) 100%);
  border: 1px solid rgba(234, 179, 8, 0.35);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.45),
    0 4px 18px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  overflow: hidden;
}

.admin-users-rail-accent {
  width: 5px;
  flex-shrink: 0;
  background: linear-gradient(180deg, #fbbf24 0%, #d97706 38%, #92400e 100%);
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.25);
}

.admin-users-data-rail {
  min-width: 100%;
}

.admin-users-data-rail__frame.admin-users-rail-frame {
  min-width: 100%;
}

.admin-users-data-rail__body {
  flex: 1;
  min-width: 0;
  padding: 0.45rem 0.55rem 0.55rem 0.45rem;
}

.admin-users-data-rail .admin-users-table {
  width: 100%;
}

.admin-users-data-rail .admin-users-table thead th {
  border-bottom: 1px solid rgba(234, 179, 8, 0.32);
  color: #cbd5e1;
}

.admin-users-data-rail .admin-users-table tbody td {
  border-bottom-color: rgba(148, 163, 184, 0.14);
}

/* #702 — filters + sort inside one rail */
.admin-users-rail-toolbar-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.65rem;
  padding: 0.65rem 0.85rem 0.7rem 0.65rem;
  font-size: 0.82rem;
  line-height: 1.35;
  flex: 1;
  min-width: 0;
}

.admin-users-rail-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.55rem;
}

.admin-users-rail-filters-kicker {
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #94a3b8;
  flex: 0 0 auto;
}

.admin-users-rail-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.38rem 0.45rem;
  flex: 1 1 12rem;
  min-width: 0;
}

.admin-users-rail-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.78rem;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  color: #cbd5e1;
  background: rgba(2, 6, 23, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 1px 2px rgba(0, 0, 0, 0.35);
  transition:
    border-color 0.14s ease,
    color 0.14s ease,
    background 0.14s ease,
    box-shadow 0.14s ease;
}

.admin-users-rail-chip:hover {
  color: #fef3c7;
  border-color: rgba(251, 191, 36, 0.55);
  background: rgba(30, 41, 59, 0.75);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 0 0 1px rgba(251, 191, 36, 0.12);
}

.admin-users-rail-chip.is-active {
  color: #ecfdf5;
  border-color: rgba(34, 197, 94, 0.65);
  background: linear-gradient(165deg, rgba(34, 197, 94, 0.22) 0%, rgba(21, 128, 61, 0.14) 55%, rgba(15, 23, 42, 0.5) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 14px rgba(34, 197, 94, 0.18);
}

.admin-users-rail-toolbar-split {
  flex-shrink: 0;
  height: 1px;
  width: 100%;
  margin: 0;
  border: none;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(234, 179, 8, 0.15) 15%,
    rgba(234, 179, 8, 0.42) 50%,
    rgba(234, 179, 8, 0.15) 85%,
    transparent 100%
  );
}

.admin-users-rail-sort {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
  justify-content: flex-start;
}

@media (min-width: 1024px) {
  .admin-users-rail-toolbar-inner {
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    gap: 1rem 1.1rem;
  }

  .admin-users-rail-toolbar-split {
    width: 1px;
    height: auto;
    min-height: 2.85rem;
    align-self: stretch;
    background: linear-gradient(
      180deg,
      transparent 0%,
      rgba(234, 179, 8, 0.2) 12%,
      rgba(234, 179, 8, 0.45) 50%,
      rgba(234, 179, 8, 0.2) 88%,
      transparent 100%
    );
  }

  .admin-users-rail-filters {
    flex: 1 1 0;
    min-width: 0;
  }

  .admin-users-rail-sort {
    flex: 0 1 26rem;
    justify-content: flex-end;
  }
}

.admin-users-sort-rail__label {
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #94a3b8;
}

.admin-users-sort-rail__primary {
  font-weight: 700;
  color: #fef3c7;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.admin-users-sort-rail__sep {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 1px;
  background: #64748b;
  transform: rotate(45deg);
  align-self: center;
  opacity: 0.85;
}

.admin-users-sort-rail__secondary {
  color: #a5b4fc;
  font-size: 0.8rem;
}

.admin-users-table .admin-th-face,
.admin-users-table .admin-td-face {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.admin-users-table .admin-th-face.admin-th-sortable {
  min-width: 4.5rem;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.admin-th-sort-link--compact {
  font-size: 0.78rem;
}

.admin-users-table .admin-th-mc,
.admin-users-table .admin-td-mc {
  min-width: 9rem;
}

.admin-users-table .admin-th-in-game-rank,
.admin-users-table .admin-td-in-game-rank {
  min-width: 10rem;
}

.admin-users-table .admin-th-visits,
.admin-users-table .admin-td-visits {
  min-width: 5.25rem;
  text-align: center;
}

.admin-visits-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.admin-visits-empty {
  color: #64748b;
  font-size: 0.9rem;
}

.admin-badge-mc-sessions {
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 1.2;
  min-width: 1.25rem;
  text-align: center;
  padding: 0.22rem 0.45rem;
  border-radius: 4px;
  background: linear-gradient(160deg, #334155 0%, #1e293b 100%);
  color: #e2e8f0;
  border: 1px solid #64748b;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* New website signup (last 3 days): gold frame on visit count (#702) */
.admin-badge-mc-sessions--new-user {
  border: 1px solid rgba(251, 191, 36, 0.85);
  background: linear-gradient(165deg, rgba(30, 41, 59, 0.95) 0%, rgba(15, 23, 42, 0.98) 100%);
  color: #fef9c3;
  box-shadow:
    0 0 0 1px rgba(234, 179, 8, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.admin-visits-empty--new-user {
  display: inline-block;
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
  border: 1px dashed rgba(251, 191, 36, 0.45);
  color: #94a3b8;
}

.admin-users-table .admin-th-seen,
.admin-users-table .admin-td-seen {
  min-width: 9rem;
  white-space: nowrap;
}

.admin-users-bulk-form {
  margin-bottom: 0.75rem;
}

.admin-users-bulk-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  margin-bottom: 0.5rem;
}

.admin-users-bulk-actions {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.5rem;
}

.admin-users-bulk-actions.admin-users-bulk-actions-row {
  margin-left: 0;
  justify-content: flex-start;
}

/* [hidden] must win: base rule above sets display:flex and overrides the UA hidden attribute. */
.admin-users-bulk-actions[hidden] {
  display: none !important;
}

.admin-users-bulk-status {
  margin-top: 0.35rem;
  font-size: 0.85rem;
  color: #86efac;
}

.admin-users-bulk-status--err {
  color: #fca5a5;
}

.admin-users-bulk-hint {
  font-size: 0.8rem;
  flex: 1;
  min-width: 12rem;
}

.admin-th-sortable {
  white-space: nowrap;
}

.admin-th-sort-link {
  color: #cbd5e1;
  text-decoration: none;
}

.admin-th-sort-link:hover {
  color: #fde68a;
  text-decoration: underline;
}

.admin-th-select,
.admin-td-select {
  width: 2rem;
  text-align: center;
  vertical-align: middle;
}

.admin-user-select-all,
.admin-user-select-cb {
  width: 1.1rem;
  height: 1.1rem;
  cursor: pointer;
  accent-color: var(--accent, #22c55e);
}

.admin-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.admin-td-face {
  width: 48px;
  vertical-align: middle;
}

/* Users list avatar: inner ring = online (green) / offline (yellow); outer ring = new signup (last 3 days). */
.admin-face-stack {
  display: inline-block;
  position: relative;
  line-height: 0;
  vertical-align: middle;
}

.admin-face-stack--new::after {
  content: '';
  position: absolute;
  inset: -5px;
  border: 3px solid rgba(250, 204, 21, 0.95);
  border-radius: 9px;
  pointer-events: none;
  box-shadow: 0 0 0 1px rgba(180, 83, 9, 0.45);
}

.admin-face {
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  box-sizing: border-box;
  border: 2px solid #eab308;
  image-rendering: pixelated;
}

.admin-face--online {
  border-color: #22c55e;
}

.admin-badge {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
}

.admin-badge-on {
  background: rgba(34, 197, 94, 0.2);
  color: #bbf7d0;
}

.admin-badge-off {
  background: rgba(185, 28, 28, 0.25);
  color: #fecaca;
}

.admin-back {
  margin-bottom: 0.75rem;
}

.admin-back a {
  color: var(--accent);
}

/* Staff #703 — console dropdowns above profile hero (outside mc-panel) */
.admin-user-console-dd-strip {
  margin: 0 0 1rem;
  overflow: visible;
}

.admin-user-hero {
  margin-bottom: 1rem;
}

/* Staff #703 — profile tile matches management sidebar rail (gold accent + gradient inner) */
.admin-user-hero-rail.admin-users-rail-frame {
  align-items: stretch;
}

.admin-user-hero-rail-inner {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 1rem 1rem 1.15rem 0.9rem;
  border: none;
  border-radius: 0;
  background: linear-gradient(165deg, rgba(2, 6, 23, 0.35) 0%, rgba(15, 23, 42, 0.2) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  box-sizing: border-box;
}

/* Primary = Minecraft name, secondary = email — both use former “Minecraft” line size (~0.95rem) */
.admin-user-hero .profile-name.profile-name--admin-hero {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #f1f5f9;
  text-shadow: none;
  margin-bottom: 0.2rem;
}

.admin-user-hero .profile-sub.profile-sub--admin-email {
  font-size: 0.95rem;
  margin-top: 0;
  margin-bottom: 0.45rem;
  color: #94a3b8;
  word-break: break-word;
}

.admin-user-hero-rail-inner > .admin-user-hero-under-head {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(234, 179, 8, 0.18);
}

.profile-gamemode-line {
  margin-top: 0.15rem;
  margin-bottom: 0.2rem;
}

.admin-user-action-status.admin-user-cmdbar-status:not([hidden]) {
  margin: 0.35rem 0 0.85rem;
}

/* Staff #703 — Survival live + tiered snapshot chips below full profile head (avatar + welcome + position) */
.admin-user-hero-under-head {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.admin-user-hero-under-head .admin-user-hero-live {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.admin-user-hero-live {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.admin-user-hero-stats {
  margin-bottom: 0;
}

.admin-user-hero-under-head .admin-user-hero-live + .admin-user-hero-stats,
.admin-user-hero-live + .admin-user-hero-stats {
  margin-top: 0.65rem;
  padding-top: 0;
  border-top: none;
}

.admin-user-hero-stats-rows {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.admin-user-hero-stats-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.45rem 0.55rem;
}

.admin-user-hero-stats-row .mc-stat-chip {
  flex: 0 1 auto;
}

.admin-user-hero-stats-row .mc-stat-chip-labeled {
  min-width: 5.5rem;
}

/* Player profile (dashboard): staff-style strip under head uses border when nested in admin-user-hero-under-head only */
.profile-hero.mc-panel:not(.admin-user-hero) .profile-head + .admin-user-hero-under-head {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.admin-user-hero-live-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.45rem 0.55rem;
}

.admin-user-hero-live-chips .admin-user-hero-live-chip {
  flex: 0 1 auto;
  min-width: 5.25rem;
}

.admin-user-hero-live-perms {
  margin-top: 0.65rem;
}

.admin-user-hero-live-perms-label {
  display: block;
  margin: 0 0 0.4rem;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #94a3b8;
  font-weight: 600;
}

.admin-user-hero-live-perm-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.45rem;
}

.admin-user-hero-live-perm-item {
  margin: 0;
}

.admin-user-hero-live-pill {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.25rem 0.35rem;
  max-width: 100%;
  padding: 0.28rem 0.55rem 0.32rem;
  font-size: 0.78rem;
  line-height: 1.35;
  color: #e2e8f0;
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 999px;
}

.admin-user-hero-live-pill-name {
  font-weight: 600;
  color: #cbd5e1;
}

.admin-user-hero-live-pill-sep {
  color: #64748b;
  user-select: none;
}

.admin-user-hero-live-pill-exp {
  color: #94a3b8;
  font-size: 0.76rem;
}

.admin-user-hero-live-foot {
  margin: 0.65rem 0 0;
  font-size: 0.72rem;
  line-height: 1.45;
}

.admin-user-hero-stats-empty {
  margin: 0;
  font-size: 0.88rem;
}

/* Tiered hero stats use .admin-user-hero-stats-row (see above) */

/* Admin user #703 — server console toolbar (under profile hero) */
.admin-user-cmdbar {
  margin-bottom: 1rem;
  padding: 1rem 1.1rem 1.1rem;
  background: linear-gradient(160deg, #16162a 0%, #0f0f18 100%);
  border: 2px solid #3a3a55;
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  overflow: visible;
}

.admin-user-cmdbar-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 1rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.admin-user-cmdbar-head--status-only {
  margin-bottom: 0.35rem;
  padding-bottom: 0.4rem;
}

.admin-user-cmdbar-title {
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #c4b5fd;
}

.admin-user-cmdbar-hint {
  font-size: 0.72rem;
  color: #94a3b8;
}

.admin-user-cmdbar-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: flex-start;
  /* overflow-x:auto clips position:absolute dropdown panels — wrap instead of horizontal scroll */
  overflow: visible;
  padding-bottom: 0.25rem;
}

.admin-cmd-dd--account .admin-cmd-dd-summary {
  border-color: rgba(147, 197, 253, 0.35);
}

.admin-user-cmdbar-status-lead {
  margin: 0 0 0.4rem;
  color: #cbd5e1;
  font-size: 0.82rem;
}

.admin-user-cmdbar-status-link {
  display: inline-block;
  margin: 0;
  word-break: break-all;
  font-size: 0.78rem;
  color: #a5b4fc;
  text-decoration: underline;
}

.admin-cmd-dd {
  flex: 0 0 auto;
  position: relative;
}

.admin-cmd-dd-summary {
  cursor: pointer;
  list-style: none;
  padding: 0.42rem 0.85rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: #e2e8f0;
  background: linear-gradient(180deg, #2d2d44 0%, #232336 100%);
  border: 1px solid #4c4c68;
  border-radius: 4px;
  white-space: nowrap;
}

.admin-cmd-dd-summary::-webkit-details-marker {
  display: none;
}

.admin-cmd-dd-summary::after {
  content: '▾';
  margin-left: 0.35rem;
  font-size: 0.7rem;
  opacity: 0.75;
}

.admin-cmd-dd[open] > .admin-cmd-dd-summary {
  border-color: #7c6cf0;
  box-shadow: 0 0 0 1px rgba(124, 108, 240, 0.35);
}

.admin-cmd-dd-panel {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10050;
  min-width: 15.5rem;
  max-width: min(22rem, calc(100vw - 1rem));
  max-height: min(70vh, 28rem);
  overflow-y: auto;
  padding: 0.65rem 0.75rem;
  background: #14141f;
  border: 1px solid #4b4b65;
  border-radius: 4px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55);
  box-sizing: border-box;
}

.admin-cmd-plugin-block + .admin-cmd-plugin-block {
  margin-top: 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.admin-cmd-plugin-title {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #a5b4fc;
  margin-bottom: 0.4rem;
}

.admin-cmd-plugin-actions {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.admin-cmd-action {
  text-align: left;
  padding: 0.38rem 0.55rem;
  font-size: 0.82rem;
  color: #f1f5f9;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
}

.admin-cmd-action:hover:not(:disabled) {
  background: rgba(124, 108, 240, 0.2);
  border-color: rgba(124, 108, 240, 0.45);
}

.admin-cmd-action.is-disabled,
.admin-cmd-action:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.admin-user-cmdbar-status {
  margin-top: 0;
  font-size: 0.85rem;
  color: #86efac;
}

.admin-user-cmdbar-status--err {
  color: #fca5a5;
}

/* Closed by default. Do not use display:flex on the base rule — it overrides HTML [hidden] and traps the page. */
.admin-cmd-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(0, 0, 0, 0.65);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.admin-cmd-modal-overlay.admin-cmd-modal-overlay--open {
  display: flex;
}

.admin-cmd-modal {
  position: relative;
  width: 100%;
  max-width: 26rem;
  background: linear-gradient(165deg, #1e1e2e 0%, #15151f 100%);
  border: 2px solid #4c4c68;
  border-radius: 6px;
  padding: 1.25rem 1.35rem 1rem;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
}

.admin-cmd-modal-close {
  position: absolute;
  top: 0.5rem;
  right: 0.55rem;
  border: none;
  background: transparent;
  color: #94a3b8;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}

.admin-cmd-modal-title {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  color: #f8fafc;
}

.admin-cmd-modal-body {
  font-size: 0.9rem;
  color: #cbd5e1;
  margin-bottom: 1rem;
}

.admin-cmd-modal-lead {
  margin-top: 0;
  margin-bottom: 0.75rem;
  color: #94a3b8;
  font-size: 0.85rem;
}

/* Days + “no expiry” switch (staff user console modals — see .cursor/rules/admin-days-dialog-pattern.mdc) */
.admin-cmd-days-block {
  display: block;
  margin-bottom: 0.65rem;
}

.admin-cmd-days-block-label {
  display: block;
  font-size: 0.85rem;
  color: #e2e8f0;
  margin-bottom: 0.35rem;
}

.admin-cmd-days-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
}

.admin-cmd-modal-body .admin-cmd-days-input {
  width: 4ch;
  min-width: 4ch;
  max-width: 5rem;
  box-sizing: content-box;
  padding-left: 0.45rem;
  padding-right: 0.45rem;
}

.admin-cmd-days-input--locked,
.admin-cmd-modal-body .admin-cmd-days-input:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  background: rgba(15, 23, 42, 0.85);
  color: #94a3b8;
}

.admin-cmd-days-hint {
  margin: 0.4rem 0 0;
  font-size: 0.8rem;
  line-height: 1.4;
}

.admin-cmd-switch-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  user-select: none;
  font-size: 0.82rem;
  color: #cbd5e1;
  position: relative;
}

.admin-cmd-permanent-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.admin-cmd-switch-track {
  width: 2.35rem;
  height: 1.22rem;
  border-radius: 999px;
  background: #475569;
  position: relative;
  flex-shrink: 0;
  transition: background 0.15s ease;
}

.admin-cmd-switch-track::after {
  content: '';
  position: absolute;
  width: 0.92rem;
  height: 0.92rem;
  border-radius: 50%;
  background: #f8fafc;
  top: 0.15rem;
  left: 0.15rem;
  transition: transform 0.15s ease;
}

.admin-cmd-permanent-input:focus-visible + .admin-cmd-switch-track {
  outline: 2px solid var(--accent, #a78bfa);
  outline-offset: 2px;
}

.admin-cmd-switch-label:has(.admin-cmd-permanent-input:checked) .admin-cmd-switch-track {
  background: #16a34a;
}

.admin-cmd-switch-label:has(.admin-cmd-permanent-input:checked) .admin-cmd-switch-track::after {
  transform: translateX(1.08rem);
}

.admin-cmd-switch-text {
  font-weight: 600;
}

.admin-cmd-field {
  display: block;
  margin-bottom: 0.65rem;
  font-size: 0.85rem;
  color: #e2e8f0;
}

.admin-cmd-modal-body fieldset.admin-cmd-field {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  padding: 0.5rem 0.65rem 0.65rem;
}

.admin-cmd-modal-body fieldset.admin-cmd-field legend {
  padding: 0 0.35rem;
  font-size: 0.78rem;
  color: #94a3b8;
}

.admin-cmd-modal-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.admin-user-section {
  margin-bottom: 1.25rem;
}

.admin-user-section--role .inv-hint {
  max-width: 52rem;
}

.admin-user-section--role .admin-role-form--update {
  display: block;
  margin-top: 0.5rem;
  margin-left: 0;
  margin-right: auto;
  max-width: none;
  width: 100%;
}

.admin-role-update-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.65rem;
  align-items: flex-end;
  justify-content: flex-start;
}

.admin-role-update-label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  color: var(--text-muted);
  font-size: 0.9rem;
  margin: 0;
}

.admin-role-update-label-text {
  font-weight: 600;
}

/* Size to longest option text; cap so it does not stretch like a full-width field */
.admin-select--role-inline {
  width: max-content;
  max-width: min(100%, 13rem);
  min-width: 0;
  box-sizing: border-box;
}

.btn-mc-admin-role-update {
  padding: 0.45rem 1rem;
  font-size: 0.95rem;
  line-height: 1.35;
  font-weight: 700;
  flex-shrink: 0;
}

.admin-users-import-form {
  margin: 0;
}

.admin-badge-muted {
  background: rgba(148, 163, 184, 0.2);
  border: 1px solid #64748b;
  color: #cbd5e1;
  font-size: 0.7rem;
  vertical-align: middle;
}

.admin-th-actions {
  width: 5.5rem;
}

.admin-td-actions {
  vertical-align: middle;
  text-align: right;
}

.admin-user-row-delete {
  margin: 0;
  display: inline;
}

.admin-code-tiny {
  font-size: 0.75rem;
  word-break: break-all;
  color: #94a3b8;
}

.admin-muted {
  color: #64748b;
  font-size: 0.85rem;
}

.admin-user-field-label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  color: var(--text-muted);
  font-size: 0.9rem;
}

.admin-select--wide {
  min-width: 14rem;
  width: 100%;
}

.admin-user-tool-list {
  margin: 0.35rem 0 0;
  padding-left: 1.2rem;
  line-height: 1.65;
  color: var(--text-muted);
}

.admin-user-tool-list a {
  color: var(--accent);
}

.admin-user-footnote {
  margin-top: 0.75rem;
  margin-bottom: 0;
}

.admin-actions {
  margin-bottom: 1.25rem;
}

.admin-action-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: flex-end;
  margin-bottom: 0.75rem;
}

.admin-inline-form {
  display: inline;
}

.admin-ban-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: flex-end;
  width: 100%;
}

.admin-ban-label {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  color: var(--text-muted);
  font-size: 0.9rem;
}

.admin-ban-input {
  background: #0d0d14;
  border: 2px solid #4a4a62;
  border-radius: 4px;
  color: var(--text);
  padding: 0.45rem 0.6rem;
  min-width: 12rem;
}

.admin-role-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: flex-end;
}

.admin-select {
  background: #0d0d14;
  border: 2px solid #4a4a62;
  border-radius: 4px;
  color: var(--text);
  padding: 0.45rem 0.6rem;
}

.admin-presence {
  margin-bottom: 1.25rem;
}

.admin-location-line {
  font-size: 1rem;
  color: var(--text);
  margin: 0.5rem 0 0 0;
}

.admin-reset-link a {
  word-break: break-all;
  color: #86efac;
}

.btn-mc-danger {
  background: linear-gradient(180deg, #b91c1c 0%, #7f1d1d 100%);
  border-color: #450a0a;
}

.btn-mc-secondary {
  background: linear-gradient(180deg, #52525b 0%, #3f3f46 100%);
  border-color: #27272a;
}

.admin-log-filter {
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 0.75rem;
  align-items: end;
}

.admin-log-filter select {
  background: #0d0d14;
  border: 2px solid #4a4a62;
  color: var(--text);
  padding: 0.4rem 0.6rem;
  border-radius: 4px;
}

.admin-log-filter input[type='search'] {
  background: #0d0d14;
  border: 2px solid #4a4a62;
  color: var(--text);
  padding: 0.4rem 0.6rem;
  border-radius: 4px;
  min-width: 16rem;
}

.admin-log-filter label {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  font-size: 0.8rem;
  color: #cbd5e1;
}

.admin-table-compact td {
  font-size: 0.82rem;
}

.admin-meta code {
  font-size: 0.7rem;
  word-break: break-all;
  color: #cbd5e1;
}

.admin-log-level {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.6rem;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.admin-log-level--error {
  border-color: rgba(239, 68, 68, 0.65);
  color: #fecaca;
  background: rgba(127, 29, 29, 0.45);
}

.admin-log-level--warning {
  border-color: rgba(245, 158, 11, 0.65);
  color: #fde68a;
  background: rgba(120, 53, 15, 0.45);
}

.admin-log-level--success {
  border-color: rgba(34, 197, 94, 0.65);
  color: #bbf7d0;
  background: rgba(20, 83, 45, 0.45);
}

.admin-log-level--info {
  border-color: rgba(56, 189, 248, 0.55);
  color: #bae6fd;
  background: rgba(12, 74, 110, 0.42);
}

.player-messages-table .player-message-text {
  min-width: 20rem;
  max-width: 40rem;
  white-space: normal;
}

.player-message-attachments {
  list-style: none;
  margin: 0;
  padding: 0;
}

.player-message-attachments li {
  margin: 0 0 0.2rem 0;
  white-space: nowrap;
}

.admin-role-create {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 28rem;
}

.admin-role-create input[type='text'] {
  background: #0d0d14;
  border: 2px solid #4a4a62;
  border-radius: 4px;
  color: var(--text);
  padding: 0.5rem 0.65rem;
}

.admin-checks {
  border: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.admin-checks label {
  color: var(--text-muted);
  font-size: 0.9rem;
}

/* Admin layout: sidebar + content */
.admin-layout {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1rem 3rem;
  gap: 0;
  box-sizing: border-box;
}

/*
 * Sticky sidebars: .site-header is position:sticky; top:0; z-index:100 (styles.css).
 * Without a large enough `top`, the sidebar sticks to the viewport and slides under the header.
 * --account-site-header-offset ≈ logo (80px) + .nav-inner vertical padding (~1.5rem).
 */
.admin-sidebar {
  flex: 0 0 14.5rem;
  position: sticky;
  top: calc(0.75rem + var(--account-site-header-offset, 6.5rem));
  z-index: 40;
  align-self: flex-start;
  padding: 1rem 0 2rem;
}

.admin-sidebar-inner {
  background: linear-gradient(145deg, #16162a 0%, #0f0f18 100%);
  border: 2px solid #3d3d52;
  border-radius: 4px;
  padding: 1rem 0.85rem 1.1rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

/* Management sidebar: match Users page rail (gold accent + gradient frame) */
.admin-sidebar .admin-sidebar-rail {
  width: 100%;
}

.admin-sidebar .admin-sidebar-rail.admin-users-rail-frame {
  align-items: stretch;
}

.admin-sidebar--disk-alert .admin-sidebar-rail.admin-users-rail-frame {
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.65), 0 0 24px rgba(239, 68, 68, 0.2);
  border-radius: 8px;
}

.admin-sidebar .admin-sidebar-rail .admin-sidebar-inner {
  flex: 1;
  min-width: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: linear-gradient(165deg, rgba(2, 6, 23, 0.35) 0%, rgba(15, 23, 42, 0.2) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  padding: 1rem 0.8rem 1.15rem 0.55rem;
}

/* User detail: inventory queue at bottom of management sidebar (below Log out) */
.admin-inv-queue-sidebar {
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(61, 61, 82, 0.65);
  width: 100%;
  box-sizing: border-box;
}

.admin-inv-queue-panel {
  width: 100%;
  max-width: 100%;
  border-radius: 6px;
  box-sizing: border-box;
}

.admin-inv-queue-panel--idle {
  min-height: 5.25rem;
  padding: 0.5rem 0.45rem;
  border: 2px dashed rgba(100, 116, 139, 0.45);
  background: rgba(15, 23, 42, 0.35);
}

.admin-inv-queue-panel--filled {
  padding: 0.55rem 0.5rem 0.65rem;
  border: 1px solid rgba(110, 168, 254, 0.4);
  background: rgba(12, 18, 32, 0.92);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.admin-inv-queue-panel-head {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  margin: 0 0 0.45rem 0;
  padding: 0 0.15rem;
}

.admin-inv-queue-total {
  font-size: 1.05rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #93c5fd;
  line-height: 1;
}

.admin-inv-queue-total-label {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(148, 163, 184, 0.85);
}

.admin-inv-queue-panel-scroll {
  max-height: min(50vh, 22rem);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 -0.15rem;
  padding: 0 0.15rem;
  scrollbar-gutter: stable;
}

.admin-inv-queue-panel-body {
  min-height: 0;
}

.admin-inv-queue-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4.25rem;
  padding: 0.25rem;
  box-sizing: border-box;
}

.admin-inv-queue-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.65);
  text-align: center;
  line-height: 1.3;
}

.admin-sidebar-kicker {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #64748b;
  margin: 0 0 0.75rem 0;
  padding: 0 0.35rem;
}

.admin-sidebar-group {
  margin-bottom: 1.1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(61, 61, 82, 0.6);
}

.admin-sidebar-group:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.admin-sidebar-group-foot {
  padding-top: 0.25rem;
}

.admin-sidebar-heading {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #94a3b8;
  margin: 0 0 0.4rem 0;
  padding: 0 0.35rem;
}

.admin-sidebar-link {
  display: block;
  padding: 0.4rem 0.5rem;
  margin: 0.1rem 0;
  border-radius: 4px;
  color: #e2e8f0;
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 600;
  border-left: 3px solid transparent;
}

.admin-sidebar-link:hover {
  background: rgba(34, 197, 94, 0.1);
  color: #fff;
}

.admin-sidebar-link.is-active {
  background: rgba(34, 197, 94, 0.15);
  border-left-color: var(--accent);
  color: #bbf7d0;
}

.admin-role-flag-btn.is-busy {
  opacity: 0.65;
  cursor: wait;
}

.admin-sidebar-mode-form {
  margin: 0;
}

button.admin-sidebar-link.admin-sidebar-link--as-button {
  font-family: inherit;
  cursor: pointer;
}

.account-ui-mode-form {
  display: inline;
  margin: 0;
  padding: 0;
}

button.account-ui-mode-link {
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}

button.account-ui-mode-link:hover {
  color: #fbbf24;
}

.admin-body .nav-links .nav-links-mode-item {
  display: flex;
  align-items: center;
}

.account-error.account-error--soft {
  background: rgba(251, 191, 36, 0.08);
  border: 1px solid rgba(251, 191, 36, 0.35);
  color: #fcd34d;
}

.admin-sidebar-subnav {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin: 0.35rem 0 0.5rem 0;
  padding-left: 0.35rem;
  border-left: 2px solid rgba(61, 61, 82, 0.8);
}

.admin-sidebar-subnav--rewards {
  margin-top: 0.15rem;
  margin-bottom: 0.35rem;
  gap: 0.25rem;
}

.admin-sidebar-subnav--rewards .admin-sidebar-link {
  font-size: 0.88rem;
  font-weight: 600;
  margin: 0;
}

.admin-sidebar-sublink {
  font-size: 0.8rem;
  color: #94a3b8;
  text-decoration: none;
  padding: 0.2rem 0.35rem;
  border-radius: 3px;
}

.admin-sidebar-sublink:hover {
  color: #e2e8f0;
  background: rgba(255, 255, 255, 0.04);
}

.admin-sidebar-note {
  font-size: 0.75rem;
  line-height: 1.45;
  color: #64748b;
  margin: 0.35rem 0 0 0;
  padding: 0 0.35rem;
}

/* User detail: pending Survival sync web → Survival inventory queue */
.admin-sidebar-pending-inv-group {
  border-bottom: 1px solid rgba(61, 61, 82, 0.6);
  margin-bottom: 1.1rem;
  padding-bottom: 0.85rem;
}

.admin-sidebar-pending-inv-note {
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
}

.admin-sidebar-pending-inv-list {
  list-style: none;
  margin: 0;
  padding: 0 0.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.admin-sidebar-pending-inv-item {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  flex-shrink: 0;
  padding: 0.45rem 0.4rem;
  border-radius: 4px;
  background: rgba(234, 179, 8, 0.08);
  border: 1px solid rgba(234, 179, 8, 0.28);
  font-size: 0.78rem;
  line-height: 1.35;
  color: #e2e8f0;
}

.admin-sidebar-pending-inv-id {
  font-weight: 700;
  color: #fde047;
  font-size: 0.72rem;
}

.admin-sidebar-pending-inv-line {
  font-weight: 600;
  color: #f1f5f9;
}

.admin-sidebar-pending-inv-time {
  font-size: 0.7rem;
  color: #94a3b8;
}

/* Exclusive accordion: <details name="survival-plugins"> — one open at a time in supporting browsers */
.admin-sidebar-disclosure {
  border: 1px solid rgba(61, 61, 82, 0.55);
  border-radius: 4px;
  margin: 0.24rem 0;
  background: rgba(0, 0, 0, 0.15);
}

.admin-sidebar-disclosure-summary {
  list-style: none;
  cursor: pointer;
  padding: 0.36rem 0.46rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: #e2e8f0;
  user-select: none;
}

.admin-sidebar-disclosure-summary::-webkit-details-marker {
  display: none;
}

.admin-sidebar-disclosure-summary.admin-sidebar-disclosure-summary--with-icon {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: nowrap;
}

.admin-sidebar-disclosure-summary--with-icon .player-sidebar-disclosure-summary__text {
  flex: 1;
  min-width: 0;
}

.admin-sidebar-link.player-sidebar-link--icon,
button.admin-sidebar-link.player-sidebar-link--icon {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.player-sidebar-link__icon {
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.9;
  color: #a5b4fc;
}

.admin-sidebar-link.is-active .player-sidebar-link__icon,
.admin-sidebar-link:hover .player-sidebar-link__icon {
  color: inherit;
  opacity: 1;
}

.player-sidebar-link__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.player-sidebar-link__text {
  flex: 1;
  min-width: 0;
}

.admin-inv-queue-label--with-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.admin-inv-queue-label--with-icon .player-sidebar-link__icon {
  width: 0.95rem;
  height: 0.95rem;
  color: #94a3b8;
}

.admin-inv-queue-label__text {
  flex: 1;
  min-width: 0;
}

.admin-sidebar-disclosure-summary::before {
  content: '';
  display: inline-block;
  width: 0.35em;
  margin-right: 0.45em;
  border: solid #94a3b8;
  border-width: 0 2px 2px 0;
  padding: 0.2em;
  transform: rotate(-45deg);
  vertical-align: middle;
  transition: transform 0.15s ease;
}

.admin-sidebar-disclosure[open] .admin-sidebar-disclosure-summary::before {
  transform: rotate(45deg);
  margin-top: -0.1em;
}

.admin-sidebar-disclosure-body {
  padding: 0 0.3rem 0.45rem 0.3rem;
}

.admin-sidebar-disclosure-body .admin-sidebar-link {
  margin-left: 0;
}

.admin-cp-opt {
  font-weight: 400;
  color: #64748b;
  font-size: 0.85em;
}

.admin-bank-ref-table-wrap {
  overflow-x: auto;
  margin-top: 0.5rem;
}

.admin-bank-ref-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
  color: #cbd5e1;
}

.admin-bank-ref-table th,
.admin-bank-ref-table td {
  border: 1px solid rgba(61, 61, 82, 0.7);
  padding: 0.4rem 0.5rem;
  text-align: left;
  vertical-align: top;
}

.admin-bank-ref-table th {
  background: rgba(34, 197, 94, 0.08);
  color: #e2e8f0;
  font-weight: 600;
}

.admin-bank-ref-table code {
  font-size: 0.88em;
  color: #86efac;
}

/* BankPlus admin: collapsible command reference (collapsed by default) */
.admin-bank-ref-details {
  border: 1px solid rgba(61, 61, 82, 0.55);
  border-radius: 4px;
  padding: 0.5rem 0.65rem 0.75rem;
  background: rgba(0, 0, 0, 0.12);
}

.admin-bank-ref-summary {
  list-style: none;
  cursor: pointer;
  padding: 0.35rem 0.25rem;
  user-select: none;
}

.admin-bank-ref-summary::-webkit-details-marker {
  display: none;
}

.admin-bank-ref-summary::before {
  content: '';
  display: inline-block;
  width: 0.35em;
  margin-right: 0.5em;
  border: solid #94a3b8;
  border-width: 0 2px 2px 0;
  padding: 0.2em;
  transform: rotate(-45deg);
  vertical-align: middle;
  transition: transform 0.15s ease;
}

.admin-bank-ref-details[open] .admin-bank-ref-summary::before {
  transform: rotate(45deg);
  margin-top: -0.08em;
}

.admin-bank-ref-summary-title {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  color: #ffd54f;
  text-shadow: 1px 1px 0 #3e2723;
  letter-spacing: 0.02em;
}

.admin-bank-ref-summary-hint {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #64748b;
  margin-top: 0.2rem;
  padding-left: 1.15rem;
}

.admin-bank-ref-lead {
  margin: 0.75rem 0 0.5rem 0;
}

.admin-bank-ref-foot {
  margin-top: 0.75rem;
  margin-bottom: 0;
}

.admin-lp-group-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
}

.admin-role-lp-cell {
  vertical-align: middle;
  min-width: 12rem;
}

.admin-lp-group-input {
  max-width: 11rem;
  flex: 1 1 7rem;
}

.admin-content {
  flex: 1;
  min-width: 0;
}

.admin-body .admin-content .account-main.admin-main {
  max-width: none;
  margin: 0;
  padding: 1.5rem 0 3rem 1.25rem;
}

/* Users list (#702): align filter/sort rail top with sidebar rail; title is visually hidden */
.admin-body--users-list .admin-content .account-main.admin-main {
  padding-top: 1rem;
}

/* Flash banners: default .account-success has margin-top: 1rem — would drop the Show rail below the sidebar */
.admin-body--users-list .mc-panel > .account-success {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.admin-body--users-list .admin-users-sort-rail {
  margin-top: 0;
}

.admin-body--users-list .admin-users-search-rail {
  margin: 0.35rem 0 0.55rem;
}

.admin-body--users-list .admin-users-search-rail__body {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  flex: 1;
  min-width: 0;
  padding: 0.58rem 0.85rem 0.66rem 0.65rem;
}

.admin-body--users-list .admin-users-search-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
}

.admin-body--users-list .admin-users-search-control-shell {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: min(100%, 41rem);
  padding: 0.35rem 0.42rem 0.35rem 0.48rem;
  border-radius: 9px;
  border: 1px solid rgba(234, 179, 8, 0.34);
  background:
    linear-gradient(155deg, rgba(22, 32, 57, 0.92) 0%, rgba(11, 18, 36, 0.95) 56%, rgba(6, 10, 24, 0.98) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 0 0 1px rgba(15, 23, 42, 0.45),
    0 8px 20px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}

.admin-body--users-list .admin-users-search-control-shell::before {
  content: "";
  position: absolute;
  left: -18%;
  top: -75%;
  width: 44%;
  height: 230%;
  background: radial-gradient(circle at center, rgba(56, 189, 248, 0.21) 0%, rgba(56, 189, 248, 0) 72%);
  pointer-events: none;
}

.admin-body--users-list .admin-users-search-control-shell::after {
  content: "";
  position: absolute;
  right: -14%;
  top: -62%;
  width: 36%;
  height: 210%;
  background: radial-gradient(circle at center, rgba(251, 191, 36, 0.2) 0%, rgba(251, 191, 36, 0) 70%);
  pointer-events: none;
}

.admin-body--users-list .admin-users-search-glyph {
  position: relative;
  display: inline-flex;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 999px;
  border: 1px solid rgba(56, 189, 248, 0.45);
  background: linear-gradient(180deg, rgba(8, 20, 45, 0.95) 0%, rgba(6, 10, 24, 0.92) 100%);
  box-shadow:
    0 0 0 1px rgba(2, 6, 23, 0.6),
    0 0 11px rgba(56, 189, 248, 0.28);
  flex: 0 0 auto;
}

.admin-body--users-list .admin-users-search-glyph::before {
  content: "";
  position: absolute;
  left: 0.3rem;
  top: 0.26rem;
  width: 0.34rem;
  height: 0.34rem;
  border: 2px solid rgba(147, 197, 253, 0.95);
  border-radius: 999px;
}

.admin-body--users-list .admin-users-search-glyph::after {
  content: "";
  position: absolute;
  left: 0.7rem;
  top: 0.72rem;
  width: 0.3rem;
  height: 2px;
  background: rgba(147, 197, 253, 0.95);
  transform: rotate(42deg);
  transform-origin: left center;
  border-radius: 1px;
}

.admin-body--users-list .admin-users-search-field {
  margin: 0;
  position: relative;
  z-index: 1;
}

.admin-body--users-list .admin-users-search-field > span {
  color: #cbd5e1;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.admin-body--users-list .admin-users-search-input.cp-claims-toolbar-search {
  min-width: 14rem !important;
  max-width: 28rem;
  border-color: rgba(148, 163, 184, 0.36);
  background: rgba(2, 6, 23, 0.72);
}

.admin-body--users-list .admin-users-search-clear {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-width: 5.8rem;
  padding: 0.37rem 0.72rem;
  font-size: 0.74rem;
  line-height: 1.2;
  border-color: rgba(251, 191, 36, 0.45);
  background: linear-gradient(180deg, rgba(43, 51, 74, 0.95) 0%, rgba(21, 28, 46, 0.96) 100%);
  color: #f8fafc;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px rgba(2, 6, 23, 0.45),
    0 0 13px rgba(251, 191, 36, 0.18);
}

.admin-body--users-list .admin-users-search-clear:hover {
  border-color: rgba(251, 191, 36, 0.62);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 0 1px rgba(2, 6, 23, 0.5),
    0 0 18px rgba(251, 191, 36, 0.28);
}

.admin-body--users-list .admin-users-search-clear-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  border: 1px solid rgba(251, 191, 36, 0.56);
  background: rgba(15, 23, 42, 0.78);
  color: #fde68a;
  font-size: 0.66rem;
  line-height: 1;
  font-weight: 700;
}

.admin-body--users-list .admin-users-search-spark {
  position: relative;
  width: 0.78rem;
  height: 0.78rem;
  border-radius: 1px;
  transform: rotate(45deg);
  background: linear-gradient(180deg, rgba(251, 191, 36, 0.9) 0%, rgba(56, 189, 248, 0.92) 100%);
  box-shadow:
    0 0 9px rgba(56, 189, 248, 0.45),
    0 0 14px rgba(251, 191, 36, 0.32);
  opacity: 0.85;
  flex: 0 0 auto;
  z-index: 1;
}

.admin-body--users-list .admin-users-search-quick-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.42rem 0.6rem;
}

.admin-body--users-list .admin-users-search-quick-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.38rem 0.45rem;
}

.admin-body--users-list .admin-users-search-chip {
  font-family: inherit;
  cursor: pointer;
  line-height: 1.2;
}

.admin-body--users-list .admin-users-search-chip:focus-visible {
  outline: 2px solid rgba(251, 191, 36, 0.58);
  outline-offset: 2px;
}

.admin-body--users-list .admin-users-search-empty-tile {
  margin: 0 0 0.55rem;
  padding: 0.64rem 0.82rem;
  border-radius: 6px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.35) 0%, rgba(15, 23, 42, 0.65) 100%);
  color: #cbd5e1;
  font-size: 0.83rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

@media (max-width: 760px) {
  .admin-body--users-list .admin-users-search-input.cp-claims-toolbar-search {
    max-width: none;
    width: 100%;
  }
}

.admin-body--users-list .admin-users-bulk-form {
  margin-bottom: 0;
}

.admin-body--users-list .admin-users-bulk-bar {
  margin-bottom: 0;
}

/*
 * Bulk actions sit between the Show/sort rail and the user table (#702).
 * Spacer column lines the toolbar up with the “Online” column (past the checkbox column).
 */
.admin-body--users-list .admin-users-bulk-strip {
  display: grid;
  grid-template-columns: minmax(3.25rem, 4.25rem) minmax(0, 1fr);
  align-items: center;
  gap: 0 0.35rem;
  padding: 0.55rem 0.65rem 0.6rem;
  margin: 0.4rem 0 0.5rem;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.55) 0%, rgba(8, 10, 20, 0.96) 100%);
  border: 1px solid rgba(234, 179, 8, 0.22);
  border-radius: 6px;
  box-sizing: border-box;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 4px 14px rgba(0, 0, 0, 0.35);
}

.admin-body--users-list .admin-users-bulk-strip[hidden] {
  display: none !important;
}

.admin-body--users-list .admin-users-bulk-strip-spacer {
  pointer-events: none;
}

/* Named region: “bulk moderation bar” — id admin-users-bulk-moderation-bar, data-admin-region="bulk-moderation-bar" */
.admin-body--users-list .admin-users-bulk-strip-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
  min-width: 0;
  flex: 1 1 auto;
}

.admin-body--users-list .admin-users-bulk-strip-inner > .admin-users-bulk-status {
  flex: 1 0 100%;
  margin: 0.15rem 0 0;
  padding: 0;
  font-size: 0.82rem;
  line-height: 1.35;
}

/* Bulk toolbar: pill buttons aligned with .admin-users-rail-chip (gold rim, dark gradients) */
.admin-body--users-list .admin-users-bulk-actions.admin-users-bulk-actions-row {
  gap: 0.45rem 0.65rem;
}

.admin-body--users-list .admin-users-bulk-btn {
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.42rem 1rem;
  min-height: 2.2rem;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  cursor: pointer;
  border: 1px solid transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 1px 3px rgba(0, 0, 0, 0.4);
  transition:
    border-color 0.14s ease,
    background 0.14s ease,
    color 0.14s ease,
    box-shadow 0.14s ease,
    transform 0.1s ease;
  white-space: nowrap;
}

.admin-body--users-list .admin-users-bulk-btn:focus-visible {
  outline: 2px solid rgba(251, 191, 36, 0.65);
  outline-offset: 2px;
}

.admin-body--users-list .admin-users-bulk-btn--action {
  color: #cbd5e1;
  background: linear-gradient(165deg, rgba(15, 23, 42, 0.92) 0%, rgba(30, 41, 59, 0.72) 100%);
  border-color: rgba(148, 163, 184, 0.32);
}

.admin-body--users-list .admin-users-bulk-btn--action:hover {
  color: #fef3c7;
  border-color: rgba(251, 191, 36, 0.55);
  background: rgba(30, 41, 59, 0.88);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    0 0 0 1px rgba(251, 191, 36, 0.14);
}

.admin-body--users-list .admin-users-bulk-btn--action:active {
  transform: translateY(1px);
}

.admin-body--users-list .admin-users-bulk-btn--risk {
  color: #fecaca;
  background: linear-gradient(165deg, rgba(127, 29, 29, 0.58) 0%, rgba(69, 10, 10, 0.88) 100%);
  border-color: rgba(248, 113, 113, 0.42);
}

.admin-body--users-list .admin-users-bulk-btn--risk:hover {
  color: #fff7ed;
  border-color: rgba(251, 191, 36, 0.55);
  background: linear-gradient(165deg, rgba(153, 27, 27, 0.78) 0%, rgba(69, 10, 10, 0.94) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 18px rgba(220, 38, 38, 0.22);
}

.admin-body--users-list .admin-users-bulk-btn--risk:active {
  transform: translateY(1px);
}

/*
 * Outer gold frames: same column padding (1rem) + no bulk/form gap before the sort rail.
 * Inner rhythm: toolbar top padding matches .admin-sidebar .admin-sidebar-inner (1rem) so
 * “Show” / chips line up with “Management” / first links in the left rail.
 */
.admin-body--users-list .admin-users-rail-toolbar-inner {
  padding-top: 1rem;
}

.admin-user-cp-link a {
  color: var(--accent);
  font-weight: 600;
}

.admin-cp-status {
  margin-bottom: 1rem;
}

.admin-cp-line {
  margin: 0.35rem 0 0 0;
  color: var(--text);
}

.admin-cp-sample {
  margin: 0.65rem 0 0 0;
  font-size: 0.9rem;
  color: #cbd5e1;
}

.admin-cp-block {
  margin-bottom: 1.25rem;
}

.admin-cp-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: flex-end;
  margin-top: 0.75rem;
}

.admin-cp-label {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  color: var(--text-muted);
  font-size: 0.88rem;
  font-weight: 600;
}

/* Collapsible sidebar menu at the same breakpoint as stacked .admin-layout */
.admin-sidebar-mnav-toggle {
  display: none;
}

/* Stacked public header: .nav-inner stretches <nav> to logo height — shrink-wrap the link row for anchor math */
@media (max-width: 768px) {
  .account-body .site-header .nav-inner > nav {
    align-self: flex-start;
    width: 100%;
  }
}

@media (min-width: 901px) {
  .admin-sidebar-mnav-panel {
    display: block;
  }
}

@media (max-width: 900px) {
  .admin-layout {
    flex-direction: column;
    /* Sidebar strip is full-bleed under the header; gutters live on .admin-content */
    padding: 0 0 2rem;
    /* Reserve space — strip is position:fixed and no longer occupies flex flow */
    --hb-mnav-strip: 3.55rem;
    /* Distance from viewport top to bottom of primary header row (see @media 768 override) */
    --hb-header-anchor: var(--account-site-header-offset, 6.5rem);
    padding-top: var(--hb-mnav-strip);
  }

  .admin-layout > .admin-content {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    box-sizing: border-box;
  }

  /* Fixed bar directly under .site-header (z-index 100); sits above page content */
  .admin-sidebar[data-hb-account-sidebar] {
    flex: none;
    width: 100%;
    position: fixed;
    left: 0;
    right: 0;
    top: var(--hb-header-anchor);
    /* Above .site-header (100) so the bar is not painted under the logo row */
    z-index: 101;
    margin: 0;
    padding: 0.4rem 0.75rem 0.45rem;
    box-sizing: border-box;
    min-height: var(--hb-mnav-strip);
    background: rgba(15, 15, 23, 0.98);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
    overflow: visible;
  }

  .admin-sidebar-mnav-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    min-height: 2.35rem;
    text-align: left;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.72rem;
  }

  .admin-sidebar-mnav-toggle-label {
    flex: 1;
    min-width: 0;
  }

  .admin-sidebar-mnav-chevron {
    flex-shrink: 0;
    opacity: 0.9;
    transition: transform 0.2s ease;
  }

  .admin-sidebar[data-hb-account-sidebar].is-open .admin-sidebar-mnav-chevron {
    transform: rotate(180deg);
  }

  .admin-sidebar[data-hb-account-sidebar]:not(.is-open) .admin-sidebar-mnav-panel {
    display: none;
  }

  /* Fixed panel: directly under the header + fixed strip (inherits --hb-mnav-strip from .admin-layout) */
  .admin-sidebar[data-hb-account-sidebar].is-open .admin-sidebar-mnav-panel {
    display: block;
    position: fixed;
    left: 0.75rem;
    right: 0.75rem;
    top: calc(var(--hb-header-anchor) + var(--hb-mnav-outer, var(--hb-mnav-strip, 3.55rem)));
    max-height: min(
      78vh,
      calc(
        100dvh - var(--hb-header-anchor) - var(--hb-mnav-outer, var(--hb-mnav-strip, 3.55rem)) - 0.75rem
      )
    );
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 135;
    border-radius: 8px;
    box-shadow:
      0 20px 50px rgba(0, 0, 0, 0.65),
      0 0 0 1px rgba(234, 179, 8, 0.28);
  }

  .admin-body .admin-content .account-main.admin-main {
    padding: 1rem 0 2rem 0;
  }

  .admin-body--users-list .admin-content .account-main.admin-main {
    padding-top: 0.65rem;
  }
}

/* Player account area: sidebar + main (matches management layout) */
.player-body .admin-content .account-main.player-area-main {
  max-width: none;
  margin: 0;
  /* Top padding matches .admin-sidebar top padding so sidebar inner tile aligns with main content */
  padding: 1rem 0 3rem 1.25rem;
}

/* Inventory page: first panel is Storage/Ender — drop extra margin so tile top lines up with sidebar card */
.player-body .admin-content .account-main.player-area-main > .inv-panel:first-child {
  margin-top: 0;
}

.player-page-hero {
  margin-bottom: 1.25rem;
}

.player-page-hero .account-title {
  margin-bottom: 0.35rem;
}

.player-link-card {
  max-width: 42rem;
}

@media (max-width: 900px) {
  .player-body .admin-content .account-main.player-area-main {
    padding: 0.5rem 0 2rem 0;
  }
}

/* Player shell top bar — avatar opens account menu (dropdown) */
.player-body .player-header-profile-slot {
  margin-left: auto;
}

.player-body .player-header-profile {
  position: relative;
}

.player-body .player-header-profile-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  border: 1px solid var(--border, #3d3d52);
  border-radius: 50%;
  background: var(--bg-card, #1e1e2e);
  overflow: hidden;
  cursor: pointer;
  vertical-align: middle;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.player-body .player-header-profile-trigger:hover {
  border-color: var(--accent-dim, rgba(34, 197, 94, 0.45));
  background: var(--bg-card-hover, #252536);
}

.player-body .player-header-profile-trigger:focus-visible {
  outline: 2px solid var(--accent, #22c55e);
  outline-offset: 2px;
}

.player-body .player-header-profile-trigger .nav-profile-avatar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: block;
  object-fit: cover;
}

.player-body .player-header-profile-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 0.35rem);
  z-index: 300;
  min-width: 14.25rem;
  margin: 0;
  padding: 0.35rem 0;
  list-style: none;
  border-radius: 8px;
  border: 1px solid rgba(61, 61, 82, 0.95);
  background: linear-gradient(180deg, #1e1e2e 0%, #12121c 100%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.player-body .player-header-profile-menu[hidden] {
  display: none !important;
}

.player-body .player-header-profile-menu li {
  margin: 0;
}

.player-body .player-header-profile-menu a {
  display: block;
  padding: 0.45rem 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #e2e8f0;
  text-decoration: none;
  white-space: nowrap;
}

.player-body .player-header-profile-menu a:hover,
.player-body .player-header-profile-menu a:focus-visible {
  background: rgba(167, 139, 250, 0.12);
  color: #f8fafc;
  outline: none;
}

.admin-body .admin-header-profile {
  position: relative;
}

.admin-body .admin-header-profile-slot {
  margin-left: auto;
}

.admin-body .admin-header-profile-trigger.nav-profile-link {
  display: inline-block;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  border: 1px solid var(--border, #3d3d52);
  border-radius: 50%;
  background: var(--bg-card, #1e1e2e);
  overflow: hidden;
  cursor: pointer;
  vertical-align: middle;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.admin-body .admin-header-profile-trigger:hover {
  border-color: var(--accent-dim, rgba(34, 197, 94, 0.45));
  background: var(--bg-card-hover, #252536);
}

.admin-body .admin-header-profile-trigger:focus-visible {
  outline: 2px solid var(--accent, #22c55e);
  outline-offset: 2px;
}

.admin-body .admin-header-profile-trigger .nav-profile-avatar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: block;
  object-fit: cover;
}

.admin-body .admin-header-profile-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 0.35rem);
  z-index: 320;
  min-width: 14.25rem;
  margin: 0;
  padding: 0.35rem 0;
  list-style: none;
  border-radius: 8px;
  border: 1px solid rgba(61, 61, 82, 0.95);
  background: linear-gradient(180deg, #1e1e2e 0%, #12121c 100%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.admin-body .admin-header-profile-menu[hidden] {
  display: none !important;
}

.admin-body .admin-header-profile-menu li {
  margin: 0;
}

.admin-body .admin-header-profile-menu a {
  display: block;
  padding: 0.45rem 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #e2e8f0;
  text-decoration: none;
  white-space: nowrap;
}

.admin-body .admin-header-profile-menu a:hover,
.admin-body .admin-header-profile-menu a:focus-visible {
  background: rgba(167, 139, 250, 0.12);
  color: #f8fafc;
  outline: none;
}

/* Player profile: inv↔Ender bulk arrows only (no staff hold) */
.inv-panel--inv-bulk .mc-inv-twin {
  margin-bottom: 0.25rem;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}

.inv-panel--inv-bulk .mc-inv-twin--staff-arrows {
  grid-template-columns: max-content minmax(2.75rem, max-content) max-content;
  gap: 0.45rem 0.55rem;
  align-items: stretch;
}

.inv-panel--inv-bulk .mc-inv-bulk-bridge-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  align-self: center;
  gap: 0.35rem;
  max-width: 10rem;
}

.inv-panel--inv-bulk .mc-inv-bulk-cooldown {
  position: relative;
  width: 2.35rem;
  height: 2.35rem;
  margin: 0.1rem 0 0;
  flex-shrink: 0;
  box-sizing: border-box;
}

.inv-panel--inv-bulk .mc-inv-bulk-cd-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.inv-panel--inv-bulk .mc-inv-bulk-cd-ring-bg {
  stroke: rgba(239, 68, 68, 0.22);
  stroke-width: 2.35;
}

.inv-panel--inv-bulk .mc-inv-bulk-cd-ring-fg {
  stroke: #ef4444;
  stroke-width: 2.35;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.12s linear;
}

.inv-panel--inv-bulk .mc-inv-bulk-cd-num {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -54%);
  font-size: 0.88rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #ef4444;
  line-height: 1;
  pointer-events: none;
}

.inv-panel--inv-bulk .mc-inv-bulk-bridge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  align-self: center;
  padding: 0.15rem 0.05rem;
}

.inv-panel--inv-bulk .admin-bulk-arrow-btn.admin-staff-bulk-btn {
  width: 2.65rem;
  height: 2.65rem;
  min-width: 2.65rem;
  min-height: 2.65rem;
  max-width: none;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  box-sizing: border-box;
}

.inv-panel--inv-bulk .admin-bulk-arrow-glyph {
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0;
}

@media (max-width: 960px) {
  .inv-panel--inv-bulk .mc-inv-twin--staff-arrows {
    grid-template-columns: 1fr;
    justify-items: center;
    width: 100%;
    max-width: 100%;
    align-items: start;
  }

  .inv-panel--inv-bulk .mc-inv-bulk-bridge {
    flex-direction: row;
    gap: 0.65rem;
    padding: 0.35rem 0;
  }
}

/* Staff-only hold + admin inventory (management user view) */
.inv-panel--admin-staff .mc-inv-admin-stack {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}

.inv-panel--admin-staff .mc-inv-twin {
  margin-bottom: 0.25rem;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}

/* Staff bulk: 3-column grid — Inventory | inv↔ender arrows | Ender */
.inv-panel--admin-staff .mc-inv-twin--staff-arrows {
  grid-template-columns: max-content minmax(2.75rem, max-content) max-content;
  gap: 0.45rem 0.55rem;
  align-items: stretch;
}

.inv-panel--admin-staff .mc-inv-bulk-bridge-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  align-self: center;
  gap: 0.35rem;
  max-width: 10rem;
}

.inv-panel--admin-staff .mc-inv-bulk-cooldown {
  position: relative;
  width: 2.35rem;
  height: 2.35rem;
  margin: 0.1rem 0 0;
  flex-shrink: 0;
  box-sizing: border-box;
}

.inv-panel--admin-staff .mc-inv-bulk-cd-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.inv-panel--admin-staff .mc-inv-bulk-cd-ring-bg {
  stroke: rgba(239, 68, 68, 0.22);
  stroke-width: 2.35;
}

.inv-panel--admin-staff .mc-inv-bulk-cd-ring-fg {
  stroke: #ef4444;
  stroke-width: 2.35;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.12s linear;
}

.inv-panel--admin-staff .mc-inv-bulk-cd-num {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -54%);
  font-size: 0.88rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #ef4444;
  line-height: 1;
  pointer-events: none;
}

.inv-panel--admin-staff .mc-inv-bulk-bridge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  align-self: center;
  padding: 0.15rem 0.05rem;
}

.inv-panel--admin-staff .admin-bulk-col-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.38rem;
  margin-top: 0.5rem;
  width: 100%;
}

.inv-panel--admin-staff .admin-bulk-arrow-btn.admin-staff-bulk-btn {
  width: 2.65rem;
  height: 2.65rem;
  min-width: 2.65rem;
  min-height: 2.65rem;
  max-width: none;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  box-sizing: border-box;
}

.inv-panel--admin-staff .admin-bulk-arrow-glyph {
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0;
}

@media (max-width: 960px) {
  .inv-panel--admin-staff .mc-inv-twin--staff-arrows {
    grid-template-columns: 1fr;
    justify-items: center;
    width: 100%;
    max-width: 100%;
    align-items: start;
  }

  .inv-panel--admin-staff .mc-inv-bulk-bridge-stack {
    max-width: 100%;
  }

  .inv-panel--admin-staff .mc-inv-bulk-bridge {
    flex-direction: row;
    gap: 0.65rem;
    padding: 0.35rem 0;
  }
}

.admin-confiscate-bulk-wrap {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  max-width: 17rem;
}

.admin-confiscate-bulk-wrap .btn-mc {
  width: 100%;
  max-width: 17rem;
}

.admin-confiscate-bulk-wrap--compact {
  gap: 0.3rem;
  max-width: 11.5rem;
}

/* Management user: narrower bulk buttons, no captions */
.inv-panel--admin-staff .admin-confiscate-bulk-wrap--compact {
  max-width: 8.25rem;
}

.admin-confiscate-bulk-wrap--compact .admin-staff-bulk-btn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 11.5rem;
  padding: 0.32rem 0.5rem;
  font-size: 0.7rem;
  line-height: 1.2;
  min-height: 0;
}

.inv-panel--admin-staff .admin-confiscate-bulk-wrap--compact .admin-staff-bulk-btn {
  max-width: 8.25rem;
  width: 100%;
  padding: 0.26rem 0.35rem;
  font-size: 0.62rem;
  line-height: 1.15;
}

.inv-panel--admin-staff .admin-confiscate-bulk-wrap--compact .admin-bulk-btn-text {
  white-space: normal;
  text-align: center;
}

.admin-bulk-arrow {
  display: inline-block;
  font-weight: 800;
  font-size: 0.95em;
  opacity: 0.95;
  flex-shrink: 0;
}

.admin-bulk-btn-text {
  white-space: nowrap;
}

.admin-bulk-col-caption {
  margin: 0.35rem 0 0;
  padding: 0 0.15rem;
  font-size: 0.65rem;
  line-height: 1.35;
  color: rgba(186, 198, 214, 0.82);
  text-align: center;
  max-width: 11.5rem;
}

.admin-bulk-ico {
  display: inline-block;
  margin-right: 0.35rem;
  font-weight: 800;
  opacity: 0.95;
}

.admin-return-all-staff-btn {
  background: linear-gradient(180deg, #1e3d2a 0%, #0f2418 100%);
  border-color: #2d5a3d;
  border-top-color: #4ade80;
  border-left-color: #4ade80;
  color: #bbf7d0;
}

.admin-return-all-staff-btn:hover {
  filter: brightness(1.08);
}

.admin-staff-hold-dock {
  margin-top: 1rem;
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  max-width: 100%;
  padding: 1.1rem 1rem 1.35rem;
  box-sizing: border-box;
  background: linear-gradient(165deg, rgba(36, 28, 58, 0.95) 0%, rgba(14, 11, 28, 0.98) 100%);
  border: 3px solid #3d3260;
  border-top-color: #9b8cc4;
  border-left-color: #9b8cc4;
  border-right-color: #1a1428;
  border-bottom-color: #1a1428;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 8px 28px rgba(0, 0, 0, 0.45);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.admin-staff-hold-copy {
  width: 100%;
  max-width: 48rem;
  margin-top: 0.35rem;
}

.admin-staff-hold-heading {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.75rem;
  margin-bottom: 0.35rem;
}

.admin-staff-hold-title {
  font-family: 'Silkscreen', ui-monospace, monospace;
  font-size: 1rem;
  font-weight: 700;
  color: #e9e4ff;
  text-shadow: 2px 2px 0 #1a1030;
  letter-spacing: 0.04em;
}

.admin-staff-hold-badge {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  background: linear-gradient(180deg, #5b4a8a 0%, #352850 100%);
  color: #ddd6ff;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.admin-staff-hold-sub {
  font-size: 0.8rem;
  color: rgba(230, 220, 255, 0.78);
  line-height: 1.45;
  margin: 0;
  max-width: none;
}

.staff-confiscation-panel {
  margin-top: 1.5rem;
}

.staff-confiscation-grid {
  display: grid;
  grid-template-columns: repeat(5, var(--mc-slot, 36px));
  gap: var(--mc-gap, 4px);
  justify-content: flex-start;
  margin-top: 0.75rem;
}

.staff-confiscation-grid--20 {
  grid-template-columns: repeat(10, var(--mc-slot, 36px));
  grid-template-rows: repeat(2, auto);
  justify-content: center;
  margin-top: 0.5rem;
}

/* Staff hold: single horizontal flow, wraps in centered rows (not a tall fixed column grid) */
.staff-confiscation-grid--72 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  gap: var(--mc-gap, 4px);
  margin-top: 0.65rem;
  margin-bottom: 0.25rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0 0.25rem 0.25rem;
}

/* Management UI: small page reference (tell staff “page 702”, etc.) */
.admin-page-ref {
  position: fixed;
  right: 0.4rem;
  bottom: 0.35rem;
  z-index: 50;
  font-size: 0.62rem;
  line-height: 1;
  font-weight: 600;
  color: rgba(148, 163, 184, 0.45);
  pointer-events: none;
  user-select: none;
  font-variant-numeric: tabular-nums;
}

.staff-confiscation-grid .mc-slot {
  width: var(--mc-slot, 36px);
  height: var(--mc-slot, 36px);
}

.mc-slot-picked-confiscate {
  outline: 2px solid var(--accent, #6cf);
  outline-offset: 1px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.35);
}

.staff-confiscation-msg--err {
  color: #f88;
}

/* Player profile: website storage — chest frame + interior (scales to 48 slots) */
.inv-panel--player-web-storage .player-website-storage-dock {
  margin-bottom: 1.25rem;
}

.player-website-storage-chest {
  --pws-chest-wood-dark: #3d2818;
  --pws-chest-wood-mid: #6b4423;
  --pws-chest-wood-light: #8b5a2b;
  --pws-chest-metal: #c9a227;
  --pws-chest-inner: #120d0a;
  --pws-chest-inner-mid: #1c1410;
  max-width: min(100%, 52rem);
  width: fit-content;
  margin-inline: auto;
  position: relative;
  filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.55));
}

@media (max-width: 520px) {
  .player-website-storage-chest {
    width: 100%;
    max-width: 100%;
  }
}

/* Lid (graphical “closed chest” top) */
.player-website-storage-chest-lid {
  position: relative;
  height: 1.1rem;
  margin: 0 0.35rem -2px;
  border-radius: 10px 10px 4px 4px;
  background: linear-gradient(
    180deg,
    #a07040 0%,
    var(--pws-chest-wood-light) 35%,
    var(--pws-chest-wood-mid) 70%,
    var(--pws-chest-wood-dark) 100%
  );
  border: 2px solid var(--pws-chest-wood-dark);
  border-bottom: none;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.12),
    inset 0 -6px 12px rgba(0, 0, 0, 0.35);
  z-index: 1;
}

.player-website-storage-chest-latch {
  position: absolute;
  left: 50%;
  bottom: 0.15rem;
  transform: translateX(-50%);
  width: 1.75rem;
  height: 0.45rem;
  border-radius: 3px;
  background: linear-gradient(180deg, #e8d48b 0%, var(--pws-chest-metal) 45%, #7a6220 100%);
  box-shadow:
    0 1px 0 rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
  border: 1px solid rgba(40, 30, 10, 0.6);
}

/* Open body */
.player-website-storage-chest-inner {
  position: relative;
  z-index: 0;
  padding: 0.9rem 1rem 1rem;
  border-radius: 0 0 12px 12px;
  background: linear-gradient(145deg, var(--pws-chest-wood-mid) 0%, var(--pws-chest-wood-dark) 55%, #2a1810 100%);
  border: 3px solid var(--pws-chest-wood-dark);
  border-top: 2px solid #2a1810;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.08),
    inset 0 -4px 16px rgba(0, 0, 0, 0.45);
}

.player-website-storage-chest-head {
  text-align: center;
  margin-bottom: 0.5rem;
}

.player-website-storage-heading {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffe08a;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.75);
}

.player-website-storage-hint {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: rgba(254, 243, 220, 0.88);
  max-width: 42rem;
  margin-inline: auto;
}

.player-website-storage-grid-outer {
  display: flex;
  justify-content: center;
  width: 100%;
}

/* Recessed cavity where slots live — grows with grid; fits up to 48 slots */
.player-website-storage-chest-slotwell {
  display: inline-block;
  max-width: 100%;
  padding: 0.7rem 0.75rem 0.85rem;
  border-radius: 8px;
  background: linear-gradient(180deg, var(--pws-chest-inner-mid) 0%, var(--pws-chest-inner) 100%);
  border: 2px solid rgba(0, 0, 0, 0.55);
  box-shadow:
    inset 0 3px 14px rgba(0, 0, 0, 0.65),
    inset 0 0 0 1px rgba(139, 90, 43, 0.25),
    0 1px 0 rgba(255, 255, 255, 0.04);
  box-sizing: border-box;
}

.inv-panel--player-web-storage .player-website-storage-chest-slotwell .staff-confiscation-grid {
  margin-top: 0;
  margin-bottom: 0;
}

.inv-panel--player-web-storage .player-website-storage-chest-slotwell .staff-confiscation-grid--20 {
  margin-top: 0;
}

.inv-panel--player-web-storage .player-website-storage-chest-slotwell .staff-confiscation-grid.player-website-storage-grid--9,
.inv-panel--player-web-storage .player-website-storage-chest-slotwell .staff-confiscation-grid.player-website-storage-grid--8 {
  margin-top: 0;
}

/* Slots: framed “pockets” inside the chest */
.inv-panel--player-web-storage .player-website-storage-chest-slotwell .mc-slot {
  width: var(--mc-slot, 36px);
  height: var(--mc-slot, 36px);
  border-radius: 4px;
  border: 2px solid #4a3728;
  background: linear-gradient(165deg, #241a14 0%, #120d0a 100%);
  box-shadow:
    inset 0 2px 5px rgba(0, 0, 0, 0.55),
    inset 0 0 0 1px rgba(90, 70, 50, 0.35),
    0 1px 0 rgba(255, 255, 255, 0.04);
}

.inv-panel--player-web-storage .player-website-storage-chest-slotwell .mc-slot:hover {
  border-color: #7a5c40;
  box-shadow:
    inset 0 2px 5px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(201, 162, 39, 0.25);
}

.inv-panel--player-web-storage .player-website-storage-chest-slotwell .mc-slot-empty {
  background: linear-gradient(165deg, #1a1410 0%, #0d0a08 100%);
}

/* Bulk ↔ storage: centered pair above Inventory / Ender column */
.player-ws-col-bulk {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: center;
  align-items: center;
  margin: 0 0 0.4rem;
}

.player-ws-col-bulk .player-web-storage-bulk-btn {
  min-width: 2.25rem;
}

.staff-confiscation-grid.player-website-storage-grid--9 {
  grid-template-columns: repeat(9, var(--mc-slot, 36px));
  grid-template-rows: auto;
  justify-content: center;
  margin-top: 0.5rem;
}

.staff-confiscation-grid.player-website-storage-grid--8 {
  grid-template-columns: repeat(8, var(--mc-slot, 36px));
  grid-template-rows: auto;
  justify-content: center;
  margin-top: 0.5rem;
}

.player-website-storage-chest-foot {
  height: 0.45rem;
  margin: 0 1rem;
  border-radius: 0 0 6px 6px;
  background: linear-gradient(180deg, #1a1008 0%, #0a0604 100%);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
}

.player-website-storage-msg {
  margin: 0.65rem 0 0;
  text-align: center;
  font-size: 0.85rem;
}

.mc-slot-picked-website-storage {
  outline: 2px solid #7ad67a;
  outline-offset: 1px;
  box-shadow:
    0 0 0 2px rgba(0, 0, 0, 0.35),
    inset 0 2px 5px rgba(0, 0, 0, 0.45);
}

.player-website-storage-msg--err {
  color: #f88;
}

/* Staff admin: web inventory / staff hold interaction log (under hold grid) */
.hb-inv-interaction-log-bar {
  margin-top: 0.65rem;
  padding: 0.45rem 0.55rem 0.5rem;
  border-radius: 6px;
  background: rgba(15, 12, 28, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.1);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.hb-inv-interaction-log-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  margin-bottom: 0.35rem;
}

.hb-inv-interaction-log-title {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(210, 200, 255, 0.75);
  margin: 0;
}

.hb-inv-interaction-log-clear-btn {
  flex-shrink: 0;
}

.hb-inv-interaction-log-lines {
  list-style: none;
  margin: 0;
  padding: 0.3rem 0.35rem 0.35rem 0.45rem;
  /* ~22 lines at line-height 1.35 × font-size 0.68rem */
  max-height: calc(0.68rem * 1.35 * 22);
  min-height: calc(0.68rem * 1.35 * 6);
  overflow-x: auto;
  overflow-y: auto;
  font-family: ui-monospace, "Cascadia Code", "Consolas", monospace;
  font-size: 0.68rem;
  line-height: 1.35;
  color: rgba(220, 215, 245, 0.92);
  background: rgba(0, 0, 0, 0.35);
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.hb-inv-interaction-log-lines li {
  margin: 0;
  padding: 0.12rem 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.hb-inv-interaction-log-lines li:last-child {
  border-bottom: none;
}

/* UltimateRewards claim list */
.rewards-claim-panel .rewards-claim-list {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.rewards-claim-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 1rem 1.1rem;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid #3d3d52;
  border-radius: 4px;
}

.rewards-claim-meta {
  flex: 1;
  min-width: 12rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.rewards-claim-title {
  font-weight: 700;
  color: #e2e8f0;
  font-size: 1.05rem;
}

.rewards-claim-sub {
  font-size: 0.82rem;
  color: #94a3b8;
  line-height: 1.4;
}

.rewards-claim-form {
  margin: 0;
}

/* UltimateRewards — compact grouped table */
.rewards-compact-panel {
  max-width: 100%;
}

.rewards-compact-title {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
}

.rewards-compact-lead {
  margin: 0 0 0.75rem;
  font-size: 0.78rem;
  line-height: 1.35;
  color: #94a3b8;
}

.rewards-compact-meta {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  color: #94a3b8;
}

.rewards-compact-cat {
  margin: 0.85rem 0 0.2rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent, #6cf);
}

.rewards-compact-cat:first-of-type {
  margin-top: 0.25rem;
}

.rewards-compact-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
  line-height: 1.25;
}

.rewards-compact-table th,
.rewards-compact-table td {
  padding: 0.28rem 0.4rem;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid #3d3d52;
}

.rewards-compact-table thead th {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94a3b8;
  border-bottom-color: #4a4a62;
}

.rewards-compact-col-action {
  width: 4.5rem;
  text-align: right;
}

.rewards-compact-td-status {
  color: #cbd5e1;
}

.rewards-compact-perm {
  font-size: 0.68rem;
  color: #64748b;
}

.rewards-compact-tr--ready .rewards-compact-td-status {
  color: #86efac;
}

.rewards-compact-tr--claimed .rewards-compact-td-status,
.rewards-compact-tr--cooldown .rewards-compact-td-status {
  color: #94a3b8;
}

.rewards-compact-tr--progress .rewards-compact-td-status {
  color: #fcd34d;
}

.rewards-compact-form {
  margin: 0;
  display: inline;
}

.rewards-compact-noaction {
  color: #475569;
  font-size: 0.75rem;
}

.btn-mc-compact {
  padding: 0.22rem 0.5rem;
  font-size: 0.72rem;
  line-height: 1.2;
}

/* Rewards — sections + claim modal */
.rewards-tabs-hint {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #94a3b8;
}

.rewards-tab-intro {
  margin: 0 0 0.65rem;
  font-size: 0.8rem;
  line-height: 1.45;
  color: #94a3b8;
}

.rewards-tab-panel {
  margin-top: 0.35rem;
}

.rewards-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 1rem;
}

.rewards-modal[hidden] {
  display: none !important;
}

.rewards-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  cursor: pointer;
}

.rewards-modal-box {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 22rem;
  padding: 1.2rem 1.25rem;
  border-radius: 8px;
  border: 1px solid #3d3d52;
  background: #12121c;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.rewards-modal-box--error {
  border-color: #7f1d1d;
}

.rewards-modal-title {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
  color: #f1f5f9;
}

.rewards-modal-msg {
  margin: 0 0 1rem;
  font-size: 0.88rem;
  line-height: 1.4;
  color: #cbd5e1;
}

/* Top nav — Server options (admin) */
.admin-body .nav-links-dd {
  list-style: none;
  position: relative;
}

.admin-body .nav-links-details {
  position: relative;
}

.admin-body .nav-links-dd-sum {
  display: inline-block;
  padding: 0.5rem 1rem;
  color: var(--text-muted, #94a3b8);
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
  list-style: none;
}

.admin-body .nav-links-dd-sum::-webkit-details-marker {
  display: none;
}

.admin-body .nav-links-dd-sum:hover {
  color: var(--accent, #22c55e);
  background: var(--bg-card, #1e1e2a);
}

.admin-body .nav-links-dd-sum:focus {
  outline: none;
}

.admin-body .nav-links-dd-sum:focus-visible {
  outline: 2px solid rgba(56, 189, 248, 0.9);
  outline-offset: 2px;
}

.admin-body .nav-links-dd-panel {
  position: absolute;
  right: 0;
  top: 100%;
  margin: 0.25rem 0 0;
  padding: 0.35rem 0;
  min-width: 11rem;
  list-style: none;
  background: var(--bg-card, #1a1a24);
  border: 1px solid var(--border, #2d2d3d);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  z-index: 200;
}

.admin-body .nav-links-dd-panel a {
  display: block;
  padding: 0.45rem 1rem;
  color: var(--text, #e2e8f0);
  text-decoration: none;
  font-weight: 500;
}

.admin-body .nav-links-dd-panel a:hover {
  background: rgba(34, 197, 94, 0.12);
  color: var(--accent, #4ade80);
}

.admin-body .nav-links-dd-panel a.is-active,
.admin-body .nav-links-dd-panel a[aria-current="page"] {
  background: rgba(34, 197, 94, 0.18);
  color: var(--accent, #4ade80);
}

.admin-sidebar-disclosure-summary:focus {
  outline: none;
}

.admin-sidebar-disclosure-summary:focus-visible {
  outline: 2px solid rgba(56, 189, 248, 0.85);
  outline-offset: 2px;
}

/* Enchantments overview + list heading count (matches wiki styling) */
.admin-main .wiki-enchant-heading-total {
  font-weight: 600;
  color: #94a3b8;
  font-size: 0.75em;
  margin-left: 0.35em;
  vertical-align: middle;
  white-space: nowrap;
}

.admin-main .wiki-section .inv-title {
  margin-top: 1.5rem;
}

.admin-main .wiki-section:first-of-type .inv-title {
  margin-top: 0;
}

/* Admin enchant matrix (wiki-aligned) */
.admin-enchants-browser .wiki-muted {
  color: #94a3b8;
  font-size: 0.95rem;
  margin: 0 0 1rem;
  line-height: 1.55;
}

.admin-enchants-browser .wiki-en-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin: 1.25rem 0 1rem;
  padding: 1rem 1.1rem;
  background: rgba(30, 30, 42, 0.6);
  border: 1px solid #2d2d3d;
  border-radius: 10px;
}

.admin-enchants-browser .wiki-en-label {
  font-weight: 600;
  font-size: 0.9rem;
  color: #e2e8f0;
}

.admin-enchants-browser .wiki-en-select {
  min-width: 220px;
  max-width: 100%;
  padding: 0.45rem 0.65rem;
  border-radius: 8px;
  border: 1px solid #3d3d52;
  background: #12121c;
  color: #e2e8f0;
  font: inherit;
  font-size: 0.9rem;
}

.admin-enchants-browser .wiki-en-btn-group {
  padding: 0.5rem 1rem;
  border-radius: 8px;
  border: 1px solid #3d3d52;
  background: #1e1e2a;
  color: #e2e8f0;
  font: inherit;
  font-weight: 600;
  font-size: 0.88rem;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.admin-enchants-browser .wiki-en-btn-group:hover {
  border-color: var(--accent, #22c55e);
  color: var(--accent, #4ade80);
}

.admin-enchants-browser .wiki-en-btn-group.is-active {
  background: rgba(34, 197, 94, 0.15);
  border-color: var(--accent, #22c55e);
  color: var(--accent, #4ade80);
}

.admin-enchants-browser .wiki-en-count {
  font-size: 0.85rem;
  color: #94a3b8;
  margin-left: auto;
}

.admin-enchants-browser .wiki-en-legend {
  margin-bottom: 1rem;
  padding-left: 1.25rem;
  color: #cbd5e1;
  font-size: 0.88rem;
}

.admin-enchants-browser .wiki-en-table-shell {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #2d2d3d;
  border-radius: 10px;
  background: rgba(18, 18, 28, 0.85);
  margin: 0 0 1.25rem;
}

.admin-enchants-browser .wiki-en-matrix {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  font-size: 0.86rem;
  line-height: 1.45;
}

/* Staff enchant matrix: fixed columns so Primary icons don’t steal width from EE toggle */
.admin-enchants-browser #admin-en-matrix.admin-en-matrix {
  table-layout: fixed;
  min-width: 1040px;
}

.admin-enchants-browser #admin-en-matrix col.admin-en-matrix__col--source {
  width: 8%;
  min-width: 7.75rem;
}
.admin-enchants-browser #admin-en-matrix col.admin-en-matrix__col--pool {
  width: 7%;
  min-width: 4.25rem;
}
.admin-enchants-browser #admin-en-matrix col.admin-en-matrix__col--name {
  width: 9%;
}
.admin-enchants-browser #admin-en-matrix col.admin-en-matrix__col--summary {
  width: 25%;
}
.admin-enchants-browser #admin-en-matrix col.admin-en-matrix__col--inc {
  width: 11%;
}
.admin-enchants-browser #admin-en-matrix col.admin-en-matrix__col--max {
  width: 4%;
}
.admin-enchants-browser #admin-en-matrix col.admin-en-matrix__col--primary {
  width: 8%;
}
.admin-enchants-browser #admin-en-matrix col.admin-en-matrix__col--treasure {
  width: 5.5%;
}
.admin-enchants-browser #admin-en-matrix col.admin-en-matrix__col--villager {
  width: 5.5%;
}
.admin-enchants-browser #admin-en-matrix col.admin-en-matrix__col--ee {
  width: 17%;
  min-width: 8.5rem;
}

.admin-enchants-browser #admin-en-matrix th:nth-child(1),
.admin-enchants-browser #admin-en-matrix td:nth-child(1) {
  box-sizing: border-box;
  overflow: hidden;
}

.admin-enchants-browser #admin-en-matrix td:nth-child(1) .wiki-en-badge {
  display: inline-block;
  max-width: 100%;
  box-sizing: border-box;
  white-space: normal;
  text-align: center;
  line-height: 1.2;
  font-size: 0.68rem;
  padding: 0.12rem 0.35rem;
}

.admin-enchants-browser .wiki-en-matrix thead th {
  background: #1e1e2a;
  color: var(--accent, #6ee7b7);
  font-weight: 600;
  text-align: left;
  padding: 0.65rem 0.55rem;
  border-bottom: 2px solid #2d2d3d;
}

.admin-enchants-browser #admin-en-matrix thead th {
  white-space: normal;
  vertical-align: bottom;
  line-height: 1.25;
  hyphens: none;
}

.admin-enchants-browser #admin-en-matrix thead th.admin-en-matrix__th-ee {
  line-height: 1.2;
  padding-top: 0.45rem;
  padding-bottom: 0.45rem;
}

.admin-enchants-browser .wiki-en-matrix tbody td {
  border: 1px solid #2d2d3d;
  padding: 0.5rem 0.55rem;
  vertical-align: top;
}

.admin-enchants-browser .wiki-en-matrix-num {
  text-align: center;
  white-space: nowrap;
}

/* Admin matrix: allow header / toggle columns to wrap except compact value cells */
.admin-enchants-browser #admin-en-matrix thead th.wiki-en-matrix-num {
  white-space: normal;
}

.admin-enchants-browser #admin-en-matrix tbody td.wiki-en-matrix-num:nth-child(6),
.admin-enchants-browser #admin-en-matrix tbody td.wiki-en-matrix-num:nth-child(8),
.admin-enchants-browser #admin-en-matrix tbody td.wiki-en-matrix-num:nth-child(9) {
  white-space: nowrap;
}

.admin-enchants-browser #admin-en-matrix tbody td:nth-child(10) {
  white-space: normal;
  vertical-align: middle;
}

.admin-enchants-browser #admin-en-matrix td:nth-child(3),
.admin-enchants-browser #admin-en-matrix td:nth-child(4),
.admin-enchants-browser #admin-en-matrix td:nth-child(5) {
  overflow-wrap: break-word;
  word-break: break-word;
}

.admin-enchants-browser .wiki-en-matrix-icons {
  text-align: center;
  vertical-align: middle;
  white-space: normal;
}

.admin-enchants-browser .wiki-en-matrix tbody tr.wiki-en-data-row:nth-child(even) {
  background: rgba(0, 0, 0, 0.15);
}

.admin-enchants-browser .wiki-en-matrix tbody tr.wiki-en-data-row:hover {
  background: rgba(34, 197, 94, 0.06);
}

.admin-enchants-browser .wiki-en-sprite {
  width: 26px;
  height: 26px;
  vertical-align: middle;
  margin: 1px;
  object-fit: contain;
}

.admin-enchants-browser .wiki-en-badge {
  display: inline-block;
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.admin-enchants-browser .wiki-en-badge-vanilla {
  background: rgba(59, 130, 246, 0.2);
  color: #93c5fd;
  border: 1px solid rgba(59, 130, 246, 0.35);
}

.admin-enchants-browser .wiki-en-badge-ee {
  background: rgba(34, 197, 94, 0.18);
  color: var(--accent, #6ee7b7);
  border: 1px solid rgba(34, 197, 94, 0.35);
}

.admin-enchants-browser .wiki-en-group-row td {
  background: #12121c !important;
  padding: 0.55rem 0.75rem !important;
  border-top: 2px solid var(--accent, #22c55e) !important;
}

.admin-enchants-browser .wiki-en-group-label {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--accent, #6ee7b7);
}

.admin-enchants-browser .wiki-en-matrix tbody tr.wiki-en-data-row td.wiki-en-matrix-icons {
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 8px;
  vertical-align: middle;
}

.admin-enchants-browser .wiki-en-error-cell {
  padding: 1.25rem !important;
  text-align: center !important;
  color: #fca5a5;
  background: rgba(127, 29, 29, 0.25) !important;
}

.admin-enchants-browser tr.admin-ee-row-disabled {
  opacity: 0.55;
}

/* EE enable/disable: same track/thumb as dashboard maintenance switch (input is .admin-switch-input). */
.admin-enchants-browser .admin-ee-switch.admin-switch {
  flex-wrap: nowrap;
  gap: 0.5rem;
}

.admin-enchants-browser .admin-ee-toggle-cell .admin-switch-label {
  font-size: 0.75rem;
  min-width: 1.75rem;
}

/* Enchantment list: full-page loading overlay until the matrix is built */
.admin-enchants-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(10, 10, 16, 0.58);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: opacity 0.22s ease, visibility 0.22s ease;
}

.admin-enchants-loading-overlay.admin-enchants-loading-overlay--done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.admin-enchants-loading-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1.75rem 2.25rem;
  border-radius: 12px;
  background: #1a1a26;
  border: 1px solid #2d2d3d;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
  max-width: 22rem;
  text-align: center;
}

.admin-enchants-loading-spinner {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 3px solid rgba(110, 231, 183, 0.2);
  border-top-color: var(--accent, #6ee7b7);
  animation: admin-enchants-spin 0.75s linear infinite;
}

.admin-enchants-loading-text {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #e2e8f0;
  line-height: 1.4;
}

@keyframes admin-enchants-spin {
  to {
    transform: rotate(360deg);
  }
}

/* ClaimProtect web (player + admin snapshot views) */
.cp-web-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.cp-web-card {
  display: block;
  padding: 1rem 1.1rem;
  border-radius: 6px;
  border: 2px solid #3d3d52;
  background: rgba(18, 18, 28, 0.85);
  text-decoration: none;
  color: #e2e8f0;
  transition: border-color 0.15s ease, transform 0.12s ease;
}

a.cp-web-card:hover {
  border-color: #6ee7b7;
  transform: translateY(-1px);
  color: #f8fafc;
}

.cp-web-card-icon {
  font-size: 1.35rem;
  margin-bottom: 0.35rem;
  line-height: 1;
}

.cp-web-card-title {
  font-weight: 700;
  color: #ffd54f;
  margin: 0 0 0.35rem;
  font-size: 1rem;
}

.cp-web-card-desc {
  margin: 0;
  font-size: 0.85rem;
  color: #94a3b8;
  line-height: 1.35;
}

.cp-web-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin: 1rem 0;
}

.cp-web-toolbar--claims {
  width: 100%;
  box-sizing: border-box;
  justify-content: flex-start;
}

.cp-web-toolbar--claims .cp-web-view-toggle {
  margin-left: auto;
  flex-wrap: wrap;
}

.cp-claims-list-panel .cp-web-toolbar--claims .axpw-toolbar-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.cp-claims-list-panel .cp-web-toolbar--claims .axpw-toolbar-actions .cp-web-view-toggle {
  margin-left: 0;
}

.cp-web-toolbar input[type="search"],
.cp-web-toolbar select {
  padding: 0.45rem 0.65rem;
  border-radius: 4px;
  border: 1px solid #3d3d52;
  background: #12121c;
  color: #e2e8f0;
  min-width: 12rem;
}

/* Claims list — pull content up; compact toolbar (search / order / Blocks | Table) */
.player-body .admin-content .account-main.player-area-main:has(.cp-claims-list-hero) {
  padding-top: 0.55rem;
}

.player-body .player-page-hero.cp-claims-list-hero {
  margin-bottom: 0.45rem;
  padding: 0.75rem 1rem;
}

.player-body .player-page-hero.cp-claims-list-hero .account-title {
  margin-bottom: 0.2rem;
  font-size: 1.2rem;
}

.player-body .player-page-hero.cp-claims-list-hero .profile-sub {
  margin-bottom: 0;
  font-size: 0.82rem;
  line-height: 1.35;
}

.cp-claims-list-panel .cp-web-toolbar__field {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
}

.cp-claims-list-panel .cp-web-toolbar__grow {
  flex: 1 1 11rem;
  min-width: 0;
}

.cp-claims-list-panel .cp-claims-toolbar-search {
  flex: 1;
  min-width: 7.5rem !important;
  max-width: 20rem;
  width: auto;
}

.cp-claims-list-panel .cp-web-toolbar--claims {
  margin: 0 0 0.35rem;
  gap: 0.4rem 0.55rem;
}

.cp-claims-list-panel .cp-web-toolbar--claims .cp-claims-toolbar-search,
.cp-claims-list-panel .cp-web-toolbar--claims .cp-claims-toolbar-select {
  padding: 0.28rem 0.45rem;
  font-size: 0.78rem;
  min-width: 0;
  border-radius: 4px;
  border: 1px solid #3d3d52;
  background: #12121c;
  color: #e2e8f0;
}

.cp-claims-list-panel .cp-web-toolbar--claims .cp-claims-toolbar-select {
  min-width: 7.5rem !important;
  max-width: 12rem;
}

.cp-claims-list-panel .cp-web-toolbar--claims .btn-mc.cp-web-view-btn,
.cp-claims-list-panel .cp-web-table-wrap--in-chest .btn-mc.cp-web-view-btn {
  padding: 0.32rem 0.55rem;
  font-size: 0.74rem;
  font-weight: 600;
  border-width: 1px;
  line-height: 1.2;
  box-sizing: border-box;
}

.cp-claims-list-panel .cp-web-table-wrap--in-chest a.btn-mc.cp-web-view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.cp-claims-list-panel .cp-web-claims-layout {
  margin-top: 0.15rem;
}

.cp-claims-list-panel .cp-web-table-wrap {
  margin-top: 0.4rem;
}

@media (max-width: 900px) {
  .player-body .admin-content .account-main.player-area-main:has(.cp-claims-list-hero) {
    padding-top: 0.45rem;
  }
}

.cp-web-table-wrap {
  overflow-x: auto;
  margin-top: 0.75rem;
}

.cp-web-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.cp-web-table th,
.cp-web-table td {
  padding: 0.5rem 0.65rem;
  text-align: left;
  border-bottom: 1px solid #2d2d3d;
}

.cp-web-table th {
  color: #d4c4a8;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Claim name links: avoid default blue — match dark wood / slate UI */
.cp-web-table tbody td a {
  color: #f8fafc;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(253, 224, 71, 0.28);
  transition: color 0.12s ease, border-color 0.12s ease;
}

.cp-web-table tbody td a:hover {
  color: #bbf7d0;
  border-bottom-color: rgba(110, 231, 183, 0.85);
}

.cp-web-table tbody td {
  color: #cbd5e1;
}

.cp-web-table tr:hover td {
  background: rgba(110, 231, 183, 0.06);
}

.cp-web-pill {
  display: inline-block;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  background: #1e293b;
  color: #cbd5e1;
}

.cp-web-pill--sub {
  background: #312e81;
  color: #c7d2fe;
}

.cp-web-detail-dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.35rem 1rem;
  margin: 1rem 0;
  font-size: 0.9rem;
}

.cp-web-detail-dl dt {
  color: #94a3b8;
  margin: 0;
}

.cp-web-detail-dl dd {
  margin: 0;
  color: #e2e8f0;
}

.cp-web-menu-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}

.cp-web-menu-list li {
  margin-bottom: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid #2d2d3d;
  border-radius: 6px;
  background: rgba(12, 12, 18, 0.6);
}

.cp-web-menu-list strong {
  color: #6ee7b7;
}

/* Claim “blocks” — inventory slot + grass/gold top (reads like MC claim blocks) */
.cp-claim-mc-tile {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 0.7rem 0.65rem;
  margin: 0;
  font: inherit;
  cursor: pointer;
  color: #e2e8f0;
  text-align: center;
  background: rgba(22, 22, 34, 0.92);
  border: 2px solid #4a4a5c;
  border-radius: 6px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: border-color 0.15s ease, filter 0.12s ease;
  max-width: 11rem;
  vertical-align: top;
}

a.cp-claim-mc-tile {
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
}

.cp-claim-mc-tile:hover:not(.cp-claim-mc-tile--ghost) {
  border-color: #6ee7b7;
  filter: brightness(1.06);
}

.cp-claim-mc-tile--ghost {
  cursor: default;
  opacity: 0.65;
  border-style: dashed;
}

/* Preview tiles: were pointer-events:none (clicks never fired). Linked ghosts jump to #cp-claims-sync-help. */
div.cp-claim-mc-tile--ghost {
  pointer-events: none;
}

a.cp-claim-mc-tile--ghost {
  pointer-events: auto;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
}

a.cp-claim-mc-tile--ghost:hover {
  border-color: rgba(110, 231, 183, 0.55);
  filter: brightness(1.04);
  opacity: 0.85;
}

.cp-claim-mc-tile[draggable="true"] {
  cursor: grab;
  touch-action: none;
}

.cp-claim-mc-tile--dragging {
  cursor: grabbing !important;
  opacity: 0.55;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
}

.cp-claim-mc-tile--drop-hover {
  outline: 2px dashed rgba(110, 231, 183, 0.85);
  outline-offset: 3px;
  border-radius: 6px;
}

.cp-claim-mc-tile--root {
  min-width: 7.5rem;
  max-width: 12.75rem;
  flex-shrink: 0;
}

.cp-claim-mc-tile--sub {
  min-width: 6.25rem;
  max-width: 10.5rem;
  padding: 0.45rem 0.5rem 0.55rem;
}

.cp-web-claim-row--rentals-only {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: stretch;
  margin-bottom: 0.75rem;
  padding: 0.5rem 0.65rem;
  border-radius: 8px;
  background: rgba(168, 85, 247, 0.08);
  border: 1px solid rgba(192, 132, 252, 0.35);
}

.cp-claim-mc-tile--rented-out .mc-slot.cp-claim-slot-ring {
  box-shadow: 0 0 0 2px rgba(192, 38, 211, 0.65);
}

.cp-claim-mc-tile--renting .mc-slot.cp-claim-slot-ring {
  box-shadow: 0 0 0 2px rgba(250, 204, 21, 0.55);
}

/* Diagonal “Rented” band: anchored bottom-left, runs toward top-right */
.cp-claim-rental-diagonal {
  position: absolute;
  left: -6px;
  bottom: -4px;
  width: 160%;
  min-width: 72px;
  height: 22px;
  transform: rotate(-38deg);
  transform-origin: 0 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 4;
}

.cp-claim-rental-diagonal__text {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 0.48rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.9), 0 1px 2px rgba(0, 0, 0, 0.85);
  background: linear-gradient(90deg, rgba(126, 13, 140, 0.95), rgba(219, 39, 119, 0.92));
  padding: 4px 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.cp-claim-rental-diagonal--tenant .cp-claim-rental-diagonal__text {
  background: linear-gradient(90deg, rgba(113, 63, 18, 0.96), rgba(202, 138, 4, 0.94));
  color: #fffbeb;
}

.cp-web-rental-overview-card {
  margin-top: 0.15rem;
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
  border: 1px solid rgba(192, 132, 252, 0.45);
  background: rgba(88, 28, 135, 0.12);
}

.cp-web-rental-overview-lead {
  margin: 0 0 0.5rem;
  font-size: 0.88rem;
  line-height: 1.35;
}

.cp-web-overview-dl--nested {
  margin: 0;
}

.cp-web-overview-dl--nested dt {
  font-size: 0.72rem;
  opacity: 0.9;
}

.cp-web-overview-dl--nested dd {
  margin-left: 0;
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
}

.cp-web-rental-terms {
  font-size: 0.78rem;
  line-height: 1.45;
  color: rgba(226, 232, 240, 0.92);
}

.cp-web-rental-cancel-wrap {
  margin: 0.65rem 0 0;
}

.cp-web-rental-history-teaser a {
  color: #e9d5ff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cp-web-rental-history-teaser a:hover {
  color: #fff;
}

/* Rental history focus — hero + timeline cards */
.cp-rh-hero {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  margin: 0 0 1.1rem;
  padding: 1rem 1.15rem 1.15rem;
  border: 1px solid rgba(192, 132, 252, 0.55);
  background: linear-gradient(135deg, rgba(88, 28, 135, 0.35), rgba(30, 27, 75, 0.55), rgba(15, 23, 42, 0.9));
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.cp-rh-hero__glow {
  position: absolute;
  inset: -40% -20% auto auto;
  width: 55%;
  height: 120%;
  background: radial-gradient(ellipse at center, rgba(236, 72, 153, 0.35), transparent 65%);
  pointer-events: none;
}

.cp-rh-hero__inner {
  position: relative;
  z-index: 1;
}

.cp-rh-hero__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(233, 213, 255, 0.88);
}

.cp-rh-hero__title {
  margin: 0 0 0.45rem;
  font-size: 1.35rem;
  line-height: 1.2;
  background: linear-gradient(90deg, #fdf4ff, #e9d5ff, #f472b6);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4));
}

.cp-rh-hero__lead {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: rgba(226, 232, 240, 0.92);
  max-width: 40rem;
}

.cp-rh-preview-note {
  margin: -0.35rem 0 0.85rem;
}

.cp-rh-empty {
  padding: 1rem 1.1rem;
  border-style: dashed;
  border-color: rgba(148, 163, 184, 0.35);
  background: rgba(15, 23, 42, 0.45);
}

.cp-rh-empty__title {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #e2e8f0;
}

.cp-rh-timeline {
  list-style: none;
  margin: 0;
  padding: 0 0 0 0.35rem;
  border-left: 2px solid rgba(168, 85, 247, 0.35);
}

.cp-rh-timeline__item {
  position: relative;
  margin: 0 0 1rem;
  padding-left: 1rem;
}

.cp-rh-timeline__dot {
  position: absolute;
  left: -0.47rem;
  top: 0.65rem;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(145deg, #f472b6, #a855f7);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.95), 0 0 12px rgba(236, 72, 153, 0.55);
}

.cp-rh-card {
  padding: 0.85rem 1rem 0.95rem;
  border-radius: 10px;
  border: 1px solid rgba(192, 132, 252, 0.4);
  background: linear-gradient(160deg, rgba(30, 27, 75, 0.5), rgba(15, 23, 42, 0.92));
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28);
}

.cp-rh-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.cp-rh-card__badge {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.cp-rh-card__badge--new {
  color: #fce7f3;
  background: linear-gradient(90deg, rgba(126, 13, 140, 0.9), rgba(219, 39, 119, 0.85));
}

.cp-rh-card__badge--ext {
  color: #fffbeb;
  background: linear-gradient(90deg, rgba(113, 63, 18, 0.95), rgba(202, 138, 4, 0.88));
}

.cp-rh-card__index {
  font-size: 0.72rem;
  font-weight: 700;
  color: rgba(148, 163, 184, 0.95);
}

.cp-rh-card__subname {
  margin: 0 0 0.55rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: rgba(233, 213, 255, 0.95);
}

.cp-rh-card__dl {
  margin: 0;
}

.cp-rh-card__row {
  display: grid;
  grid-template-columns: minmax(5.5rem, 28%) 1fr;
  gap: 0.35rem 0.65rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  font-size: 0.8rem;
}

.cp-rh-card__row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.cp-rh-card__row dt {
  margin: 0;
  font-weight: 700;
  color: rgba(203, 213, 225, 0.88);
}

.cp-rh-card__row dd {
  margin: 0;
  color: #f1f5f9;
}

.cp-rh-card__row--money dd {
  line-height: 1.45;
}

.cp-rh-money {
  font-variant-numeric: tabular-nums;
}

.cp-rh-sep {
  margin: 0 0.2rem;
  color: rgba(148, 163, 184, 0.65);
}

.cp-rh-total {
  display: inline-block;
  margin-top: 0.15rem;
  font-weight: 700;
  color: #fde68a;
  text-shadow: 0 0 12px rgba(250, 204, 21, 0.25);
}

.cp-cancel-rental-dialog {
  max-width: min(32rem, calc(100vw - 2rem));
  padding: 0;
  border: 1px solid rgba(192, 132, 252, 0.5);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.98);
  color: #e2e8f0;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55);
}

.cp-cancel-rental-dialog::backdrop {
  background: rgba(0, 0, 0, 0.55);
}

.cp-cancel-rental-dialog__inner {
  padding: 1rem 1.1rem 1.1rem;
}

.cp-cancel-rental-dialog__title {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
}

.cp-cancel-rental-dialog__body {
  font-size: 0.88rem;
  line-height: 1.45;
}

.cp-cancel-rental-dialog__body p {
  margin: 0 0 0.5rem;
}

.cp-cancel-rental-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  margin-top: 1rem;
}

.cp-web-pill--rented-out {
  background: rgba(192, 38, 211, 0.25);
  color: #f5d0fe;
  border-color: rgba(232, 121, 249, 0.5);
}

.cp-web-pill--renting {
  background: rgba(234, 179, 8, 0.22);
  color: #fef9c3;
  border-color: rgba(250, 204, 21, 0.45);
}

.mc-slot.cp-claim-slot-ring {
  position: relative;
  overflow: hidden;
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  flex-shrink: 0;
  padding: 0;
  box-sizing: border-box;
}

.cp-claim-face {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 1px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

/* Grass block — MC-style top grass (~62%) + dirt sides/bottom */
.cp-claim-face--grass {
  background-color: #6a9e37;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, transparent 28%),
    repeating-linear-gradient(
      90deg,
      #567d30 0px,
      #567d30 3px,
      #6a9e37 3px,
      #6a9e37 6px,
      #5f8f32 6px,
      #5f8f32 9px
    ),
    linear-gradient(180deg, transparent 0 62%, #8b6914 62%, #6b4e2e 78%, #4a3520 100%);
  background-size: 100% 100%, 100% 62%, 100% 100%;
  background-repeat: no-repeat;
  box-shadow:
    inset 0 0 0 1px rgba(0, 0, 0, 0.45),
    inset 1px 1px 0 rgba(255, 255, 255, 0.12);
}

/* White stained glass (subclaim) — frosted / reflective */
.cp-claim-face--glass {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.95) 0%, rgba(240, 248, 255, 0.35) 42%, rgba(200, 220, 235, 0.25) 100%),
    linear-gradient(315deg, transparent 40%, rgba(255, 255, 255, 0.5) 48%, transparent 55%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.85),
    inset -2px -3px 6px rgba(180, 200, 220, 0.35),
    inset 2px 2px 5px rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(220, 230, 245, 0.9);
  box-sizing: border-box;
}

/* Legacy class — same as glass */
.cp-claim-face--gold {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.95) 0%, rgba(240, 248, 255, 0.35) 42%, rgba(200, 220, 235, 0.25) 100%),
    linear-gradient(315deg, transparent 40%, rgba(255, 255, 255, 0.5) 48%, transparent 55%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.85),
    inset -2px -3px 6px rgba(180, 200, 220, 0.35),
    inset 2px 2px 5px rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(220, 230, 245, 0.9);
  box-sizing: border-box;
}

.cp-claim-mc-tile-label {
  font-weight: 700;
  font-size: 0.8rem;
  line-height: 1.25;
  color: #f8fafc;
  word-break: break-word;
  max-width: 100%;
}

.cp-claim-mc-tile-meta {
  font-size: 0.68rem;
  color: #94a3b8;
  line-height: 1.2;
}

.cp-web-sync-preview {
  padding-top: 0.5rem;
}

.cp-web-sync-preview-label {
  margin: 0 0 0.5rem !important;
}

.cp-web-sync-preview-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mc-gap, 4px);
  align-items: flex-start;
  width: 100%;
}

/* Claims list — chest-style blocks; detail page holds Trust / MLS / etc. */
.cp-web-claims-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: 1.25rem;
  align-items: start;
  margin-top: 0.75rem;
}

.cp-web-claims-layout--single {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 900px) {
  .cp-web-claims-layout {
    grid-template-columns: 1fr;
  }
}

.cp-web-option-list {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
  color: #cbd5e1;
  line-height: 1.55;
  font-size: 0.9rem;
}

.cp-web-option-list li {
  margin-bottom: 0.35rem;
}

.cp-web-option-list strong {
  color: #e2e8f0;
}

.cp-web-chest {
  border: 3px solid #5c4033;
  border-radius: 8px;
  background: linear-gradient(180deg, #2a1810 0%, #1a0f0a 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 8px 24px rgba(0, 0, 0, 0.45);
  overflow: hidden;
}

.cp-web-chest--empty {
  opacity: 0.92;
}

.cp-web-chest-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.65rem 1rem;
  background: rgba(0, 0, 0, 0.35);
  border-bottom: 2px solid #3d2818;
}

.cp-web-chest-title {
  font-weight: 800;
  color: #ffd54f;
  letter-spacing: 0.02em;
  font-size: 1rem;
}

.cp-web-chest-sub {
  font-size: 0.8rem;
}

.cp-web-chest-back {
  font: inherit;
  cursor: pointer;
  background: #3d2818;
  color: #fde68a;
  border: 1px solid #7c5c3c;
  border-radius: 4px;
  padding: 0.35rem 0.65rem;
}

.cp-web-chest-back:hover {
  background: #5c4033;
  color: #fff;
}

.cp-web-chest-body {
  padding: 1rem;
  min-height: 8rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 1.25rem;
  width: 100%;
  box-sizing: border-box;
}

/* Claims list: block vs table share one chest — swap panes inside the body (no stack below). */
.cp-web-chest-body.cp-claims-chest-swap {
  display: block;
}

.cp-web-chest-body.cp-claims-chest-swap > .cp-claims-chest-pane[hidden] {
  display: none !important;
}

#cp-claims-tree.cp-web-chest-tree-root {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 1.25rem;
  width: 100%;
  box-sizing: border-box;
  min-height: 4rem;
}

.cp-claims-list-panel .cp-web-table-wrap--in-chest {
  margin-top: 0;
  margin-bottom: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* One claim + its subclaims = a vertical card; subclaims sit in a 2-col grid under the root. Rows flow left-to-right, wrapping. */
.cp-web-claim-row {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.5rem;
  flex: 0 1 auto;
  max-width: min(100%, 24rem);
  width: auto;
  box-sizing: border-box;
}

.cp-web-claim-row:last-child {
  margin-bottom: 0;
}

.cp-web-claim-row > .cp-claim-mc-tile--root {
  align-self: center;
}

.cp-web-substrip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  flex: 0 1 auto;
  min-width: 0;
  width: 100%;
  margin-top: 0;
  margin-left: 0;
  padding: 0.55rem 0.65rem;
  border-left: none;
  border-top: 3px solid #6366f1;
  background: rgba(30, 27, 75, 0.28);
  border-radius: 6px;
  align-items: start;
}

.cp-web-substrip .cp-claim-mc-tile--sub {
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}

@media (max-width: 380px) {
  .cp-web-substrip {
    grid-template-columns: 1fr;
  }

  .cp-web-substrip .cp-claim-mc-tile--sub {
    max-width: 10.5rem;
  }
}

.cp-web-hub-aside {
  border: 2px solid #3d3d52;
  border-radius: 8px;
  background: rgba(18, 18, 28, 0.92);
  padding: 1rem 1.1rem;
  position: sticky;
  top: calc(0.75rem + var(--account-site-header-offset, 6.5rem));
  z-index: 40;
}

.cp-web-hub-aside-title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  color: #fde68a;
}

.cp-web-hub-grid {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

a.cp-web-hub-tile,
button.cp-web-hub-tile {
  display: block;
  width: 100%;
  text-align: left;
  text-decoration: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  padding: 0.65rem 0.75rem;
  border-radius: 6px;
  border: 1px solid #3d3d52;
  background: rgba(30, 30, 45, 0.85);
  transition: border-color 0.15s ease, background 0.15s ease;
}

a.cp-web-hub-tile:hover,
button.cp-web-hub-tile:hover {
  border-color: #6ee7b7;
  background: rgba(110, 231, 183, 0.08);
}

.cp-web-hub-tile-title {
  display: block;
  font-weight: 700;
  color: #c7d2fe;
  font-size: 0.92rem;
}

.cp-web-hub-tile-sum {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.78rem;
  color: #94a3b8;
  line-height: 1.35;
}

.cp-web-view-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.cp-web-view-btn--active {
  border-color: #6ee7b7 !important;
  color: #6ee7b7 !important;
}

.cp-web-detail-nav {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(7.25rem, 1fr));
  gap: 0.4rem;
  padding: 0.75rem 1rem !important;
  margin-bottom: 0.75rem !important;
  width: 100%;
  box-sizing: border-box;
}

.cp-web-detail-nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.35rem 0.5rem;
  border-radius: 4px;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  color: #cbd5e1;
  border: 1px solid #3d3d52;
  background: rgba(20, 20, 30, 0.6);
  min-width: 0;
}

.cp-web-detail-nav-link:hover {
  border-color: #6ee7b7;
  color: #f8fafc;
}

.cp-web-detail-nav-link--active {
  border-color: #6ee7b7;
  color: #6ee7b7;
  background: rgba(110, 231, 183, 0.1);
}

.cp-web-detail-nav--hero {
  margin: 0.5rem 0 0.75rem !important;
  padding: 0.55rem 0.75rem !important;
}

.cp-web-switch {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  vertical-align: middle;
}

.cp-web-switch-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
  max-width: 100%;
}

.cp-web-switch__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.cp-web-switch__track {
  display: block;
  width: 2.6rem;
  height: 1.38rem;
  border-radius: 999px;
  background: #475569;
  position: relative;
  transition: background 0.15s ease;
  flex-shrink: 0;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35);
}

.cp-web-switch__track::after {
  content: "";
  position: absolute;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 50%;
  background: #f8fafc;
  top: 0.165rem;
  left: 0.2rem;
  transition: transform 0.15s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

.cp-web-switch__input:checked + .cp-web-switch__track {
  background: #059669;
}

.cp-web-switch__input:checked + .cp-web-switch__track::after {
  transform: translateX(1.15rem);
}

.cp-web-switch__input:focus-visible + .cp-web-switch__track {
  outline: 2px solid #6ee7b7;
  outline-offset: 2px;
}

.cp-web-switch__input:disabled + .cp-web-switch__track {
  opacity: 0.42;
  cursor: not-allowed;
}

.cp-web-switch:has(.cp-web-switch__input:disabled) {
  cursor: not-allowed;
}

.cp-web-switch-note {
  margin: 0;
  max-width: 16rem;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #94a3b8;
  text-align: right;
}

.cp-web-switch-note strong {
  color: #cbd5e1;
  font-weight: 600;
}

.cp-web-preview-banner {
  margin: 1rem 0 0;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  border: 1px solid rgba(251, 191, 36, 0.45);
  background: rgba(251, 191, 36, 0.1);
  color: #fde68a;
  font-size: 0.9rem;
  line-height: 1.45;
}

.cp-web-preview-banner a {
  color: #a7f3d0;
  font-weight: 600;
}

.cp-web-opt-drop {
  margin: 0.75rem 0 0;
  padding: 0;
  border: 1px solid #3d3d52;
  border-radius: 6px;
  background: rgba(12, 12, 20, 0.55);
}

.cp-web-opt-drop-summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 0.88rem;
  color: #c4b5fd;
  padding: 0.55rem 0.75rem;
  list-style: none;
}

.cp-web-opt-drop-summary::-webkit-details-marker {
  display: none;
}

.cp-web-opt-drop-summary::before {
  content: "▸ ";
  display: inline-block;
  margin-right: 0.35rem;
  transition: transform 0.12s ease;
  color: #94a3b8;
}

.cp-web-opt-drop[open] > .cp-web-opt-drop-summary::before {
  transform: rotate(90deg);
}

.cp-web-opt-drop-body {
  padding: 0 0.75rem 0.85rem;
  border-top: 1px solid rgba(61, 61, 82, 0.65);
}

.cp-web-opt-drop-body .cp-web-detail-dl,
.cp-web-opt-drop-body .cp-web-option-list {
  margin-top: 0.5rem;
}

.cp-web-focus-section {
  margin-bottom: 0.75rem;
}

/* Tab panels: show only the active section (standard tab UX) */
.cp-web-focus-section:not(.cp-web-focus-section--active) {
  display: none !important;
}

.cp-web-focus-section.cp-web-focus-section--active {
  display: block;
}

/* Claim detail + MLS — compact “settings” layout */
.cp-web-detail-shell {
  max-width: 44rem;
  margin-left: auto;
  margin-right: auto;
}

.cp-web-detail-hero {
  padding-bottom: 0.75rem !important;
}

.cp-web-detail-hero .account-title {
  margin-bottom: 0.35rem;
  font-size: clamp(1.25rem, 2.5vw, 1.6rem);
}

.cp-web-detail-hero .profile-sub {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #94a3b8;
}

.cp-web-detail-hero .cp-web-preview-banner {
  margin-top: 0.65rem;
  font-size: 0.82rem;
  padding: 0.5rem 0.65rem;
}

.cp-web-settings-card {
  margin-top: 0.65rem;
  border: 1px solid rgba(61, 61, 82, 0.85);
  border-radius: 8px;
  background: rgba(14, 14, 22, 0.72);
  overflow: hidden;
}

.cp-web-settings-card:first-of-type {
  margin-top: 0.35rem;
}

.cp-web-rename-card {
  margin-top: 0.75rem;
}

.cp-web-rename-card > p.inv-hint {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.cp-web-rename-card .cp-web-rename-controls {
  padding: 0 0.75rem 0.65rem;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.cp-web-rename-card .cp-web-rename-label input {
  width: 100%;
  box-sizing: border-box;
}

.cp-web-settings-card__head {
  padding: 0.45rem 0.75rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #a5b4fc;
  background: rgba(30, 30, 45, 0.65);
  border-bottom: 1px solid rgba(61, 61, 82, 0.55);
}

.cp-web-settings-card__subhead {
  margin: 0;
  padding: 0.55rem 0.75rem 0.4rem;
  border-top: 1px solid rgba(99, 102, 241, 0.35);
  border-bottom: 1px solid rgba(61, 61, 82, 0.45);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c4b5fd;
  background: rgba(20, 20, 32, 0.55);
}

.cp-web-settings-card__subhead-note {
  margin: 0;
  padding: 0 0.75rem 0.45rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #64748b;
  background: rgba(20, 20, 32, 0.35);
  border-bottom: 1px solid rgba(61, 61, 82, 0.35);
}

.cp-web-setting-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid rgba(61, 61, 82, 0.45);
  min-height: 2.75rem;
}

.cp-web-setting-row:last-child {
  border-bottom: none;
}

.cp-web-setting-row__label {
  flex: 1 1 10rem;
  min-width: 0;
}

.cp-web-setting-row__label strong {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
  color: #e2e8f0;
}

.cp-web-setting-row__meta {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #94a3b8;
  max-width: 32rem;
}

.cp-web-setting-row__control {
  flex: 0 1 auto;
  padding-top: 0.2rem;
}

.cp-web-setting-row--stack .cp-web-setting-row__control {
  padding-top: 0;
}

.cp-web-setting-row--stack {
  flex-direction: column;
  align-items: stretch;
}

.cp-web-pub-trust-desc {
  margin: 0.35rem 0 0;
  max-width: 36rem;
  line-height: 1.45;
  font-size: 0.76rem;
  color: #94a3b8;
}

.cp-web-trust-members-block {
  padding: 0.5rem 0 0.25rem;
  border-bottom: 1px solid rgba(61, 61, 82, 0.45);
  margin-bottom: 0.35rem;
}

.cp-web-trust-members-lead,
.cp-web-trust-members-empty {
  margin: 0.25rem 0 0.5rem;
  font-size: 0.76rem;
  max-width: 40rem;
  line-height: 1.4;
}

.cp-web-trust-members-wrap {
  overflow-x: auto;
  margin: 0.25rem 0 0.35rem;
  -webkit-overflow-scrolling: touch;
}

.cp-web-trust-members-table {
  width: 100%;
  min-width: 18rem;
  border-collapse: collapse;
  font-size: 0.78rem;
}

.cp-web-trust-members-table thead th {
  font-weight: 600;
  color: #94a3b8;
  padding: 0.35rem 0.2rem;
  vertical-align: bottom;
  text-align: center;
}

.cp-web-trust-members-table thead th:first-child {
  text-align: left;
  padding-left: 0;
}

.cp-web-trust-icon-col {
  width: 2.1rem;
}

.cp-web-trust-remove-col {
  width: 2.35rem;
}

.cp-web-trust-member-name {
  text-align: left;
  font-weight: 600;
  color: #e2e8f0;
  padding: 0.4rem 0.5rem 0.4rem 0;
  vertical-align: middle;
}

.cp-web-trust-icon-cell {
  text-align: center;
  vertical-align: middle;
  padding: 0.2rem;
}

.cp-web-trust-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 5px;
  color: #64748b;
  opacity: 0.42;
  box-sizing: border-box;
}

.cp-web-trust-icon--header {
  opacity: 0.85;
  color: #94a3b8;
}

.cp-web-trust-icon--on {
  color: #15803d;
  opacity: 1;
  background: rgba(21, 128, 61, 0.15);
  border: 1px solid rgba(74, 222, 128, 0.35);
}

.cp-web-trust-icon svg {
  width: 1.05rem;
  height: 1.05rem;
  display: block;
}

.cp-web-trust-remove-cell {
  padding-right: 0;
}

.cp-web-btn-xs.cp-web-trust-remove-btn {
  width: 1.55rem;
  min-width: 1.55rem;
  height: 1.55rem;
  padding: 0 !important;
  line-height: 1;
  font-size: 0.92rem !important;
  border-radius: 999px;
}

.cp-web-trust-members-table tbody tr {
  border-top: 1px solid rgba(61, 61, 82, 0.35);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.cp-web-pub-trust-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem;
  max-width: 24rem;
}

.cp-web-trust-chip {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.22rem 0.35rem;
  border-radius: 4px;
  text-align: center;
  background: rgba(30, 30, 45, 0.65);
  border: 1px solid rgba(61, 61, 82, 0.55);
  color: #64748b;
  line-height: 1.2;
}

.cp-web-trust-chip--on {
  color: #a7f3d0;
  border-color: rgba(110, 231, 183, 0.45);
  background: rgba(110, 231, 183, 0.12);
}

.cp-web-trust-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.2rem 0.3rem;
  width: 100%;
  margin-top: 0.15rem;
}

.cp-web-trust-strip .cp-web-trust-chip {
  font-size: 0.62rem;
  padding: 0.12rem 0.2rem;
}

.cp-web-table-trust {
  vertical-align: top;
  min-width: 7.5rem;
  max-width: 11rem;
}

.cp-web-table-trust .cp-web-trust-strip {
  margin-top: 0;
}

.cp-claim-mc-tile--sub .cp-web-trust-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cp-web-inline-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  width: 100%;
}

/* Any input/select + button row: keep controls vertically centered (see buttons-adjacent-to-fields.mdc) */
.hb-field-with-button {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.hb-field-with-button > input,
.hb-field-with-button > select,
.hb-field-with-button > textarea {
  flex: 1 1 10rem;
  min-width: 0;
}

.hb-field-with-button > .hb-field-with-button__action {
  flex-shrink: 0;
  align-self: center;
}

.cp-web-input-sm,
.cp-web-settings-card .admin-select,
.cp-web-settings-card .admin-input {
  font-size: 0.82rem !important;
  padding: 0.28rem 0.45rem !important;
  min-height: 2rem;
  border-radius: 5px;
  max-width: 100%;
}

.cp-web-settings-card select.admin-select {
  min-width: 7.5rem;
}

.cp-web-textarea-sm {
  width: 100%;
  min-height: 4rem;
  max-height: 8rem;
  font-size: 0.82rem;
  padding: 0.4rem 0.5rem;
  border-radius: 5px;
  resize: vertical;
  box-sizing: border-box;
}

.cp-web-btn-sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.28rem 0.65rem !important;
  font-size: 0.78rem !important;
  font-weight: 600;
  border-radius: 5px;
  line-height: 1.2;
  cursor: pointer;
}

.cp-web-btn-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.35rem;
}

.cp-web-gravity-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
  width: 100%;
  max-width: 22rem;
  margin-left: auto;
}

.cp-web-gravity-slider-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
}

.cp-web-gravity-range {
  flex: 1;
  min-width: 0;
  height: 1.35rem;
  accent-color: #c4b5fd;
  cursor: pointer;
}

.cp-web-gravity-range:focus-visible {
  outline: 2px solid #a78bfa;
  outline-offset: 2px;
}

.cp-web-gravity-value {
  flex-shrink: 0;
  min-width: 3.25rem;
  text-align: right;
  font-size: 0.82rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #e9d5ff;
}

/* ClaimProtect web: toggle success toast (see claimprotect_web_set_script.php) */
.cp-webset-toast {
  position: fixed;
  bottom: 1.35rem;
  left: 50%;
  transform: translateX(-50%) translateY(0.5rem);
  z-index: 10050;
  max-width: min(90vw, 22rem);
  padding: 0.55rem 1.1rem;
  margin: 0;
  background: linear-gradient(145deg, #166534 0%, #14532d 100%);
  color: #ecfccb;
  border: 2px solid #4ade80;
  border-radius: 6px;
  font-size: 0.84rem;
  font-weight: 600;
  text-align: center;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

.cp-webset-toast--visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.cp-web-tp-feedback {
  position: relative;
  flex-basis: 100%;
  width: 100%;
  margin: 0.15rem 0 0;
  padding: 0.35rem 2.15rem 0.4rem 0.35rem;
  font-size: 0.78rem;
  line-height: 1.35;
  color: #15803d;
  border-radius: 8px;
  box-sizing: border-box;
}

.cp-web-tp-feedback--ok {
  color: #86efac;
  background: rgba(22, 101, 52, 0.28);
  border: 1px solid rgba(74, 222, 128, 0.35);
}

.cp-web-tp-feedback--err {
  color: #fecaca;
  background: rgba(127, 29, 29, 0.25);
  border: 1px solid rgba(248, 113, 113, 0.35);
  padding-right: 0.35rem;
}

.cp-web-tp-feedback__msg {
  display: block;
  padding-right: 0.15rem;
}

.cp-web-tp-feedback__timer {
  position: absolute;
  right: 0.3rem;
  bottom: 0.3rem;
  width: 26px;
  height: 26px;
  pointer-events: none;
}

.cp-web-tp-countdown {
  display: block;
  width: 26px;
  height: 26px;
}

.cp-web-tp-countdown__arc {
  stroke-dasharray: 87.9645943005142;
  stroke-dashoffset: 0;
}

.cp-web-tp-countdown__arc--run {
  animation: cp-web-tp-countdown-drain 5s linear forwards;
}

@keyframes cp-web-tp-countdown-drain {
  to {
    stroke-dashoffset: 87.9645943005142;
  }
}

.cp-web-tp-feedback[hidden] {
  display: none !important;
}

.cp-web-form-hint {
  margin: 0.5rem 0 0;
  font-size: 0.78rem;
  color: #64748b;
  line-height: 1.4;
}

.cp-web-borders-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

@media (min-width: 640px) {
  .cp-web-borders-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
}

.cp-web-border-col label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
  margin-bottom: 0.25rem;
}

.cp-web-overview-dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.25rem 1rem;
  font-size: 0.85rem;
  margin: 0;
}

.cp-web-overview-dl dt {
  color: #64748b;
  font-weight: 500;
}

.cp-web-overview-dl dd {
  margin: 0;
  color: #e2e8f0;
}

.cp-web-page-lead {
  padding-bottom: 0.65rem !important;
}

.cp-web-page-lead .account-title {
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  margin-bottom: 0.35rem;
}

.cp-web-page-lead .profile-sub {
  margin: 0;
  font-size: 0.88rem;
  color: #94a3b8;
}

.cp-web-detail-shell .cp-web-table {
  font-size: 0.84rem;
}

.cp-web-detail-shell .cp-web-table th,
.cp-web-detail-shell .cp-web-table td {
  padding: 0.4rem 0.55rem;
}

/* Server plugin reloads (admin page 712) */
.admin-main--plugin-reloads {
  max-width: 1100px;
}

.admin-plugin-reloads-lead {
  margin-bottom: 1rem;
  line-height: 1.45;
}

.admin-plugin-reloads-status {
  margin: 0 0 1rem;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.35);
  font-size: 0.9rem;
}

.admin-plugin-reloads-status--err {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.4);
}

.admin-global-disk-alert {
  margin: 0;
  padding: 0.6rem 1rem;
  text-align: center;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.01em;
  border-top: 1px solid rgba(248, 113, 113, 0.5);
  border-bottom: 1px solid rgba(248, 113, 113, 0.5);
  background: linear-gradient(180deg, rgba(153, 27, 27, 0.95) 0%, rgba(127, 29, 29, 0.95) 100%);
}

.admin-main--server-stats {
  max-width: 1180px;
}

.admin-server-stats-lead {
  margin-bottom: 1rem;
}

.admin-server-stats-inline-alert {
  margin: 0 0 1rem;
  padding: 0.55rem 0.8rem;
  border-radius: 6px;
  border: 1px solid rgba(248, 113, 113, 0.7);
  background: rgba(127, 29, 29, 0.4);
  color: #fee2e2;
  font-weight: 700;
}

.admin-server-stats-summary {
  margin-bottom: 1rem;
}

.admin-server-stats-disk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.75rem;
}

.admin-server-stats-card {
  border: 1px solid rgba(100, 116, 139, 0.5);
  border-radius: 6px;
  padding: 0.65rem 0.75rem;
  background: rgba(15, 23, 42, 0.55);
}

.admin-server-stats-card.is-low {
  border-color: rgba(248, 113, 113, 0.8);
  box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.3);
}

.admin-server-stats-card-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #94a3b8;
}

.admin-server-stats-card-value {
  margin-top: 0.2rem;
  font-size: 1.1rem;
  font-weight: 800;
  color: #f8fafc;
}

.admin-server-stats-card-sub {
  margin-top: 0.25rem;
  font-size: 0.78rem;
  color: #fecaca;
}

.admin-server-stats-disk-bar {
  margin-top: 0.85rem;
  width: 100%;
  height: 0.7rem;
  border-radius: 999px;
  background: rgba(51, 65, 85, 0.7);
  overflow: hidden;
  border: 1px solid rgba(100, 116, 139, 0.45);
}

.admin-server-stats-disk-bar > span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #34d399 0%, #facc15 55%, #ef4444 100%);
}

.admin-server-stats-table-wrap {
  overflow-x: auto;
}

.admin-server-stats-table {
  width: 100%;
  border-collapse: collapse;
}

.admin-server-stats-table th,
.admin-server-stats-table td {
  border-bottom: 1px solid rgba(100, 116, 139, 0.35);
  padding: 0.55rem 0.6rem;
  text-align: left;
  font-size: 0.85rem;
  vertical-align: top;
}

.admin-server-stats-table th {
  color: #cbd5e1;
  font-size: 0.77rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.admin-server-stats-cell-name {
  min-width: 14rem;
}

.admin-server-stats-cell-uuid {
  margin-top: 0.2rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.7rem;
  color: #94a3b8;
  word-break: break-all;
}

.admin-server-state {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 0.18rem 0.42rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.45);
  color: #e2e8f0;
}

.admin-server-state--running {
  color: #bbf7d0;
  border-color: rgba(34, 197, 94, 0.55);
  background: rgba(22, 101, 52, 0.32);
}

.admin-server-state--starting {
  color: #fef08a;
  border-color: rgba(234, 179, 8, 0.55);
  background: rgba(113, 63, 18, 0.34);
}

.admin-server-state--offline {
  color: #fecaca;
  border-color: rgba(239, 68, 68, 0.55);
  background: rgba(127, 29, 29, 0.36);
}

.admin-server-stats-error {
  margin-top: 0.25rem;
  font-size: 0.72rem;
  color: #fca5a5;
}

.admin-plugin-reloads-section {
  margin-bottom: 2rem;
  padding: 1.25rem 1.25rem 1.5rem;
}

.admin-plugin-reload-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.85rem;
  margin-top: 1rem;
}

.admin-plugin-reload-card {
  border: 1px solid #3d3d52;
  border-radius: 4px;
  padding: 0.75rem 0.85rem;
  background: rgba(10, 10, 18, 0.5);
}

.admin-plugin-reload-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.admin-plugin-reload-name {
  font-weight: 700;
  color: #e2e8f0;
  font-size: 0.95rem;
}

.admin-plugin-reload-btn {
  flex-shrink: 0;
  font-size: 0.8rem;
  padding: 0.35rem 0.65rem;
}

.admin-plugin-reload-cmd {
  display: block;
  font-size: 0.75rem;
  color: #94a3b8;
  margin: 0.25rem 0 0.35rem;
  word-break: break-all;
}

.admin-plugin-reload-desc {
  font-size: 0.8rem;
  margin: 0;
  line-height: 1.35;
}

.admin-reload-toolbar {
  margin-bottom: 1rem;
}

.admin-reload-search-label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: #cbd5e1;
  margin-bottom: 0.35rem;
}

.admin-reload-search-input {
  width: 100%;
  max-width: 28rem;
  box-sizing: border-box;
}

.admin-reload-search-hint {
  margin: 0.35rem 0 0;
  font-size: 0.78rem;
}

.admin-reload-subsection-title {
  margin-top: 1.75rem;
  margin-bottom: 0.5rem;
}

.admin-reload-subsection-title:first-of-type {
  margin-top: 0.25rem;
}

.admin-reload-subsection-lead {
  margin: 0 0 0.75rem;
  font-size: 0.82rem;
  line-height: 1.45;
}

.admin-lp-sync-note {
  margin: 0.5rem 0 1rem;
  font-size: 0.84rem;
}

.admin-reload-empty {
  margin: 0 0 0.75rem;
  padding: 0.65rem 0.75rem;
  border-radius: 4px;
  background: rgba(148, 163, 184, 0.1);
  border: 1px solid rgba(148, 163, 184, 0.25);
  font-size: 0.88rem;
  color: #cbd5e1;
}

.admin-reload-table-wrap {
  margin-top: 0.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.admin-reload-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.admin-reload-table thead th {
  text-align: left;
  padding: 0.5rem 0.65rem;
  border-bottom: 2px solid #3d3d52;
  color: #ffd54f;
  font-weight: 700;
  white-space: nowrap;
}

.admin-reload-table tbody tr {
  border-bottom: 1px solid rgba(61, 61, 82, 0.85);
}

.admin-reload-table tbody tr:nth-child(even) {
  background: rgba(10, 10, 18, 0.35);
}

.admin-reload-table tbody tr:hover {
  background: rgba(110, 231, 183, 0.06);
}

.admin-reload-table tbody tr[hidden] {
  display: none;
}

.admin-reload-cell {
  padding: 0.55rem 0.65rem;
  vertical-align: top;
  line-height: 1.4;
  color: #e2e8f0;
}

.admin-reload-cell--server {
  white-space: nowrap;
  width: 1%;
}

.admin-reload-cell--name {
  font-weight: 600;
  min-width: 7rem;
}

.admin-reload-cell--cmd {
  min-width: 8rem;
}

.admin-reload-cmd-inline {
  font-size: 0.78rem;
  color: #94a3b8;
  word-break: break-all;
}

.admin-reload-cell--desc {
  color: #cbd5e1;
  font-size: 0.82rem;
  max-width: 28rem;
}

.admin-reload-cell--action {
  white-space: nowrap;
  width: 1%;
  text-align: right;
}

.admin-reload-server {
  display: inline-block;
  padding: 0.15rem 0.45rem;
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.admin-reload-server--survival {
  background: rgba(34, 197, 94, 0.18);
  color: #86efac;
  border: 1px solid rgba(34, 197, 94, 0.35);
}

.admin-reload-server--velocity {
  background: rgba(59, 130, 246, 0.18);
  color: #93c5fd;
  border: 1px solid rgba(59, 130, 246, 0.35);
}

.admin-console-catalog-cat {
  margin: 1.25rem 0 0.5rem;
  font-size: 1.05rem;
  color: #ffd54f;
}

.admin-console-catalog-sub {
  margin: 0.75rem 0 0.35rem;
  font-size: 0.92rem;
  color: #cbd5e1;
}

.admin-console-catalog-table {
  margin-bottom: 0.5rem;
}

.admin-role-flag-form {
  display: inline;
  margin: 0;
}

.admin-role-flag-btn {
  min-width: 2.25rem;
  font-size: 0.82rem;
  padding: 0.2rem 0.5rem;
}

/* AxPlayerWarps — site directory (player + management) */
.axpw-toolbar-stack {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin: 0 0 1rem;
  padding: 0.85rem 1rem 1rem;
  border-radius: 10px;
  border: 2px solid #2a2438;
  background-color: #0f0d16;
  background-image:
    repeating-linear-gradient(
      -28deg,
      transparent 0,
      transparent 3px,
      rgba(255, 255, 255, 0.02) 3px,
      rgba(255, 255, 255, 0.02) 4px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.22) 0,
      rgba(0, 0, 0, 0.22) 1px,
      transparent 1px,
      transparent 14px
    ),
    repeating-linear-gradient(
      0deg,
      rgba(255, 255, 255, 0.03) 0,
      rgba(255, 255, 255, 0.03) 1px,
      transparent 1px,
      transparent 11px
    ),
    linear-gradient(168deg, rgba(42, 36, 62, 0.97) 0%, rgba(18, 14, 28, 0.99) 55%, rgba(10, 8, 16, 1) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -1px 0 rgba(0, 0, 0, 0.35),
    0 4px 14px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}

.axpw-toolbar-stack::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  opacity: 0.35;
  background:
    radial-gradient(ellipse 120% 80% at 20% -10%, rgba(167, 139, 250, 0.14), transparent 55%),
    radial-gradient(ellipse 90% 70% at 100% 100%, rgba(99, 102, 241, 0.1), transparent 50%);
  mix-blend-mode: screen;
}

.axpw-toolbar-row {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
}

.axpw-toolbar-row--primary {
  align-items: stretch;
}

/* MC-style textured controls (match claims “blocks” vibe, purple accent) */
.axpw-toolbar-stack .cp-web-view-toggle {
  padding: 0.2rem;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(30, 26, 48, 0.9) 0%, rgba(12, 10, 20, 0.95) 100%);
  border: 1px solid rgba(80, 72, 110, 0.85);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 2px 6px rgba(0, 0, 0, 0.4);
}

.axpw-toolbar-stack .cp-web-view-toggle .btn-mc.cp-web-view-btn {
  padding: 0.38rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.55);
  border-width: 2px;
  border-style: solid;
  border-color: #4c4668;
  border-radius: 6px;
  background: linear-gradient(180deg, #35304a 0%, #221e34 42%, #15121f 100%);
  color: #e2e8f0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    inset 0 -2px 0 rgba(0, 0, 0, 0.35),
    0 1px 2px rgba(0, 0, 0, 0.45);
  transition: border-color 0.12s ease, color 0.12s ease, filter 0.12s ease, box-shadow 0.12s ease;
}

.axpw-toolbar-stack .cp-web-view-toggle .btn-mc.cp-web-view-btn:hover {
  border-color: #7c6fa3;
  filter: brightness(1.08);
  color: #f8fafc;
}

.axpw-toolbar-stack .cp-web-view-toggle .btn-mc.cp-web-view-btn.cp-web-view-btn--active {
  border-color: #c4b5fd !important;
  color: #f5f3ff !important;
  background: linear-gradient(180deg, #4c3f6e 0%, #342a52 45%, #231c38 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 -1px 0 rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(167, 139, 250, 0.35),
    0 2px 10px rgba(99, 102, 241, 0.2);
}

.axpw-toolbar-row--filters {
  padding-top: 0.35rem;
  border-top: 1px solid rgba(61, 61, 82, 0.65);
  gap: 0.75rem 1.25rem;
}

.axpw-toolbar-row--custom {
  padding: 0.65rem 0.75rem;
  margin: 0 -0.25rem;
  border-radius: 8px;
  background: rgba(167, 139, 250, 0.06);
  border: 1px solid rgba(167, 139, 250, 0.2);
  align-items: flex-start;
  flex-direction: column;
}

.axpw-toolbar-row--custom[hidden] {
  display: none !important;
}

.axpw-search-shell {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 14rem;
  min-width: 0;
  min-height: 2.75rem;
  padding: 0 0.9rem;
  border-radius: 8px;
  border: 2px solid #3f3a55;
  background-color: #08070d;
  background-image:
    repeating-linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.025) 0,
      rgba(255, 255, 255, 0.025) 1px,
      transparent 1px,
      transparent 8px
    ),
    linear-gradient(180deg, rgba(28, 24, 42, 0.95) 0%, rgba(10, 8, 16, 0.98) 100%);
  box-shadow:
    inset 0 2px 4px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.axpw-search-shell:focus-within {
  border-color: #a78bfa;
  box-shadow:
    inset 0 2px 4px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 2px rgba(167, 139, 250, 0.22);
}

.axpw-search-icon {
  flex-shrink: 0;
  width: 1.15rem;
  height: 1.15rem;
  opacity: 0.65;
  background-color: #94a3b8;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.axpw-search-shell:focus-within .axpw-search-icon {
  opacity: 0.9;
  background-color: #c4b5fd;
}

.axpw-search-input {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0.35rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #f1f5f9;
  font-size: 0.95rem;
  line-height: 1.35;
  box-shadow: none;
  outline: none;
}

.axpw-search-input::placeholder {
  color: #64748b;
}

.axpw-search-input::-webkit-search-cancel-button {
  filter: invert(0.75);
  cursor: pointer;
}

.axpw-filter-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
}

.axpw-filter-cluster--grow {
  flex: 1 1 16rem;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem 1.1rem;
}

.axpw-filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.84rem;
  color: #cbd5e1;
  cursor: pointer;
  user-select: none;
}

.axpw-filter-toggle:hover {
  color: #e2e8f0;
}

.axpw-filter-cb {
  width: 1rem;
  height: 1rem;
  accent-color: #a78bfa;
  cursor: pointer;
}

.axpw-filter-field {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.25rem;
  margin: 0;
  min-width: 0;
}

.axpw-filter-field__label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
}

.axpw-toolbar-select {
  min-width: 10.5rem;
  max-width: 100%;
  padding: 0.45rem 2rem 0.45rem 0.65rem;
  border-radius: 6px;
  border: 2px solid #454059;
  background-color: #12101c;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23a5a0c0' d='M1 1.5L6 6l5-4.5'/%3E%3C/svg%3E"),
    linear-gradient(180deg, rgba(40, 36, 58, 0.9) 0%, rgba(18, 16, 28, 0.98) 100%);
  background-repeat: no-repeat, no-repeat;
  background-position: right 0.55rem center, 0 0;
  background-size: 10px 6px, 100% 100%;
  color: #e2e8f0;
  font-size: 0.88rem;
  line-height: 1.3;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

.axpw-toolbar-select:hover {
  border-color: #6b6390;
}

.axpw-toolbar-select:focus {
  outline: none;
  border-color: #a78bfa;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 0 2px rgba(167, 139, 250, 0.2);
}

.axpw-custom-hint {
  margin: 0 0 0.35rem;
  font-size: 0.82rem;
  color: #cbd5e1;
  max-width: 42rem;
}

.axpw-custom-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem 1rem;
  width: 100%;
}

/* Warp tiles: popovers extend outside the chest; default chest uses overflow:hidden */
.cp-web-chest.axpw-warp-tiles-chest {
  overflow: visible;
}

.cp-web-chest.axpw-warp-tiles-chest .cp-web-chest-body {
  overflow: visible;
}

#axpw-tiles-view.cp-claims-chest-pane {
  overflow: visible;
}

.axpw-warp-tiles-chest .axpw-tiles-grid {
  padding-top: 0.35rem;
  padding-bottom: 3.25rem;
}

.axpw-mc-tile-outer {
  display: block;
  position: relative;
  z-index: 0;
}

.axpw-mc-tile-outer:has(.axpw-mc-tile-stack--tp:hover),
.axpw-mc-tile-outer:has(.axpw-mc-tile-stack--tp:focus-within) {
  z-index: 120;
}

.axpw-mc-tile-stack {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  vertical-align: top;
}

/* Lift on hover so the pop-under isn’t painted under later tiles in the flex grid (also helps when :has() is unsupported). */
.axpw-mc-tile-stack--tp:hover,
.axpw-mc-tile-stack--tp:focus-within {
  z-index: 120;
}

/* Invisible hover bridge: only active while hovered so it doesn’t block tiles below */
.axpw-mc-tile-stack--tp::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 100%;
  width: calc(100% + 28px);
  min-width: 7.25rem;
  height: 20px;
  transform: translateX(-50%);
  z-index: 5;
  pointer-events: none;
}

.axpw-mc-tile-stack--tp:hover::after,
.axpw-mc-tile-stack--tp:focus-within::after {
  pointer-events: auto;
}

/* Pop below tile, tucked close to the anchor so it’s easy to reach */
.axpw-mc-tile-pop {
  position: absolute;
  top: calc(100% - 3px);
  bottom: auto;
  left: 50%;
  z-index: 6;
  min-width: 100%;
  display: flex;
  justify-content: center;
  padding: 0 0 0.1rem;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(-5px) scale(0.9);
  transform-origin: 50% 0;
  transition:
    opacity 0.14s ease,
    transform 0.18s cubic-bezier(0.34, 1.45, 0.64, 1),
    visibility 0s linear 0.16s;
}

.axpw-mc-tile-stack--tp:hover .axpw-mc-tile-pop,
.axpw-mc-tile-stack--tp:focus-within .axpw-mc-tile-pop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
  transition-delay: 0s, 0s, 0s;
}

/* Auction House: JS toggles this on tile outer mouseenter so the pop matches Player Warps even when :hover on the stack is unreliable (e.g. draggable tiles). */
.axpw-mc-tile-stack--tp.ah-tile-pop--open {
  z-index: 120;
}

.axpw-mc-tile-stack--tp.ah-tile-pop--open::after {
  pointer-events: auto;
}

.axpw-mc-tile-stack--tp.ah-tile-pop--open .axpw-mc-tile-pop {
  z-index: 5000;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
  transition-delay: 0s, 0s, 0s;
}

.axpw-mc-tile-outer:has(.ah-tile-pop--open) {
  z-index: 120;
}

.axpw-mc-tile-pop__bubble .ah-tile-pop-link {
  text-decoration: none;
  box-sizing: border-box;
}

/* Auction House browse: beat any stray account rules that hide the warp-style pop */
/* ID-only so pop rules apply even if the grid class list changes */
#ah-tiles-grid .axpw-mc-tile-stack--tp:hover .axpw-mc-tile-pop,
#hb-es-tiles .axpw-mc-tile-stack--tp:hover .axpw-mc-tile-pop,
/* No :focus-within here — a focused cart/bid button would otherwise keep the pop open after mouseleave. */
#ah-tiles-grid .axpw-mc-tile-stack--tp.ah-tile-pop--open .axpw-mc-tile-pop,
#hb-es-tiles .axpw-mc-tile-stack--tp.ah-tile-pop--open .axpw-mc-tile-pop,
#ah-tiles-grid .axpw-mc-tile-outer:hover .axpw-mc-tile-stack--tp .axpw-mc-tile-pop,
#hb-es-tiles .axpw-mc-tile-outer:hover .axpw-mc-tile-stack--tp .axpw-mc-tile-pop {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) scale(1) !important;
  transition-delay: 0s, 0s, 0s !important;
}

/* BIN tiles use axpw-mc-tile-stack--tp (same ::after bridge + pop as player warps; do not add a second modifier — only one ::after per element). */

.axpw-mc-tile-pop__bubble {
  padding: 0.45rem 0.55rem 0.5rem;
  margin: 0;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55);
  border-radius: 10px;
  border: 1px solid rgba(167, 139, 250, 0.45);
  background: linear-gradient(165deg, #1e1e2e 0%, #14141f 100%);
}

.axpw-mc-tile-pop__bubble .btn-mc-teleport,
.axpw-mc-tile-pop__bubble .btn-mc-ah-cart,
.axpw-mc-tile-pop__bubble .btn-mc-ah-cart-remove,
.axpw-mc-tile-pop__bubble .btn-mc-spectral-danger,
.axpw-mc-tile-pop__bubble .btn-mc-edit,
.axpw-mc-tile-pop__bubble .btn-mc-secondary,
.axpw-mc-tile-pop__bubble .btn-mc-danger {
  width: 100%;
  min-width: 6.5rem;
  justify-content: center;
}

.axpw-mc-tile-pop__bubble a.btn-mc-edit.ah-tile-pop-stack-btn {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
}

.ah-tile-pop-menu {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  align-items: stretch;
  min-width: 7.5rem;
}

.ah-tile-pop-stack-btn {
  width: 100%;
  min-width: 6.5rem;
  box-sizing: border-box;
  text-decoration: none;
}

a.ah-tile-pop-stack-btn:hover {
  text-decoration: none;
}

.ah-tile-pop-btn-inn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
}

.ah-tile-pop-ic {
  flex-shrink: 0;
  opacity: 0.92;
}

.axpw-mc-tile-pop__bubble .ah-tile-pop-hint {
  margin: 0;
  font-size: 0.68rem;
  line-height: 1.35;
  text-align: center;
}

.ah-list-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.axpw-mc-tile-pop__bubble .cp-web-tp-feedback {
  margin-top: 0.35rem;
  text-align: center;
  font-size: 0.72rem;
}

a.axpw-mc-tile {
  box-sizing: border-box;
}

a.axpw-mc-tile--draggable[draggable="true"],
.axpw-mc-tile.axpw-mc-tile--draggable[draggable="true"] {
  cursor: grab;
  touch-action: none;
}

a.axpw-mc-tile--draggable[draggable="true"]:active,
.axpw-mc-tile.axpw-mc-tile--draggable[draggable="true"]:active {
  cursor: grabbing;
}

.axpw-mc-tile--dragging {
  cursor: grabbing !important;
  opacity: 0.55;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5);
}

.axpw-mc-tile--drop-hover {
  outline: 2px dashed rgba(167, 139, 250, 0.9);
  outline-offset: 3px;
  border-radius: 8px;
}

.axpw-tiles--drag-active .axpw-mc-tile--draggable:not(.axpw-mc-tile--dragging) {
  outline: 1px dashed rgba(167, 139, 250, 0.28);
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .axpw-toolbar-stack {
    padding: 0.65rem 0.75rem 0.85rem;
  }

  .axpw-toolbar-select {
    min-width: 0;
    width: 100%;
  }

  .axpw-filter-cluster--grow {
    flex-direction: column;
    align-items: stretch;
  }
}

.axpw-tiles-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: stretch;
}

.axpw-mc-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 7.5rem;
  min-height: 7.5rem;
  padding: 0.55rem 0.45rem 0.5rem;
  border-radius: 8px;
  border: 2px solid #3d3d52;
  background: linear-gradient(165deg, #1e1e2e 0%, #12121c 100%);
  text-decoration: none;
  color: #e2e8f0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: border-color 0.12s ease, transform 0.12s ease, box-shadow 0.12s ease;
}

.axpw-mc-tile:hover:not(.axpw-mc-tile--dragging) {
  border-color: #a78bfa;
  transform: translateY(-2px);
  color: #f8fafc;
}

.axpw-mc-tile--mine {
  border-color: #4ade80;
  box-shadow: 0 0 0 1px rgba(74, 222, 128, 0.25);
}

.axpw-mc-slot {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 6px;
  background: radial-gradient(circle at 30% 25%, #334155 0%, #0f172a 70%);
  border: 2px solid #64748b;
  margin-bottom: 0.35rem;
}

.axpw-mc-slot .mc-item-img {
  flex-shrink: 0;
  display: block;
  object-fit: contain;
}

.axpw-mc-face {
  font-size: 1.35rem;
  font-weight: 800;
  color: #fde68a;
  line-height: 1;
}

.axpw-mc-label {
  font-weight: 700;
  font-size: 0.82rem;
  color: #ffd54f;
  margin: 0 0 0.15rem;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.axpw-mc-meta {
  font-size: 0.68rem;
  color: #94a3b8;
  line-height: 1.25;
  max-width: 100%;
}

.axpw-mc-acc {
  font-size: 0.65rem;
  color: #a78bfa;
  margin-top: 0.2rem;
  text-transform: lowercase;
}

.axpw-readonly-dl {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 0.35rem 0.75rem;
  margin: 0 0 1rem;
  font-size: 0.88rem;
}

.axpw-readonly-dl dt {
  margin: 0;
  color: #94a3b8;
  font-weight: 600;
}

.axpw-readonly-dl dd {
  margin: 0;
  color: #e2e8f0;
}

.axpw-form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.65rem;
  align-items: flex-end;
  margin-bottom: 0.85rem;
}

.axpw-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.axpw-lists {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

@media (max-width: 720px) {
  .axpw-lists {
    grid-template-columns: 1fr;
  }
}

.axpw-list-names {
  margin: 0.35rem 0;
  min-height: 1.5rem;
}

.axpw-danger {
  border-top: 1px solid rgba(239, 68, 68, 0.35);
  padding-top: 0.75rem;
  margin-top: 0.5rem;
}

.axpw-edit-title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  color: #fde68a;
}

.axpw-detail-panel .btn-mc,
.axpw-detail-panel .btn-mc.btn-mc-secondary {
  padding: 0.42rem 0.85rem;
  font-size: 0.82rem;
  font-weight: 700;
  border-width: 1px;
  line-height: 1.2;
  min-height: 0;
  box-sizing: border-box;
}

.admin-main .axpw-panel {
  margin-top: 0.75rem;
}

/* Warp detail — hero card, stars, about tile */
.axpw-detail-back {
  max-width: 52rem;
  margin-inline: auto;
}

.axpw-detail-hero {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 1.5rem;
  align-items: flex-start;
  padding: 1.25rem 1.35rem 1.35rem;
  max-width: 52rem;
  margin-inline: auto;
  border-radius: 12px;
  background:
    linear-gradient(145deg, rgba(30, 27, 75, 0.55) 0%, rgba(15, 23, 42, 0.92) 45%, rgba(12, 10, 40, 0.95) 100%);
  border: 2px solid rgba(167, 139, 250, 0.35);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.axpw-detail-hero__visual {
  flex: 0 0 auto;
}

.axpw-detail-icon-slot {
  width: 4.5rem;
  height: 4.5rem;
  min-width: 4.5rem;
  min-height: 4.5rem;
}

.axpw-detail-icon-slot .mc-item-img {
  width: 40px;
  height: 40px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

.axpw-detail-hero__body {
  flex: 1 1 16rem;
  min-width: 0;
}

.axpw-detail-title {
  margin: 0 0 0.25rem;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  color: #fef9c3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.axpw-detail-owner {
  margin: 0 0 0.65rem;
  font-size: 0.92rem;
  color: #cbd5e1;
}

.axpw-detail-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.65rem;
}

.axpw-chip {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  background: rgba(167, 139, 250, 0.22);
  color: #e9d5ff;
  border: 1px solid rgba(167, 139, 250, 0.45);
}

.axpw-chip--sub {
  background: rgba(51, 65, 85, 0.65);
  color: #cbd5e1;
  border-color: rgba(100, 116, 139, 0.5);
  text-transform: none;
  font-weight: 600;
}

.axpw-detail-stars {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem 0.35rem;
  margin-bottom: 0.75rem;
}

.axpw-star {
  display: block;
  flex-shrink: 0;
}

.axpw-detail-stars-meta {
  font-size: 0.78rem;
  margin-left: 0.25rem;
}

.axpw-detail-stars-block {
  margin-bottom: 0.5rem;
}

.axpw-detail-stars-caption {
  margin: 0 0 0.25rem;
  font-size: 0.78rem;
}

.axpw-detail-stars--average {
  margin-bottom: 0.35rem;
}

.axpw-detail-stars-block--rate .axpw-detail-stars--interactive {
  margin-bottom: 0.35rem;
}

.axpw-star-hit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.1rem;
  margin: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  line-height: 0;
  transition: filter 0.12s ease, transform 0.1s ease;
}

.axpw-star-hit:focus-visible {
  outline: 2px solid rgba(251, 191, 36, 0.85);
  outline-offset: 2px;
}

.axpw-star-hit:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.axpw-star-hit--hover .axpw-star,
.axpw-detail-stars--hovering .axpw-star-hit.axpw-star-hit--hover .axpw-star {
  filter: drop-shadow(0 0 5px rgba(251, 191, 36, 0.95)) drop-shadow(0 0 10px rgba(245, 158, 11, 0.55));
}

.axpw-star-hit--on .axpw-star {
  filter: none;
}

.axpw-detail-stars--hovering .axpw-star-hit.axpw-star-hit--hover.axpw-star-hit--on .axpw-star {
  filter: drop-shadow(0 0 4px rgba(251, 191, 36, 0.9));
}

.axpw-rate-hint {
  margin: 0.35rem 0 0;
  max-width: 28rem;
}

.axpw-detail-tp-row {
  margin-top: 0.15rem;
}

.axpw-detail-tp-hint,
.axpw-price-hint {
  margin: 0.5rem 0 0;
  max-width: 28rem;
}

.axpw-detail-icon-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 14px;
  outline-offset: 4px;
  transition: transform 0.14s ease, filter 0.14s ease;
  font: inherit;
  color: inherit;
}

.axpw-detail-icon-open:hover {
  transform: scale(1.03);
  filter: brightness(1.08);
}

.axpw-detail-icon-open:focus-visible {
  outline: 2px solid #fbbf24;
}

.axpw-detail-icon-frame {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  border-radius: 12px;
  border: 3px solid rgba(196, 181, 253, 0.55);
  box-shadow:
    0 0 0 1px rgba(15, 23, 42, 0.65),
    0 10px 32px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  background: linear-gradient(155deg, rgba(55, 48, 120, 0.5) 0%, rgba(15, 23, 42, 0.92) 100%);
}

.axpw-detail-icon-frame--readonly {
  opacity: 0.95;
  border-color: rgba(129, 140, 248, 0.4);
}

.axpw-detail-icon-open:hover .axpw-detail-icon-frame,
.axpw-detail-icon-open:focus-visible .axpw-detail-icon-frame {
  border-color: rgba(251, 191, 36, 0.75);
  box-shadow:
    0 0 0 1px rgba(15, 23, 42, 0.65),
    0 12px 36px rgba(124, 58, 237, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.axpw-detail-hero-about {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  width: 100%;
}

.axpw-detail-hero-about__title {
  margin-bottom: 0.5rem;
}

.axpw-detail-edit-nav {
  max-width: 52rem;
  margin-inline: auto;
  margin-top: 1rem;
  padding: 1rem 1.2rem 1.15rem;
}

.axpw-detail-section-title {
  margin: 0 0 0.65rem;
  font-size: 1rem;
  color: #fde68a;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.axpw-detail-desc-tile {
  padding: 0.85rem 1rem;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.75) 0%, rgba(15, 23, 42, 0.5) 100%);
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.axpw-detail-desc {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #e2e8f0;
}

.axpw-detail-desc-empty {
  margin: 0;
}

.axpw-detail-readonly-note {
  max-width: 52rem;
  margin-inline: auto;
  margin-top: 0.75rem;
}

.axpw-detail-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
  margin-top: 0.35rem;
}

.axpw-detail-actions .axpw-detail-tp-row {
  margin-top: 0;
}

/* Player warp — dedicated edit page */
.axpw-edit-page {
  max-width: 52rem;
  margin-inline: auto;
}

.axpw-edit-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin: 0 0 0.85rem;
  font-size: 0.88rem;
}

.axpw-edit-nav__link {
  color: #c4b5fd;
  text-decoration: none;
  font-weight: 600;
}

.axpw-edit-nav__link:hover {
  color: #e9d5ff;
  text-decoration: underline;
}

.axpw-edit-nav__sep {
  color: #64748b;
  user-select: none;
}

.axpw-edit-page-hero {
  padding: 1.1rem 1.25rem 1.2rem;
  border-radius: 12px;
  margin-bottom: 0.25rem;
  background:
    linear-gradient(155deg, rgba(49, 46, 129, 0.45) 0%, rgba(15, 23, 42, 0.92) 42%, rgba(10, 8, 35, 0.96) 100%);
  border: 2px solid rgba(129, 140, 248, 0.38);
  box-shadow:
    0 10px 36px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.axpw-edit-page-title {
  margin: 0 0 0.2rem;
  font-size: clamp(1.2rem, 2.8vw, 1.55rem);
  color: #fef08a;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.axpw-edit-page-sub {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  color: #e2e8f0;
}

.axpw-edit-page-hint {
  margin: 0;
  max-width: 40rem;
}

.axpw-edit-page-hint + .axpw-edit-page-hint {
  margin-top: 0.4rem;
}

.axpw-edit-zone.axpw-detail-panel {
  margin-top: 1rem;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.axpw-edit-section {
  margin-top: 1.15rem;
}

.axpw-edit-section:first-of-type {
  margin-top: 0.35rem;
}

.axpw-edit-section__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}

.axpw-edit-section__head::after {
  content: '';
  flex: 1;
  min-width: 2rem;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(
    90deg,
    rgba(167, 139, 250, 0.75) 0%,
    rgba(99, 102, 241, 0.35) 45%,
    transparent 100%
  );
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}

.axpw-edit-section__title {
  margin: 0;
  flex-shrink: 0;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fde68a;
}

.axpw-edit-section__body {
  padding: 1.05rem 1.2rem 1.15rem;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(22, 26, 48, 0.92) 0%, rgba(12, 14, 32, 0.96) 100%);
  border: 1px solid rgba(100, 116, 139, 0.28);
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.axpw-edit-section--danger .axpw-edit-section__head::after {
  background: linear-gradient(
    90deg,
    rgba(248, 113, 113, 0.55) 0%,
    rgba(185, 28, 28, 0.2) 50%,
    transparent 100%
  );
}

.axpw-edit-section--danger .axpw-edit-section__title {
  color: #fecaca;
}

.axpw-edit-section__body--danger {
  border-color: rgba(239, 68, 68, 0.28);
  background:
    linear-gradient(180deg, rgba(40, 20, 24, 0.5) 0%, rgba(15, 14, 28, 0.95) 100%);
}

.axpw-edit-field {
  margin-bottom: 1rem;
}

.axpw-edit-field:last-child {
  margin-bottom: 0;
}

.axpw-edit-field__label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}

.axpw-edit-muted {
  margin: 0 0 0.65rem;
  max-width: 36rem;
}

.axpw-edit-input,
.axpw-edit-textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.axpw-edit-textarea {
  min-height: 6.5rem;
  resize: vertical;
}

.axpw-edit-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.65rem;
}

.axpw-edit-inline .axpw-edit-input {
  flex: 1 1 12rem;
  min-width: 0;
  width: auto;
}

.axpw-edit-inline--wrap {
  align-items: stretch;
}

.axpw-edit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.55rem;
}

.axpw-edit-field--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.25rem;
}

@media (max-width: 640px) {
  .axpw-edit-field--split {
    grid-template-columns: 1fr;
  }
}

.axpw-edit-field__col {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 0;
}

.axpw-edit-field__col .axpw-edit-select {
  width: 100%;
}

.axpw-edit-field__btn {
  align-self: flex-start;
}

.axpw-edit-divider {
  height: 1px;
  margin: 1rem 0;
  background: linear-gradient(90deg, transparent, rgba(148, 163, 184, 0.35), transparent);
}

.axpw-lists--edit {
  margin-top: 0;
}

.axpw-list-card {
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(71, 85, 105, 0.35);
}

.axpw-list-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #cbd5e1;
}

.axpw-edit-zone .btn-mc,
.axpw-edit-zone .btn-mc.btn-mc-secondary,
.axpw-edit-zone .btn-mc-edit {
  padding: 0.48rem 1rem;
  font-size: 0.84rem;
  font-weight: 700;
  border-width: 2px;
  line-height: 1.2;
  min-height: 0;
  box-sizing: border-box;
}

.axpw-edit-zone .btn-mc-edit {
  font-size: 0.8rem;
  letter-spacing: 0.06em;
}

/* Warp edit — hub tiles */
.axpw-edit-hub__intro {
  margin: 0 0 1rem;
  max-width: 40rem;
}

.axpw-edit-hub__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
  gap: 0.85rem 1rem;
  margin-top: 0.25rem;
}

a.axpw-edit-hub-tile,
button.axpw-edit-hub-tile {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.75rem 0.85rem;
  padding: 0.85rem 1rem 0.85rem 0.85rem;
  text-decoration: none;
  color: inherit;
  border-radius: 10px;
  background:
    linear-gradient(145deg, rgba(35, 32, 75, 0.65) 0%, rgba(15, 23, 42, 0.92) 50%, rgba(10, 12, 32, 0.96) 100%);
  border: 2px solid rgba(129, 140, 248, 0.35);
  box-shadow:
    0 6px 22px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
  transition: transform 0.14s ease, border-color 0.14s ease, filter 0.14s ease, box-shadow 0.14s ease;
}

button.axpw-edit-hub-tile {
  width: 100%;
  text-align: left;
  cursor: pointer;
  font: inherit;
  appearance: none;
}

a.axpw-edit-hub-tile:hover,
button.axpw-edit-hub-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(196, 181, 253, 0.65);
  filter: brightness(1.06);
  box-shadow:
    0 10px 32px rgba(0, 0, 0, 0.42),
    0 0 24px rgba(124, 58, 237, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

a.axpw-edit-hub-tile:focus-visible,
button.axpw-edit-hub-tile:focus-visible {
  outline: 2px solid #22d3ee;
  outline-offset: 3px;
}

.axpw-edit-hub-tile__icon {
  flex-shrink: 0;
  width: 3.25rem;
  height: 3.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.axpw-edit-hub-tile__icon .mc-item-img {
  width: 40px;
  height: 40px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

.axpw-edit-hub-tile__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.axpw-edit-hub-tile__title {
  font-weight: 800;
  font-size: 0.95rem;
  color: #fef9c3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.axpw-edit-hub-tile__sub {
  font-size: 0.78rem;
  color: #94a3b8;
  line-height: 1.35;
}

.axpw-edit-hub-tile__chev {
  flex-shrink: 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: rgba(167, 139, 250, 0.85);
  line-height: 1;
}

.axpw-edit-section-nav {
  margin: 0 0 0.85rem;
}

/* Warp icon picker */
.axpw-icon-current {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.axpw-icon-current__label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}

.axpw-icon-current__slot {
  width: 5.5rem;
  height: 5.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.axpw-icon-current__slot .mc-item-img {
  width: 56px;
  height: 56px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

.axpw-icon-current__mat {
  margin: 0;
  font-family: ui-monospace, monospace;
  font-size: 0.88rem;
  color: #e2e8f0;
}

.axpw-icon-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.65rem;
  align-items: center;
}

body.axpw-icon-popover-open {
  overflow: hidden;
}

.axpw-icon-grid-loading {
  margin: 0.65rem 0.35rem;
}

/* Injected only when <dialog>.showModal() is unavailable (very old browsers) */
.axpw-icon-popover-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147483645;
  background: rgba(2, 6, 23, 0.72);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

/* Native modal top layer — above any page z-index (nav interstitial, etc.) */
dialog.axpw-icon-popover {
  max-width: 100vw;
  max-height: 100vh;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 1rem;
  border: none;
  box-sizing: border-box;
  background: transparent;
  color: inherit;
  overflow: hidden;
}

dialog.axpw-icon-popover[open] {
  display: flex;
  align-items: center;
  justify-content: center;
}

dialog.axpw-icon-popover::backdrop {
  background: rgba(2, 6, 23, 0.72);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.axpw-icon-popover__panel {
  position: relative;
  z-index: 1;
  max-width: 100%;
  width: min(42rem, 100%);
  max-height: min(85vh, 40rem);
  display: flex;
  flex-direction: column;
  padding: 0.85rem 1rem 1rem;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(22, 26, 48, 0.98) 0%, rgba(10, 12, 28, 0.99) 100%);
  border: 2px solid rgba(129, 140, 248, 0.4);
  box-shadow:
    0 24px 64px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.axpw-icon-popover__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.axpw-icon-popover__title {
  margin: 0;
  font-size: 1rem;
  color: #fde68a;
}

.axpw-icon-popover__close {
  flex-shrink: 0;
  padding: 0.35rem 0.65rem !important;
  font-size: 0.75rem !important;
}

.axpw-icon-popover__search-wrap {
  margin-bottom: 0.65rem;
}

.axpw-icon-popover__search {
  width: 100%;
  box-sizing: border-box;
}

.axpw-icon-popover__scroll {
  flex: 1 1 auto;
  min-height: 12rem;
  overflow: auto;
  border-radius: 8px;
  border: 1px solid rgba(71, 85, 105, 0.45);
  background: rgba(15, 23, 42, 0.55);
  padding: 0.5rem;
}

.axpw-icon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr));
  gap: 0.35rem 0.4rem;
}

.axpw-icon-grid__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding: 0.4rem 0.25rem 0.45rem;
  margin: 0;
  border: 1px solid rgba(100, 116, 139, 0.4);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.75) 0%, rgba(15, 23, 42, 0.9) 100%);
  cursor: pointer;
  color: #e2e8f0;
  transition: border-color 0.12s ease, filter 0.12s ease, transform 0.12s ease;
}

.axpw-icon-grid__btn:hover {
  border-color: rgba(196, 181, 253, 0.75);
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.axpw-icon-grid__btn:focus-visible {
  outline: 2px solid #fbbf24;
  outline-offset: 2px;
}

.axpw-icon-grid__btn .mc-item-img {
  width: 32px;
  height: 32px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

.axpw-icon-grid__btn .axpw-icon-grid__img {
  opacity: 0;
  transition: opacity 0.14s ease;
}

.axpw-icon-grid__btn .axpw-icon-grid__img[data-hb-icon-ready='1'] {
  opacity: 1;
}

.axpw-icon-grid__label {
  font-size: 0.62rem;
  line-height: 1.2;
  text-align: center;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.axpw-icon-popover__foot {
  margin: 0.55rem 0 0;
  font-size: 0.78rem;
}

.axpw-mc-tile .mc-item-img {
  width: 36px;
  height: 36px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

.axpw-table-icon-wrap {
  display: inline-flex;
  vertical-align: middle;
  margin-right: 0.35rem;
}

.axpw-table-icon-wrap .mc-item-img {
  width: 24px;
  height: 24px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  vertical-align: middle;
}

/* E-commerce module */
.ecom-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.75rem;
}

.ecom-subnav-link {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(120, 140, 190, 0.45);
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  color: #d7e3ff;
  text-decoration: none;
  font-size: 0.82rem;
  line-height: 1.1;
}

.ecom-subnav-link:hover {
  border-color: rgba(154, 179, 244, 0.9);
  background: rgba(154, 179, 244, 0.12);
}

.ecom-subnav-link.is-active {
  border-color: rgba(95, 255, 181, 0.8);
  background: rgba(95, 255, 181, 0.12);
  color: #9dffd4;
}

.ecom-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.85rem;
  margin: 0.85rem 0;
}

.ecom-kpi-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.ecom-kpi-label {
  font-size: 0.78rem;
  color: #b7c8ee;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ecom-kpi-value {
  font-size: 1.5rem;
  line-height: 1;
}

.ecom-checklist {
  margin: 0.65rem 0 0;
  padding-left: 1.1rem;
}

.ecom-checklist li {
  margin: 0.28rem 0;
}

.ecom-two-col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 0.85rem;
  margin-bottom: 0.85rem;
}

.ecom-form-grid {
  display: grid;
  gap: 0.55rem;
}

.ecom-product-picker {
  border: 1px solid rgba(126, 145, 185, 0.35);
  border-radius: 10px;
  padding: 0.55rem;
  max-height: 280px;
  overflow: auto;
  background: rgba(6, 11, 22, 0.45);
}

.ecom-product-picker-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  margin: 0.3rem 0;
}

.ecom-product-picker-name {
  font-size: 0.84rem;
}

.ecom-product-picker-qty {
  width: 88px;
}

.ecom-store-preview {
  margin-top: 0.85rem;
}

.ecom-store-preview-head h2 {
  margin: 0 0 0.25rem;
}

.ecom-store-preview-head p {
  margin: 0 0 0.85rem;
  color: #b4c6ed;
}

.ecom-store-preview-category + .ecom-store-preview-category {
  margin-top: 1rem;
}

.ecom-store-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.75rem;
}

.ecom-store-card {
  border: 1px solid rgba(126, 145, 185, 0.35);
  border-radius: 12px;
  padding: 0.8rem;
  background: linear-gradient(160deg, rgba(13, 21, 40, 0.95), rgba(8, 14, 28, 0.95));
}

.ecom-store-card h4 {
  margin: 0 0 0.45rem;
  font-size: 0.95rem;
}

.ecom-store-price {
  margin: 0 0 0.45rem;
  font-weight: 700;
  color: #9dffd4;
}

.ecom-store-desc {
  margin: 0 0 0.6rem;
  color: #b7c8ee;
  font-size: 0.8rem;
}

.ecom-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  margin-bottom: 0.6rem;
}

.ecom-toolbar-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.ecom-inline-form {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.ecom-inline-form .ecom-payments-select {
  min-width: 280px;
  max-width: 460px;
}

.ecom-form-compact {
  max-width: 760px;
}

.ecom-actions-row {
  white-space: nowrap;
}

.ecom-manual-picker {
  border: 1px solid rgba(126, 145, 185, 0.35);
  border-radius: 10px;
  padding: 0.65rem;
  background: rgba(6, 11, 22, 0.45);
}

.ecom-selected-lines {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-top: 0.55rem;
}

.ecom-selected-line {
  display: grid;
  grid-template-columns: 56px 1fr;
  align-items: center;
  gap: 0.6rem;
  border: 1px solid rgba(120, 140, 190, 0.45);
  border-radius: 10px;
  padding: 0.45rem 0.58rem;
  background: linear-gradient(165deg, rgba(13, 23, 43, 0.9), rgba(9, 17, 34, 0.94));
}

.ecom-selected-line-media {
  width: 52px;
  height: 52px;
  border-radius: 8px;
  border: 1px solid rgba(128, 152, 198, 0.46);
  background: rgba(8, 16, 31, 0.92);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.ecom-selected-line-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ecom-selected-line-image.is-missing {
  background: linear-gradient(135deg, rgba(53, 75, 116, 0.5), rgba(32, 50, 82, 0.5));
}

.ecom-selected-line-main {
  min-width: 0;
}

.ecom-selected-line-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
}

.ecom-selected-line-name {
  font-size: 0.83rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ecom-selected-line-price {
  color: #9dffd4;
  font-size: 0.78rem;
  white-space: nowrap;
}

.ecom-selected-line-controls {
  margin-top: 0.35rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.ecom-selected-line label {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: #dbe8ff;
}

.ecom-selected-line-qty {
  width: 78px;
  margin: 0;
}

.ecom-selected-line-total-wrap {
  font-size: 0.78rem;
  color: #cad8f3;
}

.ecom-selected-line-total-wrap strong {
  color: #9dffd4;
}

.ecom-public-main {
  max-width: 1180px;
  margin: 1rem auto 1.5rem;
}

.ecom-public-hero {
  margin-bottom: 0.8rem;
}

.ecom-public-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.55rem;
}

.ecom-badge {
  display: inline-flex;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(95, 255, 181, 0.45);
  color: #9dffd4;
  font-size: 0.78rem;
}

.ecom-sidebar-alert {
  margin-left: 0.45rem;
  display: inline-flex;
  min-width: 1.2rem;
  height: 1.2rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 0.32rem;
  font-size: 0.72rem;
  font-weight: 700;
  background: rgba(250, 120, 120, 0.18);
  border: 1px solid rgba(255, 147, 147, 0.55);
  color: #ffd1d1;
}

.ecom-public-category {
  margin-top: 0.75rem;
}

.ecom-public-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 0.65rem;
}

.ecom-public-card {
  border: 1px solid rgba(126, 145, 185, 0.35);
  border-radius: 10px;
  padding: 0.72rem;
  background: linear-gradient(165deg, rgba(13, 21, 40, 0.95), rgba(8, 14, 28, 0.95));
}

.ecom-public-image {
  display: block;
  width: 100%;
  height: 130px;
  object-fit: contain;
  border-radius: 8px;
  margin: 0 0 0.5rem;
  border: 1px solid rgba(126, 145, 185, 0.3);
  background: rgba(5, 10, 22, 0.7);
  padding: 0.25rem;
}

.ecom-public-card h3 {
  margin: 0 0 0.32rem;
  font-size: 0.95rem;
}

.ecom-public-price {
  margin: 0 0 0.38rem;
  font-weight: 700;
  color: #9dffd4;
}

.ecom-public-copy {
  margin: 0 0 0.55rem;
  font-size: 0.8rem;
  color: #c0cfef;
}

.ecom-rich-copy p {
  margin: 0 0 0.62rem;
  line-height: 1.45;
}

.ecom-rich-copy p:last-child {
  margin-bottom: 0;
}

.ecom-rich-copy ul,
.ecom-rich-copy ol {
  margin: 0 0 0.62rem 1.1rem;
  padding: 0;
}

.ecom-rich-copy li {
  margin: 0 0 0.34rem;
}

.ecom-product-detail {
  display: grid;
  grid-template-columns: minmax(170px, 240px) minmax(0, 1fr);
  gap: 0.9rem;
  align-items: start;
}

.ecom-product-media {
  border: 1px solid rgba(126, 145, 185, 0.35);
  border-radius: 10px;
  background: radial-gradient(circle at 26% 18%, rgba(38, 82, 146, 0.3), rgba(5, 11, 24, 0.94));
  min-height: 190px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
}

.ecom-product-detail .ecom-public-image {
  width: 100%;
  max-width: 220px;
  height: 170px;
  margin: 0;
}

.ecom-product-main {
  min-width: 0;
}

.ecom-product-main .ecom-public-copy {
  font-size: 0.88rem;
}

.ecom-product-placeholder {
  width: 100%;
  max-width: 220px;
  height: 170px;
  border-radius: 8px;
  border: 1px dashed rgba(157, 201, 255, 0.46);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #a8cbff;
  background: rgba(8, 17, 34, 0.85);
}

@media (max-width: 860px) {
  .ecom-product-detail {
    grid-template-columns: 1fr;
  }
}

.ecom-checkout-toggle-row {
  display: flex;
  align-items: center;
}

.account-form label.ecom-checkout-switch {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  user-select: none;
  color: #e5efff;
  font-weight: 700;
  font-size: 0.84rem;
  margin: 0;
}

.account-form label.ecom-checkout-switch.ecom-checkout-switch--right-row {
  width: 100%;
  justify-content: space-between;
  gap: 0.8rem;
}

.ecom-checkout-switch input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.ecom-checkout-switch-track {
  position: relative;
  width: 2.8rem;
  height: 1.48rem;
  border-radius: 999px;
  background: rgba(31, 44, 71, 0.95);
  border: 1px solid rgba(125, 145, 186, 0.58);
  transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.ecom-checkout-switch-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(1.48rem - 6px);
  height: calc(1.48rem - 6px);
  border-radius: 50%;
  background: #9eb7e2;
  transition: transform 0.16s ease, background 0.16s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}

.ecom-checkout-switch input:focus-visible + .ecom-checkout-switch-track {
  outline: 2px solid rgba(96, 178, 255, 0.65);
  outline-offset: 2px;
}

.ecom-checkout-switch input:checked + .ecom-checkout-switch-track {
  background: linear-gradient(135deg, rgba(49, 150, 104, 0.58), rgba(16, 185, 129, 0.55));
  border-color: rgba(103, 236, 175, 0.75);
  box-shadow: 0 0 10px rgba(46, 205, 151, 0.35);
}

.ecom-checkout-switch input:checked + .ecom-checkout-switch-track .ecom-checkout-switch-thumb {
  transform: translateX(1.32rem);
  background: #dfffee;
}

.ecom-right-switch-row-text {
  display: inline-block;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.35;
  color: #e5efff;
}

.ecom-aff-program-grid-wrap {
  max-width: 1080px;
  margin: 0 auto 1rem;
}

.ecom-aff-program-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.ecom-aff-cell {
  min-height: 170px;
}

.ecom-aff-application-select,
.ecom-aff-select-fancy {
  appearance: none;
  width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(141, 166, 214, 0.62);
  background:
    linear-gradient(160deg, rgba(56, 84, 142, 0.3), rgba(16, 30, 58, 0.86) 46%, rgba(11, 21, 41, 0.96)),
    linear-gradient(180deg, rgba(31, 50, 88, 0.96), rgba(21, 36, 67, 0.96));
  color: #eff5ff;
  font-weight: 700;
  font-size: 0.84rem;
  padding: 0.58rem 2.3rem 0.58rem 0.72rem;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 0 0 1px rgba(120, 150, 214, 0.22),
    0 4px 10px rgba(4, 8, 19, 0.42);
  background-image:
    linear-gradient(45deg, transparent 50%, #cfe1ff 50%),
    linear-gradient(135deg, #cfe1ff 50%, transparent 50%);
  background-position:
    calc(100% - 16px) calc(50% - 3px),
    calc(100% - 10px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.ecom-aff-application-select:focus-visible,
.ecom-aff-select-fancy:focus-visible {
  outline: 2px solid rgba(110, 188, 255, 0.72);
  outline-offset: 2px;
  border-color: rgba(141, 201, 255, 0.86);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.15),
    inset 0 0 0 1px rgba(124, 179, 244, 0.35),
    0 0 0 2px rgba(72, 153, 255, 0.24),
    0 8px 16px rgba(4, 9, 22, 0.45);
}

.ecom-aff-application-select:hover,
.ecom-aff-select-fancy:hover {
  border-color: rgba(170, 196, 245, 0.82);
}

.ecom-aff-application-select:disabled,
.ecom-aff-select-fancy:disabled {
  opacity: 0.64;
  cursor: not-allowed;
}

.ecom-aff-application-select option,
.ecom-aff-select-fancy option {
  color: #f2f7ff;
  background: #152442;
}

.ecom-modal-panel .ecom-aff-select-fancy {
  background:
    linear-gradient(165deg, rgba(78, 113, 180, 0.3), rgba(16, 30, 58, 0.9) 46%, rgba(10, 20, 40, 0.98)),
    linear-gradient(180deg, rgba(28, 46, 82, 0.98), rgba(17, 30, 58, 0.98));
}

.ecom-locked-field {
  display: block;
  width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(128, 151, 193, 0.5);
  background: linear-gradient(180deg, rgba(18, 30, 54, 0.9), rgba(12, 21, 39, 0.9));
  color: #edf4ff;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.62rem 0.74rem;
  pointer-events: none;
  user-select: none;
}

.ecom-locked-field.is-disabled {
  opacity: 0.66;
}

.account-form .ecom-right-switch-row {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  padding: 0.12rem 0;
  width: fit-content;
}

.account-form .ecom-right-switch-row.ecom-right-switch-row--compact {
  padding: 0.05rem 0;
}

.ecom-checkout-switch.ecom-checkout-switch--right {
  margin-top: 0.1rem;
}

.ecom-aff-channel-box {
  grid-column: 1 / -1;
}

.ecom-aff-closed-banner {
  max-width: 1080px;
  margin: 0 auto 1rem;
  border-color: rgba(255, 173, 90, 0.58);
  background: linear-gradient(160deg, rgba(62, 33, 7, 0.92), rgba(44, 23, 5, 0.94));
}

.ecom-aff-closed-banner p {
  margin: 0;
  color: #ffe3c2;
  font-weight: 700;
}

.ecom-aff-channel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4rem 0.8rem;
  margin-top: 0.25rem;
}

.account-form label.ecom-check-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.6rem;
  margin: 0;
  padding: 0.08rem 0;
}

.account-form label.ecom-check-row.ecom-check-row--compact {
  padding: 0.03rem 0;
}

.ecom-check-input {
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: #67e7af;
  flex: 0 0 auto;
  justify-self: end;
  transform: translateY(0.16rem);
}

.ecom-check-row-text {
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.35;
  color: #e5efff;
}

@media (max-width: 860px) {
  .ecom-aff-program-grid {
    grid-template-columns: 1fr;
  }

  .ecom-aff-channel-grid {
    grid-template-columns: 1fr;
  }
}

.ecom-checkout-card {
  border: 1px solid rgba(125, 145, 186, 0.42);
  border-radius: 12px;
  background: linear-gradient(165deg, rgba(16, 27, 49, 0.82), rgba(10, 17, 33, 0.9));
  padding: 0.78rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 8px 18px rgba(0, 0, 0, 0.24);
}

.ecom-checkout-card #store-gift-recipient-wrap {
  margin-top: -0.15rem;
}

.btn-mc.btn-mc--ecom {
  border-radius: 8px;
  padding: 0.34rem 0.62rem;
  font-size: 0.74rem;
  line-height: 1.1;
  border: 1px solid rgba(137, 164, 224, 0.6);
  background: linear-gradient(180deg, rgba(42, 62, 106, 0.96), rgba(24, 38, 73, 0.96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 1px 4px rgba(0, 0, 0, 0.28);
}

.btn-mc.btn-mc--ecom:hover {
  border-color: rgba(164, 195, 255, 0.82);
  background: linear-gradient(180deg, rgba(51, 76, 129, 0.98), rgba(28, 45, 86, 0.98));
}

.btn-mc.btn-mc--ecom.btn-mc--danger {
  border-color: rgba(255, 123, 123, 0.52);
  background: linear-gradient(180deg, rgba(121, 38, 38, 0.96), rgba(89, 25, 25, 0.96));
}

.btn-mc.btn-mc--ecom.btn-mc--danger:hover {
  border-color: rgba(255, 146, 146, 0.78);
  background: linear-gradient(180deg, rgba(138, 45, 45, 0.98), rgba(103, 29, 29, 0.98));
}

.ecom-list-table tbody tr.is-dragging {
  opacity: 0.65;
}

.ecom-drag-handle {
  appearance: none;
  border: 1px solid rgba(126, 145, 185, 0.4);
  background: rgba(13, 20, 36, 0.82);
  color: #c5d5f6;
  border-radius: 7px;
  width: 30px;
  height: 28px;
  cursor: grab;
  font-size: 1rem;
  line-height: 1;
}

.ecom-drag-handle:active {
  cursor: grabbing;
}

.ecom-name-cell {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.ecom-thumb {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid rgba(126, 145, 185, 0.45);
  overflow: hidden;
  background: rgba(14, 22, 39, 0.9);
  flex: 0 0 auto;
}

.ecom-thumb.is-empty::before {
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(86, 105, 153, 0.4), rgba(40, 56, 93, 0.4));
}

.ecom-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ecom-status-pill {
  display: inline-flex;
  border-radius: 999px;
  padding: 0.15rem 0.45rem;
  font-size: 0.72rem;
  border: 1px solid transparent;
}

.ecom-status-pill.is-enabled {
  color: #91f4c8;
  background: rgba(56, 148, 109, 0.18);
  border-color: rgba(90, 224, 172, 0.42);
}

.ecom-status-pill.is-disabled {
  color: #ffb0b0;
  background: rgba(166, 63, 63, 0.2);
  border-color: rgba(255, 141, 141, 0.42);
}

.ecom-form-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.ecom-store-top {
  position: sticky;
  top: 0;
  z-index: 30;
  background: linear-gradient(90deg, rgba(6, 16, 34, 0.96), rgba(12, 34, 62, 0.96), rgba(8, 20, 42, 0.96));
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(126, 170, 220, 0.4);
}

.account-body {
  --hb-store-header-stop: 58px;
  --hb-store-header-gap: 8px;
}

.ecom-store-top-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0.6rem 0.9rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
}

.ecom-store-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: #dbe7ff;
  font-weight: 700;
}

.ecom-store-brand img {
  width: 30px;
  height: 30px;
}

.ecom-store-top-status {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: #daecff;
  font-size: 0.82rem;
}

.ecom-store-online {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: rgba(50, 162, 110, 0.22);
  border: 1px solid rgba(105, 226, 172, 0.55);
  border-radius: 999px;
  padding: 0.2rem 0.56rem;
  color: #adffda;
}

.ecom-store-server {
  color: #d5e9ff;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.ecom-store-server-copy {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font: inherit;
  color: #d5e9ff;
  font-weight: 700;
  letter-spacing: 0.01em;
  background: transparent;
  border: 1px solid rgba(126, 170, 220, 0.28);
  border-radius: 999px;
  padding: 0.16rem 0.52rem;
  cursor: pointer;
  transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease;
}

.ecom-store-server-copy:hover {
  background: rgba(39, 95, 160, 0.22);
  border-color: rgba(154, 200, 255, 0.48);
}

.ecom-store-server-copy.is-copied {
  background: rgba(50, 162, 110, 0.24);
  border-color: rgba(105, 226, 172, 0.65);
  color: #adffda;
}

.ecom-store-copy-hint {
  position: fixed;
  top: 68px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  background: rgba(6, 24, 20, 0.96);
  border: 1px solid rgba(105, 226, 172, 0.65);
  color: #adffda;
  border-radius: 999px;
  padding: 0.3rem 0.62rem;
  font-size: 0.76rem;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
}

.ecom-store-top-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.ecom-store-top .player-header-profile-trigger {
  width: 2.1rem;
  height: 2.1rem;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.ecom-store-top .nav-profile-avatar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: block;
  object-fit: cover;
  background: transparent;
}

.ecom-cart-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(126, 145, 185, 0.55);
  color: #d8e8ff;
  text-decoration: none;
  background: rgba(21, 37, 67, 0.74);
}

.ecom-cart-count {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 17px;
  height: 17px;
  border-radius: 999px;
  background: #4ca8ff;
  color: #06162d;
  font-size: 0.66rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}

.store-cart-toast-root {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  display: grid;
  gap: 0.48rem;
}

.store-cart-toast {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 250px;
  max-width: 420px;
  border: 1px solid rgba(114, 205, 157, 0.62);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(8, 32, 26, 0.96), rgba(5, 24, 19, 0.98));
  color: #eafff6;
  font-size: 0.84rem;
  padding: 0.55rem 0.7rem;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.store-cart-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.store-cart-toast i {
  color: #34d399;
}

.ecom-store-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 0.75rem;
}

.ecom-store-sidebar {
  position: sticky;
  top: calc(var(--hb-store-header-stop, 58px) + var(--hb-store-header-gap, 8px));
  height: fit-content;
  border: 1px solid rgba(130, 177, 232, 0.44);
  border-radius: 12px;
  padding: 0.75rem;
  background:
    radial-gradient(circle at 16% 9%, rgba(57, 111, 181, 0.38), transparent 42%),
    radial-gradient(circle at 82% 88%, rgba(89, 176, 126, 0.26), transparent 48%),
    linear-gradient(180deg, rgba(8, 16, 34, 0.95), rgba(4, 10, 22, 0.95));
  box-shadow: 0 12px 26px rgba(2, 8, 19, 0.5), inset 0 1px 0 rgba(170, 214, 255, 0.16);
}

.ecom-sidebar-header {
  margin: 0 0 0.62rem;
}

.ecom-sidebar-kicker {
  margin: 0 0 0.12rem;
  color: #7dd3ff;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 700;
}

.ecom-store-sidebar h2 {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  color: #eef5ff;
}

.ecom-sidebar-link {
  display: flex;
  align-items: center;
  gap: 0.48rem;
  text-decoration: none;
  color: #d8e8ff;
  padding: 0.36rem 0.44rem;
  border-radius: 9px;
  border: 1px solid rgba(131, 165, 220, 0.28);
  background: rgba(31, 52, 85, 0.44);
  font-size: 0.82rem;
  margin-bottom: 0.3rem;
  transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.ecom-sidebar-link i {
  width: 18px;
  text-align: center;
  color: #aee7ff;
}

.ecom-sidebar-link:hover {
  background: rgba(76, 119, 188, 0.44);
  border-color: rgba(169, 211, 255, 0.76);
  transform: translateX(2px);
}

.ecom-sidebar-link.is-active {
  background: linear-gradient(180deg, rgba(78, 136, 226, 0.58), rgba(60, 101, 177, 0.5));
  border-color: rgba(177, 221, 255, 0.9);
  color: #f4faff;
}

.ecom-store-content {
  min-width: 0;
}

.ecom-why-list {
  margin: 0;
  padding-left: 1.1rem;
}

.ecom-why-list li + li {
  margin-top: 0.3rem;
}

.ecom-featured-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.68rem;
}

.ecom-featured-tile {
  display: block;
  text-decoration: none;
  border: 1px solid rgba(130, 168, 226, 0.4);
  border-radius: 10px;
  padding: 0.72rem;
  color: #e6f1ff;
  background: linear-gradient(165deg, rgba(11, 19, 36, 0.94), rgba(9, 21, 44, 0.94));
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.ecom-featured-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(174, 215, 255, 0.9);
  box-shadow: 0 10px 20px rgba(2, 8, 18, 0.5);
}

.ecom-featured-tile h3 {
  margin: 0 0 0.35rem;
}

.ecom-featured-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.ecom-featured-snippet {
  margin: 0;
  font-size: 0.79rem;
  line-height: 1.42;
  color: #bfd1f0;
}

.ecom-featured-tile--category h3 i {
  margin-right: 0.35rem;
  color: #9ddbff;
}

.store-cart-line {
  border: 1px solid rgba(132, 154, 196, 0.42);
  border-radius: 12px;
  padding: 0.74rem 0.82rem;
  margin-bottom: 0.56rem;
  background: linear-gradient(170deg, rgba(17, 30, 56, 0.9), rgba(11, 19, 38, 0.94));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 8px 16px rgba(0, 0, 0, 0.18);
}

.store-cart-line-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.store-cart-product {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.store-cart-thumb {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  border: 1px solid rgba(136, 163, 215, 0.44);
  background: rgba(8, 14, 28, 0.8);
  object-fit: contain;
  padding: 0.15rem;
}

.store-cart-meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.store-cart-meta strong {
  font-size: 0.9rem;
  color: #eff6ff;
}

.store-cart-unit {
  font-size: 0.76rem;
  color: #b7c9ea;
}

.store-cart-subtotal {
  font-weight: 700;
  color: #9dffcf;
  font-size: 0.92rem;
}

.store-cart-line-controls {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.45rem;
}

.store-cart-line-controls input {
  width: 90px;
}

.ecom-cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 0.85rem;
}

.ecom-cart-page {
  border: 1px solid rgba(118, 142, 189, 0.34);
  border-radius: 14px;
  background:
    radial-gradient(circle at 14% 12%, rgba(64, 102, 168, 0.2), transparent 34%),
    radial-gradient(circle at 85% 85%, rgba(35, 116, 86, 0.18), transparent 36%),
    linear-gradient(180deg, rgba(10, 19, 38, 0.9), rgba(7, 13, 27, 0.95));
  padding: 0.72rem;
}

.ecom-cart-layout .ecom-public-hero {
  grid-column: 1 / -1;
}

.ecom-cart-panel {
  min-height: 420px;
}

.ecom-cart-items-tile {
  border: 1px solid rgba(125, 146, 191, 0.38);
  border-radius: 12px;
  background: linear-gradient(165deg, rgba(15, 26, 48, 0.86), rgba(9, 16, 33, 0.92));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 22px rgba(0, 0, 0, 0.24);
  padding: 0.7rem 0.78rem 0.78rem;
}

.ecom-cart-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 0.45rem;
}

.ecom-cart-total-row {
  margin-top: 0.72rem;
  padding-top: 0.65rem;
  padding-left: 0.08rem;
  padding-right: 0.08rem;
  border-top: 1px solid rgba(126, 145, 185, 0.3);
}

.ecom-checkout-panel {
  align-self: start;
  position: sticky;
  top: 90px;
}

@media (max-width: 980px) {
  .ecom-cart-layout {
    grid-template-columns: 1fr;
  }

  .ecom-checkout-panel {
    position: static;
  }
}

.ecom-help-box {
  margin-top: 0.75rem;
  padding: 0.6rem 0.7rem;
  border-radius: 10px;
  border: 1px solid rgba(126, 145, 185, 0.3);
  background: rgba(8, 14, 28, 0.64);
}

.ecom-help-title {
  margin: 0 0 0.35rem;
  font-size: 0.86rem;
  font-weight: 700;
  color: #e7f0ff;
}

.ecom-player-suggest {
  display: none;
  margin-top: 0.35rem;
  border: 1px solid rgba(126, 145, 185, 0.38);
  border-radius: 9px;
  background: rgba(9, 16, 32, 0.95);
  max-height: 190px;
  overflow: auto;
  padding: 0.2rem;
}

.ecom-player-suggest-item {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #d7e6ff;
  font-size: 0.8rem;
  padding: 0.35rem 0.45rem;
  cursor: pointer;
}

.ecom-player-suggest-item:hover {
  background: rgba(93, 127, 187, 0.34);
}

.ecom-player-suggest-empty {
  padding: 0.35rem 0.45rem;
  color: #b5c5e6;
  font-size: 0.78rem;
}

@media (max-width: 980px) {
  .ecom-store-layout {
    grid-template-columns: 1fr;
  }

  .ecom-store-sidebar {
    position: static;
  }
}

/* Toast notifications (account / warp edit — replaces alert()) */
.hb-account-toast-wrap {
  position: fixed;
  top: 1.1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2147483647;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  pointer-events: none;
  max-width: min(92vw, 24rem);
}

.hb-account-toast {
  margin: 0;
  padding: 0.65rem 1rem;
  border-radius: 10px;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.45);
  opacity: 0;
  transform: translateY(-8px);
  transition:
    opacity 0.22s ease,
    transform 0.22s ease;
}

.hb-account-toast--visible {
  opacity: 1;
  transform: translateY(0);
}

.hb-account-toast--success {
  color: #ecfdf5;
  background: linear-gradient(180deg, rgba(6, 78, 59, 0.96) 0%, rgba(4, 47, 36, 0.98) 100%);
  border: 1px solid rgba(52, 211, 153, 0.45);
}

.hb-account-toast--error {
  color: #fef2f2;
  background: linear-gradient(180deg, rgba(127, 29, 29, 0.95) 0%, rgba(69, 10, 10, 0.98) 100%);
  border: 1px solid rgba(248, 113, 113, 0.45);
}

/* Warp icon picker — same loading card as enchant list; high z-index while preparing */
.axpw-icon-prepare-overlay.admin-enchants-loading-overlay {
  z-index: 500000;
}

.axpw-icon-prepare-overlay.admin-enchants-loading-overlay[hidden] {
  display: none !important;
}

/* --- Auction House (eBay-inspired layout; HyperBlocks themed) --- */
.ah-ebay-hero .ah-ebay-sub code {
  font-size: 0.85em;
}

.ah-ebay-mailbox-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}

.ah-ebay-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem 1rem;
  margin-bottom: 1rem;
}

.ah-ebay-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 8rem;
}

.ah-ebay-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #9cb3d9;
}

.ah-ebay-input,
.ah-ebay-select {
  min-width: 10rem;
  padding: 0.4rem 0.55rem;
  border-radius: 8px;
  border: 1px solid rgba(126, 145, 185, 0.45);
  background: rgba(6, 12, 24, 0.85);
  color: #e8f0ff;
}

.ah-ebay-view-toggle {
  display: flex;
  gap: 0.35rem;
  margin-left: auto;
}

.ah-browse-page.ah-view-tiles-mode .ah-ebay-list-wrap {
  display: none;
}

.ah-browse-page.ah-view-list-mode .ah-ebay-tiles-wrap {
  display: none;
}

.ah-ebay-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
  gap: 0.85rem;
}

.ah-ebay-tile {
  padding: 0;
  overflow: hidden;
}

.ah-ebay-tile-link {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem;
  text-decoration: none;
  color: inherit;
  height: 100%;
}

.ah-ebay-tile-link:hover .ah-ebay-tile-title {
  color: #7ec8ff;
}

.ah-ebay-tile-thumb {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 5.5rem;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 8px;
}

.ah-ebay-tile-body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.ah-ebay-tile-title {
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.25;
}

.ah-ebay-tile-meta {
  font-size: 0.78rem;
  color: #a8bddc;
}

.ah-ebay-tile-price {
  font-size: 1.05rem;
  font-weight: 800;
  color: #c8f7c5;
}

.ah-ebay-tile-seller {
  font-size: 0.78rem;
  color: #8fa6cc;
}

.ah-item-thumb--sm {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.ah-item-thumb--xl {
  width: 120px;
  height: 120px;
  object-fit: contain;
}

.ah-item-thumb--modal-hero {
  width: 96px;
  height: 96px;
  object-fit: contain;
  display: block;
}

.ah-item-thumb--modal-hero.ah-item-thumb--empty {
  width: 96px;
  height: 96px;
}

.ah-item-thumb--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.3);
  color: #6a7a9a;
  font-weight: 700;
}

.ah-ebay-list-wrap {
  padding: 0;
  overflow: hidden;
}

.ah-ebay-list-head {
  display: grid;
  grid-template-columns: 3.5rem 1fr 6.5rem 5.5rem;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #9cb3d9;
  border-bottom: 1px solid rgba(126, 145, 185, 0.35);
}

.ah-ebay-list-row {
  display: grid;
  grid-template-columns: 3.5rem 1fr 6.5rem 5.5rem;
  gap: 0.5rem;
  align-items: center;
  padding: 0.55rem 0.75rem;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid rgba(80, 100, 140, 0.2);
}

.ah-ebay-list-row:hover {
  background: rgba(93, 127, 187, 0.12);
}

.ah-ebay-lr-title {
  font-weight: 700;
  display: block;
}

.ah-ebay-lr-sub {
  font-size: 0.78rem;
  color: #a8bddc;
  display: block;
}

.ah-ebay-lr-ship {
  font-size: 0.72rem;
  color: #7a8fae;
  display: block;
  margin-top: 0.15rem;
}

.ah-ebay-lr-price {
  font-weight: 700;
  color: #c8f7c5;
}

.ah-ebay-lr-time {
  font-size: 0.82rem;
  color: #d4dcf0;
}

.ah-ebay-cmd-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.5rem;
}

.ah-ebay-detail {
  display: grid;
  grid-template-columns: 1fr min(22rem, 100%);
  gap: 1rem;
  align-items: start;
}

@media (max-width: 900px) {
  .ah-ebay-detail {
    grid-template-columns: 1fr;
  }

  .ah-ebay-list-head,
  .ah-ebay-list-row {
    grid-template-columns: 3rem 1fr 5rem 4.5rem;
    font-size: 0.85rem;
  }
}

.ah-ebay-detail-gallery {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ah-ebay-detail-hero-thumb {
  display: flex;
  justify-content: center;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.22);
  border-radius: 12px;
}

.ah-ebay-detail-facts {
  margin: 0;
  padding-left: 1.1rem;
  color: #c5d6f5;
  font-size: 0.88rem;
  line-height: 1.5;
}

.ah-ebay-buybox {
  position: sticky;
  top: 1rem;
}

.ah-ebay-buybox-title {
  font-size: 1.35rem;
  margin: 0 0 0.25rem;
}

.ah-ebay-buybox-condition {
  margin: 0;
  color: #a8bddc;
  font-size: 0.85rem;
}

.ah-ebay-buybox-price {
  font-size: 1.65rem;
  font-weight: 800;
  color: #c8f7c5;
  margin: 0.5rem 0;
}

.ah-ebay-buybox-time {
  font-size: 0.95rem;
  color: #e0e8ff;
  margin: 0 0 0.75rem;
}

.ah-ebay-seller-card {
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  border: 1px solid rgba(126, 145, 185, 0.35);
  background: rgba(8, 14, 28, 0.55);
  margin-bottom: 0.75rem;
}

.ah-ebay-seller-label {
  display: block;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8fa6cc;
}

.ah-ebay-seller-name {
  font-weight: 700;
  font-size: 1rem;
}

.ah-ebay-buybox-actions {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.ah-ebay-crumb {
  padding: 0.5rem 0.75rem;
  font-size: 0.88rem;
  margin-bottom: 0.75rem;
}

.ah-ebay-crumb a {
  color: #8ecfff;
}

.ah-ebay-crumb-sep {
  margin: 0 0.35rem;
  color: #6a7a9a;
}

.ah-admin-console-forms {
  display: inline-block;
}

/* Auction House — chest + toolbar (aligned with claims / player warps) */
.ah-page-hero {
  margin-bottom: 0.5rem;
}

.ah-browse-panel {
  margin-top: 0.35rem;
  overflow: visible;
}

.ah-cart-add-modal-item {
  margin: 0.5rem 0 0.35rem;
  font-size: 0.92rem;
  color: #e2e8f0;
  word-break: break-word;
}

.ah-toolbar-stack {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.ah-toolbar-row--primary .ah-search-shell {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 12rem;
}

.ah-search-icon {
  position: absolute;
  left: 0.65rem;
  width: 1rem;
  height: 1rem;
  opacity: 0.55;
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239cb3d9'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-4.35-4.35M11 18a7 7 0 100-14 7 7 0 000 14z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ah-search-input {
  width: 100%;
  padding: 0.45rem 0.55rem 0.45rem 2.25rem !important;
}

.ah-tiles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
  gap: 0.85rem;
  padding: 0.15rem 0;
  align-items: start;
}

#ah-tiles-grid .axpw-mc-tile-outer {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  align-self: stretch;
  contain: layout;
}

#ah-tiles-grid .axpw-mc-tile-outer.ah-listing--in-cart {
  border-radius: 10px;
  box-shadow: 0 0 0 2px rgba(124, 195, 255, 0.72), 0 0 16px rgba(124, 195, 255, 0.18);
}

.ah-list-table tr.ah-ebay-table-row.ah-listing--in-cart > td:first-child {
  box-shadow: inset 3px 0 0 rgba(124, 195, 255, 0.88);
}

.ah-detail-buybox.ah-listing--in-cart {
  box-shadow: 0 0 0 2px rgba(124, 195, 255, 0.55), 0 4px 22px rgba(0, 0, 0, 0.22);
}

#ah-tiles-grid .axpw-mc-tile-stack {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#ah-tiles-grid a.axpw-mc-tile.ah-auction-tile {
  flex: 1 1 auto;
  min-height: 11.25rem;
  box-sizing: border-box;
  justify-content: flex-start;
  /* Hover lift changes layout row height in a flex wrap grid — looks like twitching. */
  transition: border-color 0.12s ease, box-shadow 0.12s ease, color 0.12s ease;
}

#ah-tiles-grid a.axpw-mc-tile.ah-auction-tile:hover:not(.axpw-mc-tile--dragging) {
  transform: none;
}

#ah-tiles-grid .axpw-mc-slot {
  flex-shrink: 0;
}

#ah-tiles-grid .axpw-mc-slot .mc-item-img {
  width: 3.25rem;
  height: 3.25rem;
  object-fit: contain;
}

#ah-tiles-grid .axpw-mc-meta,
#ah-tiles-grid .axpw-mc-acc {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

#ah-tiles-grid .ah-tile-price {
  flex-shrink: 0;
  min-height: 1.35rem;
}

/* Auction House — tile sale type + category (browse / watchlist) */
.ah-auction-tile .ah-tile-sale-type {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-top: 0.12rem;
  line-height: 1.25;
  color: rgba(255, 255, 255, 0.92);
}

.ah-auction-tile .ah-tile-category {
  display: block;
  font-size: 0.66rem;
  margin-top: 0.06rem;
  line-height: 1.2;
}

.ah-list-table .ah-row-sale-type {
  font-size: 0.72rem;
  font-weight: 600;
  margin-top: 0.15rem;
  color: rgba(255, 255, 255, 0.88);
}

.ah-list-table .ah-row-cat {
  font-size: 0.66rem;
  margin-top: 0.08rem;
}

.ah-sync-stale-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  margin: 0 0 0.85rem;
  padding: 0.55rem 0.75rem;
  border-radius: 10px;
  border: 1px solid rgba(126, 200, 255, 0.35);
  background: rgba(30, 30, 46, 0.92);
  box-sizing: border-box;
}

.ah-sync-stale-banner__text {
  font-size: 0.84rem;
  color: #e2e8f0;
  flex: 1 1 12rem;
}

.ah-browse-page .ah-sync-stale-banner__btn {
  flex-shrink: 0;
}

.ah-list-table .ah-td-thumb {
  width: 3.25rem;
  vertical-align: middle;
}

.ah-list-table .ah-td-price {
  font-weight: 700;
  color: #c8f7c5;
  white-space: nowrap;
}

.ah-thumb-link {
  display: inline-flex;
  vertical-align: middle;
}

tr.ah-ebay-table-row[data-href] {
  cursor: pointer;
}

tr.ah-ebay-table-row[data-href]:focus {
  outline: 2px solid rgba(126, 200, 255, 0.5);
  outline-offset: -2px;
}

.ah-row-title-link {
  font-weight: 700;
  text-decoration: none;
  color: #e8f0ff;
}

.ah-row-title-link:hover {
  color: #7ec8ff;
}

.ah-row-sub {
  font-size: 0.78rem;
  margin-top: 0.15rem;
}

/* Listing detail — gallery + buy box */
.ah-detail-layout {
  display: grid;
  grid-template-columns: 1fr min(22rem, 100%);
  gap: 1rem;
  align-items: start;
  margin-top: 0.5rem;
}

@media (max-width: 900px) {
  .ah-detail-layout {
    grid-template-columns: 1fr;
  }
}

.ah-detail-chest-body {
  padding: 0.75rem 1rem 1rem;
}

.ah-detail-gallery {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ah-detail-gallery__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 44%);
  gap: 1rem 1.35rem;
  align-items: stretch;
}

.ah-detail-gallery__specs {
  min-width: 0;
}

.ah-detail-gallery__art {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 14rem;
  padding: 1rem 1.1rem;
  border-radius: 12px;
  background: radial-gradient(circle at 32% 22%, #334155 0%, #0f172a 72%);
  border: 2px solid rgba(167, 139, 250, 0.48);
  box-sizing: border-box;
}

.ah-detail-gallery__art .ah-item-stack-slot {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(240px, 100%);
  min-height: 10rem;
}

.ah-item-thumb--detail-panel.mc-item-img {
  width: 100%;
  max-width: 240px;
  height: auto;
  max-height: 240px;
  aspect-ratio: 1;
  object-fit: contain;
}

.ah-item-thumb--detail-panel.ah-item-thumb--empty {
  width: 100%;
  max-width: 240px;
  max-height: 240px;
  aspect-ratio: 1;
  font-size: 2.35rem;
}

.ah-detail-gallery__art .ah-item-stack-slot:has(.ah-item-thumb--detail-panel) .ah-item-stack-count {
  font-size: 1.05rem;
  padding: 0.14rem 0.38rem;
}

@media (max-width: 760px) {
  .ah-detail-gallery__grid {
    grid-template-columns: 1fr;
  }

  .ah-detail-gallery__art {
    order: -1;
    min-height: 10rem;
  }

  .ah-detail-gallery__art .ah-item-stack-slot {
    min-height: 8rem;
  }
}

.ah-detail-specs th {
  width: 9rem;
  text-align: left;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #9cb3d9;
  vertical-align: top;
  padding: 0.35rem 0.75rem 0.35rem 0;
}

.ah-detail-specs td {
  font-size: 0.9rem;
  padding: 0.35rem 0;
}

.ah-detail-buybox {
  position: sticky;
  top: 1rem;
}

.ah-detail-cta {
  text-decoration: none;
  border: none;
  cursor: pointer;
  font: inherit;
  text-align: center;
}

.ah-admin-table .ah-admin-thumb {
  width: 44px;
  height: 44px;
  object-fit: contain;
  vertical-align: middle;
}

/* Auction House browse — match Player Warps tiles + textured shortcut buttons */
.axpw-mc-tile .ah-tile-price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
  margin-top: 0.2rem;
  font-size: 0.8rem;
  font-weight: 800;
  color: #86efac;
  line-height: 1.2;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.ah-currency-ic {
  display: inline-flex;
  flex-shrink: 0;
  color: #fde68a;
  opacity: 0.95;
  vertical-align: middle;
}

.ah-currency-ic--gems {
  color: #a5b4fc;
}

.ah-td-price--with-icon {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.2rem;
  white-space: nowrap;
}

.ah-td-price--with-icon .ah-currency-ic {
  flex-shrink: 0;
}

.ah-auction-slot .ah-item-thumb--ah-tile {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px;
  max-height: 36px;
  object-fit: contain;
}

/* AH item icon — vanilla-style stack count (bottom-right) when quantity > 1 */
.hb-ia-thumb-slot {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  vertical-align: middle;
}

.axpw-mc-slot .hb-ia-thumb-slot {
  width: 36px;
  height: 36px;
}

.hb-es-td-thumb .hb-ia-thumb-slot {
  width: 40px;
  height: 40px;
}

.hb-ia-model-canvas {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  image-rendering: pixelated;
}

.hb-ia-thumb-slot .hb-ia-thumb-fallback {
  position: relative;
  z-index: 0;
  display: block;
}

.hb-ia-thumb-slot.hb-ia-model-ready .hb-ia-model-canvas {
  opacity: 1;
}

.hb-ia-thumb-slot.hb-ia-model-ready .hb-ia-thumb-fallback {
  visibility: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  opacity: 0;
}

.hb-ia-thumb-slot .ah-item-stack-count {
  z-index: 2;
}

.ah-item-stack-slot {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  vertical-align: middle;
}

.ah-item-stack-count {
  position: absolute;
  right: 0;
  bottom: 0;
  line-height: 1;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.04em;
  color: #fff;
  text-shadow:
    -1px -1px 0 #2e2e2e,
    1px -1px 0 #2e2e2e,
    -1px 1px 0 #2e2e2e,
    1px 1px 0 #2e2e2e,
    0 1px 3px rgba(0, 0, 0, 0.9);
  pointer-events: none;
  transform: translate(1px, 1px);
}

.ah-item-stack-slot:has(.ah-item-thumb--ah-tile) .ah-item-stack-count {
  font-size: 9px;
}

.ah-item-stack-slot:has(.ah-item-thumb--sm) .ah-item-stack-count {
  font-size: 10px;
}

.ah-item-stack-slot:has(.ah-item-thumb--modal-hero) .ah-item-stack-count {
  font-size: 14px;
}

.ah-item-stack-slot:has(.ah-item-thumb--xl) .ah-item-stack-count {
  font-size: 12px;
}

.ah-item-stack-slot:has(.ah-item-thumb--cart) .ah-item-stack-count {
  font-size: 10px;
  font-weight: 800;
}

.axpw-mc-tile .ah-tile-qty {
  display: block;
  width: 100%;
  margin-top: 0.12rem;
  margin-bottom: 0.04rem;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.2;
}

.axpw-mc-tile .ah-tile-price {
  margin-top: 0.08rem;
}

.ah-list-table .ah-td-price--ah-col {
  vertical-align: middle;
  white-space: nowrap;
}

.ah-list-table .ah-td-price--ah-col .ah-list-qty {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 0.08rem;
}

.ah-list-table .ah-td-price--ah-col .ah-td-price-inline {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.2rem;
  font-weight: 700;
  color: #c8f7c5;
}

.ah-shortcuts-section .ah-shortcuts-chest {
  margin-top: 0;
}

.ah-shortcuts-body {
  padding: 0.85rem 1rem 1.05rem !important;
}

.ah-shortcuts-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(30, 26, 48, 0.9) 0%, rgba(12, 10, 20, 0.95) 100%);
  border: 1px solid rgba(80, 72, 110, 0.85);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 2px 8px rgba(0, 0, 0, 0.35);
}

.cp-claims-list-panel .ah-shortcuts-grid .btn-mc.cp-web-view-btn {
  padding: 0.38rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.55);
  border-width: 2px;
  border-style: solid;
  border-color: #4c4668;
  border-radius: 6px;
  background: linear-gradient(180deg, #35304a 0%, #221e34 42%, #15121f 100%);
  color: #e2e8f0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    inset 0 -2px 0 rgba(0, 0, 0, 0.35),
    0 1px 2px rgba(0, 0, 0, 0.45);
  transition: border-color 0.12s ease, color 0.12s ease, filter 0.12s ease, box-shadow 0.12s ease;
}

.cp-claims-list-panel .ah-shortcuts-grid .btn-mc.cp-web-view-btn:hover {
  border-color: #7c6fa3;
  filter: brightness(1.08);
  color: #f8fafc;
}

.cp-claims-list-panel .ah-shortcuts-grid .btn-mc.ah-shortcut-primary.cp-web-view-btn {
  border-color: #4ade80 !important;
  color: #ecfdf5 !important;
  background: linear-gradient(180deg, #2d4a38 0%, #1a3024 45%, #0f1f16 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    inset 0 -1px 0 rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(74, 222, 128, 0.35),
    0 2px 10px rgba(34, 197, 94, 0.15);
}

.cp-claims-list-panel .ah-shortcuts-grid .btn-mc.ah-shortcut-primary.cp-web-view-btn:hover {
  border-color: #86efac !important;
  filter: brightness(1.1);
}

/* Auction House — drag hint under filters */
.axpw-toolbar-row--filters .ah-drag-hint {
  flex-basis: 100%;
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  color: #9cb3d9;
}

/* Auction House: cart pop extends below tiles (chest defaults to overflow:hidden) */
#ah-chest.cp-web-chest,
#ah-chest.cp-web-chest.axpw-warp-tiles-chest {
  overflow: visible !important;
}

#ah-chest.cp-web-chest .cp-web-chest-body.cp-claims-chest-swap,
#ah-chest.cp-web-chest.axpw-warp-tiles-chest .cp-web-chest-body {
  overflow: visible !important;
}

#ah-tiles-pane.cp-claims-chest-pane {
  overflow: visible !important;
}

.ah-browse-page #ah-tiles-grid.axpw-tiles-grid {
  padding-bottom: 3rem;
}

/* Auction House BIN tiles use the same DOM + CSS :hover pop as Player Warps (axpw-list.js renderTiles). */

/* Auction cart chest — table popovers / shadows not clipped */
.cp-web-chest.ah-cart-chest {
  overflow: visible;
}

.cp-web-chest.ah-cart-chest .cp-web-chest-body {
  overflow: visible;
}

/* Listing detail — survival shortcuts */
.ah-ebay-survival-details {
  margin-top: 0.85rem;
  border-radius: 10px;
  border: 1px solid rgba(80, 72, 110, 0.75);
  background: rgba(20, 18, 32, 0.65);
  overflow: hidden;
}

.ah-ebay-survival-details-summary {
  cursor: pointer;
  list-style: none;
  padding: 0.5rem 0.75rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: #c4b5fd;
}

.ah-ebay-survival-details-summary::-webkit-details-marker {
  display: none;
}

.ah-ebay-survival-details-body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.5rem 0.75rem 0.75rem;
  border-top: 1px solid rgba(80, 72, 110, 0.5);
}

.ah-ebay-buybox-actions--web {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

/* Listing detail — full-width stacked actions (overrides wrap row) */
.ah-detail-buybox-actions.ah-ebay-buybox-actions--web {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.85rem;
}

.ah-detail-actions__group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}

.ah-detail-buybox-actions .ah-detail-cta {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  justify-content: center;
}

.ah-detail-buybox-actions a.ah-detail-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ah-detail-actions__group--danger {
  padding-top: 0.35rem;
  margin-top: 0.15rem;
  border-top: 1px solid rgba(248, 113, 113, 0.22);
}

.ah-detail-survival-actions .ah-detail-survival-btn {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  justify-content: center;
}

/* Inventory — queue AH listing from slot */
.mc-inv-ah-list-pop {
  padding: 0.35rem 0.45rem;
  border-radius: 10px;
  border: 1px solid rgba(167, 139, 250, 0.45);
  background: linear-gradient(165deg, #1e1e2e 0%, #14141f 100%);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55);
}

.mc-inv-ah-list-pop-btn {
  white-space: nowrap;
  font-size: 0.72rem;
  padding: 0.38rem 0.55rem;
}

.mc-inv-ah-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 400;
  background: rgba(5, 4, 12, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.mc-inv-ah-modal {
  width: 100%;
  max-width: 22rem;
  margin: 0;
}

.mc-inv-ah-modal-body {
  padding: 0.85rem 1rem 1rem !important;
}

.mc-inv-ah-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: 0.65rem;
  font-size: 0.82rem;
  color: #e2e8f0;
}

.mc-inv-ah-input {
  font: inherit;
  padding: 0.4rem 0.5rem;
  border-radius: 8px;
  border: 1px solid rgba(100, 90, 130, 0.85);
  background: rgba(12, 10, 20, 0.95);
  color: #f8fafc;
}

.mc-inv-ah-swatch-row {
  margin-top: 0.65rem;
  justify-content: space-between;
  width: 100%;
  gap: 0.75rem;
}

.mc-inv-ah-swatch-text {
  font-size: 0.82rem;
  font-weight: 600;
  color: #e2e8f0;
  flex: 1;
  min-width: 0;
}

.mc-inv-ah-modal-actions {
  margin-top: 1rem;
  justify-content: flex-end;
  width: 100%;
  gap: 0.5rem;
}

.mc-inv-ah-modal.ah-bid-modal {
  max-width: min(44rem, 100%);
}

.ah-bid-modal__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ah-bid-modal__head .cp-web-chest-title {
  flex: 1;
  min-width: 0;
}

.ah-modal-sparkle {
  flex-shrink: 0;
  color: #fde68a;
  opacity: 0.95;
}

.ah-bid-modal__lead {
  font-size: 0.9rem;
  line-height: 1.45;
  color: #e2e8f0;
  margin: 0 0 0.85rem;
}

.ah-bid-modal__hero {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 0.85rem;
}

.ah-bid-modal__split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 40%);
  gap: 1rem 1.25rem;
  align-items: start;
  margin-bottom: 0.85rem;
}

@media (max-width: 540px) {
  .ah-bid-modal__split {
    grid-template-columns: 1fr;
  }

  .ah-bid-modal__art {
    order: -1;
  }
}

.ah-bid-modal__main {
  min-width: 0;
}

.ah-bid-modal__art {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 10rem;
}

.ah-bid-modal__thumb-wrap {
  flex-shrink: 0;
  padding: 0.35rem;
  border-radius: 12px;
  background: radial-gradient(circle at 30% 25%, #334155 0%, #0f172a 70%);
  border: 2px solid rgba(167, 139, 250, 0.5);
}

.ah-bid-modal__thumb-wrap--panel {
  width: 100%;
  max-width: 13.5rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0.75rem 0.85rem;
  min-height: 11.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.ah-item-thumb--modal-panel.mc-item-img {
  width: 168px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
}

.ah-item-thumb--modal-panel.ah-item-thumb--empty {
  width: 168px;
  height: 168px;
  max-width: 100%;
  aspect-ratio: 1;
  font-size: 1.85rem;
}

.ah-bid-modal__thumb-wrap--panel .ah-item-stack-slot:has(.ah-item-thumb--modal-panel) .ah-item-stack-count {
  font-size: 0.95rem;
  padding: 0.12rem 0.32rem;
}

.ah-bid-modal__facts {
  flex: 1;
  min-width: 0;
}

.ah-bid-modal__mono {
  font-family: ui-monospace, monospace;
  font-size: 0.78rem;
  word-break: break-all;
}

.ah-bid-modal__emph {
  color: #fde68a;
  font-weight: 700;
}

.ah-bid-modal__actions--single {
  justify-content: stretch;
}

.ah-bid-modal__cta {
  width: 100%;
  justify-content: center;
  text-decoration: none;
}

.ah-bid-modal__item-name {
  font-weight: 800;
  font-size: 1.05rem;
  color: #ffd54f;
  margin: 0 0 0.5rem;
  line-height: 1.25;
}

.ah-bid-modal__fact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.82rem;
  line-height: 1.35;
}

.ah-bid-modal__fact-list li {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.5rem;
  padding: 0.2rem 0;
  border-bottom: 1px solid rgba(80, 72, 110, 0.35);
}

.ah-bid-modal__k {
  color: #9cb3d9;
  font-weight: 600;
  min-width: 6.5rem;
}

.ah-bid-modal__v {
  color: #f1f5f9;
  word-break: break-word;
}

.ah-bid-modal__tips {
  margin-top: 0.5rem;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  background: rgba(20, 18, 32, 0.75);
  border: 1px solid rgba(126, 200, 255, 0.2);
}

.ah-bid-modal__tips-title {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #7ec8ff;
  margin: 0 0 0.35rem;
}

.ah-bid-modal__tip-line {
  margin: 0.15rem 0;
  font-size: 0.8rem;
  color: #cbd5e1;
  line-height: 1.35;
}

.ah-bid-modal__footnote {
  margin: 0.65rem 0 0 !important;
}

.ah-bid-modal__actions {
  margin-top: 1rem !important;
}

.ah-chest-header-aside {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem 0.75rem;
}

.ah-chest-count-line {
  white-space: nowrap;
}

.ah-chest-cart-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  text-decoration: none;
  color: #fde68a;
  padding: 0.28rem 0.45rem;
  border-radius: 10px;
  border: 1px solid rgba(253, 224, 71, 0.35);
  background: rgba(30, 27, 48, 0.85);
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}

.ah-chest-cart-link:hover {
  border-color: rgba(253, 224, 71, 0.65);
  background: rgba(45, 40, 70, 0.9);
  color: #fffbeb;
}

.ah-chest-cart-link__ic {
  display: inline-flex;
  line-height: 0;
}

.ah-chest-cart-link__ic svg {
  width: 1.35rem;
  height: 1.35rem;
  display: block;
}

.ah-chest-cart-link__badge {
  font-weight: 800;
  font-size: 0.95rem;
  min-width: 1.25rem;
  text-align: center;
}

.ah-cart-checkout-bar {
  padding: 0.75rem 1rem 0.25rem;
  border-top: 1px solid rgba(80, 72, 110, 0.45);
}

/* Auction cart — classic two-column shop layout */
.ah-cart-shop-section {
  overflow: visible;
}

.ah-cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 17.5rem);
  gap: 1.25rem;
  align-items: start;
}

@media (max-width: 900px) {
  .ah-cart-layout {
    grid-template-columns: 1fr;
  }
}

.ah-cart-chest--lines .ah-cart-lines-body {
  padding: 0.65rem 0.85rem 1rem !important;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.ah-cart-chest-header--shop .cp-web-chest-title {
  font-size: 1.05rem;
  letter-spacing: 0.02em;
}

.ah-cart-line {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr) auto auto;
  gap: 0.75rem 1rem;
  align-items: center;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  border: 1px solid rgba(80, 72, 110, 0.65);
  background: linear-gradient(165deg, rgba(32, 28, 52, 0.92) 0%, rgba(18, 16, 30, 0.96) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 4px 14px rgba(0, 0, 0, 0.35);
}

.ah-cart-line--no-actions {
  grid-template-columns: 4.25rem minmax(0, 1fr) auto;
}

@media (max-width: 640px) {
  .ah-cart-line {
    grid-template-columns: 3.5rem 1fr;
    grid-template-rows: auto auto auto;
  }

  .ah-cart-line-thumb {
    grid-row: 1 / span 2;
  }

  .ah-cart-line-price-col,
  .ah-cart-line-actions {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

.ah-cart-line-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(8, 6, 16, 0.65);
  border: 1px solid rgba(80, 72, 110, 0.5);
  padding: 0.25rem;
  text-decoration: none;
}

.ah-item-thumb--cart {
  width: 48px !important;
  height: 48px !important;
  max-width: 48px;
  max-height: 48px;
  object-fit: contain;
}

.ah-cart-line-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.25;
}

.ah-cart-line-seller,
.ah-cart-line-exp {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
}

.ah-cart-line-price-col {
  text-align: right;
  min-width: 6.5rem;
}

.ah-cart-line-price-label {
  display: block;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.15rem;
}

.ah-cart-line-price {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 800;
  color: #86efac;
  justify-content: flex-end;
}

.ah-cart-line-actions {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: stretch;
}

.ah-cart-summary {
  position: sticky;
  top: 0.75rem;
  border-radius: 12px;
}

.ah-cart-summary-body {
  padding: 0.85rem 1rem 1rem !important;
}

.ah-cart-summary-count {
  margin: 0 0 0.5rem;
  font-size: 0.92rem;
  color: #e2e8f0;
}

.ah-cart-summary-note {
  margin: 0 0 1rem;
  font-size: 0.78rem;
  line-height: 1.45;
}

.ah-cart-summary-actions {
  margin-top: 0.25rem;
}

.ah-cart-checkout-primary {
  width: 100%;
  justify-content: center;
  margin-bottom: 0.35rem;
}

.ah-cart-clear-btn {
  width: 100%;
  justify-content: center;
  margin-bottom: 0.65rem;
}

.ah-cart-summary-hint {
  margin: 0;
  font-size: 0.72rem;
}

.ah-cart-summary-back {
  margin: 0.85rem 0 0;
  font-size: 0.78rem;
}

/* ExcellentShop catalog (survival-shops + admin) — tiles use axpw-mc-tile + auction slot pattern */
#hb-es-tiles.hb-es-tiles-grid {
  padding: 0.35rem 0.15rem 0.5rem;
}

.hb-es-tile-sub-line {
  font-size: 0.68rem;
  line-height: 1.3;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.hb-es-crumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  padding: 0.55rem 0.75rem;
  margin-bottom: 0.65rem;
}

.hb-es-crumb-title {
  font-size: 0.85rem;
}

.hb-es-td-thumb {
  width: 3.5rem;
  vertical-align: middle;
}

.hb-es-td-tp {
  vertical-align: middle;
  white-space: nowrap;
  width: 1%;
}

.hb-es-td-thumb .mc-item-img,
.hb-es-td-thumb .ah-item-thumb {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.hb-es-td-thumb .ah-item-thumb--empty {
  width: 40px;
  height: 40px;
  font-size: 0.85rem;
}

.hb-es-product-tile {
  cursor: default;
}

.hb-potion-thumb-wrap {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  --hb-pot: 199, 68, 255;
}

.hb-potion-thumb-wrap::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 2;
  left: 26%;
  right: 26%;
  top: 24%;
  bottom: 22%;
  border-radius: 38% 38% 42% 42%;
  background: rgb(var(--hb-pot));
  opacity: 0.58;
  mix-blend-mode: multiply;
}

.hb-potion-thumb-wrap .ah-item-stack-slot {
  position: relative;
  z-index: 0;
}

.hb-es-panel .hb-es-product-toolbar[hidden] {
  display: none !important;
}

.hb-es-meta-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-bottom: 0.75rem;
  font-size: 0.78rem;
  color: #94a3b8;
}

.hb-es-meta-strip strong {
  color: #e2e8f0;
}

/* Management — ItemsAdder catalog (mirror scan under /ia-assets) */
.hb-ia-catalog-toolbar-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
}

.hb-ia-catalog-toolbar .hb-ia-catalog-field-cat {
  flex: 0 1 14rem;
  min-width: 10rem;
}

.hb-ia-catalog-toolbar .hb-ia-catalog-field-cat select {
  width: 100%;
  max-width: 22rem;
}

.hb-ia-catalog-toolbar .hb-ia-catalog-field-port {
  flex: 0 1 auto;
  min-width: 0;
}

.hb-ia-catalog-port-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.hb-ia-catalog-port-btn {
  padding: 0.35rem 0.65rem;
  font-size: 0.78rem;
}

/* Stack grid then pager (shared .cp-web-chest-body is row flex — would sit pager beside grid). */
.hb-ia-catalog-chest .cp-web-chest-body {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.hb-ia-catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem 0.85rem;
  padding: 0.25rem 0 0.5rem;
  width: 100%;
  box-sizing: border-box;
}

.hb-ia-catalog-chest .hb-ia-catalog-pager {
  width: 100%;
  flex: 0 0 auto;
  box-sizing: border-box;
}

@media (max-width: 1100px) {
  .hb-ia-catalog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .hb-ia-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 400px) {
  .hb-ia-catalog-grid {
    grid-template-columns: 1fr;
  }
}

.hb-ia-catalog-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 0.65rem;
  border-radius: 10px;
  border: 1px solid rgba(126, 145, 185, 0.35);
  background: rgba(8, 14, 28, 0.45);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  min-width: 0;
}

.hb-ia-catalog-tile-outer {
  position: relative;
}

.hb-ia-catalog-tile:hover {
  border-color: rgba(167, 139, 250, 0.55);
  background: rgba(12, 18, 32, 0.65);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

.hb-ia-catalog-hover-menu {
  position: absolute;
  top: 0.45rem;
  right: 0.45rem;
  z-index: 8;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.35rem;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity 0.14s ease, transform 0.14s ease;
}

.hb-ia-catalog-tile-outer:hover .hb-ia-catalog-hover-menu,
.hb-ia-catalog-tile-outer:focus-within .hb-ia-catalog-hover-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.hb-ia-catalog-hover-menu .hb-ia-catalog-send-btn {
  min-height: 32px;
  padding: 0.36rem 0.62rem;
  font-size: 0.68rem;
  white-space: nowrap;
}

.hb-ia-catalog-hover-menu .hb-ia-catalog-hover-menu-reset {
  align-self: stretch;
  text-align: center;
  margin-top: 0.15rem;
  padding-top: 0.42rem;
  border-top: 1px solid rgba(126, 145, 185, 0.3);
}

.hb-ia-send-modal[hidden] {
  display: none !important;
}

.hb-ia-send-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483645;
}

.hb-ia-send-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 8, 18, 0.72);
}

.hb-ia-send-modal__panel {
  position: relative;
  z-index: 1;
  width: min(38rem, calc(100vw - 2rem));
  margin: 5vh auto 0;
  border: 1px solid rgba(126, 145, 185, 0.45);
  border-radius: 12px;
  background: rgba(9, 15, 30, 0.96);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
  padding: 0.9rem;
}

.hb-ia-send-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.7rem;
}

.hb-ia-send-modal__search-wrap {
  display: block;
  margin-bottom: 0.6rem;
}

.hb-ia-send-modal__search-wrap > span {
  display: block;
  font-size: 0.76rem;
  color: #b8c7e6;
  margin-bottom: 0.22rem;
}

.hb-ia-send-modal__list {
  max-height: 45vh;
  overflow: auto;
  border: 1px solid rgba(126, 145, 185, 0.35);
  border-radius: 9px;
  background: rgba(5, 10, 20, 0.6);
  padding: 0.3rem;
}

.hb-ia-send-modal__player {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "check ign"
    "check uuid";
  gap: 0.05rem 0.55rem;
  padding: 0.34rem 0.4rem;
  border-radius: 7px;
  cursor: pointer;
}

.hb-ia-send-modal__player:hover {
  background: rgba(77, 134, 255, 0.14);
}

.hb-ia-send-modal__player input[type="checkbox"] {
  grid-area: check;
  margin-top: 0.28rem;
}

.hb-ia-send-modal__ign {
  grid-area: ign;
  font-weight: 700;
  color: #eef4ff;
}

.hb-ia-send-modal__uuid {
  grid-area: uuid;
  font-size: 0.72rem;
  color: #9ab0d4;
}

.hb-ia-send-modal__empty {
  padding: 0.45rem;
  color: #9ab0d4;
  font-size: 0.78rem;
}

.hb-ia-send-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.hb-ia-send-modal__status {
  min-height: 1.15rem;
  margin: 0.55rem 0 0;
}

.hb-ia-catalog-tile-thumb-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.hb-ia-catalog-tile-locked-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 4;
  max-width: calc(100% - 12px);
  height: auto;
  pointer-events: none;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.65));
}

.hb-ia-catalog-tile-ported-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 4;
  max-width: calc(100% - 12px);
  height: auto;
  pointer-events: none;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
}

.hb-ia-catalog-tile-thumb-wrap--has-lock .hb-ia-catalog-tile-ported-badge {
  top: 42px;
}

/* Read-Only switch: top of Primary preview panel, right of title — outside preview tiles */
.hb-ia-primary-preview-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem 1.25rem;
  margin-bottom: 0;
}

.hb-ia-primary-preview-head-main {
  flex: 1 1 min(0, 100%);
  min-width: min(100%, 14rem);
}

.hb-ia-primary-preview-head .hb-ia-item-detail-preview-heading {
  margin-bottom: 0;
}

.hb-ia-primary-preview-readonly-switch {
  flex: 0 0 auto;
  align-self: flex-start;
  min-width: 11rem;
  max-width: 100%;
}

.hb-ia-thumb64-drop--locked {
  opacity: 0.72;
  cursor: not-allowed;
}

/* Large slot for 3D canvas + texture fallback (matches .hb-ia-model-canvas absolute fill) */
.hb-ia-catalog-tile .hb-ia-catalog-thumb-slot.hb-ia-thumb-slot {
  width: 100%;
  max-width: min(200px, 100%);
  aspect-ratio: 1;
  height: auto;
  min-width: 0;
  min-height: 0;
  flex-shrink: 0;
}

/*
 * Global .mc-item-img is 24×24; these rules must win so catalog tiles (and staff official previews) fill the slot.
 */
.hb-ia-catalog-tile .hb-ia-catalog-thumb-slot.hb-ia-thumb-slot > .mc-item-img.hb-ia-thumb-fallback {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: auto;
  object-fit: contain;
  image-rendering: pixelated;
  filter: drop-shadow(1px 1px 0 rgba(0, 0, 0, 0.35));
}

/* Official preview only: no canvas — keep img in-flow so the slot keeps grid width (absolute-only children collapse). */
.hb-ia-catalog-tile .hb-ia-catalog-thumb-slot.hb-ia-thumb-slot.hb-ia-catalog-thumb-official > .mc-item-img.hb-ia-thumb-fallback {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: auto;
  object-fit: contain;
  image-rendering: auto;
  display: block;
}

/* Staff Bedrock 64×64 thumbnail — same layout as official; crisp upscale in the tile. */
.hb-ia-catalog-tile .hb-ia-catalog-thumb-slot.hb-ia-thumb-slot.hb-ia-catalog-thumb-bedrock > .mc-item-img.hb-ia-thumb-fallback {
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

/* After 3D draw, hide texture fallback (must beat full-slot img rules above). */
.hb-ia-catalog-tile .hb-ia-catalog-thumb-slot.hb-ia-thumb-slot.hb-ia-model-ready > .mc-item-img.hb-ia-thumb-fallback {
  visibility: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  max-width: 1px !important;
  max-height: 1px !important;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  opacity: 0;
}

.hb-ia-catalog-tile .hb-ia-thumb-fallback {
  /* Superseded by child selector above; kept for specificity fallbacks */
  object-fit: contain;
  image-rendering: pixelated;
}

.hb-ia-catalog-tile-label {
  font-size: 0.72rem;
  text-align: center;
  word-break: break-word;
  line-height: 1.25;
  color: #c5d6f5;
  max-width: 100%;
}

.hb-ia-catalog-tile-ids {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  width: 100%;
  margin-top: 0.25rem;
}

.hb-ia-catalog-stable-ref-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
  width: 100%;
}

.hb-ia-catalog-stable-ref-label {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(140, 220, 255, 0.95);
  line-height: 1.1;
}

.hb-ia-catalog-stable-ref-num {
  display: block;
  max-width: 100%;
  padding: 0.2rem 0.5rem;
  border-radius: 8px;
  border: 1px solid rgba(100, 200, 255, 0.45);
  background: rgba(6, 28, 48, 0.88);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-align: center;
  line-height: 1.2;
  color: rgba(200, 245, 255, 0.99);
}

.hb-ia-catalog-model-id-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  max-width: 100%;
  margin-top: 0.25rem;
}

.hb-ia-catalog-tile-ids .hb-ia-catalog-model-id-block {
  margin-top: 0;
}

.hb-ia-catalog-model-id-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(180, 195, 230, 0.92);
  line-height: 1.1;
}

.hb-ia-catalog-model-id-value {
  display: block;
  max-width: 100%;
  padding: 0.12rem 0.35rem;
  border-radius: 6px;
  border: 1px solid rgba(126, 145, 185, 0.35);
  background: rgba(8, 14, 28, 0.65);
  font-size: 0.66rem;
  font-weight: 600;
  word-break: break-all;
  text-align: center;
  line-height: 1.25;
  color: rgba(232, 238, 252, 0.98);
}

.hb-ia-catalog-model-id-num {
  display: block;
  max-width: 100%;
  padding: 0.18rem 0.45rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 226, 122, 0.55);
  background: rgba(11, 20, 40, 0.85);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-align: center;
  line-height: 1.2;
  color: rgba(255, 245, 200, 0.98);
}

.hb-ia-catalog-item-id-sublabel {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(180, 195, 230, 0.88);
  margin-top: 0.28rem;
  line-height: 1.1;
}

.hb-ia-catalog-item-id-sub {
  display: block;
  max-width: 100%;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1.2;
  word-break: break-all;
  text-align: center;
  color: rgba(180, 195, 230, 0.92);
  margin-top: 0.12rem;
}

.hb-ia-catalog-scroll-sentinel {
  width: 100%;
  height: 4px;
  margin: 0;
  padding: 0;
  pointer-events: none;
  flex-shrink: 0;
}

.hb-ia-catalog-load-status {
  margin: 0.75rem 0 0;
  text-align: center;
  font-size: 0.82rem;
}

.hb-ia-item-stable-ref-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem 0.65rem;
  margin: 0 0 0.45rem;
  font-size: 0.86rem;
  color: rgba(160, 230, 255, 0.98);
}

.hb-ia-item-stable-ref-label {
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: rgba(140, 210, 245, 0.95);
}

.hb-ia-item-stable-ref-num {
  font-size: 1.05rem;
  font-weight: 800;
  color: rgba(200, 245, 255, 0.99);
}

.hb-ia-item-model-id-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem 0.65rem;
  margin: 0 0 0.45rem;
  font-size: 0.86rem;
  color: rgba(255, 236, 153, 0.95);
}

.hb-ia-item-model-id-label {
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: rgba(180, 195, 230, 0.95);
}

.hb-ia-item-model-id-code {
  font-size: 0.82rem;
  word-break: break-all;
}

.hb-ia-item-item-id-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem 0.65rem;
  margin: 0 0 0.45rem;
  font-size: 0.86rem;
  color: rgba(200, 210, 235, 0.95);
}

.hb-ia-item-item-id-label {
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: rgba(180, 195, 230, 0.95);
}

.hb-ia-item-model-id-num {
  font-size: 1.05rem;
  font-weight: 800;
  color: rgba(255, 245, 200, 0.98);
}

.hb-ia-catalog-pager {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(126, 145, 185, 0.28);
}

.hb-ia-catalog-pager-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem 1rem;
}

.hb-ia-catalog-pager-status {
  font-size: 0.82rem;
  text-align: center;
}

.hb-ia-catalog-tile .hb-ia-model-canvas {
  touch-action: none;
  cursor: grab;
}

.hb-ia-catalog-tile .hb-ia-model-canvas:active {
  cursor: grabbing;
}

/* ItemsAdder item detail — page header, consolidated meta tile */
.hb-ia-item-page-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
  margin-bottom: 0.25rem;
}

.hb-ia-item-page-hero-text {
  flex: 1 1 min(0, 100%);
  min-width: min(100%, 12rem);
}

.hb-ia-page-readonly-switch {
  flex: 0 0 auto;
  align-self: flex-start;
  min-width: 11rem;
  max-width: 100%;
}

.hb-ia-page-readonly-hint {
  font-size: 0.76rem;
  margin: 0 0 0.85rem;
  line-height: 1.35;
}

.hb-ia-item-meta-tile {
  padding: 0.65rem 0.85rem;
  margin-bottom: 0.85rem;
}

.hb-ia-item-meta-tile-body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.hb-ia-item-meta-line {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.35;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.5rem;
}

.hb-ia-item-meta-line--ref-model {
  gap: 0.35rem 0.65rem;
}

.hb-ia-item-meta-label {
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.95);
}

.hb-ia-item-meta-sep {
  color: rgba(148, 163, 184, 0.55);
  user-select: none;
}

.hb-ia-item-meta-note {
  margin: 0.1rem 0 0;
  font-size: 0.8rem;
  line-height: 1.35;
}

.hb-ia-primary-preview-lead {
  font-size: 0.88rem;
  margin: 0.35rem 0 0;
  line-height: 1.4;
}

.hb-ia-primary-preview-head {
  margin-bottom: 0.65rem;
}

.hb-ia-java-catalog-list-note {
  font-size: 0.82rem;
  margin: 0.35rem 0 0;
  line-height: 1.45;
  text-align: center;
  max-width: 28rem;
}

.hb-ia-item-page-hero-text .admin-page-ref {
  display: inline-block;
  margin-left: 0.45rem;
  vertical-align: middle;
  opacity: 0.85;
}

/* Page 27 — Java / Bedrock split tile */
.hb-ia-item-platform-tile.mc-panel {
  overflow: hidden;
}

.hb-ia-item-platform-split {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  width: 100%;
}

.hb-ia-item-platform-col {
  flex: 1 1 320px;
  min-width: min(100%, 280px);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.hb-ia-item-platform-divider {
  flex: 0 0 1px;
  align-self: stretch;
  margin: 0 1rem;
  min-height: 10rem;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(148, 163, 184, 0.35) 15%,
    rgba(148, 163, 184, 0.35) 85%,
    transparent 100%
  );
}

.hb-ia-platform-badge {
  margin: 0 auto 0.35rem;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
}

.hb-ia-platform-badge--java {
  border: 1px solid rgba(125, 211, 252, 0.5);
  color: #bae6fd;
  background: rgba(14, 165, 233, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.hb-ia-platform-badge--bedrock {
  border: 1px solid rgba(167, 139, 250, 0.55);
  color: #ddd6fe;
  background: rgba(124, 58, 237, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.hb-ia-java-mirror-lead {
  font-size: 0.78rem;
  margin: 0;
  line-height: 1.45;
}

/* Page 27 — mirrored toolbars (Java / Bedrock) */
.hb-ia-platform-actions {
  margin-top: 0.35rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(100, 116, 139, 0.28);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.hb-ia-platform-actions__section {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.hb-ia-platform-actions__title {
  margin: 0;
  padding: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.95);
  text-align: center;
  font-family: inherit;
}

.hb-ia-platform-actions__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.5rem;
  align-items: stretch;
}

.hb-ia-platform-actions__btn.btn-mc {
  width: 100%;
  min-height: 2.35rem;
  justify-content: center;
  box-sizing: border-box;
}

/* Downloads — flat “file” tiles (distinct from server / proxy buttons above) */
.hb-ia-item-detail .hb-ia-platform-actions__btn--download.btn-mc.btn-mc-secondary {
  background: linear-gradient(180deg, #273549 0%, #1e293b 100%);
  border: 1px dashed rgba(148, 163, 184, 0.42);
  color: #f1f5f9;
  font-weight: 650;
  font-size: 0.8rem;
  letter-spacing: 0.03em;
  text-transform: none;
  text-shadow: none;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2);
}

.hb-ia-item-detail .hb-ia-platform-actions__btn--download.btn-mc.btn-mc-secondary:hover {
  filter: brightness(1.12);
  border-color: rgba(186, 230, 253, 0.45);
}

/* Jump to Bedrock — outline / navigation only */
.hb-ia-item-detail .hb-ia-platform-actions__btn--jump.btn-mc.btn-mc-secondary {
  background: rgba(15, 23, 42, 0.35);
  border: 2px solid rgba(167, 139, 250, 0.55);
  color: #ede9fe;
  font-weight: 750;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.hb-ia-item-detail .hb-ia-platform-actions__btn--jump.btn-mc.btn-mc-secondary:hover {
  filter: brightness(1.12);
  border-color: rgba(196, 181, 253, 0.85);
}

.hb-ia-platform-actions__placeholder {
  grid-column: 1 / -1;
  padding: 0.5rem 0.65rem;
  border-radius: 8px;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  font-size: 0.82rem;
  text-align: center;
}

.hb-ia-platform-actions__panel {
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  border: 1px solid rgba(100, 116, 139, 0.42);
  background: rgba(8, 12, 22, 0.55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.hb-ia-platform-actions__panel--java {
  border-color: rgba(74, 222, 128, 0.35);
  background: rgba(6, 78, 59, 0.12);
}

.hb-ia-platform-actions__panel--bedrock {
  border-color: rgba(167, 139, 250, 0.38);
  background: rgba(76, 29, 149, 0.12);
}

.hb-ia-platform-actions__grid--panel {
  grid-template-columns: 1fr;
  max-width: 22rem;
  margin: 0 auto;
  width: 100%;
}

/* Survival / proxy actions — full-width row (matches admin Geyser toolbar button styling) */
.hb-ia-platform-actions__grid--server-row {
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  max-width: none;
  margin: 0;
  width: 100%;
}

.hb-ia-platform-actions__grid--server-row-single {
  grid-template-columns: 1fr;
}

.hb-ia-platform-options {
  margin: 0.35rem 0 0.15rem;
  padding: 0.55rem 0.65rem 0.6rem;
  border-radius: 10px;
  border: 1px solid rgba(100, 116, 139, 0.35);
  background: rgba(6, 10, 18, 0.4);
}

.hb-ia-platform-options__hint {
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.45;
  text-align: center;
}

.hb-ia-platform-options__toggles {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
  justify-content: center;
  margin-top: 0.35rem;
}

.hb-ia-platform-options__toggles .hb-ia-bedrock-solid-switch {
  flex: 1 1 auto;
  justify-content: space-between;
  min-width: min(100%, 16rem);
  max-width: 100%;
}

.hb-ia-platform-options__toggles .hb-ia-bedrock-wire-switch {
  flex: 0 1 auto;
  justify-content: space-between;
  min-width: 11rem;
}

@media (max-width: 899px) {
  .hb-ia-item-platform-divider {
    flex: 1 1 100%;
    width: 100%;
    height: 1px;
    margin: 0.85rem 0;
    min-height: 0;
    background: linear-gradient(
      to right,
      transparent 0%,
      rgba(148, 163, 184, 0.35) 20%,
      rgba(148, 163, 184, 0.35) 80%,
      transparent 100%
    );
  }
}

.hb-ia-bedrock-grid-hint {
  font-size: 0.76rem;
  margin: 0 0 0.5rem;
  line-height: 1.4;
  text-align: center;
}

.hb-ia-bedrock-solid-hint,
.hb-ia-bedrock-geo-drop-hint {
  font-size: 0.76rem;
  margin: 0 0 0.5rem;
  line-height: 1.35;
  text-align: center;
}

.hb-ia-bedrock-pack-msg {
  font-size: 0.82rem;
  margin: 0.35rem 0;
  line-height: 1.45;
}

.hb-ia-bedrock-geo-card-title {
  color: rgba(226, 232, 240, 0.95);
}

.hb-ia-bedrock-geo-card-path {
  margin-top: 0.35rem;
}

.hb-ia-bedrock-geo-card-note {
  margin: 0.5rem 0 0;
  font-size: 0.78rem;
  line-height: 1.4;
}

.hb-ia-bedrock-geo-missing-note {
  font-size: 0.82rem;
  margin: 0 0 0.5rem;
  line-height: 1.4;
  text-align: center;
}

.hb-ia-thumb64-lead {
  font-size: 0.78rem;
  margin: 0 0 0.5rem;
  line-height: 1.4;
  text-align: center;
}

.hb-ia-thumb64-actions {
  margin-top: 0.5rem;
  justify-content: center;
}

/* ItemsAdder item detail: preview row, then Bedrock geometry tile, then Java model JSON */
.hb-ia-item-detail-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: stretch;
}

.hb-ia-item-detail-editor-tile {
  width: 100%;
  box-sizing: border-box;
}

/* Bedrock geometry: head pivot nudges (itemsadder-item) */
.hb-ia-bedrock-head-controls {
  margin-bottom: 1rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(167, 139, 250, 0.35);
  background: rgba(15, 23, 42, 0.55);
  box-sizing: border-box;
}

.hb-ia-bedrock-head-controls-title {
  margin-top: 0;
}

.hb-ia-bedrock-axis-grid {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.hb-ia-bedrock-axis-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.hb-ia-bedrock-axis-label {
  flex: 1 1 140px;
  min-width: 120px;
  font-size: 0.82rem;
  color: rgba(226, 232, 240, 0.92);
}

.hb-ia-bedrock-num {
  width: 6.5rem;
  max-width: 100%;
  padding: 0.35rem 0.5rem;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.45);
  background: rgba(15, 23, 42, 0.9);
  color: #e2e8f0;
  font-size: 0.88rem;
}

.hb-ia-bedrock-step {
  padding: 0.3rem 0.5rem;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.45);
  background: rgba(15, 23, 42, 0.9);
  color: #e2e8f0;
  font-size: 0.82rem;
  max-width: 8rem;
}

.hb-ia-bedrock-btn-compact {
  padding: 0.2rem 0.42rem;
  font-size: 0.76rem;
  min-width: 0;
  line-height: 1.25;
}

.hb-ia-bedrock-num--compact {
  width: 5.25rem;
  padding: 0.26rem 0.38rem;
  font-size: 0.8rem;
}

.hb-ia-bedrock-axis-label--compact {
  flex: 1 1 4.5rem;
  min-width: 4rem;
  font-size: 0.78rem;
}

.hb-ia-bedrock-mesh-grid {
  margin-bottom: 0.5rem;
}

.hb-ia-bedrock-save-warnings {
  color: #fcd34d;
  font-size: 0.88rem;
}

#hb-ia-bedrock-save-status.hb-ia-bedrock-save-status--warning {
  color: #fcd34d;
}

.hb-ia-bedrock-master-details {
  margin-top: 0.5rem;
}

.hb-ia-bedrock-master-details > summary {
  list-style: none;
}

.hb-ia-bedrock-master-details > summary::-webkit-details-marker {
  display: none;
}

.hb-ia-bedrock-master-summary {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  width: auto;
  max-width: 100%;
  cursor: pointer;
  user-select: none;
}

.hb-ia-bedrock-master-inner {
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(148, 163, 184, 0.25);
}

.hb-ia-bedrock-import-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
}

.hb-ia-bedrock-upload-form {
  flex: 1 1 220px;
  min-width: 200px;
  max-width: 100%;
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.hb-ia-bedrock-upload-form.hb-ia-bedrock-upload-form--drag {
  border-color: rgba(167, 139, 250, 0.55);
  background: rgba(30, 27, 75, 0.35);
}

.hb-ia-bedrock-orbit-dropzone {
  position: relative;
  border-radius: 8px;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

.hb-ia-bedrock-orbit-dropzone--drag {
  outline: 2px dashed rgba(167, 139, 250, 0.75);
  outline-offset: 2px;
  box-shadow: inset 0 0 0 1px rgba(167, 139, 250, 0.35);
}

.hb-ia-bedrock-orbit-dropzone--busy {
  pointer-events: none;
  opacity: 0.72;
}

.hb-ia-bedrock-file-input {
  display: block;
  width: 100%;
  max-width: 28rem;
  font-size: 0.82rem;
}

.hb-ia-bedrock-inline-upload {
  margin-top: 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.hb-ia-bedrock-inline-upload-form {
  border-style: dashed;
  border-width: 1px;
  border-color: rgba(148, 163, 184, 0.35);
}

.hb-ia-upload-file-feedback {
  margin: 0.5rem 0 0;
  font-size: 0.82rem;
  line-height: 1.45;
  min-height: 1.35em;
}

.hb-ia-upload-file-feedback.hb-ia-upload-file-feedback--warn {
  color: #fcd34d;
}

.hb-ia-item-detail-editor-title {
  margin-top: 0;
  font-size: 1rem;
}

.hb-ia-item-detail-thumb-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.85rem;
  border-radius: 12px;
  background: radial-gradient(circle at 32% 22%, #334155 0%, #0f172a 72%);
  border: 2px solid rgba(167, 139, 250, 0.45);
}

.hb-ia-preview-split-outer.hb-ia-item-detail-thumb-wrap {
  width: 100%;
  box-sizing: border-box;
}

.hb-ia-preview-split {
  width: 100%;
  align-items: stretch;
}

.hb-ia-preview-split-col {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
}

.hb-ia-item-detail-thumb-wrap--java-nested {
  width: 100%;
  padding: 0.65rem;
  border-radius: 10px;
  border: 1px solid rgba(100, 116, 139, 0.45);
  background: rgba(6, 10, 18, 0.35);
  box-sizing: border-box;
}

.hb-ia-item-detail-preview-subheading {
  margin: 0 0 0.25rem;
  font-size: 1.02rem;
  text-align: center;
  width: 100%;
}

.hb-ia-item-detail-preview-subheading--thumb {
  margin-top: 0.35rem;
  margin-bottom: 0.15rem;
  font-size: 0.95rem;
  font-weight: 600;
}

.hb-ia-bedrock-model-preview-card {
  font-size: 0.82rem;
  line-height: 1.45;
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: rgba(6, 10, 18, 0.45);
  word-break: break-word;
}

/* Bedrock inventory thumb: exact 64×64 art, shown at 2× (128 CSS px) — no oversized empty frame */
.hb-ia-item-detail-visual .hb-ia-thumb64-drop--split {
  width: 128px;
  height: 128px;
  max-width: 128px;
  min-height: unset !important;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 1;
  box-sizing: border-box;
}

.hb-ia-item-detail-visual .hb-ia-thumb64-drop--split .hb-ia-thumb64-img {
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill;
  /* Let drags hit the drop zone parent (otherwise the img steals drop targets in some browsers). */
  pointer-events: none;
}

.hb-ia-preview-split-dl {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
  margin-top: 0.25rem;
}

.hb-ia-preview-split-dl--bedrock {
  padding-top: 0.35rem;
  border-top: 1px solid rgba(100, 116, 139, 0.28);
  margin-top: 0.35rem;
}

@media (min-width: 900px) {
  .hb-ia-preview-split.hb-ia-item-detail-previews-pair {
    flex-wrap: nowrap;
  }

  .hb-ia-preview-split-col--java,
  .hb-ia-preview-split-col--bedrock {
    flex: 1 1 0;
  }
}

.hb-ia-detail-orbit-hint {
  margin: 0.5rem 0 0;
  font-size: 0.78rem;
  text-align: center;
  width: 100%;
  max-width: 28rem;
}

/* Interactive WebGL viewer + texture fallback stack */
.hb-ia-item-detail-visual .hb-ia-item-detail-thumb-slot.hb-ia-thumb-slot {
  position: relative;
  display: block;
  width: 100%;
  max-width: 420px;
  min-width: 0;
  min-height: 280px;
  margin: 0 auto;
  line-height: 0;
}

.hb-ia-item-detail-visual .hb-ia-detail-orbit-mount {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 1;
  min-height: 260px;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(6, 10, 18, 0.35);
}

.hb-ia-item-detail-visual .hb-ia-detail-orbit-canvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
}

.hb-ia-item-detail-visual .hb-ia-item-detail-thumb-fallback {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(360px, 100%);
  height: min(360px, 100%);
  object-fit: contain;
  image-rendering: pixelated;
  z-index: 0;
  pointer-events: none;
}

.hb-ia-item-detail-visual .hb-ia-thumb-slot.hb-ia-orbit-ready .hb-ia-item-detail-thumb-fallback {
  visibility: hidden;
}

.hb-ia-item-detail-visual .hb-ia-bedrock-orbit-empty {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.25rem;
  box-sizing: border-box;
  pointer-events: none;
}

.hb-ia-item-detail-visual .hb-ia-bedrock-orbit-empty .hb-ia-bedrock-orbit-empty-msg {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  text-align: center;
  max-width: 26rem;
  color: #cbd5e1;
}

.hb-ia-item-detail-visual .hb-ia-bedrock-orbit-empty .admin-code-tiny {
  color: #e2e8f0;
}

.hb-ia-item-detail-visual .hb-ia-bedrock-orbit-canvas {
  position: relative;
  z-index: 1;
}

.hb-ia-item-json-input {
  width: 100%;
  font-family: ui-monospace, monospace;
  font-size: 0.78rem;
  line-height: 1.35;
  padding: 0.5rem 0.6rem;
  border-radius: 8px;
  border: 1px solid rgba(100, 90, 130, 0.85);
  background: rgba(12, 10, 20, 0.95);
  color: #f8fafc;
  box-sizing: border-box;
  resize: vertical;
  min-height: 12rem;
}

/* ItemsAdder item detail — dual preview + world reference drop zone */
.hb-ia-item-detail-previews-pair {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
}

@media (min-width: 720px) {
  .hb-ia-item-detail-previews-pair {
    flex-wrap: nowrap;
  }
}

.hb-ia-item-detail-preview-col,
.hb-ia-item-detail-worldshot-col {
  flex: 1 1 280px;
  min-width: 0;
  max-width: 100%;
}

.hb-ia-item-detail-preview-heading {
  margin-top: 0;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.hb-ia-item-detail-official-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  max-width: 420px;
  margin: 0 auto;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(6, 10, 18, 0.35);
  line-height: 0;
}

.hb-ia-item-detail-official-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  min-width: 0;
  min-height: 0;
  object-fit: fill;
  image-rendering: auto;
  filter: none;
  display: block;
}

.hb-ia-item-detail-visual .hb-ia-item-detail-official-frame .hb-ia-item-detail-official-img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: fill;
  image-rendering: auto;
  filter: none;
}

.hb-ia-worldshot-drop {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  max-width: 420px;
  margin: 0 auto;
  min-height: 200px;
  border-radius: 8px;
  border: 2px dashed rgba(148, 163, 184, 0.45);
  background: rgba(6, 10, 18, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.hb-ia-worldshot-drop:focus {
  outline: 2px solid rgba(167, 139, 250, 0.85);
  outline-offset: 2px;
}

.hb-ia-worldshot-drop--active {
  border-color: rgba(167, 139, 250, 0.95);
  background: rgba(30, 27, 48, 0.55);
}

/* Override flex so aspect-ratio height is not driven by image min-content */
.hb-ia-worldshot-drop.hb-ia-worldshot-drop--has-file {
  border-style: solid;
  display: block;
  line-height: 0;
}

.hb-ia-worldshot-img {
  max-width: none;
  max-height: none;
  object-fit: fill;
  image-rendering: auto;
  filter: none;
  z-index: 1;
  display: block;
  min-width: 0;
  min-height: 0;
}

.hb-ia-worldshot-drop.hb-ia-worldshot-drop--has-file .hb-ia-worldshot-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hb-ia-worldshot-drop:not(.hb-ia-worldshot-drop--has-file) .hb-ia-worldshot-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* Beat .mc-item-img and any other globals inside item detail */
.hb-ia-item-detail-visual .hb-ia-worldshot-drop .hb-ia-worldshot-img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: fill;
  image-rendering: auto;
  filter: none;
}

.hb-ia-worldshot-img--empty {
  display: none;
}

.hb-ia-worldshot-placeholder {
  position: absolute;
  left: 0.75rem;
  right: 0.75rem;
  text-align: center;
  pointer-events: none;
  margin: 0;
  font-size: 0.85rem;
}

.hb-ia-official-switch-label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  cursor: pointer;
}

.hb-ia-official-switch-input:disabled + span {
  opacity: 0.55;
}

.hb-ia-thumb64-drop {
  max-width: 128px;
  min-height: 0;
  aspect-ratio: 1;
}

/* Match main worldshot: dashed when empty, solid frame when image present */
.hb-ia-thumb64-drop.hb-ia-worldshot-drop--has-file {
  border-style: solid;
}

/* Stronger drop affordance for 64×64 slot (base .hb-ia-worldshot-drop is subtle) */
.hb-ia-item-detail-visual #hb-ia-thumb64-drop:not(.hb-ia-worldshot-drop--has-file) {
  border-style: dashed;
  border-width: 2px;
  border-color: rgba(167, 139, 250, 0.55);
}

.hb-ia-item-detail-visual #hb-ia-thumb64-drop {
  position: relative;
  z-index: 5;
  /* Override .hb-ia-worldshot-drop min-height:200px — slot must match 64×64 (2× display) only */
  min-height: unset !important;
  width: 128px;
  height: 128px;
  max-width: 128px;
  max-height: 128px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Preview/placeholder must not sit above the file input (native drag target). */
.hb-ia-item-detail-visual #hb-ia-thumb64-drop .hb-ia-thumb64-img,
.hb-ia-item-detail-visual #hb-ia-thumb64-drop .hb-ia-thumb64-placeholder {
  pointer-events: none;
}

/* Full-bleed invisible input: browser-native click + drag-drop of files (no JS DnD shim). */
.hb-ia-item-detail-visual #hb-ia-thumb64-file.hb-ia-thumb64-file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 6;
  border: 0;
  font-size: 0;
  pointer-events: auto;
}

.hb-ia-item-detail-visual #hb-ia-thumb64-file.hb-ia-thumb64-file-input:disabled {
  cursor: not-allowed;
  pointer-events: none;
}

.hb-ia-item-detail-visual #hb-ia-thumb64-file.hb-ia-thumb64-file-input:focus-visible {
  outline: 2px solid rgba(167, 139, 250, 0.85);
  outline-offset: 2px;
}

.hb-ia-bedrock-geometry-data-only {
  position: fixed;
  left: -10000px;
  top: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  border: 0;
  padding: 0;
  margin: 0;
  resize: none;
}

.hb-ia-thumb64-placeholder {
  left: -4.5rem;
  right: -4.5rem;
  top: calc(100% + 0.4rem);
  font-size: 0.72rem;
}

/* Bedrock pack files drop (item detail): wide drop target; click = open file picker via invisible input overlay */
.hb-ia-item-detail-visual #hb-ia-pack-files-drop {
  aspect-ratio: auto;
  min-height: 100px;
  max-height: none;
}

.hb-ia-item-detail-visual #hb-ia-pack-files-drop .hb-ia-pack-files-placeholder {
  pointer-events: none;
  z-index: 1;
}

.hb-ia-item-detail-visual #hb-ia-pack-files-drop .hb-ia-pack-files-file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 6;
  border: 0;
  font-size: 0;
  pointer-events: auto;
}

.hb-ia-item-detail-visual #hb-ia-pack-files-drop .hb-ia-pack-files-file-input:disabled {
  cursor: not-allowed;
  pointer-events: none;
}

.hb-ia-item-detail-visual #hb-ia-pack-files-drop .hb-ia-pack-files-file-input:focus-visible {
  outline: 2px solid rgba(167, 139, 250, 0.85);
  outline-offset: 2px;
}

.hb-ia-item-detail-visual #hb-ia-java-mirror-drop {
  position: relative;
  min-height: 5.5rem;
}

.hb-ia-item-detail-visual #hb-ia-java-mirror-drop .hb-ia-java-mirror-placeholder {
  margin: 0;
  padding: 0.75rem 0.85rem;
  text-align: center;
  font-size: 0.82rem;
  line-height: 1.45;
  pointer-events: none;
  z-index: 1;
}

.hb-ia-item-detail-visual #hb-ia-java-mirror-drop .hb-ia-java-mirror-file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 6;
  border: 0;
  font-size: 0;
  pointer-events: auto;
}

.hb-ia-item-detail-visual #hb-ia-java-mirror-drop .hb-ia-java-mirror-file-input:disabled {
  cursor: not-allowed;
  pointer-events: none;
}

.hb-ia-item-detail-visual #hb-ia-java-mirror-drop .hb-ia-java-mirror-file-input:focus-visible {
  outline: 2px solid rgba(125, 211, 252, 0.85);
  outline-offset: 2px;
}

/* Geyser / Bedrock reload toolbar (staff with owner-server tools — see admin_geyser_reload_toolbar.php) */
body.hb-admin-geyser-toolbar-active .admin-layout {
  padding-bottom: 3.5rem;
}

.hb-admin-geyser-toolbar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  padding: 0.45rem 1rem;
  background: rgba(15, 23, 42, 0.92);
  border-bottom: 1px solid rgba(148, 163, 184, 0.25);
}

.hb-admin-geyser-toolbar--bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9998;
  border-bottom: none;
  border-top: 1px solid rgba(148, 163, 184, 0.25);
  padding-bottom: max(0.45rem, env(safe-area-inset-bottom));
}

.hb-admin-geyser-toolbar-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  max-width: min(960px, 100%);
  margin: 0 auto;
}

.hb-admin-geyser-toolbar-hint {
  font-size: 0.78rem;
  margin: 0;
  line-height: 1.35;
}

@media (max-width: 520px) {
  .hb-admin-geyser-toolbar-inner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
}

/* In-page alerts / confirms (HbNotify — hb-account-notify.js) */
body.hb-account-notify-open {
  overflow: hidden;
}

.hb-account-notify-layer {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: grid;
  place-items: center;
  padding: 1rem;
  box-sizing: border-box;
}

.hb-account-notify-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, 0.72);
  cursor: pointer;
}

.hb-account-notify-dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 26rem;
  max-height: min(85vh, 32rem);
  overflow: auto;
  padding: 1.15rem 1.25rem 1rem;
  border-radius: 8px;
  border: 3px solid #3d3d52;
  background: linear-gradient(145deg, #1a1a2e 0%, #12121c 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 16px 48px rgba(0, 0, 0, 0.55);
}

.hb-account-notify-dialog--error {
  border-color: rgba(248, 113, 113, 0.55);
}

.hb-account-notify-dialog--success {
  border-color: rgba(74, 222, 128, 0.45);
}

.hb-account-notify-dialog--warning {
  border-color: rgba(251, 191, 36, 0.5);
}

.hb-account-notify-title {
  font-size: 1.05rem;
  color: #ffd54f;
  text-shadow: 2px 2px 0 #3e2723;
  margin: 0 0 0.5rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.hb-account-notify-body {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #e2e8f0;
  white-space: pre-wrap;
  word-break: break-word;
}

.hb-account-notify-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  margin-top: 1.1rem;
}

.hb-account-notify-actions .btn-mc {
  min-width: 5.5rem;
}

/* Auto-dismiss toasts (HbNotify.toast — no modal / no OK) */
.hb-account-toast-host {
  position: fixed;
  bottom: max(1rem, env(safe-area-inset-bottom));
  right: max(1rem, env(safe-area-inset-right));
  left: max(1rem, env(safe-area-inset-left));
  z-index: 100060;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.45rem;
  pointer-events: none;
  max-width: min(22rem, calc(100vw - 2rem));
  margin-left: auto;
}

.hb-account-toast {
  pointer-events: auto;
  cursor: pointer;
  max-width: 100%;
  border-radius: 10px;
  border: 2px solid rgba(74, 222, 128, 0.35);
  background: linear-gradient(155deg, #162032 0%, #0d121c 100%);
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity 0.28s ease,
    transform 0.28s ease;
}

.hb-account-toast--visible {
  opacity: 1;
  transform: translateY(0);
}

.hb-account-toast--info {
  border-color: rgba(148, 163, 184, 0.45);
}

.hb-account-toast--success {
  border-color: rgba(74, 222, 128, 0.45);
}

.hb-account-toast--warning {
  border-color: rgba(251, 191, 36, 0.55);
}

.hb-account-toast--error {
  border-color: rgba(248, 113, 113, 0.55);
}

.hb-account-toast__inner {
  padding: 0.65rem 0.85rem;
  max-height: min(40vh, 14rem);
  overflow: auto;
}

.hb-account-toast__text {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.45;
  color: #e8eef7;
  white-space: pre-wrap;
  word-break: break-word;
}

/* Page ref 27 — item editor: client-side drop upload log + fallback toast if HbNotify missing */
.hb-ia-drop-upload-log-card {
  padding: 0.75rem 1rem 1rem;
}

.hb-ia-drop-upload-log-card--footer {
  margin-top: 1.25rem;
}

.hb-ia-drop-upload-log-card .hb-ia-drop-upload-log-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin: 0 0 0.5rem;
}

.hb-ia-drop-upload-log-pre {
  max-height: 14rem;
  overflow: auto;
  margin: 0;
  padding: 0.65rem 0.75rem;
  background: rgba(15, 23, 42, 0.72);
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  font-size: 0.72rem;
  line-height: 1.35;
  white-space: pre-wrap;
  word-break: break-word;
}

.hb-ia-drop-upload-fallback-toast {
  position: fixed;
  bottom: max(1rem, env(safe-area-inset-bottom));
  right: max(1rem, env(safe-area-inset-right));
  z-index: 100065;
  max-width: min(26rem, calc(100vw - 2rem));
  padding: 0.65rem 0.9rem;
  border-radius: 10px;
  font-size: 0.84rem;
  line-height: 1.45;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 0.26s ease,
    transform 0.26s ease;
}

.hb-ia-drop-upload-fallback-toast--visible {
  opacity: 1;
  transform: translateY(0);
}

.hb-ia-drop-upload-fallback-toast--success {
  color: #ecfdf5;
  border: 2px solid rgba(52, 211, 153, 0.65);
  background: linear-gradient(145deg, #064e3b 0%, #0f172a 100%);
}

.hb-ia-drop-upload-fallback-toast--error {
  color: #fef2f2;
  border: 2px solid rgba(248, 113, 113, 0.65);
  background: linear-gradient(145deg, #7f1d1d 0%, #1e1b2e 100%);
}

.hb-ia-drop-upload-fallback-toast--warning {
  color: #fffbeb;
  border: 2px solid rgba(251, 191, 36, 0.65);
  background: linear-gradient(145deg, #78350f 0%, #1e1b2e 100%);
}

.hb-ia-drop-upload-fallback-toast--info {
  color: #f1f5f9;
  border: 2px solid rgba(148, 163, 184, 0.55);
  background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
}

/* Survival server file browser (Pterodactyl) */
.admin-main--server-files-browse .admin-server-files-browse-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem 0.75rem;
  margin-bottom: 0.75rem;
}

.admin-main--server-files-browse .account-title {
  margin-bottom: 0;
}

.admin-server-files-panel {
  padding: 1rem 1.1rem 1.15rem;
}

.admin-server-files-panel:not(.admin-server-files-panel--browse) .hb-server-files-search-wrap {
  display: none;
}

.hb-server-files-search-wrap {
  margin-bottom: 0.65rem;
}

.admin-server-files-search-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: #94a3b8;
  margin-bottom: 0.35rem;
}

.admin-server-files-filter-input {
  width: 100%;
  max-width: 42rem;
  box-sizing: border-box;
}

.admin-server-files-main-table thead th {
  position: sticky;
  top: 0;
  z-index: 6;
  background: linear-gradient(180deg, #1e293b 0%, #172033 100%);
  box-shadow: 0 1px 0 rgba(51, 65, 85, 0.9);
  vertical-align: bottom;
  padding-top: 0.5rem;
  padding-bottom: 0.45rem;
}

.admin-server-files-th-sort {
  font: inherit;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.03em;
  color: #e2e8f0;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.2rem 0.35rem;
  margin: -0.2rem -0.35rem;
  border-radius: 4px;
  text-align: left;
  white-space: nowrap;
}

.admin-server-files-th-sort:hover,
.admin-server-files-th-sort:focus-visible {
  background: rgba(59, 130, 246, 0.2);
  outline: none;
}

.admin-server-files-th-sort.is-active {
  color: #93c5fd;
}

.admin-server-files-th-sort.is-asc::after {
  content: ' ▲';
  font-size: 0.65em;
  opacity: 0.85;
}

.admin-server-files-th-sort.is-desc::after {
  content: ' ▼';
  font-size: 0.65em;
  opacity: 0.85;
}

.admin-server-files-th-static {
  font-weight: 700;
  font-size: 0.82rem;
  color: #94a3b8;
}

.admin-server-files-panel:not(.admin-server-files-panel--browse) .admin-server-files-th-sort {
  pointer-events: none;
  cursor: default;
}

.admin-server-files-panel:not(.admin-server-files-panel--browse) .admin-server-files-th-sort::after {
  content: none !important;
}

.admin-server-files-deep-wrap {
  margin-top: 1.25rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(71, 85, 105, 0.55);
}

.admin-server-files-deep-title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
}

.admin-server-files-deep-meta {
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
}

.admin-server-files-deep-table-wrap {
  max-height: min(40vh, 420px);
}

.admin-server-files-deep-table thead th {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #1e293b;
  box-shadow: 0 1px 0 rgba(51, 65, 85, 0.9);
}

.admin-server-files-cell-path {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
  font-size: 0.78rem;
  word-break: break-all;
  color: #cbd5e1;
}

.admin-server-files-url-input {
  display: block;
  width: 100%;
  min-width: 12rem;
  max-width: 22rem;
  font-size: 0.72rem;
  margin-bottom: 0.35rem;
  padding: 0.35rem 0.45rem;
  box-sizing: border-box;
  border-radius: 6px;
  border: 1px solid rgba(71, 85, 105, 0.75);
  background: rgba(15, 23, 42, 0.9);
  color: #e2e8f0;
}

.admin-server-files-copy-btn {
  font-size: 0.75rem;
  padding: 0.25rem 0.45rem;
}

.admin-server-files-deep-table td {
  vertical-align: top;
}

.admin-server-files-panel--edit {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.admin-server-files-edit-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  margin-bottom: 0.75rem;
}

.admin-server-files-edit-title {
  margin: 0;
  flex: 1 1 auto;
}

.admin-server-files-back {
  flex-shrink: 0;
}

.admin-server-files-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
}

.admin-server-files-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.admin-server-files-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem;
  font-size: 0.88rem;
}

.admin-server-files-bc-part {
  font: inherit;
  background: transparent;
  border: none;
  color: #93c5fd;
  cursor: pointer;
  padding: 0.15rem 0.25rem;
  border-radius: 4px;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.admin-server-files-bc-part:hover,
.admin-server-files-bc-part:focus-visible {
  color: #bfdbfe;
  outline: none;
  background: rgba(59, 130, 246, 0.15);
}

.admin-server-files-bc-sep {
  color: #64748b;
  user-select: none;
}

.admin-server-files-bookmarks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.5rem;
  margin: 0.5rem 0 0.85rem;
  min-height: 0;
}

.admin-server-files-bookmark {
  display: inline-flex;
  align-items: stretch;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(71, 85, 105, 0.75);
  background: rgba(15, 23, 42, 0.55);
}

.admin-server-files-bookmark-go {
  font: inherit;
  font-size: 0.82rem;
  padding: 0.35rem 0.55rem;
  border: none;
  background: transparent;
  color: #e2e8f0;
  cursor: pointer;
  max-width: 14rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-server-files-bookmark-go:hover,
.admin-server-files-bookmark-go:focus-visible {
  background: rgba(59, 130, 246, 0.2);
  outline: none;
}

.admin-server-files-bookmark-rm {
  font: inherit;
  font-size: 1rem;
  line-height: 1;
  padding: 0 0.45rem;
  border: none;
  border-left: 1px solid rgba(71, 85, 105, 0.75);
  background: rgba(30, 41, 59, 0.6);
  color: #94a3b8;
  cursor: pointer;
}

.admin-server-files-bookmark-rm:hover {
  color: #fecaca;
  background: rgba(127, 29, 29, 0.35);
}

.admin-main--server-files-edit {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: calc(100vh - 140px);
}

.admin-main--server-files-edit .admin-server-files-panel--edit {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.admin-main--server-files-edit .admin-server-files-textarea--full {
  flex: 1;
  min-height: min(62vh, 720px);
  resize: vertical;
}

.admin-server-files-table-wrap {
  max-height: min(72vh, 900px);
}

.admin-server-files-table tbody tr {
  cursor: pointer;
}

.admin-server-files-table tbody tr:hover {
  background: rgba(30, 41, 59, 0.55);
}

.admin-server-files-col-actions {
  width: 6.5rem;
  white-space: nowrap;
}

.admin-server-files-actions {
  text-align: right;
}

.admin-server-files-delete {
  font-size: 0.78rem;
  padding: 0.28rem 0.55rem;
}

.admin-server-files-row--dir {
  font-weight: 600;
}

.admin-server-files-row--server[data-available='0'] {
  opacity: 0.45;
  cursor: not-allowed;
}

.admin-server-files-editor {
  display: flex;
  flex-direction: column;
  min-height: 320px;
}

.admin-server-files-editor-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  margin-bottom: 0.5rem;
}

.admin-server-files-editor-path {
  display: block;
  font-size: 0.82rem;
  word-break: break-all;
  color: #e2e8f0;
  margin: 0;
  flex: 1 1 12rem;
}

.admin-server-files-editor-label {
  font-size: 0.78rem;
  color: #94a3b8;
  margin-bottom: 0.35rem;
}

.admin-server-files-textarea {
  flex: 1;
  width: 100%;
  min-height: 260px;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
  font-size: 0.82rem;
  line-height: 1.45;
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
  border: 2px solid rgba(71, 85, 105, 0.65);
  background: rgba(15, 23, 42, 0.85);
  color: #f1f5f9;
  box-sizing: border-box;
}

.admin-server-files-textarea:focus {
  outline: none;
  border-color: rgba(96, 165, 250, 0.75);
  box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.35);
}

.admin-server-files-textarea:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.admin-server-files-textarea--dirty {
  border-color: rgba(251, 191, 36, 0.55);
}

