:root {
  --bg: #06080d;
  --bg-2: #0a0f16;
  --panel: #0f1724;
  --panel-2: #141d2c;
  --panel-3: #192333;
  --panel-soft: rgba(255,255,255,0.03);
  --border: #283448;
  --border-strong: #3a465f;
  --text: #f5f7fb;
  --muted: #e4ebf5;
  --danger: #e03a3e;
  --danger-2: #ff625f;
  --success: #22c55e;
  --warning: #f59e0b;
  --info: #38bdf8;
  --chip: #132033;
  --shadow: 0 22px 60px rgba(0, 0, 0, 0.45);
  --radius: 18px;
  --radius-sm: 12px;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at top, rgba(224,58,62,0.15), transparent 24%),
    linear-gradient(180deg, #04070b 0%, #07101a 100%);
}
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.small { font-size: 12px; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px;
}
.login-shell.compact { padding: 24px; }

.loading-shell {
  background:
    radial-gradient(circle at 50% 28%, rgba(124,58,237,0.22), transparent 32%),
    radial-gradient(circle at 50% 62%, rgba(224,58,62,0.12), transparent 28%),
    linear-gradient(180deg, #04070b 0%, #07101a 100%);
}

.dashboard-loading-card {
  width: min(440px, calc(100vw - 40px));
  display: grid;
  justify-items: center;
  gap: 12px;
  text-align: center;
  padding: 28px;
}

.dashboard-loading-card h3 {
  margin: 0;
}

.dashboard-loading-card p {
  margin: 0;
  line-height: 1.45;
}

.loading-orb {
  width: 54px;
  height: 54px;
  border-radius: 999px;
  border: 3px solid rgba(148, 163, 184, 0.22);
  border-top-color: rgba(236, 72, 153, 0.95);
  border-right-color: rgba(124, 58, 237, 0.95);
  animation: dbotSpin 0.95s linear infinite;
  box-shadow: 0 0 34px rgba(124, 58, 237, 0.28);
}

.map-loading-note {
  margin-top: 4px;
}

@keyframes dbotSpin {
  to { transform: rotate(360deg); }
}

.login-card {
  width: min(980px, 100%);
  display: grid;
  grid-template-columns: minmax(240px, 320px) 1fr;
  gap: 28px;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(13,19,29,0.96) 0%, rgba(8,12,19,0.96) 100%);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}
.login-brand {
  display: grid;
  gap: 18px;
  align-content: start;
}
.login-card.compact {
  width: min(560px, 100%);
  grid-template-columns: 1fr;
  gap: 0;
}
.login-brand.compact {
  justify-items: start;
}
.login-brand.compact h1 { margin-top: 8px; }

.login-logo-wrap,
.sidebar-logo {
  width: 78px;
  height: 78px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  display: grid;
  place-items: center;
  overflow: hidden;
}
.login-logo-wrap img,
.sidebar-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.brand-tag {
  display: inline-flex;
  width: fit-content;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(224,58,62,0.3);
  background: rgba(224,58,62,0.1);
  color: #ffd2d2;
  font-size: 12px;
  letter-spacing: 0.02em;
}
.login-card h1, .shell-title h1 {
  margin: 0;
  line-height: 0.96;
}
.dayz-wordmark {
  font-family: Impact, Haettenschweiler, "Arial Black", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #ffffff;
  font-size: clamp(28px, 3.3vw, 46px);
}
.dayz-wordmark.small {
  font-size: 24px;
}
.dayz-title {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #ffffff;
  font-size: clamp(24px, 2.3vw, 38px);
  font-weight: 800;
  line-height: 1.08;
  max-width: 920px;
  text-wrap: balance;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.24);
}
.wordmark-kicker,
.wordmark-sub {
  display: inline-block;
  color: #d8e0ed;
  letter-spacing: 0.12em;
  font-size: 12px;
  text-transform: uppercase;
}
.brand-accent { color: #ffdfdf; }
.login-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.login-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
.btn,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-ghost,
.btn-chip,
.btn-tab {
  border: 1px solid transparent;
  border-radius: 14px;
  min-height: 44px;
  padding: 10px 16px;
  color: var(--text);
  background: var(--panel-2);
  cursor: pointer;
  transition: 120ms ease;
}
.btn:hover,
.btn-secondary:hover,
.btn-success:hover,
.btn-danger:hover,
.btn-ghost:hover,
.btn-chip:hover,
.btn-tab:hover { transform: translateY(-1px); }
.btn {
  background: linear-gradient(135deg, #921f22 0%, #d12a31 55%, #ff6861 100%);
  box-shadow: 0 12px 28px rgba(224,58,62,0.3);
}
.btn-secondary {
  border-color: var(--border-strong);
  background: linear-gradient(180deg, var(--panel-2), #111827);
}
.btn-ghost {
  border-color: var(--border);
  background: transparent;
}
.btn-danger {
  background: rgba(224,58,62,0.15);
  border-color: rgba(224,58,62,0.35);
  color: #ffd7d7;
}
.btn-success {
  background: rgba(46,204,113,0.16);
  border-color: rgba(46,204,113,0.42);
  color: #d7ffe6;
}
.btn:disabled, .btn-secondary:disabled, .btn-success:disabled, .btn-ghost:disabled, .btn-danger:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}
.login-preview {
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.06);
  padding: 20px;
  background:
    linear-gradient(180deg, rgba(224,58,62,0.08), transparent 180px),
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  display: grid;
  gap: 16px;
}
.kicker-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.kicker-card {
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.02);
  padding: 16px;
}
.kicker-card strong { display: block; margin-bottom: 6px; }

.app-shell {
  display: grid;
  grid-template-columns: 288px minmax(0, 1fr);
  min-height: 100vh;
}
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: auto;
  padding: 20px;
  border-right: 1px solid rgba(255,255,255,0.06);
  background: rgba(5, 9, 14, 0.94);
  backdrop-filter: blur(14px);
}
.sidebar-brand {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
}
.sidebar-brand h2 { margin: 0; line-height: 0.95; }
.sidebar-brand p { margin: 4px 0 0; color: var(--muted); }
.guild-picker,
.user-card,
.sidebar-actions,
.zone-editor,
.admin-search,
.right-panel,
.page-card,
.table-card,
.filter-bar,
.alert,
.status-panel,
.map-shell,
.map-list,
.metric-grid,
.metric-card,
.item-card,
.basket-card,
.detail-card {
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,0.06);
  background: linear-gradient(180deg, rgba(19,29,43,0.92), rgba(12,18,29,0.95));
  box-shadow: var(--shadow);
}
.guild-picker, .user-card, .sidebar-actions {
  padding: 14px;
  margin-bottom: 14px;
}
.sidebar select, .sidebar input, .content select, .content input, .content textarea {
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #0d1521;
  color: var(--text);
  padding: 10px 12px;
}
.sidebar input[type="checkbox"],
.sidebar input[type="radio"],
.content input[type="checkbox"],
.content input[type="radio"] {
  width: 16px;
  min-width: 16px;
  max-width: 16px;
  height: 16px;
  min-height: 16px;
  padding: 0;
  margin: 0;
  border-radius: 4px;
  accent-color: var(--danger);
  flex: 0 0 16px;
  vertical-align: middle;
}
.content .field:has(> input[type="checkbox"]),
.content .field:has(> input[type="radio"]) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 36px;
}
.content .field:has(> input[type="checkbox"]) .label,
.content .field:has(> input[type="radio"]) .label {
  margin-bottom: 0;
}
.sidebar-actions { display: grid; gap: 10px; }
.user-card {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 12px;
  align-items: center;
}
.user-avatar {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  display: grid;
  place-items: center;
  font-weight: 700;
}
.user-avatar img { width: 100%; height: 100%; object-fit: cover; }
.nav {
  display: grid;
  gap: 8px;
  margin: 18px 0;
}
.nav button {
  min-height: 44px;
  text-align: left;
  border-radius: 14px;
  padding: 11px 14px;
  border: 1px solid transparent;
  color: #d8e0ed;
  background: transparent;
}
.nav button.active,
.nav button:hover {
  background: rgba(224,58,62,0.14);
  border-color: rgba(224,58,62,0.25);
  color: #fff;
}
.content {
  padding: 24px;
  min-width: 0;
}
.header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 20px;
}
.header-main { display: flex; align-items: flex-start; gap: 14px; min-width: 0; }
.shell-title { display: grid; gap: 6px; min-width: 0; }
.shell-title p { margin: 6px 0 0; color: var(--muted); max-width: 760px; font-size: 14px; }
.title-accent-row { display: flex; flex-wrap: wrap; }
.title-accent-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(224,58,62,0.3);
  background: rgba(224,58,62,0.14);
  color: #ffd0d0;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.mobile-nav-toggle { display: none; }
.sidebar-mobile-head { display: none; }
.compact-head { align-items: center; margin-bottom: 12px; }
.compact-head h3 { margin: 0; }
.small-btn { min-height: 34px; padding: 6px 12px; font-size: 13px; }
.header-tags { display: flex; gap: 10px; flex-wrap: wrap; }
.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--chip);
  color: #dbe7ff;
  font-size: 12px;
}
.chip.success { background: rgba(34,197,94,0.12); border-color: rgba(34,197,94,0.25); color: #bbf7d0; }
.chip.warning { background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.25); color: #fde68a; }
.chip.danger { background: rgba(224,58,62,0.12); border-color: rgba(224,58,62,0.25); color: #fecaca; }
.chip.info { background: rgba(56,189,248,0.12); border-color: rgba(56,189,248,0.25); color: #bae6fd; }

.mode-chip {
  appearance: none;
  cursor: pointer;
  font: inherit;
}
.mode-chip:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}
.player-route-line {
  fill: none;
  stroke: rgba(255,255,255,0.72);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 4px rgba(124,58,237,0.38));
}
.player-route-line.faction {
  stroke-dasharray: 18 12;
}
.player-route-dot {
  fill: rgba(255,255,255,0.9);
  stroke: rgba(124,58,237,0.9);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.player-route-dot.faction {
  stroke: rgba(56,189,248,0.95);
}
.player-map-status {
  line-height: 1.45;
}

.page { display: none; }
.page.active { display: block; }
.layout-grid {
  display: grid;
  gap: 18px;
}
.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding: 16px;
}
.metric-card { padding: 18px; }
.metric-card .value { font-size: 24px; font-weight: 800; line-height: 1.08; margin-top: 8px; }
.metric-card .value.text-value { font-size: 22px; }
.metric-card .value.value-inline { display: flex; align-items: center; gap: 12px; }
.metric-card .sub { color: var(--muted); margin-top: 8px; }
.balance-stack { display: grid; gap: 8px; margin-top: 10px; }
.balance-stack-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.balance-stack-label { color: var(--muted); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; }
.balance-stack-value { font-size: 14px; font-weight: 700; }
.balance-stack.compact { margin-top: 0; gap: 6px; min-width: 150px; }
.balance-stack.compact .balance-stack-label { font-size: 11px; }
.balance-stack.compact .balance-stack-value { font-size: 13px; }
.metric-balance-stack .balance-stack-value { font-size: 15px; }
.field .balance-stack { margin-top: 2px; }
 .casino-chip {
  width: 22px;
  height: 22px;
  display: inline-block;
  border-radius: 999px;
  background:
    radial-gradient(circle at 35% 35%, #fff6c9 0 10%, transparent 11%),
    radial-gradient(circle at center, #ffffff 0 28%, #d7262b 29% 62%, #ffffff 63% 70%, #9b1116 71% 100%);
  box-shadow: 0 6px 14px rgba(0,0,0,0.28);
  border: 2px solid rgba(255,255,255,0.18);
  margin-right: 8px;
}

.two-col {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.9fr);
  gap: 18px;
}
.page-card, .table-card, .detail-card, .basket-card, .right-panel, .map-shell, .map-list, .zone-editor, .status-panel {
  padding: 18px;
}
.section-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 16px;
}
.section-head h3, .page-card h3, .table-card h3, .detail-card h3, .basket-card h3, .map-shell h3, .map-list h3 { margin: 0; font-size: 22px; }
.section-tools { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.quick-actions, .category-row, .basket-lines, .prize-list, .admin-panels, .stat-stack, .field-grid, .zone-list {
  display: grid;
  gap: 12px;
}
.quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-actions-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:18px; }
.compact-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap:10px; }
.compact-actions .btn, .compact-actions .btn-secondary, .compact-actions .btn-success, .compact-actions .btn-ghost, .compact-actions .btn-danger { min-height: 38px; padding: 8px 12px; font-size: 14px; }
.admin-actions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.admin-control-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.admin-control-group {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  background: rgba(255,255,255,0.025);
}
.admin-control-group-head {
  display: grid;
  gap: 4px;
}
.admin-control-group-head h4 {
  margin: 0;
  font-size: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #eef5ff;
}
.admin-control-group-head p {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}
.admin-control-group-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-control-group-actions .btn-secondary {
  justify-content: center;
}

.admin-control-form { display: grid; gap: 14px; }
.admin-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-tight-grid { gap: 10px; }
.admin-span-2 { grid-column: 1 / -1; }
.admin-upload-help {
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
}
.admin-bans-list .data-row .row-head { align-items: center; }
.small-btn { min-height: 32px; padding: 6px 10px; font-size: 13px; }
.admin-inline-actions { margin-top: 14px; }
.inline-admin-panel {
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
}
.compact-ban-list { max-height: 420px; overflow: auto; padding-right: 4px; }
.base-link-row { margin-top: 10px; }
.profile-social-grid { display: grid; gap: 12px; }
.toggle-chip { display:inline-flex; align-items:center; gap:7px; min-height:30px; padding:5px 9px; border:1px solid var(--border); border-radius:10px; background: rgba(255,255,255,0.03); font-size:13px; line-height:1.2; }
.toggle-chip input { width:16px !important; min-width:16px; max-width:16px; height:16px; min-height:16px; padding:0; margin:0; }
.admin-control-grid select[multiple] {
  min-height: 180px;
  padding: 10px;
}

.table-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.order-detail-card {
  margin-top: 16px;
}
.admin-item-tools { margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.08); }
.admin-item-tools-body { display: grid; gap: 14px; }
.admin-item-tools.collapsed { gap: 10px; }
.admin-tools-toggle { min-width: 104px; justify-content: center; }
.admin-tools-note { margin-top: 10px; }
.catalog-admin-filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.catalog-mode-link {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  cursor: pointer;
}
.catalog-mode-link:hover { color: #ffffff; }
.catalog-mode-link.active { color: #ffffff; text-decoration: underline; text-underline-offset: 3px; }
.home-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.summary-list { gap: 10px; }
.home-alert { padding: 14px; margin-top: 14px; }
.empty-state.tight { min-height: 120px; padding: 12px; }
.filter-bar {
  padding: 14px;
  display: grid;
  gap: 12px;
}

.trader-banner-card {
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(224,58,62,0.16);
  background: linear-gradient(135deg, rgba(8,10,16,0.98), rgba(25,7,9,0.98));
}
.trader-banner {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1600 / 280;
  max-height: 280px;
  object-fit: cover;
}
.trader-hero-card {
  padding: 18px;
  overflow: hidden;
  border: 1px solid rgba(224,58,62,0.2);
  background:
    radial-gradient(circle at top right, rgba(224,58,62,0.18), transparent 30%),
    linear-gradient(135deg, rgba(18,7,8,0.98), rgba(63,8,10,0.84) 42%, rgba(12,18,29,0.94) 100%);
}
.trader-hero-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: stretch;
}
.trader-logo-panel {
  display: grid;
  align-items: center;
  justify-items: center;
}
.trader-logo-image {
  width: min(100%, 920px);
  max-width: 100%;
  max-height: 170px;
  aspect-ratio: 1536 / 420;
  object-fit: contain;
  border-radius: 16px;
  border: 1px solid rgba(224,58,62,0.28);
  background: radial-gradient(circle at center, rgba(0,0,0,0.48), rgba(0,0,0,0.18));
  box-shadow: 0 12px 28px rgba(0,0,0,0.24);
}
.trader-hero-content {
  display: grid;
  gap: 16px;
  min-width: 0;
  align-content: center;
}
.trader-hero-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}
.trader-hero-title {
  margin: 4px 0 8px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
}
.trader-hero-copy {
  margin: 0;
  max-width: 780px;
  color: #f2d9d9;
  line-height: 1.55;
}
.trader-count-chip { align-self: flex-start; white-space: nowrap; }
.trader-hero-search-row { grid-template-columns: 1fr; }
.trader-category-pills { grid-template-columns: repeat(auto-fit, minmax(120px, max-content)); }
.trader-catalog-card, .trader-side-panels { min-width: 0; }
.trader-catalog-head { align-items: center; }
.trader-admin-builder { margin-bottom: 18px; }
.admin-builder-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-builder-panel {
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.03);
  padding: 16px;
  display: grid;
  gap: 12px;
}
.admin-builder-panel h4 { margin: 0; font-size: 18px; }
.admin-builder-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-builder-wide { grid-column: 1 / -1; }
.admin-builder-panel textarea {
  width: 100%;
  min-height: 120px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #0d1521;
  color: var(--text);
  padding: 10px 12px;
  resize: vertical;
}
.admin-selected-card {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.035);
}
.admin-selected-card.empty {
  justify-content: flex-start;
}
.admin-selected-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.admin-selected-copy strong {
  font-size: 15px;
  line-height: 1.3;
}
.admin-selected-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.builder-tag-input {
  position: relative;
  display: grid;
  gap: 10px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: #0d1521;
  padding: 10px;
}
.builder-tag-input > input {
  width: 100%;
}
.builder-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.builder-tag-list.empty {
  min-height: 0;
}
.builder-tag {
  flex: 1 1 240px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
}
.builder-tag-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.builder-tag-copy span {
  font-weight: 600;
}
.builder-tag-copy small {
  color: var(--muted);
  word-break: break-all;
}
.builder-tag-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}
.tag-mini-btn {
  min-width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  color: var(--text);
  padding: 0;
}
.tag-mini-btn.danger {
  border-color: rgba(224,58,62,0.28);
  color: #ffd7d7;
}
.tag-qty {
  min-width: 34px;
  text-align: center;
  font-weight: 700;
}
.suggestion-empty {
  padding: 10px 12px;
  color: var(--muted);
}
.admin-category-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.admin-category-chip {
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  color: var(--text);
  cursor: pointer;
}
.compact-panel { align-content: start; }
.bundle-preview { line-height: 1.45; }
.bundle-detail-box {
  display: grid;
  gap: 10px;
  margin-bottom: 6px;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.05);
}
.bundle-detail-list { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-top {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 12px;
}
.category-row {
  grid-template-columns: repeat(auto-fit, minmax(140px, max-content));
  align-items: center;
}
.btn-chip {
  min-height: 38px;
  padding: 8px 14px;
  border-color: var(--border);
  background: rgba(255,255,255,0.03);
  border-radius: 999px;
}
.btn-chip.active {
  border-color: rgba(224,58,62,0.4);
  background: rgba(224,58,62,0.16);
}
.store-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.75fr);
  gap: 18px;
}
.item-list {
  display: grid;
  gap: 12px;
}
.item-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 16px;
}
.item-card:hover { border-color: rgba(224,58,62,0.25); }
.item-card.active { border-color: rgba(224,58,62,0.45); background: linear-gradient(180deg, rgba(224,58,62,0.09), rgba(12,18,29,0.95)); }
.item-meta { display: grid; gap: 6px; }
.item-title-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}
.item-name { font-size: 20px; font-weight: 700; color: #ffffff; }
.price {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  font-weight: 700;
  white-space: nowrap;
}
.price .coin { color: #ffce67; }
.item-key { color: #f5f7fb; font-size: 13px; word-break: break-all; opacity: 0.9; }
.item-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.detail-card .hero { display: grid; gap: 10px; margin-bottom: 18px; }
.detail-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
.stat-box {
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.025);
  padding: 12px;
}
.qty-row, .basket-line-actions, .inline-row, .map-controls, .tabs, .search-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.basket-line {
  padding: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.05);
  display: grid;
  gap: 8px;
}
.basket-total {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-weight: 700;
}
.custom-pickup-fields {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}
.table-wrap { overflow: auto; }
.table {
  width: 100%;
  border-collapse: collapse;
  min-width: 620px;
}
.table th, .table td {
  padding: 12px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  text-align: left;
  vertical-align: top;
}
.table th { color: #eef4ff; font-weight: 600; }
.table tbody tr:hover { background: rgba(255,255,255,0.02); }
.data-list { display: grid; gap: 12px; }
.data-row {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.05);
  background: rgba(255,255,255,0.02);
}
.data-row .row-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.field-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.field-grid .field {
  border-radius: 14px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.05);
  padding: 12px;
}
.field .label { color: #eef4ff; font-size: 12px; margin-bottom: 6px; opacity: 0.85; }
.field .value { font-size: 16px; font-weight: 600; word-break: break-word; }
.checkbox-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #eef4ff;
  min-height: 34px;
  padding: 7px 9px;
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.05);
  line-height: 1.25;
}
.checkbox-row input[type="checkbox"] {
  width: 16px;
  height: 16px;
}
.map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.9fr);
  gap: 18px;
}
.map-shell { min-height: 640px; position: relative; overflow: hidden; }
.map-stage {
  margin-top: 16px;
  position: relative;
  min-height: 560px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.06);
  background: #02060d;
}
.map-bg {
  position: absolute; inset: 0;
  background-position: center;
  background-size: cover;
  filter: brightness(0.78) saturate(1.05);
}
.map-grid-overlay {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.08) 1px, transparent 1px);
  background-size: 8% 8%;
  opacity: 0.18;
  pointer-events: none;
}
.zone-shape, .map-pin {
  position: absolute;
  transform: translate(-50%, -50%);
}
.zone-shape.circle {
  border: 2px solid currentColor;
  background: color-mix(in srgb, currentColor 18%, transparent);
  border-radius: 999px;
}
.zone-shape.polygon {
  background: color-mix(in srgb, currentColor 22%, transparent);
  border: 2px solid currentColor;
}
.map-pin {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, #fff, #ffd6d6);
  border: 3px solid var(--danger);
  box-shadow: 0 0 0 8px rgba(224,58,62,0.15);
}
.map-pin.player { border-color: var(--info); box-shadow: 0 0 0 8px rgba(56,189,248,0.15); }
.map-pin-label {
  position: absolute;
  transform: translate(-50%, calc(-100% - 14px));
  min-width: 120px;
  max-width: 220px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(5,9,14,0.92);
  font-size: 12px;
  box-shadow: var(--shadow);
}
.map-list { min-height: 640px; }
.zone-editor label { display: grid; gap: 8px; margin-bottom: 12px; }
.zone-editor .point-help { white-space: pre-wrap; }
.zone-list .data-row.active { border-color: rgba(224,58,62,0.38); }
.toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  min-width: 260px;
  max-width: 420px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(8,12,19,0.96);
  box-shadow: var(--shadow);
  z-index: 1000;
}
.toast.success { border-color: rgba(34,197,94,0.28); }
.toast.warn { border-color: rgba(234,179,8,0.34); }
.toast.error { border-color: rgba(224,58,62,0.28); }
.empty-state {
  display: grid;
  place-items: center;
  min-height: 180px;
  text-align: center;
  color: var(--muted);
  padding: 18px;
}
.autocomplete {
  position: relative;
}
.suggestions {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 100;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(7,11,18,0.98);
  box-shadow: var(--shadow);
}
.suggestions button {
  width: 100%;
  text-align: left;
  min-height: 42px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  background: transparent;
  color: var(--text);
  padding: 10px 12px;
}
.suggestions button:hover { background: rgba(255,255,255,0.04); }
.code {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  color: #d7e2f2;
  font-size: 12px;
  font-family: ui-monospace, monospace;
}
.footer-space { height: 18px; }

@media (max-width: 1400px) {
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .store-layout, .map-layout, .two-col { grid-template-columns: 1fr; }
}
@media (max-width: 1080px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; }
  .header { flex-direction: column; }
}
@media (max-width: 760px) {
  .login-card { grid-template-columns: 1fr; }
  .metric-grid, .quick-actions, .field-grid, .kicker-grid, .admin-control-groups { grid-template-columns: 1fr; }
  .filter-top { grid-template-columns: 1fr; }
  .content { padding: 16px; }
  .sidebar { padding: 16px; }
}



.sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  border: 0;
  background: rgba(3, 7, 12, 0.68);
  z-index: 220;
}

@media (max-width: 1400px) {
  .home-summary-grid { grid-template-columns: 1fr; }
  .admin-builder-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1080px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(340px, 88vw);
    height: auto;
    z-index: 240;
    transform: translateX(-105%);
    transition: transform 160ms ease;
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
  }
  .sidebar.mobile-open { transform: translateX(0); }
  .sidebar-mobile-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
  }
  .sidebar-backdrop { display: block; }
  .mobile-nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .header { flex-direction: column; align-items: stretch; }
  .header-main { width: 100%; }
  .header-tags { justify-content: flex-start; }
  .trader-hero-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .login-card { grid-template-columns: 1fr; }
  .metric-grid, .quick-actions, .field-grid, .kicker-grid, .admin-builder-fields, .admin-control-grid, .admin-control-groups { grid-template-columns: 1fr; }
  .filter-top { grid-template-columns: 1fr; }
  .content { padding: 16px; }
  .sidebar { padding: 16px; }
  .trader-hero-card { padding: 14px; }
  .trader-hero-layout { grid-template-columns: 1fr; }
  .trader-logo-panel { justify-items: stretch; }
  .trader-logo-image { width: 100%; max-width: 100%; max-height: 128px; border-radius: 14px; }
  .trader-hero-top, .item-title-row, .admin-selected-card, .builder-tag { flex-direction: column; align-items: flex-start; }
  .item-card { grid-template-columns: 1fr; }
  .catalog-admin-filters { width: 100%; justify-content: flex-start; }
  .section-head { align-items: flex-start; }
  .builder-tag { width: 100%; }
  .builder-tag-actions { width: 100%; justify-content: flex-end; }
}

.text-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,0.35);
  text-underline-offset: 2px;
}

.admin-economy-grid {
  align-items: start;
}

.compact-stack {
  display: grid;
  gap: 18px;
}

.compact-form-grid {
  gap: 12px;
}

.compact-config-card {
  padding: 16px;
}

.admin-action-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.compact-list .data-row {
  padding: 12px 14px;
}


.compact-value-list {
  white-space: normal;
  line-height: 1.45;
}


.admin-collapse-stack {
  display: grid;
  gap: 14px;
}

.admin-collapse {
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,0.06);
  background: linear-gradient(180deg, rgba(19,29,43,0.92), rgba(12,18,29,0.95));
  box-shadow: var(--shadow);
  overflow: hidden;
}

.admin-collapse summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  cursor: pointer;
}

.admin-collapse summary::-webkit-details-marker {
  display: none;
}

.admin-collapse-summary-copy {
  display: grid;
  gap: 4px;
}

.admin-collapse-summary-copy h3 {
  margin: 0;
}

.admin-collapse-summary-side {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.admin-collapse-chevron {
  font-size: 20px;
  line-height: 1;
  transition: transform 140ms ease;
}

.admin-collapse[open] .admin-collapse-chevron {
  transform: rotate(180deg);
}

.admin-collapse-body {
  padding: 0 20px 20px;
  border-top: 1px solid rgba(255,255,255,0.05);
}

.admin-wheel-layout {
  align-items: start;
}

.admin-wheel-prize-list .table-actions {
  margin-top: 10px;
}

/* --- 2026-04-23 map zones overlay refresh --- */
.map-layout.upgraded {
  grid-template-columns: minmax(0, 1.7fr) minmax(340px, 0.95fr);
  align-items: start;
}
.map-shell.upgraded {
  min-height: 0;
}
.map-stage.upgraded {
  display: grid;
  grid-template-rows: auto auto;
  background: linear-gradient(180deg, rgba(3,8,14,0.98), rgba(6,12,20,0.98));
}
.map-canvas {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  display: block;
  touch-action: none;
  cursor: grab;
  background: #04080d;
}
.map-canvas:active {
  cursor: grabbing;
}
.map-hint-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 16px;
  padding: 10px 14px;
  border-top: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.02);
}
.toolbar-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.zone-svg {
  fill: rgba(224,58,62,0.18);
  stroke: rgba(255,255,255,0.84);
  stroke-width: 12;
  vector-effect: non-scaling-stroke;
  cursor: pointer;
}
.zone-svg.selected {
  fill: rgba(255,255,255,0.12);
  stroke: #f8fafc;
  stroke-width: 16;
}
.zone-svg.draft {
  fill: rgba(56,189,248,0.16);
  stroke: #38bdf8;
  stroke-dasharray: 180 120;
}
.zone-polyline.draft {
  fill: none;
  stroke: #38bdf8;
  stroke-width: 12;
  stroke-dasharray: 180 120;
  vector-effect: non-scaling-stroke;
}
.zone-vertex.draft {
  fill: rgba(56,189,248,0.92);
  stroke: rgba(255,255,255,0.88);
  stroke-width: 6;
  vector-effect: non-scaling-stroke;
}
.zone-type-watch { fill: rgba(59,130,246,0.16); }
.zone-type-safe { fill: rgba(16,185,129,0.16); }
.zone-type-kill { fill: rgba(239,68,68,0.18); }
.zone-type-ban { fill: rgba(249,115,22,0.18); }
.zone-type-build { fill: rgba(56,189,248,0.16); }
.zone-type-base { fill: rgba(168,85,247,0.16); }
.zone-type-event { fill: rgba(234,179,8,0.16); }
.map-svg-marker {
  pointer-events: none;
}
.map-svg-marker circle {
  vector-effect: non-scaling-stroke;
  stroke: rgba(255,255,255,0.92);
  stroke-width: 2.4;
  filter: drop-shadow(0 0 5px rgba(255,255,255,0.28));
}
.map-svg-marker.base circle {
  fill: rgba(168,85,247,0.84);
}
.map-svg-marker.player circle {
  fill: rgba(56,189,248,0.92);
}
.zone-type-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.selected-zone-card {
  display: grid;
  gap: 12px;
}
.zone-stats-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.zone-inline-list,
.zone-activity-list {
  display: grid;
  gap: 8px;
}
.zone-editor textarea {
  min-height: 110px;
}
.compact-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.is-hidden {
  display: none !important;
}
@media (max-width: 1100px) {
  .map-layout.upgraded {
    grid-template-columns: 1fr;
  }
  .map-stage.upgraded {
    grid-template-rows: minmax(420px, 60vh) auto;
  }
}
@media (max-width: 720px) {
  .compact-form-grid,
  .zone-stats-row {
    grid-template-columns: 1fr;
  }
  .map-hint-bar {
    align-items: flex-start;
  }
}

/* --- 2026-04-23 zone rules + intel pass --- */
.map-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}
.button-row,
.active-soft {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.16);
}
.btn-secondary.active-soft {
  background: rgba(124,58,237,0.18);
  border-color: rgba(124,58,237,0.45);
  color: #f5f3ff;
}
.zone-svg {
  stroke-width: 0.45;
}
.zone-svg.selected {
  stroke-width: 0.75;
}
.zone-svg.draft,
.zone-polyline.draft {
  stroke-width: 0.45;
}
.zone-vertex.draft {
  stroke-width: 1.4;
}
.zone-advanced-shell {
  display: grid;
  gap: 14px;
  margin-top: 8px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  background: rgba(255,255,255,0.02);
}
.zone-builder-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 12px;
  align-items: end;
  margin-bottom: 10px;
}
.zone-builder-actions {
  justify-content: flex-start;
}
.zone-colour-control {
  display: flex;
  align-items: center;
  gap: 10px;
}
.zone-colour-swatch {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
  flex: 0 0 auto;
}
.zone-editor-shape-note {
  margin-bottom: 10px;
}
.compact-zone-type-grid {
  gap: 6px;
  margin-bottom: 10px;
}
.compact-zone-type-grid .toggle-chip,
.zone-editor .toggle-chip.compact {
  min-height: 30px;
  padding: 5px 9px;
  font-size: 12px;
}
.zone-action-group {
  display: grid;
  gap: 10px;
}
.zone-action-title {
  font-weight: 700;
  letter-spacing: 0.03em;
}
.zone-toggle-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.zone-admin-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.zone-admin-grid select[multiple],
.zone-editor select[multiple] {
  min-height: 120px;
}
.zone-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.map-intel-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.intel-filter-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.zone-editor .toggle-chip,
.intel-filter-form .toggle-chip {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
}
.map-shell.upgraded .btn,
.map-shell.upgraded .btn-secondary,
.map-shell.upgraded .btn-ghost,
.map-list.upgraded .btn,
.map-list.upgraded .btn-secondary,
.map-list.upgraded .btn-ghost,
.map-list.upgraded .btn-danger {
  min-height: 38px;
  padding: 8px 12px;
}
.zone-editor input,
.zone-editor select,
.zone-editor textarea,
.intel-filter-form input,
.intel-filter-form select {
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 12px;
}
.map-heat-layer {
  pointer-events: none;
  mix-blend-mode: screen;
}
.map-heat-cell circle {
  fill: rgba(239,68,68,0.34);
  filter: blur(26px);
}
.map-town-label {
  pointer-events: none;
}
.map-town-label circle {
  fill: rgba(15,23,42,0.75);
  stroke: rgba(255,255,255,0.55);
  stroke-width: 4;
  vector-effect: non-scaling-stroke;
}
.map-town-label text {
  fill: rgba(255,255,255,0.92);
  font-size: 140px;
  paint-order: stroke;
  stroke: rgba(2,6,23,0.9);
  stroke-width: 16px;
  stroke-linejoin: round;
}
.map-intel-layer {
  pointer-events: none;
}
.map-intel-marker {
  pointer-events: none;
}
.map-intel-marker rect,
.map-intel-marker circle,
.map-intel-marker line {
  vector-effect: non-scaling-stroke;
}
.map-intel-marker.kind-build rect {
  fill: rgba(56,189,248,0.28);
  stroke: rgba(56,189,248,0.95);
  stroke-width: 2.4;
}
.map-intel-marker.kind-placement rect {
  fill: rgba(14,165,233,0.2);
  stroke: rgba(125,211,252,0.95);
  stroke-width: 2.4;
}
.map-intel-marker.kind-trap rect {
  fill: rgba(245,158,11,0.24);
  stroke: rgba(251,191,36,0.95);
  stroke-width: 2.4;
}
.map-intel-marker.kind-bury rect {
  fill: rgba(163,230,53,0.22);
  stroke: rgba(190,242,100,0.95);
  stroke-width: 2.4;
}
.map-intel-marker.kind-kill line {
  stroke: rgba(248,113,113,0.98);
  stroke-width: 3;
}
.map-intel-marker.kind-hit circle {
  fill: rgba(249,115,22,0.16);
  stroke: rgba(251,146,60,0.96);
  stroke-width: 2.4;
}
@media (max-width: 1100px) {
  .zone-toggle-grid,
  .zone-admin-grid,
  .zone-meta-grid,
  .map-intel-grid,
  .intel-filter-grid,
  .zone-builder-toolbar {
    grid-template-columns: 1fr;
  }
}

/* --- 2026-04-24 Z18 map zones compact/modal correction --- */
.map-zone-index-panel {
  display: grid;
  gap: 12px;
}
.compact-zone-table-wrap {
  max-height: 360px;
  overflow: auto;
}
.compact-zone-table th,
.compact-zone-table td {
  padding: 8px 10px;
  vertical-align: top;
}
.compact-zone-table .active-row td {
  background: rgba(124,58,237,0.10);
}
.compact-zone-table .item-tags {
  gap: 5px;
}
.zone-editor-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  justify-items: end;
  align-items: start;
  padding: 18px;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0,0,0,0.04), rgba(0,0,0,0.42));
  backdrop-filter: blur(2px);
}
.zone-editor-modal {
  width: min(680px, 100%);
  max-height: min(88vh, 920px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(14,23,35,0.98), rgba(5,10,18,0.98));
  box-shadow: 0 24px 90px rgba(0,0,0,0.50);
  pointer-events: auto;
}
.zone-editor-modal-head {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.zone-editor-modal-body {
  max-height: calc(min(88vh, 920px) - 86px);
  overflow: auto;
  padding: 16px 18px 20px;
}
.zone-editor-modal .zone-editor {
  min-height: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
.zone-editor-modal .zone-editor > h3 {
  display: none;
}
.zone-builder-actions .btn,
.zone-builder-actions .btn-secondary,
.zone-builder-actions .btn-ghost {
  min-height: 34px;
  padding: 7px 10px;
}
@media (max-width: 720px) {
  .zone-editor-modal-backdrop {
    padding: 10px;
    align-items: end;
    justify-items: stretch;
    pointer-events: auto;
    background: rgba(0,0,0,0.64);
  }
  .zone-editor-modal {
    max-height: 92vh;
    border-radius: 20px 20px 0 0;
  }
  .zone-editor-modal-body {
    max-height: calc(92vh - 90px);
    padding: 12px;
  }
  .compact-zone-table th:nth-child(3),
  .compact-zone-table td:nth-child(3) {
    display: none;
  }
}

/* --- 2026-04-24 Z19 map tile clarity + DayZ++ compact zone editor pass --- */
.map-base-tile {
  image-rendering: auto;
}
.map-list.upgraded {
  display: grid;
  align-content: start;
  gap: 12px;
}
.map-zone-index-panel {
  gap: 10px;
}
.map-zone-rows {
  display: grid;
  gap: 8px;
}
.map-zone-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  background: rgba(255,255,255,0.025);
}
.map-zone-row.active-row {
  border-color: rgba(124,58,237,0.52);
  background: rgba(124,58,237,0.11);
}
.map-zone-row-main {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.zone-name-button {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: #f8fafc;
  font: inherit;
  font-weight: 800;
  font-size: 15px;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  white-space: normal;
}
.zone-name-button:hover {
  color: #c4b5fd;
}
.map-zone-row-actions {
  justify-content: flex-end;
  gap: 6px;
}
.map-zone-row-actions .small-btn {
  min-height: 28px;
  padding: 5px 8px;
  font-size: 11px;
}
.zone-advanced-shell {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 8px 0 0;
  gap: 12px;
}
.zone-advanced-shell .section-head {
  padding: 0;
  border: 0;
  background: transparent;
}
.zone-action-flat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 22px;
  align-items: start;
}
.zone-editor .zone-action-flat-grid .zone-check-row,
.zone-editor .zone-enabled-row {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #dbeafe;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
}
.zone-editor input[type="checkbox"] {
  width: 14px;
  height: 14px;
  min-height: 0;
  padding: 0;
  margin: 0;
  flex: 0 0 auto;
  border-radius: 3px;
}
.zone-editor label:has(.zone-enabled-row) {
  display: block;
  margin: 8px 0 12px;
}
@media (max-width: 720px) {
  .map-zone-row {
    grid-template-columns: 1fr;
  }
  .map-zone-row-actions {
    justify-content: flex-start;
  }
  .zone-action-flat-grid {
    grid-template-columns: 1fr;
  }
}

/* --- 2026-04-24 Z20 player dashboard density + player/admin map split --- */
.compact-dashboard-page {
  gap: 12px;
}
.compact-card,
.compact-dashboard-page .page-card,
.compact-dashboard-page .table-card {
  padding: 12px 14px;
}
.compact-dashboard-page .section-head {
  margin-bottom: 10px;
}
.compact-dashboard-page .section-head h3,
.compact-dashboard-page .page-card h3,
.compact-dashboard-page .table-card h3 {
  font-size: 18px;
}
.compact-metrics {
  padding: 10px;
  gap: 10px;
}
.compact-metrics .metric-card {
  padding: 12px 14px;
}
.compact-metrics .metric-card .value {
  font-size: 18px;
  margin-top: 4px;
}
.compact-metrics .metric-card .sub {
  margin-top: 4px;
  font-size: 12px;
}
.home-top-strip {
  display: grid;
  grid-template-columns: minmax(320px, 1.05fr) minmax(320px, 1fr);
  gap: 12px;
  align-items: start;
}
.home-top-strip .admin-home-card {
  grid-column: 1 / -1;
}
.home-quick-actions,
.compact-actions {
  gap: 8px;
}
.home-quick-actions .btn,
.home-quick-actions .btn-secondary,
.compact-dashboard-page .btn,
.compact-dashboard-page .btn-secondary,
.compact-dashboard-page .btn-ghost,
.compact-dashboard-page .btn-danger {
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 10px;
  font-size: 13px;
}
.home-alert {
  padding: 8px 10px;
  min-height: 0;
  margin-bottom: 8px;
}
.compact-prize-list,
.compact-list {
  display: grid;
  gap: 7px;
}
.prize-claim-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}
.prize-claim-row > div:first-child,
.prize-claim-row .row-head > div:first-child {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 3px 8px;
  align-items: center;
}
.prize-claim-row > div:first-child > .small,
.prize-claim-row .row-head + .small {
  grid-column: 2;
}
.claim-inline-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 8px;
}
.compact-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.compact-search-row {
  margin-bottom: 10px;
}
.compact-order-table th,
.compact-order-table td {
  padding: 8px 10px;
}
.selected-order-row td {
  background: rgba(124,58,237,0.08);
}
.order-expanded-row td {
  padding-top: 0;
  background: rgba(255,255,255,0.018);
}
.order-inline-details {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  background: rgba(0,0,0,0.16);
}
.order-inline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  font-size: 12px;
  color: var(--muted);
}
.order-inline-items {
  display: grid;
  gap: 6px;
}
.order-inline-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, .6fr) auto auto;
  gap: 8px;
  align-items: center;
  font-size: 13px;
}
.profile-compact-grid,
.profile-social-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.profile-social-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.profile-wide {
  grid-column: 1 / -1;
}
.mini-field {
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  background: rgba(255,255,255,0.025);
  display: grid;
  gap: 4px;
  align-content: center;
}
.mini-field span,
.mini-field .balance-stack-label {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.mini-field strong {
  font-size: 14px;
  word-break: break-word;
}
.compact-profile-form {
  margin-top: 14px;
  gap: 10px;
}
.compact-profile-form textarea {
  min-height: 92px;
}
.player-map-panel {
  display: grid;
  gap: 10px;
}
.player-map-controls,
.pin-palette,
.zone-primary-toggle-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.player-map-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.player-map-summary .field {
  padding: 9px 10px;
}
.zone-primary-toggle-row {
  margin: 8px 0 10px;
}
.zone-action-flat-grid .zone-check-row:nth-child(-n+4) {
  color: #fff;
  font-weight: 800;
}
@media (max-width: 980px) {
  .home-top-strip,
  .compact-summary-grid,
  .profile-compact-grid,
  .profile-social-grid {
    grid-template-columns: 1fr;
  }
  .claim-inline-row {
    grid-template-columns: 1fr;
  }
  .order-inline-item {
    grid-template-columns: 1fr auto;
  }
  .player-map-summary {
    grid-template-columns: 1fr;
  }
}

/* --- 2026-04-24 Z22 compact career + working player map markers --- */
.career-compact-page .metric-grid {
  padding: 10px;
  gap: 10px;
}
.career-compact-page .metric-card {
  padding: 12px 14px;
  min-height: 78px;
}
.career-compact-page .metric-card .value {
  font-size: 20px;
  margin-top: 4px;
}
.career-detail-grid.compact-fields {
  gap: 10px;
}
.career-detail-grid.compact-fields .field {
  padding: 10px 12px;
  min-height: 58px;
}
.player-pin-marker .player-pin-dot {
  fill: rgba(15,23,42,0.74);
  stroke: rgba(255,255,255,0.9);
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 5px rgba(255,255,255,0.22));
}
.player-pin-marker text,
.last-death-marker text {
  pointer-events: none;
}

.map-marker-hit {
  fill: transparent !important;
  stroke: transparent !important;
  stroke-width: 0 !important;
  filter: none !important;
  pointer-events: all;
  cursor: pointer;
}
.last-death-marker .last-death-dot {
  fill: rgba(127,29,29,0.78);
  stroke: rgba(254,202,202,0.95);
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 5px rgba(239,68,68,0.34));
}
.pin-palette .active-soft {
  border-color: rgba(167,139,250,0.8);
  background: rgba(124,58,237,0.24);
}

/* --- 2026-04-24 Z23 trader admin tools runtime hotfix --- */
.admin-catalog-tools {
  margin-bottom: 14px;
}
.admin-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.admin-tool-panel {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 16px;
  background: rgba(15, 23, 42, 0.42);
  padding: 12px;
  display: grid;
  gap: 10px;
  align-content: start;
}
.admin-tool-panel h4 {
  margin: 0;
  font-size: 14px;
}
.compact-category-row {
  gap: 6px;
}
@media (max-width: 1180px) {
  .admin-catalog-grid {
    grid-template-columns: 1fr;
  }
}
.gps-timeline-control input[type="range"] {
  width: 100%;
}
.player-route-dot-wrap text {
  paint-order: stroke;
  stroke: rgba(2, 6, 23, 0.85);
  stroke-width: 1.35px;
  fill: #fff;
  pointer-events: none;
}
.player-route-dot-wrap.latest text {
  stroke-width: 1.5px;
}
.player-route-line.all {
  stroke: rgba(248, 113, 113, 0.92);
}
.player-route-dot.all {
  stroke: rgba(248, 113, 113, 0.95);
}

/* Z38 trader compact table / pagination */
.trader-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 8px 0 10px;
  flex-wrap: wrap;
}
.trader-pagination.bottom { margin-top: 12px; }
.trader-result-table {
  display: grid;
  gap: 6px;
}
.trader-result-row {
  display: grid;
  grid-template-columns: minmax(170px, 1.35fr) minmax(90px, .55fr) minmax(80px, .45fr) minmax(120px, .65fr) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
  color: var(--text);
  text-align: left;
  font: inherit;
}
.trader-result-row:not(.trader-result-head) { cursor: pointer; }
.trader-result-row:not(.trader-result-head):hover,
.trader-result-row.active {
  border-color: rgba(224,58,62,0.38);
  background: rgba(224,58,62,0.08);
}
.trader-result-head {
  min-height: 30px;
  background: rgba(255,255,255,0.045);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  cursor: default;
}
.trader-result-name { display: grid; gap: 2px; min-width: 0; }
.trader-result-name strong { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.trader-result-name small { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.trader-result-status { display: flex; flex-wrap: wrap; gap: 4px; }
.trader-result-action { color: #dbe7ff; font-size: 12px; justify-self: end; }
.category-manager-list {
  display: grid;
  gap: 6px;
  max-height: 260px;
  overflow: auto;
  padding-right: 4px;
}
.category-manager-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  background: rgba(255,255,255,0.035);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.category-manager-row:hover { border-color: rgba(224,58,62,0.28); background: rgba(224,58,62,0.08); }
.category-manager-row strong { color: var(--muted); }
.compact-empty { min-height: 58px; }

@media (max-width: 840px) {
  .trader-result-head { display: none; }
  .trader-result-row {
    grid-template-columns: 1fr auto;
    gap: 6px 10px;
  }
  .trader-result-row > span:nth-child(2),
  .trader-result-row > span:nth-child(4) { grid-column: 1 / -1; }
  .trader-result-action { grid-column: 2; grid-row: 1; }
}


/* Z39 player map pin controls / smoother zoom scaling */
.player-pin-marker.moving .player-pin-dot {
  stroke: rgba(167,139,250,0.98);
  stroke-width: 2.2;
  filter: drop-shadow(0 0 6px rgba(167,139,250,0.38));
}
.saved-pin-manager {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.saved-pin-list {
  display: grid;
  gap: 8px;
}
.saved-pin-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid rgba(148,163,184,0.16);
  border-radius: 12px;
  background: rgba(15,23,42,0.42);
}
.saved-pin-row.moving {
  border-color: rgba(167,139,250,0.75);
  background: rgba(124,58,237,0.16);
}
.saved-pin-main {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.saved-pin-main strong,
.saved-pin-main span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.saved-pin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}
.pin-move-banner {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid rgba(167,139,250,0.55);
  border-radius: 12px;
  background: rgba(88,28,135,0.28);
  color: #ede9fe;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.04) inset;
}
.pin-move-banner strong {
  color: #fff;
  font-size: 13px;
}
.pin-move-banner span {
  color: rgba(237,233,254,0.92);
  font-size: 12px;
}
.saved-pin-actions .tiny-btn {
  min-width: 68px;
}
.tiny-btn {
  min-height: 28px;
  padding: 4px 8px;
  border-radius: 9px;
  font-size: 11px;
}
@media (max-width: 720px) {
  .saved-pin-row { grid-template-columns: 1fr; }
  .saved-pin-actions { justify-content: flex-start; }
  .saved-pin-actions .tiny-btn {
    flex: 1 1 30%;
    min-height: 38px;
    padding: 8px 10px;
    font-size: 12px;
  }
}

/* Z45 faction GPS member filter */
.faction-gps-filter {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(148,163,184,0.16);
  border-radius: 14px;
  background: rgba(15,23,42,0.42);
}
.faction-gps-filter h4 {
  margin: 0;
  font-size: 14px;
}
.faction-gps-filter-head {
  align-items: start;
}
.compact-search {
  width: 100%;
}
.faction-gps-filter-list {
  display: grid;
  gap: 6px;
  max-height: 260px;
  overflow: auto;
  padding-right: 4px;
}
.faction-gps-filter-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 7px 8px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
}
.faction-gps-filter-row input {
  width: 16px;
  height: 16px;
}
.faction-gps-filter-row span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.faction-gps-filter-row strong,
.faction-gps-filter-row small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.faction-gps-filter-row small {
  color: var(--muted);
}
.faction-gps-filter-row.muted-off {
  opacity: 0.54;
}
@media (max-width: 720px) {
  .faction-gps-filter-head {
    grid-template-columns: 1fr;
  }
  .faction-gps-filter-list {
    max-height: 220px;
  }
}



/* Z46 GPS history range labels */
.gps-timeline-labels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 3px;
  font-size: 11px;
  color: var(--muted);
}
.gps-timeline-control .small.muted {
  line-height: 1.35;
}


/* Z52 admin player activity search/replay */
.admin-player-activity-card {
  display: grid;
  gap: 12px;
}
.admin-player-activity-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-player-activity-list {
  max-height: 460px;
  overflow: auto;
  padding-right: 4px;
}
.activity-summary-row {
  padding: 0;
  gap: 10px;
}
.activity-form-actions {
  align-content: end;
}
.is-soft-disabled {
  opacity: 0.55;
}
.danger-text {
  color: #fecaca;
  border-color: rgba(248,113,113,0.35);
}
.player-route-line.admin-activity {
  stroke: rgba(251,191,36,0.82);
  stroke-width: 2.1;
  stroke-dasharray: 6 6;
}
.player-route-dot.admin-activity {
  fill: rgba(254,243,199,0.96);
  stroke: rgba(245,158,11,0.98);
}
@media (max-width: 900px) {
  .admin-player-activity-form {
    grid-template-columns: 1fr;
  }
}

/* Z53 admin player activity polish */
.admin-player-activity-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}
.stacked-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.stacked-actions .btn,
.stacked-actions .btn-secondary {
  min-height: 38px;
}
@media (max-width: 700px) {
  .admin-player-activity-actions {
    justify-content: flex-start;
    width: 100%;
  }
  .stacked-actions {
    width: 100%;
  }
  .stacked-actions .btn,
  .stacked-actions .btn-secondary {
    flex: 1 1 160px;
  }
}

/* Z76 DBot Helper systems check */
.helper-warning-card {
  border-color: rgba(148,163,184,0.24);
}
.helper-warning-card.critical {
  border-color: rgba(248,113,113,0.42);
  background: linear-gradient(180deg, rgba(127,29,29,0.18), rgba(15,23,42,0.72));
}
.helper-warning-card.stale,
.helper-warning-card.watching {
  border-color: rgba(245,158,11,0.34);
  background: linear-gradient(180deg, rgba(120,53,15,0.14), rgba(15,23,42,0.72));
}
.helper-warning-card.healthy {
  border-color: rgba(34,197,94,0.28);
}
.helper-warning-summary {
  font-size: 15px;
  color: #e5edff;
  margin-bottom: 10px;
}
.helper-soft-note {
  border-color: rgba(56,189,248,0.25);
  background: rgba(56,189,248,0.08);
  color: #c7e9ff;
}
.helper-warning-row.critical,
.helper-system-row.critical {
  background: rgba(127,29,29,0.16);
}
.helper-warning-row.stale,
.helper-warning-row.watching,
.helper-system-row.stale,
.helper-system-row.watching {
  background: rgba(120,53,15,0.11);
}
.helper-system-row.healthy {
  background: rgba(22,101,52,0.08);
}
.helper-systems-table td {
  vertical-align: top;
}
@media (max-width: 760px) {
  .helper-systems-table th:nth-child(3),
  .helper-systems-table td:nth-child(3) {
    display: none;
  }
}

/* Z78 Admin daily streak panel */
.admin-daily-streaks {
  display: grid;
  gap: 14px;
}
.daily-streak-tools {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 12px 0;
}
.daily-streak-tools input {
  min-width: 240px;
  flex: 1 1 260px;
}
.daily-streak-tools select {
  min-width: 180px;
}
.daily-streak-table-wrap {
  max-height: 520px;
  overflow: auto;
}
.daily-streak-table td {
  vertical-align: top;
}
.daily-streak-row.warning {
  background: rgba(245,158,11,0.07);
}
.daily-streak-row.stale {
  background: rgba(224,58,62,0.06);
}
.daily-streak-row.healthy {
  background: rgba(34,197,94,0.045);
}
.daily-streak-detail-card {
  display: grid;
  gap: 12px;
}
.daily-streak-dummy-report {
  padding: 10px 12px;
  border-radius: 14px;
}
.daily-streak-detail-grid {
  align-items: start;
}
.compact-table-card {
  padding: 14px;
}
@media (max-width: 900px) {
  .daily-streak-table th:nth-child(4),
  .daily-streak-table td:nth-child(4),
  .daily-streak-table th:nth-child(6),
  .daily-streak-table td:nth-child(6) {
    display: none;
  }
  .daily-streak-tools input,
  .daily-streak-tools select {
    width: 100%;
    min-width: 0;
  }
}

.transaction-ledger-table th,
.transaction-ledger-table td { white-space: nowrap; }
.transaction-ledger-table th:nth-child(2),
.transaction-ledger-table td:nth-child(2) { min-width: 320px; white-space: normal; }
.transaction-description { display: grid; gap: 3px; }
.transaction-description span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; }
.transaction-ledger-table .money-in { color: #86efac; font-weight: 800; }
.transaction-ledger-table .money-out { color: #fca5a5; font-weight: 800; }
@media (max-width: 780px) {
  .transaction-ledger-table th:nth-child(2),
  .transaction-ledger-table td:nth-child(2) { min-width: 240px; }
}

/* Z134 vehicle rentals under Trader */
.vehicle-rental-card {
  margin-bottom: 18px;
}
.vehicle-rental-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: 14px;
  align-items: start;
  margin-top: 14px;
}
.vehicle-rental-grid.admin-grid {
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
}
.vehicle-admin-panel {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  padding: 12px;
  background: rgba(255,255,255,0.03);
}
.vehicle-rental-card textarea {
  width: 100%;
  min-height: 110px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
}
.vehicle-rental-card select[multiple] {
  min-height: 132px;
}
@media (max-width: 900px) {
  .vehicle-rental-grid,
  .vehicle-rental-grid.admin-grid {
    grid-template-columns: 1fr;
  }
}

/* Z135 vehicle rental menu, map picker, and collapsible admin controls */
.vehicle-menu-card {
  padding: 0;
  overflow: hidden;
}
.vehicle-menu-card > summary,
.vehicle-collapsible > summary {
  cursor: pointer;
  list-style: none;
}
.vehicle-menu-card > summary::-webkit-details-marker,
.vehicle-collapsible > summary::-webkit-details-marker {
  display: none;
}
.vehicle-menu-summary,
.vehicle-sub-summary {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.vehicle-menu-summary small,
.vehicle-sub-summary span {
  display: block;
  color: var(--muted);
  margin-top: 3px;
  font-size: 12px;
}
.vehicle-menu-body {
  padding: 14px;
}
.vehicle-collapsible {
  margin-bottom: 14px;
}
.vehicle-collapsible[open] .vehicle-sub-summary {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.vehicle-player-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
}
.vehicle-purchase-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
  gap: 14px;
  align-items: start;
}
.vehicle-map-card {
  min-height: 100%;
}
.vehicle-map-toolbar {
  display: grid;
  grid-template-columns: minmax(140px, 0.8fr) minmax(160px, 1.2fr);
  gap: 10px;
  margin-bottom: 10px;
}
.vehicle-map-viewport {
  height: 360px;
  overflow: auto;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 14px;
  background: rgba(0,0,0,0.24);
}
.vehicle-map-stage {
  position: relative;
  min-width: 100%;
  cursor: crosshair;
}
.vehicle-map-stage img {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  pointer-events: none;
}
.vehicle-map-pin {
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #ef4444;
  border: 3px solid #fff;
  box-shadow: 0 0 0 3px rgba(239,68,68,0.35), 0 8px 18px rgba(0,0,0,0.45);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
@media (max-width: 980px) {
  .vehicle-purchase-layout,
  .vehicle-player-grid {
    grid-template-columns: 1fr;
  }
  .vehicle-map-viewport {
    height: 300px;
  }
}
@media (max-width: 640px) {
  .vehicle-menu-summary,
  .vehicle-sub-summary,
  .vehicle-map-toolbar {
    grid-template-columns: 1fr;
    display: grid;
  }
}

/* Z137 Broadcast / Message Editor */
.broadcast-builder-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .85fr);
  gap: 18px;
  align-items: start;
}
.broadcast-editor-card,
.broadcast-side-stack .page-card {
  overflow: hidden;
}
.broadcast-side-stack {
  display: grid;
  gap: 14px;
}
.broadcast-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 16px;
}
.broadcast-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.broadcast-fields .admin-builder-wide,
.broadcast-fields-panel {
  grid-column: 1 / -1;
}
.broadcast-fields textarea,
.broadcast-field-row textarea {
  min-height: 90px;
  resize: vertical;
}
.broadcast-field-row {
  display: grid;
  grid-template-columns: minmax(160px, .6fr) minmax(220px, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 14px;
  background: rgba(15, 23, 42, .35);
  margin-top: 10px;
}
.broadcast-action-row input {
  min-width: 220px;
  flex: 1 1 280px;
}
.broadcast-preview-card {
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 18px;
  background: rgba(2, 6, 23, .45);
  padding: 14px;
}
.broadcast-pings {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0;
}
.broadcast-plain-preview {
  padding: 12px;
  border-radius: 14px;
  background: rgba(15, 23, 42, .8);
  border: 1px solid rgba(148, 163, 184, .18);
  margin: 10px 0;
  line-height: 1.5;
}
.broadcast-embed-preview {
  padding: 14px;
  border-left: 5px solid #7c3aed;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(15, 23, 42, .92), rgba(30, 41, 59, .72));
  line-height: 1.5;
}
.broadcast-embed-preview h2,
.broadcast-embed-preview h3,
.broadcast-embed-preview h4,
.broadcast-plain-preview h2,
.broadcast-plain-preview h3,
.broadcast-plain-preview h4 {
  margin: 6px 0 8px;
}
.broadcast-banner-preview {
  width: 100%;
  max-height: 180px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, .22);
  margin-bottom: 12px;
}
.broadcast-field-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.broadcast-field-preview > div {
  padding: 10px;
  border-radius: 12px;
  background: rgba(2, 6, 23, .38);
  border: 1px solid rgba(148, 163, 184, .16);
}
.broadcast-footer-preview {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(148, 163, 184, .18);
  color: var(--muted);
  font-size: .88rem;
}
@media (max-width: 980px) {
  .broadcast-builder-grid {
    grid-template-columns: 1fr;
  }
  .broadcast-fields,
  .broadcast-field-preview {
    grid-template-columns: 1fr;
  }
  .broadcast-field-row {
    grid-template-columns: 1fr;
  }
}

/* Z166 support ticket transcript retention */
.ticket-transcript-box {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(148,163,184,0.22);
  border-radius: 12px;
  background: rgba(15,23,42,0.32);
}
.ticket-transcript-box summary {
  cursor: pointer;
  font-weight: 800;
}
.ticket-transcript-box pre {
  max-height: 260px;
  overflow: auto;
  margin: 10px 0;
  padding: 10px;
  border-radius: 10px;
  background: rgba(2,6,23,0.72);
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 12px;
  line-height: 1.45;
}

/* Z169 map/GPS clarity controls */
.map-clarity-controls {
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(148,163,184,0.16);
  border-radius: 14px;
  background: rgba(15,23,42,0.38);
}
.clarity-button-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}
.clarity-button-row .active-soft,
.tiny-toggle:has(input:checked) {
  border-color: rgba(167,139,250,0.78);
  background: rgba(124,58,237,0.22);
}
.tiny-toggle {
  min-height: 28px;
  padding: 4px 8px;
  font-size: 11px;
}
.player-pin-marker .player-pin-label {
  paint-order: stroke;
  stroke: rgba(2, 6, 23, 0.9);
  stroke-width: 2.5px;
  fill: #f8fafc;
  font-weight: 800;
  letter-spacing: .01em;
  pointer-events: none;
}
.player-route-dot-wrap.signal .player-route-dot {
  stroke-width: 2.35;
}
@media (max-width: 720px) {
  .map-clarity-controls {
    padding: 9px;
  }
  .clarity-button-row > button,
  .clarity-button-row > label {
    flex: 1 1 120px;
    justify-content: center;
  }
}

/* Z170 dashboard menu + map toggle tidy-up */
.grouped-nav {
  gap: 10px;
}
.nav-group {
  border: 1px solid rgba(148,163,184,0.14);
  border-radius: 16px;
  background: rgba(15,23,42,0.34);
  overflow: hidden;
}
.nav-group summary {
  list-style: none;
  cursor: pointer;
  padding: 10px 12px;
  color: #f8fafc;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group summary::after {
  content: '⌄';
  opacity: .76;
  transition: transform 140ms ease;
}
.nav-group[open] summary::after { transform: rotate(180deg); }
.nav-group-items {
  display: grid;
  gap: 7px;
  padding: 0 8px 8px;
}
.nav-group-items button {
  min-height: 38px;
  padding: 9px 12px;
}
.admin-tab-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.admin-tab-group {
  border: 1px solid rgba(148,163,184,0.16);
  border-radius: 16px;
  background: rgba(15,23,42,0.34);
  overflow: hidden;
}
.admin-tab-group summary {
  list-style: none;
  cursor: pointer;
  padding: 10px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #f8fafc;
  font-weight: 800;
}
.admin-tab-group summary::-webkit-details-marker { display: none; }
.admin-tab-group summary::after {
  content: '⌄';
  opacity: .7;
  transition: transform 140ms ease;
}
.admin-tab-group[open] summary::after { transform: rotate(180deg); }
.compact-admin-tabs {
  padding: 0 10px 10px;
  gap: 7px;
}
.compact-admin-tabs .btn-tab {
  min-height: 34px;
  padding: 7px 10px;
  font-size: 12px;
}
.dashboard-collapsible-flow {
  display: grid;
  gap: 14px;
}
.admin-inline-search {
  margin-bottom: 12px;
}
.map-toggle-section {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}
.section-mini-head {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.unified-intel-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.intel-toggle-chip {
  justify-content: flex-start;
}
.route-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 7px;
}
.route-filter-grid .tiny-toggle {
  justify-content: flex-start;
}
@media (max-width: 720px) {
  .admin-tab-groups {
    grid-template-columns: 1fr;
  }
  .unified-intel-grid,
  .route-filter-grid {
    grid-template-columns: 1fr;
  }
}

/* Z189 admin player activity map overlay notice */
.admin-player-activity-map-notice {
  border-color: rgba(245, 158, 11, 0.32);
  box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.12), 0 18px 44px rgba(0, 0, 0, 0.28);
}
.activity-overlay-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}
.activity-overlay-summary-grid > div {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.62);
  padding: 10px;
}
.activity-overlay-summary-grid strong {
  display: block;
  font-size: 18px;
  line-height: 1.1;
}
.activity-overlay-summary-grid span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}
@media (max-width: 700px) {
  .activity-overlay-summary-grid {
    grid-template-columns: 1fr;
  }
}

/* Z191: compact admin and intel lists */
.admin-auto-collapse .admin-collapse-body > .page-card,
.admin-auto-collapse .admin-collapse-body > .table-card,
.admin-auto-collapse .admin-collapse-body > .status-panel,
.admin-auto-collapse .admin-collapse-body > section,
.admin-auto-collapse .admin-collapse-body > article {
  border: 0;
  box-shadow: none;
  background: transparent;
  padding: 0;
}

.admin-auto-collapse .admin-collapse-body > .two-col {
  display: grid;
  gap: 14px;
}

.intel-below-map {
  margin-top: 14px;
}

.intel-master-collapse .admin-collapse-body {
  display: grid;
  gap: 12px;
}

.intel-collapsible-list {
  margin-top: 0;
}

.intel-list-row .row-head {
  align-items: flex-start;
}

.intel-list-pager {
  justify-content: space-between;
  margin-top: 10px;
}

@media (max-width: 760px) {
  .admin-collapse summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .intel-list-pager {
    justify-content: flex-start;
  }
}

/* Z192: visible admin intel run state */
.intel-report-status {
  align-items: flex-start;
  border: 1px solid var(--line);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 10px;
  padding: 10px 12px;
}

.intel-report-status.loading {
  border-color: rgba(59, 130, 246, 0.55);
}

.intel-report-status.warning {
  border-color: rgba(245, 158, 11, 0.65);
}

.intel-report-status.ready {
  border-color: rgba(34, 197, 94, 0.4);
}

/* Z203/Z204: Trader CSV spreadsheet editor */
.trader-csv-page {
  display: block;
  width: 100%;
}

.admin-trader-csv-editor {
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 16px;
  background: rgba(15, 23, 42, 0.5);
  display: grid;
  gap: 10px;
  padding: 12px;
}

.admin-trader-csv-editor.full-page {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #111827;
  gap: 12px;
  min-height: calc(100vh - 170px);
  padding: 14px;
  width: 100%;
}

.admin-trader-csv-editor.full-page .muted,
.admin-trader-csv-editor.full-page .small.muted,
.admin-trader-csv-editor.full-page .label {
  color: #475569;
}

.admin-trader-csv-editor.full-page .mono {
  color: #111827;
}

.admin-trader-csv-header,
.admin-trader-csv-pager {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.admin-trader-csv-header h2 {
  color: #0f172a;
  margin: 2px 0 4px;
}

.admin-trader-csv-head-actions,
.admin-trader-csv-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-trader-csv-meta {
  margin-top: -4px;
}

.admin-trader-csv-toolbar {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1fr) 130px auto;
}

.admin-trader-csv-editor.full-page .field,
.admin-trader-csv-editor.full-page .admin-trader-csv-toolbar .field {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.admin-trader-csv-editor.full-page #admin-trader-csv-search,
.admin-trader-csv-editor.full-page #admin-trader-csv-page-size {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  color: #0f172a;
  min-height: 34px;
  padding: 6px 8px;
}

.admin-trader-csv-scroll {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  max-height: 560px;
  overflow: auto;
}

.admin-trader-csv-editor.full-page .admin-trader-csv-scroll {
  max-height: calc(100vh - 330px);
}

.admin-trader-csv-table {
  background: #ffffff;
  border-collapse: collapse;
  color: #111827;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  min-width: 1380px;
  table-layout: auto;
  width: 100%;
}

.admin-trader-csv-table th,
.admin-trader-csv-table td {
  border: 1px solid #d1d5db;
  padding: 0;
  text-align: left;
  vertical-align: middle;
}

.admin-trader-csv-table th {
  background: #e5e7eb;
  color: #111827;
  font-size: 11px;
  font-weight: 700;
  height: 28px;
  padding: 4px 6px;
  position: sticky;
  text-transform: none;
  top: 0;
  white-space: nowrap;
  z-index: 4;
}

.admin-trader-csv-table th.locked {
  background: #fef3c7;
  color: #92400e;
}

.admin-trader-csv-table .csv-corner-cell,
.admin-trader-csv-table .csv-row-number {
  background: #e5e7eb;
  color: #374151;
  font-size: 11px;
  font-weight: 700;
  left: 0;
  min-width: 42px;
  padding: 4px 6px;
  position: sticky;
  text-align: right;
  z-index: 5;
}

.admin-trader-csv-table .csv-corner-cell {
  top: 0;
  z-index: 6;
}

.csv-cell-input,
.content .csv-cell-input,
.content select.csv-cell-input {
  background: #ffffff;
  border: 0;
  border-radius: 0;
  color: #111827;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  height: 26px;
  min-height: 26px;
  min-width: 118px;
  outline: 0;
  padding: 3px 5px;
  width: 100%;
}

.content select.csv-cell-input {
  appearance: auto;
  padding-right: 18px;
}

.csv-cell-input.compact,
.content .csv-cell-input.compact,
.content select.csv-cell-input.compact {
  min-width: 70px;
}

.csv-cell-input.wide,
.content .csv-cell-input.wide {
  min-width: 210px;
}

.csv-column-item_key .csv-cell-input,
.csv-column-source .csv-cell-input {
  min-width: 135px;
}

.csv-column-item_name .csv-cell-input,
.csv-column-category .csv-cell-input,
.csv-column-required_role_id .csv-cell-input {
  min-width: 155px;
}

.csv-column-price .csv-cell-input,
.csv-column-discount_percent .csv-cell-input {
  min-width: 82px;
}

.csv-cell-input.locked,
.csv-cell-input[readonly],
.content .csv-cell-input.locked,
.content .csv-cell-input[readonly] {
  background: #f8fafc;
  color: #64748b;
  cursor: default;
}

.csv-cell-input:focus,
.content .csv-cell-input:focus,
.content select.csv-cell-input:focus {
  background: #ffffff;
  box-shadow: inset 0 0 0 2px #2563eb;
  outline: none;
}

@media (max-width: 900px) {
  .admin-trader-csv-toolbar {
    grid-template-columns: 1fr;
  }

  .admin-trader-csv-actions {
    justify-content: flex-start;
  }

  .admin-trader-csv-editor.full-page {
    margin-left: -8px;
    margin-right: -8px;
    padding: 10px;
  }

  .admin-trader-csv-editor.full-page .admin-trader-csv-scroll {
    max-height: 70vh;
  }
}

/* Z212 database admin control room */
.database-admin-shell { border-color: rgba(125, 92, 255, 0.28); }
.database-subtabs { margin-top: 12px; }
.danger-zone-card { border-color: rgba(239, 68, 68, 0.38); background: linear-gradient(135deg, rgba(127, 29, 29, 0.12), rgba(15, 23, 42, 0.72)); }
.database-purge-preview { display: grid; gap: 14px; margin-top: 14px; }
.database-record-list .data-row { padding: 12px; }
.database-player-record-open { display: grid; gap: 14px; }
.database-section-open { display: grid; gap: 10px; }
.database-doc-card-open .json-preview { margin-top: 8px; }
.database-action-result { border-color: rgba(34, 197, 94, 0.35); }
.database-doc-card { border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 14px; padding: 10px; margin-top: 10px; background: rgba(15, 23, 42, 0.55); }
.json-preview { max-height: 360px; overflow: auto; white-space: pre-wrap; word-break: break-word; font-size: 12px; line-height: 1.45; padding: 12px; border-radius: 12px; background: rgba(2, 6, 23, 0.74); border: 1px solid rgba(148, 163, 184, 0.16); }
.health-issue-list { gap: 12px; }
.health-issue-card { border-left: 4px solid rgba(148, 163, 184, 0.5); }
.health-issue-card.severity-danger { border-left-color: rgba(239, 68, 68, 0.95); }
.health-issue-card.severity-warning { border-left-color: rgba(245, 158, 11, 0.95); }
.health-issue-card.severity-info { border-left-color: rgba(59, 130, 246, 0.95); }
.callout.danger { border: 1px solid rgba(239, 68, 68, 0.35); background: rgba(127, 29, 29, 0.18); color: #fecaca; }
.compact-table th, .compact-table td { padding: 8px 10px; }
@media (max-width: 720px) {
  .database-purge-preview .field-grid { grid-template-columns: 1fr; }
  .json-preview { max-height: 260px; font-size: 11px; }
}

/* Z218 database health grouping + merge clarity */
.database-health-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.database-health-group { min-width: 0; }
.database-health-group .section-head { align-items: flex-start; gap: 10px; }
.health-issue-card.group-duplicates { border-left-color: rgba(168, 85, 247, 0.95); background: linear-gradient(135deg, rgba(88, 28, 135, 0.16), rgba(15, 23, 42, 0.72)); }
.health-issue-card.group-unlinked { border-left-color: rgba(59, 130, 246, 0.8); background: rgba(15, 23, 42, 0.58); }
.health-issue-card.group-repairs { border-left-color: rgba(245, 158, 11, 0.85); }
@media (max-width: 1180px) {
  .database-health-columns { grid-template-columns: 1fr; }
}

/* Z223 trader dashboard controls */
.trader-admin-control-card {
  border-color: rgba(214, 163, 47, 0.28);
}
.trader-maintenance-buttons {
  margin: 8px 0 14px;
}
.trader-admin-extra-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.trader-admin-extra-grid textarea {
  min-height: 110px;
  resize: vertical;
}

.vertical-actions { align-items: stretch; flex-direction: column; }
.trader-post-editor-card { border-color: rgba(214,163,47,0.35); }
.trader-admin-extra-grid.two-col { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

/* --- Z250 collapsible admin/player diagnostic pass --- */
.dashboard-collapse,
.compact-admin-card {
  margin-bottom: 12px;
}

.compact-admin-card summary,
.dashboard-collapse summary {
  padding: 12px 14px;
}

.compact-admin-card .admin-collapse-body,
.dashboard-collapse .admin-collapse-body {
  padding: 0 14px 14px;
}

.collapse-button-label {
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text);
  background: rgba(255,255,255,0.05);
}

.trader-category-collapse {
  border-color: rgba(52,211,153,0.22);
  background: linear-gradient(135deg, rgba(8,20,16,0.95), rgba(12,18,29,0.95));
}

.trader-category-collapse summary {
  min-height: 64px;
}

.trader-category-collapse .collapse-button-label {
  background: rgba(52,211,153,0.14);
  border-color: rgba(52,211,153,0.32);
  color: #d1fae5;
}

.trader-category-collapse .trader-category-pills {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.trader-category-collapse .btn-chip {
  min-height: 46px;
  justify-content: center;
  font-size: 14px;
  font-weight: 800;
}

.link-button {
  appearance: none;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  text-align: left;
}

.link-button:hover { color: var(--accent); }
.strong-link { font-weight: 800; }

.player-diagnostic-headline {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.admin-player-readable-grid {
  display: grid;
  gap: 12px;
  margin: 12px 0;
}

.player-readable-panel .admin-collapse-summary-copy h3 {
  font-size: 17px;
}

.player-readable-panel .data-row.compact,
.compact-admin-card .data-row.compact {
  padding: 10px 12px;
}

.database-player-record-open .metric-card {
  padding: 10px 12px;
}

.database-player-record-open .metric-card .value {
  font-size: 18px;
}

.database-raw-collapse .json-preview {
  max-height: 260px;
}

.player-danger-collapse {
  border-color: rgba(239,68,68,0.28);
}

@media (max-width: 760px) {
  .trader-category-collapse .trader-category-pills {
    grid-template-columns: 1fr;
  }
  .compact-admin-card summary,
  .dashboard-collapse summary {
    align-items: flex-start;
  }
  .collapse-button-label {
    display: none;
  }
}
.category-manager-row { flex-direction: column; align-items: stretch; cursor: default; }
.category-manager-main { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.subcategory-manager-list { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 6px; border-top: 1px solid rgba(255,255,255,0.06); }
.subcategory-pill { display: inline-flex; align-items: center; gap: 4px; padding: 3px; border: 1px solid rgba(255,255,255,0.08); border-radius: 999px; background: rgba(255,255,255,0.035); }
.trader-subcategory-pills { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,0.06); }

/* Z280 trader/admin layout cleanup */
.trader-action-strip,
.trader-search-card {
  margin-bottom: 14px;
}
.trader-top-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.trader-top-action.active-soft,
.btn-secondary.active-soft {
  border-color: rgba(56, 189, 248, 0.7);
  box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.18) inset;
}
.trader-search-head {
  align-items: flex-start;
}
.trader-hero-title.compact-title {
  margin: 2px 0 4px;
}
.trader-search-card .trader-hero-search-row {
  margin: 10px 0 12px;
}
.trader-page .trader-admin-control-card,
.trader-page .admin-catalog-tools,
.trader-page .vehicle-rental-card {
  margin-bottom: 14px;
}
.admin-control-groups {
  gap: 14px;
}
.admin-control-group {
  min-height: auto;
}
.admin-control-group-head p {
  margin: 3px 0 0;
}
.compact-summary-grid .compact-card,
.home-top-strip .compact-card {
  padding: 14px;
}

/* Z282 mobile dashboard + trader polish */
html,
body,
.app-shell,
.content,
.page,
.page-card,
.table-card,
.detail-card,
.basket-card,
.right-panel,
.map-shell,
.map-list,
.zone-editor,
.status-panel {
  max-width: 100%;
}
html,
body {
  overflow-x: hidden;
}
button,
input,
select,
textarea {
  max-width: 100%;
}
.content input::placeholder,
.content textarea::placeholder,
.sidebar input::placeholder,
.sidebar textarea::placeholder {
  color: rgba(245, 247, 251, 0.86);
  opacity: 1;
}
.trader-tools-strip {
  padding: 12px 14px;
}
.trader-tools-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.trader-tools-label {
  color: #eaf2ff;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 12px;
  white-space: nowrap;
}
.trader-tools-row .trader-top-actions {
  flex: 1 1 320px;
}
.trader-search-only-card {
  display: grid;
  gap: 10px;
}
.trader-search-only-card .trader-category-collapse {
  margin-bottom: 0;
}
.trader-search-only-card .trader-hero-search-row {
  margin: 0;
  align-items: center;
}
.trader-search-input {
  font-weight: 700;
}
.trader-count-chip {
  justify-self: end;
}

@media (max-width: 900px) {
  .content {
    padding: 14px;
  }
  .store-layout,
  .two-col,
  .map-layout,
  .admin-catalog-grid,
  .database-health-columns,
  .broadcast-layout,
  .dashboard-admin-grid,
  .admin-control-groups {
    grid-template-columns: 1fr !important;
  }
  .page-card,
  .table-card,
  .detail-card,
  .basket-card,
  .right-panel,
  .map-shell,
  .map-list,
  .zone-editor,
  .status-panel {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
  }
}

@media (max-width: 760px) {
  body {
    font-size: 13px;
  }
  .content {
    padding: 10px;
  }
  .header {
    gap: 10px;
    margin-bottom: 12px;
  }
  .dayz-title {
    font-size: 22px;
    line-height: 1.05;
  }
  .shell-title p,
  .header-tags,
  .wordmark-sub,
  .trader-hero-copy {
    display: none;
  }
  .page-card,
  .table-card,
  .detail-card,
  .basket-card,
  .right-panel,
  .map-shell,
  .map-list,
  .zone-editor,
  .status-panel,
  .metric-card,
  .item-card {
    padding: 11px;
    border-radius: 13px;
    box-shadow: none;
  }
  .section-head {
    gap: 8px;
    margin-bottom: 9px;
  }
  .section-head h3,
  .page-card h3,
  .table-card h3,
  .detail-card h3,
  .basket-card h3,
  .map-shell h3,
  .map-list h3 {
    font-size: 16px;
    line-height: 1.15;
  }
  .small,
  .muted {
    font-size: 11px;
  }
  .btn,
  .btn-secondary,
  .btn-success,
  .btn-danger,
  .btn-ghost,
  .btn-chip,
  .btn-tab {
    min-height: 36px;
    padding: 7px 10px;
    border-radius: 10px;
    font-size: 12px;
  }
  .sidebar select,
  .sidebar input,
  .content select,
  .content input,
  .content textarea {
    min-height: 38px;
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 13px;
  }
  .quick-actions,
  .compact-actions {
    gap: 8px;
  }
  .trader-tools-strip {
    padding: 9px 10px;
    margin-bottom: 10px;
  }
  .trader-tools-row {
    gap: 8px;
  }
  .trader-tools-label {
    width: 100%;
    font-size: 11px;
  }
  .trader-top-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }
  .trader-top-action {
    min-width: 0;
    width: 100%;
    padding-inline: 6px;
    white-space: normal;
  }
  .trader-search-card,
  .trader-search-only-card {
    padding: 10px;
    margin-bottom: 10px;
  }
  .trader-search-only-card .trader-hero-search-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .trader-count-chip {
    justify-self: start;
    min-height: 24px;
    padding-inline: 9px;
    font-size: 11px;
  }
  .trader-category-collapse summary {
    min-height: 46px;
    padding: 9px 10px;
  }
  .trader-category-collapse .admin-collapse-body {
    padding: 0 10px 10px;
  }
  .trader-category-collapse .collapse-button-label {
    display: inline-flex;
    padding: 5px 8px;
    font-size: 10px;
  }
  .trader-category-collapse .trader-category-pills {
    gap: 7px;
  }
  .trader-category-collapse .btn-chip {
    min-height: 34px;
    font-size: 12px;
    justify-content: flex-start;
  }
  .store-layout {
    gap: 10px;
  }
  .trader-catalog-card,
  .trader-side-panels {
    min-width: 0;
  }
  .trader-catalog-head,
  .compact-head {
    align-items: flex-start;
  }
  .catalog-admin-filters {
    gap: 6px;
  }
  .catalog-mode-link {
    font-size: 11px;
  }
  .trader-result-row {
    min-height: 0;
    padding: 8px;
    border-radius: 9px;
    font-size: 12px;
  }
  .trader-result-name strong {
    font-size: 13px;
  }
  .trader-result-name small,
  .trader-result-action {
    font-size: 11px;
  }
  .detail-stats,
  .metric-grid,
  .compact-summary-grid,
  .player-diagnostic-headline {
    grid-template-columns: 1fr !important;
    gap: 8px;
  }
  .stat-box,
  .basket-line,
  .data-row,
  .admin-tool-panel,
  .admin-control-group {
    padding: 9px 10px;
    border-radius: 10px;
  }
  .qty-row,
  .basket-line-actions,
  .inline-row,
  .map-controls,
  .tabs,
  .search-row,
  .section-tools {
    gap: 7px;
  }
  .qty-row > *,
  .basket-line-actions > *,
  .inline-row > *,
  .map-controls > *,
  .tabs > *,
  .search-row > * {
    flex: 1 1 140px;
  }
  table,
  .compact-table,
  .admin-table,
  .queue-table {
    font-size: 11px;
  }
  .table-scroll,
  .admin-table-wrap,
  .queue-table-wrap,
  .activity-table-wrap,
  .database-table-wrap,
  .support-ticket-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .chip {
    min-height: 24px;
    padding: 0 8px;
    font-size: 11px;
  }
}

@media (max-width: 420px) {
  .content {
    padding: 8px;
  }
  .trader-top-actions {
    grid-template-columns: 1fr;
  }
  .trader-result-row {
    grid-template-columns: 1fr;
  }
  .trader-result-action {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }
  .trader-result-row > span:nth-child(2),
  .trader-result-row > span:nth-child(4) {
    grid-column: 1;
  }
}

/* Z283 trader inline basket + search-result compression */
.trader-basket-shortcut {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  background: rgba(255,255,255,0.025);
}
.trader-basket-shortcut > div {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
.trader-result-compact-table {
  gap: 5px;
}
.trader-result-compact-head {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 6px 10px;
}
.trader-result-compact-row {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 0;
  padding: 7px 9px;
  gap: 9px;
}
.trader-result-main {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.trader-result-category {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .015em;
  text-transform: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.trader-result-title-line {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}
.trader-result-title {
  font-size: 14px;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.trader-result-divider {
  color: rgba(255,255,255,0.35);
  flex: 0 0 auto;
}
.trader-result-bundle {
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.trader-inline-basket {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  align-self: center;
}
.trader-qty-btn {
  min-height: 30px;
  min-width: 34px;
  padding: 4px 8px;
  border-radius: 9px;
  font-size: 15px;
  line-height: 1;
}
.trader-inline-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  min-height: 28px;
  padding: 0 7px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  font-weight: 800;
  color: #fff;
}

@media (max-width: 760px) {
  .trader-basket-shortcut {
    padding: 8px;
    border-radius: 10px;
  }
  .trader-basket-shortcut .small-btn {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 6px 8px;
  }
  .trader-result-compact-row {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 7px;
    gap: 7px;
  }
  .trader-result-title {
    font-size: 13px;
  }
  .trader-result-category {
    font-size: 9.5px;
  }
  .trader-result-status {
    gap: 3px;
  }
  .trader-qty-btn {
    min-height: 29px;
    min-width: 31px;
    padding: 4px 7px;
  }
  .trader-inline-count {
    min-height: 27px;
    min-width: 27px;
    padding: 0 6px;
  }
}

@media (max-width: 420px) {
  .trader-basket-shortcut {
    align-items: stretch;
  }
  .trader-result-compact-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .trader-result-title-line {
    gap: 4px;
  }
  .trader-result-divider {
    display: none;
  }
  .trader-inline-basket {
    align-self: center;
  }
}

/* Z284 trader basket placement + collapsible checkout */
.trader-search-meta-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-top: 8px;
}
.trader-search-meta-row .trader-count-chip {
  justify-self: start;
  align-self: start;
}
.trader-basket-wrap {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.trader-basket-expanded {
  display: grid;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  background: rgba(255,255,255,0.025);
}
.trader-inline-basket-lines {
  gap: 8px;
}
.trader-inline-basket-line {
  padding: 9px;
  border-radius: 11px;
}
.trader-inline-basket-line .basket-line-actions input {
  width: 70px;
  min-height: 32px;
  padding: 6px 8px;
}
.trader-pickup-row {
  display: grid;
  gap: 6px;
}
.trader-checkout-actions {
  margin-top: 0;
}
.trader-category-collapse summary .admin-collapse-summary-copy .muted {
  display: none;
}

@media (max-width: 760px) {
  .trader-search-meta-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .trader-basket-shortcut {
    align-items: center;
  }
  .trader-basket-expanded {
    padding: 8px;
    gap: 8px;
  }
  .trader-inline-basket-line {
    padding: 8px;
  }
  .trader-checkout-actions > * {
    flex: 1 1 100%;
  }
}

/* Z288 dashboard stale-session guard */
.stale-dashboard-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(2, 6, 23, 0.78);
  backdrop-filter: blur(6px);
}
.stale-dashboard-card {
  max-width: 520px;
  width: min(100%, 520px);
  border-color: rgba(248, 113, 113, 0.45);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.45);
}
.stale-dashboard-card h2 {
  margin: 0 0 8px;
}
.stale-dashboard-card p {
  color: var(--muted);
  line-height: 1.45;
}
.notice.danger {
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid rgba(248, 113, 113, 0.38);
  border-radius: 12px;
  background: rgba(127, 29, 29, 0.22);
  color: #fecaca;
}

.quest-form-card details.quest-admin-details { display: block; }
.quest-form-summary {
  display: grid;
  gap: 4px;
  cursor: pointer;
  padding: 4px 0 14px;
  color: #eef4ff;
  font-weight: 800;
  list-style: none;
}
.quest-form-summary::-webkit-details-marker { display: none; }
.quest-form-summary span { font-size: 20px; }
.quest-form-summary small { color: var(--muted); font-weight: 500; }
.quest-admin-details:not([open]) .quest-form-summary { padding-bottom: 2px; }
.quest-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.quest-admin-card { align-content: start; }
.quest-system-control.danger-zone { border-color: rgba(237,66,69,0.35); background: rgba(237,66,69,0.08); }
@media (max-width: 900px) { .quest-card-grid { grid-template-columns: 1fr; } }
@media (max-width: 980px) { .quest-dashboard-overview { grid-template-columns: 1fr; } }

.dashboard-back-btn {
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 10px;
}
.quest-dashboard-shell {
  padding: 16px;
}
.quest-dashboard-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.72fr);
  gap: 16px;
  align-items: start;
}
.quest-summary-table-wrap,
.quest-compact-table-wrap {
  overflow: auto;
}
.quest-summary-table,
.quest-compact-table {
  width: 100%;
  border-collapse: collapse;
}
.quest-summary-table th,
.quest-summary-table td,
.quest-compact-table th,
.quest-compact-table td {
  padding: 9px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  text-align: left;
  vertical-align: middle;
}
.quest-summary-table th,
.quest-compact-table th {
  color: #e5eefb;
  font-weight: 800;
}
.quest-summary-table td,
.quest-compact-table td {
  color: var(--muted);
}
.quest-summary-table .tiny-btn,
.quest-compact-table .tiny-btn {
  min-height: 30px;
  padding: 5px 9px;
  border-radius: 8px;
}
.quest-collapsed-panel,
.save-status {
  border: 1px solid rgba(96,165,250,0.18);
  border-radius: 10px;
  padding: 10px 12px;
  background: rgba(37,99,235,0.08);
  color: #dbeafe;
}
.save-status {
  margin-bottom: 12px;
  border-color: rgba(34,197,94,0.28);
  background: rgba(22,163,74,0.1);
  color: #dcfce7;
  font-weight: 800;
}
.quest-focused-edit-note {
  border-color: rgba(96,165,250,0.22);
}

/* Z325 dashboard layout cleanup */
.quest-stack-panel {
  display: grid;
  gap: 16px;
}
.quest-inline-editor {
  border-color: rgba(96, 165, 250, 0.18);
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(8, 13, 22, 0.98));
}
.quest-subtab-buttons {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
}
.quest-subtab-buttons .btn-tab {
  min-height: 40px;
  font-weight: 800;
  border-radius: 12px;
}
.quest-subtab-buttons .btn-tab.active,
.quest-subtab-buttons .btn-tab:hover {
  border-color: rgba(224, 58, 62, 0.45);
  background: rgba(224, 58, 62, 0.16);
  color: #fff;
}
.admin-overview-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.75fr);
  gap: 18px;
  align-items: start;
}
.admin-overview-main,
.admin-overview-side {
  display: grid;
  gap: 16px;
}
.admin-quick-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-overview-table {
  display: grid;
  gap: 8px;
}
.admin-overview-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  background: rgba(255,255,255,0.025);
}
.admin-overview-row span {
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.admin-overview-row strong {
  font-size: 18px;
  color: #fff;
}
.admin-overview-row small {
  grid-column: 1 / -1;
  color: var(--muted);
}
.admin-live-snapshot-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-control-group.compact .admin-control-group-actions {
  grid-template-columns: 1fr;
}
@media (max-width: 1100px) {
  .admin-overview-layout { grid-template-columns: 1fr; }
  .admin-quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .quest-subtab-buttons .btn-tab,
  .admin-quick-actions,
  .admin-live-snapshot-grid {
    grid-template-columns: 1fr;
  }
  .quest-subtab-buttons { display: grid; grid-template-columns: 1fr; }
}

/* Z330 ADM forensic search + map polish */
.map-intel-marker rect {
  fill: rgba(148, 163, 184, 0.18);
  stroke: rgba(226, 232, 240, 0.82);
  stroke-width: 1.8;
}
.map-intel-marker.kind-pve rect,
.map-intel-marker.kind-medical rect {
  fill: rgba(34,197,94,0.16);
  stroke: rgba(134,239,172,0.88);
}
.map-intel-marker.kind-presence rect,
.map-intel-marker.kind-connection rect {
  fill: rgba(59,130,246,0.14);
  stroke: rgba(147,197,253,0.82);
}
.map-intel-marker.kind-emote rect {
  fill: rgba(168,85,247,0.16);
  stroke: rgba(216,180,254,0.86);
}
.map-intel-marker.kind-teleport rect {
  fill: rgba(20,184,166,0.18);
  stroke: rgba(94,234,212,0.9);
}
.map-intel-marker.kind-flag rect {
  fill: rgba(250,204,21,0.16);
  stroke: rgba(253,224,71,0.9);
}
.map-intel-marker.kind-admin rect {
  fill: rgba(248,113,113,0.15);
  stroke: rgba(252,165,165,0.88);
}
.adm-raw-line {
  border-left: 2px solid rgba(148, 163, 184, 0.35);
  margin-top: 6px;
  overflow-wrap: anywhere;
  padding-left: 8px;
}
.intel-filter-grid input[type="number"] {
  min-width: 0;
}

/* Z331 quest daily controls */
.quest-daily-control {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}
.quest-daily-control .compact-head {
  margin-bottom: 8px;
}

/* Z333 trader buyback admin system */
.trader-buyback-card .buyback-grid {
  align-items: start;
}
.buyback-search-results {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: -4px;
}
.suggestion-pill {
  appearance: none;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(15, 23, 42, 0.68);
  color: inherit;
  border-radius: 14px;
  padding: 9px 12px;
  text-align: left;
  cursor: pointer;
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  min-width: 170px;
}
.suggestion-pill:hover,
.suggestion-pill:focus-visible {
  border-color: rgba(234, 179, 8, 0.75);
  outline: none;
}
.suggestion-pill small {
  color: rgba(226, 232, 240, 0.66);
}
.buyback-lines {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}
.buyback-line-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 86px 170px minmax(110px, auto) auto;
  gap: 10px;
  align-items: end;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 16px;
  padding: 10px;
  background: rgba(15, 23, 42, 0.38);
}
.buyback-line-main {
  display: grid;
  gap: 4px;
}
.buyback-line-main small,
.buyback-line-total small {
  color: rgba(226, 232, 240, 0.64);
}
.buyback-line-total {
  display: grid;
  gap: 2px;
  text-align: right;
  font-weight: 800;
}
.mini-field input,
.mini-field select {
  min-width: 0;
}
.buyback-total-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(234, 179, 8, 0.26);
  border-radius: 18px;
  padding: 12px 14px;
  background: rgba(234, 179, 8, 0.08);
  margin: 12px 0;
}
.buyback-total-card strong {
  font-size: 1.35rem;
}
.buyback-total-card small {
  color: rgba(226, 232, 240, 0.68);
  max-width: 320px;
  text-align: right;
}
.success-box {
  border: 1px solid rgba(34, 197, 94, 0.28);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(22, 163, 74, 0.1);
  margin: 10px 0;
}
.compact-empty {
  min-height: auto;
  padding: 14px;
}
@media (max-width: 980px) {
  .buyback-line-row {
    grid-template-columns: 1fr 88px;
  }
  .buyback-line-total {
    text-align: left;
  }
  .buyback-total-card {
    align-items: flex-start;
    flex-direction: column;
  }
  .buyback-total-card small {
    text-align: left;
  }
}

/* Z333 v2 trader buyback page cleanup */
.trader-buyback-page .trader-buyback-card {
  margin-top: 0;
}
.trader-buyback-page .buyback-settings-panel {
  grid-column: 1 / -1;
}
.trader-buyback-page .buyback-recent-panel .mini-table {
  max-height: 520px;
  overflow: auto;
}
@media (min-width: 981px) {
  .trader-buyback-page .buyback-entry-panel {
    min-width: 0;
  }
  .trader-buyback-page .buyback-recent-panel {
    min-width: 280px;
  }
}

/* Z334 final polish: mobile balances, audit, and admin tables */
.balance-stack-row {
  min-width: 0;
}
.balance-stack-value {
  text-align: right;
  overflow-wrap: anywhere;
}
.admin-polish-readable .balance-stack,
.table .balance-stack,
.compact-table .balance-stack {
  min-width: 128px;
}
.admin-audit-card .meta-line,
.admin-audit-card .small,
.player-readable-panel .small,
.data-row .small {
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  .page-card,
  .table-card,
  .detail-card,
  .basket-card,
  .right-panel,
  .map-shell,
  .map-list,
  .zone-editor,
  .status-panel {
    padding: 14px;
  }
  .section-head,
  .row-head,
  .admin-control-group-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .table-actions,
  .quick-actions,
  .compact-actions,
  .section-tools {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .table-actions > *,
  .quick-actions > *,
  .compact-actions > *,
  .section-tools > * {
    width: 100%;
    justify-content: center;
  }
  .balance-stack.compact,
  .table .balance-stack,
  .compact-table .balance-stack {
    min-width: 0;
    width: 100%;
  }
  .balance-stack-row {
    gap: 8px;
  }
  .balance-stack-label {
    font-size: 10px;
  }
  .balance-stack-value {
    font-size: 12px;
  }
  .metric-card .value.text-value {
    font-size: 18px;
  }
  .admin-control-grid,
  .field-grid,
  .broadcast-fields,
  .buyback-line-row,
  .player-diagnostic-headline,
  .admin-live-snapshot-grid {
    grid-template-columns: 1fr !important;
  }
  .admin-control-grid select[multiple] {
    min-height: 128px;
  }
}
@media (max-width: 420px) {
  .content {
    padding: 12px;
  }
  .page-card,
  .table-card,
  .detail-card,
  .basket-card,
  .right-panel,
  .map-shell,
  .map-list,
  .zone-editor,
  .status-panel {
    padding: 12px;
    border-radius: 14px;
  }
  .chip {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }
}


/* Z343 role income row controls */
.role-income-row .table-actions.compact {
  margin-top: 10px;
  justify-content: flex-start;
  gap: 8px;
}
@media (max-width: 720px) {
  .role-income-row .table-actions.compact {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .role-income-row .table-actions.compact .small-btn {
    width: 100%;
  }
}

/* Z344 Hub Trader timed open controls */
.hub-trader-open-panel {
  border-color: rgba(214, 163, 47, 0.35);
}
.hub-trader-controls-grid {
  align-items: end;
}
.hub-trader-banner-preview {
  margin: 10px 0 12px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(2, 6, 23, 0.35);
  max-width: 420px;
}
.hub-trader-banner-preview img {
  display: block;
  width: 100%;
  height: auto;
}
.soft-hidden {
  display: none;
}
@media (max-width: 720px) {
  .hub-trader-banner-preview {
    max-width: none;
  }
}

/* Z346 Hub Trader custom banner upload controls */
.hub-trader-add-banner-panel {
  border-style: dashed;
}
.hub-trader-add-banner-panel .hub-trader-banner-preview img {
  max-height: 320px;
  object-fit: contain;
}

/* Z349 DBot Runner */
.runner-image-wrap {
  width: 100%;
  overflow: hidden;
  border-radius: 18px;
  background: rgba(15, 23, 42, 0.65);
  border: 1px solid rgba(148, 163, 184, 0.22);
  margin-bottom: 12px;
}
.runner-image-wrap img {
  display: block;
  width: 100%;
  max-height: 360px;
  object-fit: cover;
}
.runner-run-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.runner-run-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
}
.runner-run-card .runner-image-wrap img {
  max-height: 220px;
}
.runner-run-head {
  align-items: flex-start;
  gap: 10px;
}
.runner-run-head-side {
  display: grid;
  justify-items: end;
  gap: 6px;
}
.runner-run-submeta {
  margin-top: 4px;
}
.runner-run-price {
  color: #f8fafc;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
}
.runner-active-row {
  margin-top: 12px;
}
.runner-radio-list {
  margin: 10px 0 0;
  padding-left: 18px;
}
.runner-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}
.runner-image-example .runner-image-wrap {
  margin-bottom: 6px;
}
.runner-image-example .runner-image-wrap img {
  max-height: 130px;
}
@media (max-width: 720px) {
  .runner-image-wrap img { max-height: 260px; }
  .runner-run-card .runner-image-wrap img { max-height: 180px; }
}

/* Z351 DBot Runner admin configurator */
.runner-admin-details {
  margin-top: 14px;
  border: 1px solid var(--border, rgba(148, 163, 184, 0.22));
  border-radius: 14px;
  padding: 12px;
  background: rgba(15, 23, 42, 0.28);
}
.runner-admin-details summary {
  cursor: pointer;
  font-weight: 700;
}
.runner-admin-textarea {
  width: 100%;
  min-height: 150px;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
}
.runner-json-textarea {
  min-height: 420px;
}
.runner-item-search {
  width: 100%;
  margin: 10px 0;
}
.runner-item-catalog {
  display: grid;
  gap: 6px;
  max-height: 360px;
  overflow: auto;
  padding-right: 4px;
}
.runner-item-row {
  display: grid;
  grid-template-columns: minmax(130px, 1.2fr) minmax(120px, 1.2fr) minmax(90px, .8fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid var(--border, rgba(148, 163, 184, 0.18));
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}
.runner-test-result {
  margin-top: 12px;
}
@media (max-width: 720px) {
  .runner-item-row {
    grid-template-columns: 1fr;
  }
}

/* Z352 DBot Runner dashboard cleanup */
.runner-image-wrap.image-missing {
  display: none;
}
.runner-radio-examples,
.runner-radio-example-row,
.runner-radio-line,
.runner-radio-list,
.runner-radio-list li,
.runner-test-result,
.runner-active-row {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.runner-radio-examples .data-row,
.runner-radio-list li {
  overflow: hidden;
}
.runner-radio-list {
  padding-right: 8px;
}
.runner-admin-shortcut {
  border-color: rgba(56, 189, 248, 0.35);
  background: rgba(8, 47, 73, 0.18);
}
.runner-send-btn {
  border: 0;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
}
.runner-send-quick,
.runner-send-quick:hover:not(:disabled) {
  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: #ffffff;
}
.runner-send-standard,
.runner-send-standard:hover:not(:disabled) {
  background: linear-gradient(135deg, #f97316, #f59e0b);
  color: #111827;
}
.runner-send-deep,
.runner-send-deep:hover:not(:disabled) {
  background: linear-gradient(135deg, #991b1b, #ef4444);
  color: #ffffff;
}
.runner-send-btn:disabled {
  opacity: 0.55;
  box-shadow: none;
}
@media (max-width: 720px) {
  .runner-radio-examples .section-head,
  .runner-admin-shortcut .section-head {
    align-items: flex-start;
  }
}

/* Z354 DBot Runner banner + history item display */
.runner-history-items {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.runner-loot-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(15, 23, 42, 0.72);
  color: rgba(226, 232, 240, 0.94);
  font-size: 0.76rem;
  line-height: 1.2;
}
.runner-hero-card .runner-image-wrap img {
  aspect-ratio: 4 / 1;
  max-height: 340px;
  object-fit: cover;
}
.runner-run-card .runner-image-wrap img {
  aspect-ratio: 4 / 1;
  max-height: 160px;
  object-fit: cover;
}
.runner-image-example .runner-image-wrap img {
  aspect-ratio: 4 / 1;
  object-fit: cover;
}
@media (max-width: 720px) {
  .runner-hero-card .runner-image-wrap img,
  .runner-run-card .runner-image-wrap img {
    aspect-ratio: 16 / 6;
  }
}

/* Z355 DBot Runner admin tidy + collapsible loot */
.runner-hero-head {
  gap: 12px;
}
.runner-hero-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.runner-admin-side-button {
  white-space: nowrap;
}
.runner-loot-collapsible {
  padding: 0;
  overflow: hidden;
}
.runner-loot-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
}
.runner-loot-summary::-webkit-details-marker {
  display: none;
}
.runner-loot-summary small {
  display: block;
  color: rgba(203, 213, 225, 0.72);
  font-weight: 500;
  margin-top: 2px;
}
.runner-loot-collapsible > .small,
.runner-loot-collapsible > .prize-list,
.runner-loot-collapsible > .claim-inline-row {
  margin-left: 14px;
  margin-right: 14px;
}
.runner-loot-collapsible > .claim-inline-row {
  margin-bottom: 14px;
}
.runner-waiting-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 116px;
  padding: 10px 16px;
  border-radius: 14px;
  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(34, 197, 94, 0.22);
}
.runner-admin-tidy .runner-admin-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.runner-admin-run-sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.runner-admin-run-section {
  margin-top: 0;
}
.runner-admin-subtitle {
  margin: 14px 0 8px;
  font-weight: 800;
  color: rgba(226, 232, 240, 0.92);
}
.runner-admin-quick {
  border-color: rgba(34, 197, 94, 0.3);
}
.runner-admin-standard {
  border-color: rgba(245, 158, 11, 0.34);
}
.runner-admin-deep {
  border-color: rgba(239, 68, 68, 0.34);
}
@media (max-width: 720px) {
  .runner-hero-actions {
    justify-content: flex-start;
  }
  .runner-loot-summary {
    align-items: stretch;
    flex-direction: column;
  }
  .runner-waiting-button {
    width: 100%;
  }
}

/* Z356 DBot Runner notification bridge / admin tidy-up */
.runner-radio-box-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin-top: 10px;
}
.runner-radio-box {
  min-width: 0;
}
.runner-radio-message-box {
  min-height: 88px;
  white-space: pre-wrap;
}
.field small {
  display: block;
  margin-top: 4px;
  color: var(--muted, #94a3b8);
  line-height: 1.35;
}


/* Z366 Runner spreadsheets + quest step clarity */
.runner-loot-editor-grid,
.runner-radio-editor-grid {
  display: grid;
  gap: 14px;
}
.runner-loot-sheet-card,
.runner-radio-sheet-card {
  overflow: hidden;
}
.runner-loot-sheet-wrap,
.runner-radio-sheet-wrap {
  width: 100%;
  overflow: auto;
  border: 1px solid var(--border, rgba(148, 163, 184, 0.2));
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.22);
}
.runner-loot-sheet-table,
.runner-radio-sheet-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
}
.runner-radio-sheet-table {
  min-width: 520px;
}
.runner-loot-sheet-table th,
.runner-loot-sheet-table td,
.runner-radio-sheet-table th,
.runner-radio-sheet-table td {
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
  border-right: 1px solid rgba(148, 163, 184, 0.10);
  padding: 6px;
  vertical-align: top;
}
.runner-loot-sheet-table th,
.runner-radio-sheet-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(15, 23, 42, 0.96);
  font-size: 0.78rem;
  text-align: left;
  white-space: nowrap;
}
.runner-loot-sheet-table input,
.runner-radio-sheet-table textarea {
  width: 100%;
  min-width: 120px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.78);
  color: var(--text, #e5e7eb);
  padding: 7px 8px;
  font-size: 0.82rem;
}
.runner-loot-sheet-table td:first-child input {
  min-width: 220px;
  font-weight: 700;
}
.quest-step-list {
  margin-top: 8px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  padding: 8px 10px;
  background: rgba(2, 6, 23, 0.18);
}
.quest-step-list summary {
  cursor: pointer;
  font-weight: 800;
  color: rgba(226, 232, 240, 0.94);
}
.quest-step-list ol {
  margin: 8px 0 0 20px;
  padding: 0;
}
.quest-step-list li {
  margin: 4px 0;
  overflow-wrap: anywhere;
}

/* Z372 public landing page refresh */
.public-landing-shell {
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 18% 8%, rgba(224, 58, 62, 0.32), transparent 28%),
    radial-gradient(circle at 84% 18%, rgba(255, 255, 255, 0.08), transparent 24%),
    radial-gradient(circle at 50% 72%, rgba(224, 58, 62, 0.13), transparent 34%),
    linear-gradient(180deg, #020305 0%, #070b11 48%, #030509 100%);
}

.public-hero-section,
.public-section {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.public-hero-section {
  min-height: 100vh;
  display: grid;
  align-items: center;
  padding: 42px 0 30px;
}

.public-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 26px;
  align-items: stretch;
  max-width: 1040px;
  margin: 0 auto;
}

.public-hero-copy,
.public-portal-card,
.public-feature-card,
.public-split-card {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
    linear-gradient(135deg, rgba(18, 24, 34, 0.96), rgba(7, 10, 16, 0.96));
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(16px);
}

.public-hero-copy {
  display: grid;
  align-content: center;
  gap: 22px;
  min-height: 560px;
  padding: clamp(28px, 5vw, 58px);
  border-radius: 34px;
  overflow: hidden;
}

.public-hero-copy::before {
  content: '';
  position: absolute;
  inset: -40% -20% auto auto;
  width: 360px;
  height: 360px;
  border-radius: 999px;
  background: rgba(224, 58, 62, 0.24);
  filter: blur(80px);
  pointer-events: none;
}

.public-hero-copy::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,0.026) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,0.55), transparent 72%);
  pointer-events: none;
}

.public-hero-copy > *,
.public-portal-card > *,
.public-feature-card > *,
.public-split-card > * {
  position: relative;
  z-index: 1;
}

.public-hero-banner {
  width: min(680px, 100%);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 50px rgba(224, 58, 62, 0.18);
  background: #050608;
}

.public-hero-banner img {
  display: block;
  width: 100%;
  height: auto;
}

.public-eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(224, 58, 62, 0.34);
  background: rgba(224, 58, 62, 0.12);
  color: #ffd7d7;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.public-hero-copy h1 {
  margin: 0;
  max-width: 860px;
  color: #ffffff;
  font-size: clamp(44px, 8vw, 96px);
  line-height: 0.92;
  letter-spacing: -0.07em;
  text-wrap: balance;
}

.public-hero-copy h1 span {
  color: #ff4d4f;
  text-shadow: 0 0 34px rgba(224, 58, 62, 0.42);
}

.public-hero-lede {
  max-width: 780px;
  margin: 0;
  color: #d6dde9;
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.55;
}

.public-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 4px;
}

.public-primary-cta,
.public-secondary-cta,
.public-card-login {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}

.public-primary-cta::before,
.public-card-login::before {
  content: '◆';
  margin-right: 9px;
  font-size: 11px;
}

.public-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.public-trust-strip span,
.public-mini-list span {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  border-radius: 999px;
  padding: 7px 11px;
  color: #eef3fa;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  font-size: 12px;
  font-weight: 700;
}

.public-portal-card {
  align-self: stretch;
  display: grid;
  align-content: center;
  gap: 20px;
  min-height: 620px;
  padding: clamp(24px, 4vw, 38px);
  border-radius: 34px;
  overflow: hidden;
}

.public-card-glow {
  position: absolute;
  inset: auto -80px -100px auto;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  background: rgba(224, 58, 62, 0.28);
  filter: blur(56px);
}

.public-logo-lockup {
  display: flex;
  gap: 16px;
  align-items: center;
}

.public-logo-frame {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.1);
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
  box-shadow: 0 16px 44px rgba(224, 58, 62, 0.18);
}

.public-logo-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.public-card-kicker {
  margin: 0 0 4px;
  color: #ffb8b8;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 800;
}

.public-portal-card h2,
.public-section-heading h2,
.public-split-card h2 {
  margin: 0;
  color: #ffffff;
  letter-spacing: -0.035em;
}

.public-portal-card h2 {
  font-size: clamp(28px, 4vw, 42px);
}

.public-portal-card p {
  margin: 0;
  color: #d8e0ed;
  line-height: 1.55;
  font-size: 16px;
}

.public-card-login {
  width: 100%;
}

.public-mini-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.public-section {
  padding: 44px 0;
}

.public-section-heading {
  display: grid;
  justify-items: center;
  gap: 12px;
  margin: 0 auto 28px;
  max-width: 820px;
  text-align: center;
}

.public-section-heading h2 {
  font-size: clamp(34px, 5vw, 62px);
  line-height: 0.98;
  text-wrap: balance;
}

.public-section-heading p {
  margin: 0;
  color: #c4cdda;
  font-size: 18px;
  line-height: 1.5;
}


.public-feature-block + .public-feature-block {
  margin-top: 42px;
}

.public-feature-block .public-section-heading {
  margin-bottom: 22px;
}

.public-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.public-feature-card {
  min-height: 240px;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 26px;
  border-radius: 26px;
  overflow: hidden;
}

.public-feature-card::after {
  content: '';
  position: absolute;
  inset: auto -60px -80px auto;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: rgba(224, 58, 62, 0.11);
  filter: blur(38px);
}

.public-feature-card.feature-hot {
  border-color: rgba(224, 58, 62, 0.34);
  box-shadow: 0 24px 70px rgba(224, 58, 62, 0.14);
}

.feature-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(224, 58, 62, 0.13);
  font-size: 24px;
}

.public-feature-card h3 {
  margin: 0;
  color: #ffffff;
  font-size: 23px;
  letter-spacing: -0.02em;
}

.public-feature-card p,
.public-split-card p {
  margin: 0;
  color: #c8d1de;
  line-height: 1.55;
}

.public-split-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding-bottom: 64px;
}

.public-split-card {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 260px;
  padding: clamp(24px, 4vw, 36px);
  border-radius: 30px;
}

.public-split-card-strong {
  border-color: rgba(224, 58, 62, 0.28);
  background:
    radial-gradient(circle at 86% 16%, rgba(224, 58, 62, 0.2), transparent 30%),
    linear-gradient(135deg, rgba(28, 13, 16, 0.96), rgba(7, 10, 16, 0.96));
}

.public-split-card h2 {
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
}

.public-landing-v2 .public-hero-grid-split {
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr);
  max-width: 1180px;
}

.public-landing-v2 .public-hero-grid-single {
  max-width: 980px;
  margin: 0 auto;
}

.public-hero-copy-compact {
  min-height: 0;
}

.public-portal-home {
  gap: 18px;
}

.public-hero-bullets {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  color: #eef3fa;
  font-size: 15px;
  line-height: 1.5;
}

.public-hero-actions-secondary {
  margin-top: -2px;
}

.public-section-slim {
  padding-top: 6px;
  padding-bottom: 54px;
}

.public-link-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.public-link-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 220px;
  padding: 26px;
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
    linear-gradient(135deg, rgba(18, 24, 34, 0.96), rgba(7, 10, 16, 0.96));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.48);
  color: inherit;
  text-decoration: none;
  overflow: hidden;
}

.public-link-card::after {
  content: '';
  position: absolute;
  inset: auto -60px -80px auto;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: rgba(224, 58, 62, 0.12);
  filter: blur(38px);
  pointer-events: none;
}

.public-link-card > * {
  position: relative;
  z-index: 1;
}

.public-link-card h3 {
  margin: 0;
  color: #ffffff;
  font-size: 24px;
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.public-link-card p {
  margin: 0;
  color: #c8d1de;
  line-height: 1.55;
}

.public-split-section-stack {
  padding-top: 0;
  padding-bottom: 20px;
}

.public-device-mock {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
    linear-gradient(135deg, rgba(18, 24, 34, 0.96), rgba(7, 10, 16, 0.96));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.48);
  backdrop-filter: blur(16px);
}

.public-preview-list,
.public-feature-list,
.public-demo-steps,
.public-demo-bullet-list {
  margin: 0;
  padding-left: 18px;
  color: #eef3fa;
  display: grid;
  gap: 8px;
}

.public-device-mock {
  border-color: rgba(224, 58, 62, 0.28);
}

.public-demo-shell {
  padding-bottom: 40px;
}

.public-demo-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 26px;
  padding-bottom: 0;
}

.public-inline-login {
  min-height: 42px;
}

.public-demo-hero-section {
  padding-top: 18px;
  padding-bottom: 28px;
}

.public-section-heading-left {
  justify-items: start;
  text-align: left;
  max-width: 920px;
  margin: 0 0 22px;
}

.public-demo-toggle-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.public-demo-toggle {
  min-height: 46px;
}

.public-demo-stage-wrap {
  padding-top: 0;
}

.public-demo-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: 20px;
  align-items: start;
}

.public-device-mock {
  border-radius: 30px;
  overflow: hidden;
}

.public-device-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.28);
  color: #eef3fa;
  font-size: 13px;
  font-weight: 700;
}

.public-device-screen {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.public-demo-banner {
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: #050608;
}

.public-demo-banner img {
  display: block;
  width: 100%;
  height: auto;
}

.public-demo-card,
.public-admin-panel {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}

.public-demo-toggle-row-wide {
  align-items: stretch;
}

.public-dashboard-demo-wrap {
  padding-top: 0;
}

.public-dashboard-demo-card {
  border-radius: 30px;
  overflow: hidden;
}

.public-dashboard-demo-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  min-height: 780px;
}

.public-dashboard-demo-sidebar {
  display: grid;
  align-content: start;
  gap: 18px;
  padding: 20px 18px;
  border-right: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.24);
}

.public-dashboard-demo-sidebar-head {
  display: grid;
  gap: 6px;
}

.public-dashboard-demo-sidebar-head strong {
  color: #ffffff;
  font-size: 18px;
  letter-spacing: -0.02em;
}

.public-dashboard-demo-sidebar-head span,
.public-dashboard-demo-kicker,
.public-dashboard-demo-nav-label {
  color: #aab6c8;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.public-dashboard-demo-nav-group {
  display: grid;
  gap: 10px;
}

.public-dashboard-demo-nav-items {
  display: grid;
  gap: 8px;
}

.public-dashboard-demo-nav-item {
  width: 100%;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
  color: #eef3fa;
  border-radius: 14px;
  padding: 10px 12px;
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.public-dashboard-demo-nav-item:hover,
.public-dashboard-demo-nav-item:focus-visible {
  border-color: rgba(224, 58, 62, 0.35);
  background: rgba(255,255,255,0.06);
  outline: none;
}

.public-dashboard-demo-nav-item.is-active {
  border-color: rgba(224, 58, 62, 0.42);
  background: rgba(224, 58, 62, 0.12);
  color: #ffffff;
}

.public-demo-dashboard-tab-button {
  min-height: 46px;
}

.public-dashboard-demo-main {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 20px;
}

.public-dashboard-demo-topline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.public-dashboard-demo-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.public-dashboard-demo-header h3 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(24px, 3vw, 34px);
  letter-spacing: -0.03em;
}

.public-dashboard-demo-header p {
  margin: 8px 0 0;
  color: #c8d1de;
  line-height: 1.6;
  max-width: 860px;
}

.public-dashboard-demo-metric-grid,
.public-dashboard-demo-panel-grid {
  display: grid;
  gap: 14px;
}

.public-dashboard-demo-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.public-dashboard-demo-panel-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-dashboard-demo-panel {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}

.public-dashboard-demo-panel p {
  margin: 0;
  color: #c8d1de;
  line-height: 1.6;
}

.public-dashboard-demo-panel-wide {
  grid-column: 1 / -1;
}

.compact-bullets {
  gap: 6px;
}

@media (max-width: 980px) {
  .public-hero-section {
    min-height: auto;
    padding-top: 26px;
  }
  .public-hero-grid,
  .public-split-section,
  .public-hero-grid-split,
  .public-demo-stage {
    grid-template-columns: 1fr;
  }
  .public-hero-copy,
  .public-portal-card {
    min-height: auto;
  }
  .public-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .public-link-grid {
    grid-template-columns: 1fr;
  }
  .public-dashboard-demo-layout {
    grid-template-columns: 1fr;
  }
  .public-dashboard-demo-sidebar {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .public-dashboard-demo-nav-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .public-dashboard-demo-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .public-landing-shell {
    background:
      radial-gradient(circle at 50% 0%, rgba(224, 58, 62, 0.25), transparent 30%),
      linear-gradient(180deg, #020305 0%, #070b11 52%, #030509 100%);
  }
  .public-hero-section,
  .public-section {
    width: min(100% - 22px, 1180px);
  }
  .public-hero-copy,
  .public-portal-card,
  .public-feature-card,
  .public-split-card,
  .public-device-mock {
    border-radius: 24px;
  }
  .public-hero-copy {
    padding: 22px;
  }
  .public-hero-copy h1 {
    font-size: clamp(42px, 16vw, 66px);
  }
  .public-hero-lede,
  .public-section-heading p {
    font-size: 16px;
  }
  .public-hero-actions > a,
  .public-card-login {
    width: 100%;
  }
  .public-hero-actions-secondary > a {
    width: 100%;
  }
  .public-dashboard-demo-metric-grid,
  .public-dashboard-demo-panel-grid {
    grid-template-columns: 1fr;
  }
  .public-feature-grid {
    grid-template-columns: 1fr;
  }
  .public-demo-topbar {
    align-items: stretch;
  }
  .public-demo-topbar > * {
    width: 100%;
  }
  .public-dashboard-demo-nav-items {
    grid-template-columns: 1fr;
  }
  .public-feature-card {
    min-height: auto;
  }
  .public-section {
    padding: 30px 0;
  }
}

/* Z379 DBot Runner value floor + sell-back controls */
.runner-loot-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}
.runner-loot-collect-check {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.runner-sellback-box {
  grid-column: 1 / -1;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 14px;
  padding: 10px;
  background: rgba(15, 23, 42, 0.42);
}
.runner-sellback-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  margin-bottom: 4px;
}
.runner-sellback-lines {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}
.runner-sellback-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 12px;
  padding: 8px;
  background: rgba(2, 6, 23, 0.25);
}
.runner-sellback-line.disabled {
  opacity: 0.58;
}
.runner-sellback-line strong {
  white-space: nowrap;
}
.runner-sellback-note {
  grid-column: 1 / -1;
  margin-top: 6px;
}
@media (max-width: 720px) {
  .runner-loot-row {
    grid-template-columns: 1fr;
  }
  .runner-sellback-line {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .runner-sellback-line strong {
    grid-column: 2;
  }
}


/* Z380 dashboard compact layout + DayZ black/red/white recovery */
:root {
  --bg: #020203;
  --bg-2: #08090b;
  --panel: #101114;
  --panel-2: #17191d;
  --panel-3: #202227;
  --panel-soft: rgba(255, 255, 255, 0.035);
  --border: #303238;
  --border-strong: #565a63;
  --text: #f7f7f4;
  --muted: #cfcfca;
  --danger: #cf2027;
  --danger-2: #ff3b3f;
  --success: #f7f7f4;
  --warning: #ef2c32;
  --info: #f7f7f4;
  --chip: #111215;
  --shadow: 0 16px 38px rgba(0, 0, 0, 0.66);
  --radius: 10px;
  --radius-sm: 8px;
  --dashboard-card-max: 1040px;
  --dashboard-compact-card-max: 760px;
  --dashboard-wide-max: 1320px;
}

html,
body,
#app {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  color: var(--text);
  background:
    linear-gradient(rgba(255,255,255,0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px),
    radial-gradient(circle at 14% 0%, rgba(207, 32, 39, 0.24), transparent 26%),
    linear-gradient(180deg, #020203 0%, #090a0d 48%, #030304 100%) !important;
  background-size: 46px 46px, 46px 46px, auto, auto !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,0.018) 0 1px, transparent 1px 5px),
    linear-gradient(135deg, rgba(207,32,39,0.07), transparent 34%, rgba(255,255,255,0.022));
  opacity: 0.48;
}

.app-shell {
  width: 100%;
  max-width: 100vw;
  grid-template-columns: minmax(248px, 288px) minmax(0, 1fr);
  overflow-x: hidden;
}

.sidebar {
  z-index: 80;
  background:
    linear-gradient(180deg, rgba(8,8,10,0.99), rgba(2,2,3,0.99)),
    linear-gradient(90deg, rgba(207,32,39,0.12), transparent 44%) !important;
  border-right-color: rgba(207,32,39,0.28) !important;
}

.content {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  padding: 20px;
}

.header {
  width: min(100%, var(--dashboard-wide-max));
  max-width: var(--dashboard-wide-max);
  margin-right: auto;
  border: 1px solid rgba(255,255,255,0.09);
  padding: 12px 14px;
}

.content > .page.active,
.layout-grid,
.compact-dashboard-page,
.dashboard-collapsible-flow,
.admin-control-form,
.compact-stack {
  display: grid;
  gap: 14px;
  align-items: start;
  justify-items: stretch;
  min-width: 0;
}

.content > .page.active > .page-card,
.content > .page.active > details.page-card,
.content > .page.active > form > .page-card,
.content > .page.active > .detail-card,
.content > .page.active > .basket-card,
.content > .page.active > .right-panel,
.content > .page.active > .status-panel {
  width: min(100%, var(--dashboard-card-max));
  max-width: var(--dashboard-card-max);
  justify-self: start;
}

.content > .page.active > .page-card.compact-card,
.content > .page.active > details.page-card.compact-card,
.content > .page.active > form > .page-card.compact-card {
  width: min(100%, var(--dashboard-compact-card-max));
  max-width: var(--dashboard-compact-card-max);
}

.content > .page.active > .table-card,
.content > .page.active > .map-shell,
.content > .page.active > .map-layout,
.content > .page.active > .map-list,
.content > .page.active > .two-col,
.content > .page.active > .three-col,
.content > .page.active > .dashboard-admin-grid,
.content > .page.active > .quest-dashboard-shell,
.content > .page.active > .quest-dashboard-overview,
.content > .page.active > .runner-loot-editor-form,
.content > .page.active > .runner-radio-editor-form,
.content > .page.active > .runner-loot-editor-grid,
.content > .page.active > .runner-radio-editor-grid,
.content > .page.active > .runner-run-grid,
.content > .page.active > .metric-grid {
  width: min(100%, var(--dashboard-wide-max));
  max-width: var(--dashboard-wide-max);
  justify-self: start;
}

.page-card,
.table-card,
.detail-card,
.basket-card,
.right-panel,
.map-shell,
.map-list,
.zone-editor,
.status-panel,
.metric-card,
.item-card,
.data-row,
.admin-tool-panel,
.admin-collapse,
.guild-picker,
.user-card,
.sidebar-actions,
.filter-bar,
.alert {
  border-color: rgba(255,255,255,0.09) !important;
  background:
    linear-gradient(180deg, rgba(22,23,27,0.98), rgba(8,9,12,0.98)),
    linear-gradient(90deg, rgba(207,32,39,0.055), transparent 38%) !important;
  box-shadow: var(--shadow);
}

.page-card,
.table-card,
.detail-card,
.basket-card,
.right-panel,
.map-shell,
.map-list,
.zone-editor,
.status-panel {
  padding: 14px;
}

.compact-card,
.compact-dashboard-page .page-card,
.compact-dashboard-page .table-card {
  padding: 12px 14px;
}

.empty-state {
  min-height: 96px;
}
.empty-state.tight {
  min-height: auto;
  padding: 12px;
}

.dayz-title,
.dayz-wordmark,
.section-head h2,
.section-head h3,
.page-card h3,
.table-card h3 {
  color: #fff;
  text-shadow: 0 2px 0 #000, 0 0 18px rgba(207,32,39,0.2);
}

.section-head {
  gap: 10px;
  margin-bottom: 12px;
}
.section-head h2,
.section-head h3,
.page-card h3,
.table-card h3,
.detail-card h3,
.basket-card h3,
.map-shell h3,
.map-list h3 {
  font-size: clamp(18px, 1.6vw, 21px);
}

.wordmark-kicker,
.wordmark-sub,
.field .label,
.trader-tools-label {
  color: #f0f0ec;
}

.muted,
.small,
.field small {
  color: var(--muted) !important;
}

.btn,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-ghost,
.btn-chip,
.btn-tab,
.nav button,
.nav-group-items button,
.tiny-btn,
.small-btn {
  border-radius: 8px;
  border-width: 1px;
  font-weight: 900;
  letter-spacing: 0.01em;
  text-shadow: 0 1px 0 #000;
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.14), 0 9px 20px rgba(0,0,0,0.42);
}

.btn,
.runner-send-btn,
.runner-send-quick,
.runner-send-standard,
.runner-send-deep,
.runner-send-btn:hover:not(:disabled) {
  border-color: rgba(255,255,255,0.22) !important;
  background: linear-gradient(180deg, #ff3338, #b51218 58%, #78090e) !important;
  color: #fff !important;
}

.btn-secondary,
.btn-tab,
.btn-chip,
.nav button,
.nav-group-items button {
  border-color: rgba(255,255,255,0.2) !important;
  background: linear-gradient(180deg, #272a31, #111216) !important;
  color: #fff !important;
}

.btn-ghost {
  border-color: rgba(255,255,255,0.18) !important;
  background: rgba(255,255,255,0.035) !important;
  color: #fff !important;
}

.btn-danger {
  border-color: rgba(255,70,75,0.48) !important;
  background: linear-gradient(180deg, #6d080d, #250204) !important;
  color: #fff !important;
}

.btn-success {
  border-color: rgba(255,255,255,0.38) !important;
  background: linear-gradient(180deg, #f7f7f4, #c9c9c4) !important;
  color: #050507 !important;
  text-shadow: none !important;
}

.btn:hover,
.btn-secondary:hover,
.btn-success:hover,
.btn-danger:hover,
.btn-ghost:hover,
.btn-chip:hover,
.btn-tab:hover,
.nav button:hover,
.nav-group-items button:hover {
  filter: brightness(1.14);
  border-color: rgba(255,255,255,0.44) !important;
}

.btn:disabled,
.btn-secondary:disabled,
.btn-success:disabled,
.btn-ghost:disabled,
.btn-danger:disabled,
.runner-send-btn:disabled {
  opacity: 0.52;
  filter: grayscale(0.2);
  box-shadow: none;
}

.compact-actions .btn,
.compact-actions .btn-secondary,
.compact-actions .btn-success,
.compact-actions .btn-ghost,
.compact-actions .btn-danger,
.table-actions .btn,
.table-actions .btn-secondary,
.table-actions .btn-danger,
.tiny-btn,
.small-btn {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
}

.btn-tab.active,
.btn-chip.active,
.nav button.active,
.nav-group-items button.active {
  border-color: rgba(255,255,255,0.34) !important;
  background: linear-gradient(180deg, #cf2027, #5b070b) !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 #fff, 0 12px 26px rgba(207,32,39,0.24) !important;
}

.chip,
.title-accent-pill,
.brand-tag {
  border-color: rgba(255,255,255,0.16) !important;
  background: #101114 !important;
  color: #f7f7f4 !important;
}

.chip.success,
.chip.info {
  border-color: rgba(255,255,255,0.28) !important;
  background: rgba(255,255,255,0.12) !important;
  color: #fff !important;
}

.chip.warning,
.chip.danger {
  background: rgba(207,32,39,0.18) !important;
  border-color: rgba(255,59,63,0.38) !important;
  color: #ffd9da !important;
}

.runner-waiting-button {
  width: auto !important;
  min-width: 0;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.28);
  background: linear-gradient(180deg, #ff3338, #941015) !important;
  color: #fff;
  box-shadow: 0 10px 22px rgba(207,32,39,0.24);
}

.content select,
.content input,
.content textarea,
.sidebar select,
.sidebar input,
.sidebar textarea {
  border-color: rgba(255,255,255,0.18) !important;
  background: #07080a !important;
  color: #f7f7f4 !important;
  border-radius: 8px;
}

.content select:focus,
.content input:focus,
.content textarea:focus {
  outline: 2px solid rgba(207,32,39,0.34);
  border-color: rgba(255,59,63,0.7) !important;
}

.table th,
.compact-table th,
.admin-trader-csv-table th,
.quest-compact-table th,
.quest-summary-table th {
  background: #08090b !important;
  color: #fff !important;
  border-bottom: 1px solid rgba(207,32,39,0.3) !important;
}

.table tbody tr:hover,
.compact-table tbody tr:hover,
.quest-compact-table tbody tr:hover {
  background: rgba(207,32,39,0.075) !important;
}

.runner-page {
  justify-items: start;
}

.runner-page > .runner-hero-card {
  width: min(100%, 980px) !important;
  max-width: 980px !important;
}

.runner-page > .runner-names-card {
  width: min(100%, 720px) !important;
  max-width: 720px !important;
}

.runner-page > .runner-slot-picker-card {
  width: min(100%, 540px) !important;
  max-width: 540px !important;
}

.runner-page > .runner-loot-card {
  width: min(100%, 1040px) !important;
  max-width: 1040px !important;
}

.runner-page > .runner-run-grid {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
}

.runner-hero-card .runner-image-wrap img {
  max-height: 220px;
}

.runner-run-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  align-items: stretch;
}

.runner-run-card {
  min-width: 0;
}

.runner-run-card .runner-image-wrap img {
  max-height: 138px;
}

.runner-loot-summary {
  padding: 12px 14px;
  flex-wrap: wrap;
}

.runner-sellback-box,
.runner-sellback-line,
.runner-loot-pill,
.toggle-chip,
.quest-collapsed-panel,
.save-status {
  border-color: rgba(255,255,255,0.13) !important;
  background: rgba(7,8,10,0.58) !important;
}

@media (max-width: 1400px) {
  :root {
    --dashboard-card-max: 960px;
    --dashboard-wide-max: 1180px;
  }
}

@media (max-width: 1080px) {
  .app-shell {
    display: block;
    grid-template-columns: 1fr;
  }
  .content {
    padding: 16px;
  }
  .header,
  .content > .page.active > .page-card,
  .content > .page.active > details.page-card,
  .content > .page.active > form > .page-card,
  .content > .page.active > .detail-card,
  .content > .page.active > .basket-card,
  .content > .page.active > .right-panel,
  .content > .page.active > .status-panel,
  .content > .page.active > .table-card,
  .content > .page.active > .map-shell,
  .content > .page.active > .map-layout,
  .content > .page.active > .map-list,
  .content > .page.active > .two-col,
  .content > .page.active > .three-col,
  .content > .page.active > .dashboard-admin-grid,
  .content > .page.active > .quest-dashboard-shell,
  .content > .page.active > .quest-dashboard-overview,
  .content > .page.active > .runner-loot-editor-form,
  .content > .page.active > .runner-radio-editor-form,
  .content > .page.active > .runner-run-grid,
  .content > .page.active > .metric-grid,
  .runner-page > .runner-hero-card,
  .runner-page > .runner-names-card,
  .runner-page > .runner-slot-picker-card,
  .runner-page > .runner-loot-card,
  .runner-page > .runner-run-grid {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 720px) {
  .content {
    padding: 12px;
  }
  .section-head,
  .runner-loot-summary {
    align-items: flex-start !important;
    flex-direction: row !important;
    flex-wrap: wrap;
  }
  .section-tools,
  .header-tags,
  .runner-hero-actions {
    justify-content: flex-start;
  }
  .runner-waiting-button {
    width: auto !important;
  }
  .runner-run-grid {
    grid-template-columns: 1fr;
  }
  .runner-sellback-line {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .runner-sellback-line strong {
    grid-column: 2;
  }
}


/* Z381 dashboard navigation + compact page cleanup */
.dashboard-view-select {
  min-height: 36px;
  width: auto;
  max-width: 220px;
  padding: 7px 34px 7px 10px;
  border-radius: 9px;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.header {
  min-height: 0;
  align-items: center;
}

.header-main {
  min-width: 0;
}

.shell-title {
  min-width: 0;
}

.dayz-title {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Black", sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0.035em !important;
  font-size: clamp(22px, 2.1vw, 34px) !important;
  line-height: 1.02 !important;
  max-width: min(760px, 100%);
}

.wordmark-sub {
  font-size: 10px;
  letter-spacing: 0.16em;
}

.dashboard-page-back-row {
  width: min(100%, var(--dashboard-card-max));
  max-width: var(--dashboard-card-max);
  justify-self: start;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 2px;
}

.home-page .home-quick-actions {
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  max-width: 920px;
}

.home-panel-card {
  width: min(100%, 980px) !important;
  max-width: 980px !important;
}

.home-prizes-panel {
  width: min(100%, 1220px) !important;
  max-width: 1220px !important;
}

.prize-grid-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
  max-height: none;
  overflow: visible;
}

.prize-grid-list .prize-row {
  min-width: 0;
}

.compact-list .data-row,
.summary-list.compact-list .data-row {
  min-height: auto;
  padding: 10px 12px;
}

.quest-list-card {
  width: min(100%, var(--dashboard-wide-max)) !important;
  max-width: var(--dashboard-wide-max) !important;
}

.quest-list-card .quest-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, min(100%, 420px)));
  justify-content: start;
  align-items: start;
  gap: 10px;
}

.quest-list-card .quest-admin-card {
  min-height: auto;
  padding: 11px 12px;
}

.quest-list-card .quest-admin-card .row-head {
  gap: 8px;
}

.quest-list-card .quest-admin-card .admin-tight-grid {
  grid-template-columns: repeat(auto-fit, minmax(120px, 180px));
}

.quest-list-card .quest-admin-card .btn-danger,
.quest-list-card .quest-admin-card .btn-secondary,
.quest-list-card .quest-admin-card .btn {
  width: auto;
  min-width: 120px;
}

.admin-tab-groups,
.admin-tab-group,
.admin-tab-buttons {
  min-width: 0;
}

.admin-tab-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-tab-buttons .btn-tab {
  width: auto;
  min-width: 118px;
  flex: 0 1 auto;
}

.metric-grid {
  align-items: stretch;
}

@media (max-width: 1080px) {
  .dashboard-page-back-row,
  .home-panel-card,
  .home-prizes-panel,
  .quest-list-card {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 720px) {
  .header {
    gap: 10px;
  }
  .dashboard-view-select {
    max-width: 100%;
  }
  .home-page .home-quick-actions,
  .prize-grid-list,
  .quest-list-card .quest-card-grid {
    grid-template-columns: 1fr;
  }
}

/* Z382 dashboard runner flow / no-bleed recovery */
@media (min-width: 1081px) {
  .app-shell {
    display: grid !important;
    grid-template-columns: 288px minmax(0, calc(100vw - 288px)) !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
  .sidebar {
    grid-column: 1 !important;
    width: 288px !important;
    min-width: 288px !important;
    max-width: 288px !important;
  }
  .content {
    grid-column: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 288px) !important;
    overflow-x: hidden !important;
  }
}

.content > .page.active {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

.runner-page,
.runner-admin-panel,
.home-dashboard-page {
  justify-items: start !important;
}

.runner-page > .runner-hero-card,
.runner-page > .runner-slot-picker-card,
.runner-page > .runner-names-card,
.runner-page > .runner-send-panel,
.runner-page > .runner-loot-card,
.runner-page > .compact-card {
  width: min(100%, 980px) !important;
  max-width: 980px !important;
  justify-self: start !important;
}

.runner-custom-grid {
  width: min(100%, 980px) !important;
  max-width: 980px !important;
  display: grid;
  gap: 12px;
}

.runner-character-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
  width: 100%;
}

.runner-character-card {
  width: 100%;
  min-height: 96px;
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  text-align: left;
  padding: 8px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.14);
  background: linear-gradient(180deg, rgba(20,22,26,0.98), rgba(5,6,8,0.98));
  color: var(--text);
}

.runner-character-card.selected,
.runner-character-card:hover:not(:disabled) {
  border-color: rgba(255,55,62,0.7);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08), 0 14px 30px rgba(207,32,39,0.18);
  filter: brightness(1.08);
}

.runner-character-card:disabled,
.runner-character-card.disabled {
  opacity: 0.64;
  cursor: not-allowed;
}

.runner-character-image {
  width: 86px;
  height: 66px;
  border-radius: 10px;
  overflow: hidden;
  background: #050609;
  border: 1px solid rgba(255,255,255,0.14);
}

.runner-character-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.runner-character-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.runner-character-copy strong,
.runner-character-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.runner-slot-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.runner-character-preview {
  grid-column: 1 / -1;
  max-width: 520px;
}

.runner-run-choice-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}

.runner-run-choice {
  min-height: 92px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.16);
  background: linear-gradient(180deg, #202329, #0c0d11);
  color: var(--text);
  text-align: left;
}

.runner-run-choice strong {
  display: block;
  font-size: 17px;
  margin-bottom: 5px;
}
.runner-run-choice small {
  display: block;
  color: var(--muted);
}
.runner-run-choice:hover:not(:disabled) {
  border-color: rgba(255,55,62,0.68);
  background: linear-gradient(180deg, #2b2e35, #111216);
}
.runner-run-choice.danger {
  background: linear-gradient(180deg, #3c070b, #120406);
}
.runner-run-choice:disabled {
  opacity: 0.52;
}

.runner-loot-editor-page > .page-card,
.runner-loot-editor-page > .runner-loot-editor-form {
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  justify-self: start !important;
}

.runner-loot-bundle-selector {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.runner-loot-bundle-selector button {
  min-height: 48px;
  justify-content: space-between;
  text-align: left;
}
.runner-loot-bundle-selector button small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-top: 3px;
}
.runner-loot-bundle-selector button.active {
  border-color: rgba(255,255,255,0.36) !important;
  background: linear-gradient(180deg, #cf2027, #5b070b) !important;
}
.runner-loot-sheet-wrap {
  max-width: 100%;
  overflow: auto !important;
  scrollbar-gutter: stable both-edges;
}
.runner-loot-sheet-table {
  min-width: 1180px;
}
.runner-loot-sheet-table input {
  min-width: 150px;
}
.runner-loot-sheet-table td:first-child input {
  min-width: 210px;
}

.prize-list.prize-grid-list {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
}
.prize-grid-list .prize-claim-row {
  min-width: 0;
}

.dayz-title {
  font-family: "Arial Narrow", "Roboto Condensed", "Arial", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: 0.015em !important;
  text-transform: none !important;
}

@media (max-width: 1080px) {
  .runner-character-card {
    grid-template-columns: 76px minmax(0, 1fr);
  }
  .runner-character-card > .chip {
    grid-column: 2;
    width: max-content;
  }
  .runner-run-choice-list,
  .runner-character-grid,
  .runner-loot-bundle-selector {
    grid-template-columns: 1fr;
  }
}

/* Z383 dashboard polish / mobile-first compact recovery */
:root {
  --dbot-red: #c9151d;
  --dbot-red-soft: rgba(201, 21, 29, 0.22);
  --dbot-panel: rgba(13, 15, 19, 0.96);
  --dbot-panel-2: rgba(19, 21, 27, 0.98);
  --dbot-border: rgba(255,255,255,0.10);
}

body {
  background:
    radial-gradient(circle at 20% 0%, rgba(122, 0, 8, 0.22), transparent 34%),
    linear-gradient(180deg, #030407 0%, #08090d 58%, #030407 100%) !important;
}

.app-shell {
  background:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px),
    radial-gradient(circle at 50% 0%, rgba(150, 0, 12, 0.16), transparent 34%) !important;
  background-size: 22px 22px, 22px 22px, auto !important;
}

.header,
.content > .page.active,
.dashboard-page-back-row {
  max-width: 1180px !important;
  justify-self: start !important;
}

.header {
  min-height: auto !important;
  padding: 12px 14px !important;
  border: 1px solid var(--dbot-border) !important;
  background: linear-gradient(180deg, rgba(12,14,18,0.96), rgba(5,6,9,0.92)) !important;
  box-shadow: 0 20px 70px rgba(0,0,0,0.38) !important;
}

.header-tags { display: none !important; }
.shell-title { min-width: 0; }
.dayz-title {
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif !important;
  font-weight: 850 !important;
  letter-spacing: .025em !important;
  text-transform: none !important;
  line-height: 1.05 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.75), 0 0 18px rgba(255,255,255,0.08) !important;
}

.sidebar-profile-card {
  display: grid !important;
  grid-template-columns: 46px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 10px !important;
}
.sidebar-profile-copy { min-width: 0; display: grid; gap: 4px; }
.sidebar-view-select-wrap { display: grid; gap: 5px; margin-top: 8px; }
.sidebar-view-select-wrap span { color: var(--muted); font-size: 12px; }
.dashboard-view-select {
  width: 100% !important;
  min-height: 34px !important;
  border-radius: 8px !important;
  background: #06070a !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  font-weight: 800 !important;
}
.access-picker-card { display: none !important; }

.page-card,
.metric-card,
.table-card,
.data-row,
.admin-collapse,
details.page-card {
  background: linear-gradient(180deg, var(--dbot-panel-2), var(--dbot-panel)) !important;
  border: 1px solid var(--dbot-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 45px rgba(0,0,0,0.32) !important;
}

.btn,
.btn-secondary,
.btn-ghost,
.btn-danger,
.btn-tab,
button,
.button-link {
  border-radius: 8px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}
.btn,
.btn-danger,
.btn-secondary.active,
.btn-tab.active,
.nav button.active {
  background: linear-gradient(180deg, #f01d2b, #8f0710) !important;
  color: #fff !important;
  border-color: rgba(255,80,90,.64) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 10px 24px rgba(201,21,29,.24) !important;
}
.btn-secondary,
.btn-ghost,
.btn-tab {
  background: linear-gradient(180deg, #191c22, #0b0d12) !important;
  color: #f4f4f4 !important;
  border-color: rgba(255,255,255,.14) !important;
}
.btn:hover:not(:disabled),
.btn-secondary:hover:not(:disabled),
.btn-ghost:hover:not(:disabled),
.btn-tab:hover:not(:disabled) {
  border-color: rgba(255,70,80,.62) !important;
  filter: brightness(1.12);
}

.content > .page.active.home-dashboard-page,
.content > .page.active.runner-page,
.content > .page.active.career-compact-page,
.content > .page.active.developer-tools-page {
  max-width: 1080px !important;
  width: min(100%, 1080px) !important;
}

.home-metric-strip,
.home-economy-strip {
  grid-template-columns: minmax(260px, 420px) !important;
  width: min(100%, 420px) !important;
}
.economy-summary-card .daily-wheel-line {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #f1f1f1;
  font-weight: 800;
  font-size: 13px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 8px;
}
.home-top-strip {
  width: min(100%, 760px) !important;
  display: grid !important;
  gap: 12px !important;
}
.home-quick-actions,
.admin-actions-grid {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  gap: 8px !important;
}
.home-quick-actions button,
.admin-actions-grid button {
  min-height: 38px !important;
  padding: 8px 10px !important;
  font-size: 13px !important;
}
.home-hint-card { display: none !important; }
.home-reveal-grid { width: min(100%, 960px) !important; }

.career-mobile-metrics,
.career-metrics {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  width: min(100%, 820px) !important;
  max-width: 820px !important;
  gap: 10px !important;
}
.career-metrics .metric-card {
  min-height: 86px !important;
  padding: 12px 14px !important;
}
.career-detail-grid { display: none !important; }
.metric-card .value { font-size: clamp(20px, 2.3vw, 29px) !important; }
.metric-card .sub { font-size: 12px !important; }

.runner-page > .runner-hero-card,
.runner-page > .runner-slot-picker-card,
.runner-page > .runner-names-card,
.runner-page > .runner-send-panel,
.runner-page > .runner-loot-card,
.runner-page > .runner-history-card,
.runner-page > .compact-card {
  width: min(100%, 980px) !important;
  max-width: 980px !important;
}
.runner-hero-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.runner-character-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.runner-character-card {
  min-height: 142px !important;
  grid-template-columns: 118px minmax(0,1fr) auto !important;
  gap: 12px !important;
  padding: 10px !important;
  overflow: hidden !important;
}
.runner-character-image {
  width: 118px !important;
  height: 92px !important;
  border-radius: 10px !important;
  background: #020304 !important;
}
.runner-character-image img {
  object-fit: cover !important;
  filter: contrast(1.08) saturate(.9) brightness(.92);
}
.runner-character-copy strong { color: #fff !important; font-size: 17px !important; }
.runner-character-copy small { color: #c9cbd1 !important; font-size: 12px !important; }
.runner-character-preview .runner-character-card { max-width: 520px !important; }

.developer-access-card { width: min(100%, 760px) !important; max-width: 760px !important; }
.developer-access-list .data-row { padding: 10px !important; }
.install-needed-card { width: min(100%, 840px) !important; text-align: center !important; }
.install-needed-card p { max-width: 720px; margin-left: auto; margin-right: auto; }

@media (max-width: 1080px) {
  .header,
  .content > .page.active,
  .dashboard-page-back-row {
    max-width: 100% !important;
  }
  .content > .page.active.home-dashboard-page,
  .content > .page.active.runner-page,
  .content > .page.active.career-compact-page,
  .content > .page.active.developer-tools-page {
    width: 100% !important;
    max-width: 100% !important;
  }
  .runner-character-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .runner-character-card {
    grid-template-columns: 104px minmax(0,1fr) !important;
  }
  .runner-character-card > .chip { grid-column: 2 !important; }
  .runner-character-image { width: 104px !important; height: 82px !important; }
}

@media (max-width: 680px) {
  .content { padding: 10px !important; }
  .header { padding: 10px !important; }
  .dayz-title { font-size: 25px !important; }
  .home-metric-strip,
  .home-top-strip,
  .home-reveal-grid,
  .career-metrics,
  .runner-page > .runner-hero-card,
  .runner-page > .runner-slot-picker-card,
  .runner-page > .runner-names-card,
  .runner-page > .runner-send-panel,
  .runner-page > .runner-loot-card,
  .runner-page > .runner-history-card {
    width: 100% !important;
    max-width: 100% !important;
  }
  .home-quick-actions,
  .admin-actions-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .career-metrics {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .runner-character-grid {
    display: flex !important;
    overflow-x: auto !important;
    gap: 10px !important;
    padding-bottom: 6px !important;
    scroll-snap-type: x proximity;
  }
  .runner-character-card {
    flex: 0 0 210px !important;
    min-height: 198px !important;
    grid-template-columns: 1fr !important;
    text-align: left !important;
    scroll-snap-align: start;
  }
  .runner-character-image {
    width: 100% !important;
    height: 124px !important;
  }
  .runner-character-card > .chip { grid-column: 1 !important; width: max-content; }
}

/* Z384 — dashboard compact/mobile-first recovery pass */
:root {
  --dbot-panel-max: 1180px;
  --dbot-compact-max: 920px;
  --dbot-narrow-max: 760px;
}
.content > .page,
.content > .layout-grid,
.content > .two-col,
.content > .table-card,
.content > .page-card,
.content > section {
  max-width: var(--dbot-panel-max);
}
.content {
  overflow-x: hidden;
}
.page-card,
.table-card,
.metric-card,
.data-row,
.field {
  border-radius: 12px;
}
.compact-dashboard-page,
.career-table-page,
.faction-compact-page,
.quests-compact-page,
.compact-prizes-page {
  width: min(100%, var(--dbot-panel-max));
}
.career-table-card,
.faction-summary-card,
.quest-summary-line-card {
  max-width: var(--dbot-compact-max);
}
.career-table-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.career-stat-line {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) auto;
  gap: 4px 12px;
  align-items: baseline;
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.025);
  border-radius: 10px;
}
.career-stat-line span { color: rgba(255,255,255,.78); font-size: .9rem; }
.career-stat-line strong { color: #fff; font-size: 1rem; text-align: right; }
.career-stat-line small { grid-column: 1 / -1; color: rgba(255,255,255,.52); font-size: .76rem; }
.compact-two-col {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(320px, 1fr);
  gap: 12px;
  align-items: start;
}
.faction-mini-profile {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}
.faction-flag-thumb {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(180,18,34,.45), rgba(0,0,0,.3));
  border: 1px solid rgba(255,255,255,.12);
  font-size: 1.45rem;
}
.base-compact-row { padding: 12px; }
.base-link-row.compact-actions,
.inline-row.compact-actions,
.quick-actions.compact-actions,
.table-actions.compact {
  gap: 8px;
  flex-wrap: wrap;
}
.base-link-row .btn-secondary,
.base-link-row .btn-ghost,
.quick-actions .small-btn,
.table-actions .small-btn,
.btn-secondary.small-btn,
.btn-ghost.small-btn,
.btn-danger.small-btn {
  min-height: 34px;
  padding: 7px 11px;
  font-size: .82rem;
  line-height: 1.1;
  width: auto;
  flex: 0 0 auto;
}
.quest-banner-card {
  max-width: var(--dbot-compact-max);
  min-height: 54px;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(180,18,34,.35), rgba(18,20,26,.92)), url('/assets/runner/dbot-runner-banner.png') center/cover;
  box-shadow: 0 12px 34px rgba(0,0,0,.22);
}
.quest-banner-card strong {
  display: block;
  color: #fff;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.quest-banner-card span {
  color: rgba(255,255,255,.72);
  font-size: .84rem;
}
.quest-summary-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.quest-summary-line span {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.74);
  font-size: .82rem;
}
.quest-summary-line strong { color: #fff; }
.quest-rule-alert {
  padding: 9px 11px;
  font-size: .88rem;
}
.quest-toggle-actions { margin-top: 10px; }
.quest-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}
.quest-admin-card.compact { padding: 11px; }
.trader-tools,
.trader-toolbar,
.store-tools,
.admin-actions-grid,
.admin-quick-actions {
  max-width: var(--dbot-panel-max);
}
.admin-quick-actions .btn-secondary,
.admin-actions-grid .btn-secondary {
  min-height: 34px;
  padding: 8px 12px;
  font-size: .84rem;
  width: auto;
  flex: 0 0 auto;
}
.home-quick-actions .btn,
.home-quick-actions .btn-secondary,
.home-quick-actions .btn-ghost {
  width: auto;
  min-height: 36px;
  padding: 8px 12px;
  flex: 0 0 auto;
}
.prize-grid-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
}
.prize-claim-row {
  min-height: 0;
  padding: 11px 12px;
}
.selected-prize-list .data-row { padding: 10px; }
.claim-selected-card { max-width: 430px; }
.table-card,
.page-card.compact-card {
  padding: 16px;
}
.table-wrap {
  max-width: 100%;
  overflow-x: auto;
}
@media (max-width: 900px) {
  .content > .page,
  .content > .layout-grid,
  .content > .two-col,
  .content > .table-card,
  .content > .page-card,
  .content > section,
  .career-table-card,
  .faction-summary-card,
  .quest-summary-line-card,
  .quest-banner-card {
    max-width: 100%;
  }
  .career-table-grid,
  .compact-two-col {
    grid-template-columns: 1fr;
  }
  .career-stat-line {
    grid-template-columns: 1fr auto;
    padding: 8px 10px;
  }
  .prize-grid-list,
  .quest-card-grid {
    grid-template-columns: 1fr;
  }
  .claim-selected-card { max-width: 100%; }
}
@media (max-width: 640px) {
  .table-card,
  .page-card.compact-card { padding: 12px; }
  .career-stat-line strong { font-size: .95rem; }
  .section-head.compact-head { gap: 8px; }
}

/* Z385 — compact dashboard recovery + maintenance/load polish */
button,
.btn,
.btn-secondary,
.btn-ghost,
.btn-danger,
.nav button {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.btn,
.btn-secondary,
.btn-ghost,
.btn-danger {
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 9px !important;
  line-height: 1.12 !important;
}
.small-btn,
.tiny-btn {
  min-height: 28px !important;
  padding: 5px 9px !important;
  font-size: .78rem !important;
}
.content > .page,
.content > .layout-grid,
.content > .two-col,
.content > .table-card,
.content > .page-card,
.content > section {
  width: min(100%, 1120px);
}
.home-dashboard-v2 {
  display: grid;
  gap: 12px;
}
.home-command-strip {
  display: grid;
  grid-template-columns: minmax(260px, 390px) minmax(320px, 1fr);
  gap: 12px;
  align-items: stretch;
  width: min(100%, 1120px);
}
.home-wealth-card,
.home-actions-card {
  margin: 0;
  min-width: 0;
}
.home-actions-card {
  padding: 14px !important;
}
.home-quick-actions-tight {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(112px, 1fr));
  gap: 8px !important;
}
.home-quick-actions-tight .btn,
.home-quick-actions-tight .btn-secondary,
.home-quick-actions-tight .btn-ghost {
  width: 100% !important;
  min-width: 0 !important;
  justify-content: center;
  white-space: normal;
}
.economy-summary-card .daily-wheel-line {
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: .82rem;
}
.career-table-card-slim {
  max-width: 520px !important;
  padding: 12px !important;
}
.career-table-wrap {
  margin-top: 4px;
}
.career-compact-table th,
.career-compact-table td {
  padding: 7px 10px !important;
  font-size: .9rem;
}
.career-compact-table th {
  color: rgba(255,255,255,.72);
  font-weight: 600;
  text-align: left;
  width: 52%;
}
.career-compact-table td {
  text-align: right;
  font-weight: 700;
  color: #fff;
}
.faction-compact-page .page-card,
.bases-compact-card,
.faction-summary-card {
  padding: 12px !important;
}
.faction-mini-profile,
.base-compact-row {
  padding: 8px 10px !important;
}
.base-coordinate-link a {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,.35);
  text-underline-offset: 3px;
}
.quest-summary-line-card,
.quest-banner-card,
.quests-compact-page > .page-card {
  max-width: 880px !important;
}
.quest-banner-card {
  padding: 10px 14px !important;
  min-height: 46px !important;
}
.quest-banner-card strong { font-size: .92rem; }
.quest-banner-card span { font-size: .78rem; }
.admin-quick-access-card,
.admin-overview-mini-card,
.admin-overview-side > .page-card {
  padding: 12px !important;
}
.admin-quick-actions {
  display: flex !important;
  gap: 8px !important;
}
.admin-quick-actions .btn-secondary,
.admin-actions-grid .btn-secondary,
.admin-actions-grid .btn-ghost,
.admin-actions-grid .btn-danger {
  min-height: 30px !important;
  padding: 6px 10px !important;
  font-size: .78rem !important;
}
.dashboard-maintenance-admin-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.admin-traffic-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
  font-size: .78rem;
  color: rgba(255,255,255,.82);
}
.admin-traffic-strip span {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  padding: 5px 8px;
  background: rgba(0,0,0,.28);
}
.dbot-loading-card {
  width: min(500px, calc(100vw - 36px));
  border-color: rgba(190, 18, 60, .35) !important;
  background: linear-gradient(180deg, rgba(15,16,22,.96), rgba(7,8,12,.96)) !important;
}
.dbot-loading-logo {
  width: 82px;
  height: 82px;
  object-fit: contain;
  filter: drop-shadow(0 0 22px rgba(220,38,38,.28));
}
.dbot-loading-flow {
  display: grid;
  grid-template-columns: 44px 110px 44px;
  align-items: center;
  gap: 10px;
  margin: 4px 0;
}
.dbot-load-node {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.05);
  font-size: 1.3rem;
}
.dbot-load-pulse {
  position: relative;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
}
.dbot-load-pulse::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 40%;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, #ef233c, transparent);
  animation: dbotDataPulse 1.05s ease-in-out infinite;
}
@keyframes dbotDataPulse {
  from { transform: translateX(-110%); }
  to { transform: translateX(280%); }
}
.dashboard-maintenance-shell {
  width: min(100%, 760px) !important;
}
.dashboard-maintenance-card {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 18px !important;
}
.dashboard-maintenance-banner {
  width: min(100%, 720px);
  max-height: 180px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
}
.public-portal-home .public-hero-banner {
  max-width: 420px;
  margin-inline: auto;
}
.public-portal-home .public-eyebrow {
  font-size: .74rem !important;
  letter-spacing: .12em !important;
}
.public-portal-home h1 {
  font-size: clamp(2rem, 5vw, 3.4rem) !important;
  line-height: .96 !important;
  margin: 8px 0 !important;
}
.public-portal-home .public-hero-lede {
  max-width: 620px;
  margin-inline: auto;
  font-size: .98rem !important;
}
.public-hero-actions-under-logo {
  justify-content: center;
  margin-top: 12px !important;
}
.public-hero-actions-under-logo .btn,
.public-hero-actions-under-logo .btn-secondary {
  min-height: 38px !important;
  padding: 8px 14px !important;
}
@media (max-width: 960px) {
  .home-command-strip {
    grid-template-columns: 1fr;
  }
  .home-quick-actions-tight {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .career-table-card-slim,
  .quest-summary-line-card,
  .quest-banner-card,
  .quests-compact-page > .page-card {
    max-width: 100% !important;
  }
  .admin-traffic-strip {
    width: 100%;
    margin-left: 0;
  }
}
@media (max-width: 520px) {
  .home-quick-actions-tight {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-actions-card,
  .home-wealth-card,
  .page-card.compact-card {
    padding: 10px !important;
  }
  .dbot-loading-flow {
    grid-template-columns: 38px 82px 38px;
  }
  .dbot-load-node { width: 38px; height: 38px; }
}

/* Z387 — mobile recovery + no-regression dashboard layout pass */
:root {
  --z387-content-max: 1120px;
  --z387-card-max: 860px;
  --z387-small-card-max: 620px;
}

/* keep the D-Bot look, but stop buttons from becoming bricks */
button,
.btn,
.btn-secondary,
.btn-ghost,
.btn-danger,
.btn-success,
.btn-tab,
.button-link,
.nav button {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}
.btn,
.btn-secondary,
.btn-ghost,
.btn-danger,
.btn-success,
.btn-tab,
.button-link {
  min-height: 32px !important;
  padding: 7px 10px !important;
  border-radius: 9px !important;
}
.small-btn,
.tiny-btn {
  min-height: 26px !important;
  padding: 5px 8px !important;
  font-size: .78rem !important;
}

/* global safe widths */
.content {
  min-width: 0 !important;
  overflow-x: hidden !important;
}
.header,
.dashboard-page-back-row,
.content > .page.active,
.content > section.page.active,
.content > .layout-grid {
  width: min(100%, var(--z387-content-max)) !important;
  max-width: var(--z387-content-max) !important;
  justify-self: start !important;
}
.page-card,
.table-card,
.metric-card,
.detail-card,
.basket-card,
.status-panel,
.data-row,
details.page-card {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* public landing: do not bring back giant text */
.public-portal-home h1 {
  font-size: clamp(1.85rem, 5vw, 3rem) !important;
  line-height: .98 !important;
  margin: 8px 0 !important;
}
.public-portal-home .public-hero-lede,
.public-portal-home .public-hero-bullets {
  font-size: .94rem !important;
  line-height: 1.45 !important;
  max-width: 600px !important;
}
.public-portal-home .public-hero-actions,
.public-hero-actions-under-logo {
  justify-content: flex-start !important;
  gap: 8px !important;
}
.public-portal-home .public-hero-actions .btn,
.public-portal-home .public-hero-actions .btn-secondary,
.public-portal-home .public-hero-actions a {
  min-height: 34px !important;
  padding: 7px 12px !important;
}

/* home: wealth and actions sit together on desktop, stack cleanly on phone */
.home-command-strip {
  display: grid !important;
  grid-template-columns: minmax(240px, 340px) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: min(100%, var(--z387-content-max)) !important;
}
.home-wealth-card,
.home-actions-card {
  min-width: 0 !important;
  height: 100% !important;
}
.home-quick-actions-tight,
.home-quick-actions,
.admin-actions-grid,
.admin-quick-actions,
.admin-tight-grid,
.quick-actions.compact-actions {
  gap: 7px !important;
}
.home-quick-actions-tight,
.home-quick-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(108px, 1fr)) !important;
}
.home-quick-actions-tight .btn,
.home-quick-actions-tight .btn-secondary,
.home-quick-actions .btn,
.home-quick-actions .btn-secondary {
  min-height: 31px !important;
  padding: 6px 8px !important;
  font-size: .8rem !important;
}
.home-profile-career-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: min(100%, var(--z387-content-max)) !important;
}
.home-mini-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 11px 12px !important;
}
.home-mini-card h3 { margin: 0 0 3px !important; font-size: 1rem !important; }
.home-mini-card p { margin: 0 !important; font-size: .82rem !important; }

/* admin overview: no side column, no overlap, everything flows */
.admin-overview-clean-layout,
.admin-overview-layout {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  align-items: start !important;
  width: min(100%, var(--z387-content-max)) !important;
  max-width: var(--z387-content-max) !important;
}
.admin-overview-collapses {
  display: grid !important;
  gap: 9px !important;
}
.admin-top-collapse,
.admin-quick-access-card,
.admin-control-centre-card {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.admin-control-groups {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 10px !important;
}
.admin-actions-grid,
.admin-quick-actions,
.admin-tight-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
}
.admin-actions-grid .btn-secondary,
.admin-actions-grid .btn-ghost,
.admin-actions-grid .btn-danger,
.admin-quick-actions .btn-secondary,
.admin-quick-actions .btn-ghost,
.admin-quick-actions .btn-danger {
  min-height: 30px !important;
  padding: 6px 8px !important;
  font-size: .78rem !important;
}
.compact-overview-table,
.admin-overview-table {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 8px !important;
}
.admin-overview-row,
.compact-live-snapshot-grid .field {
  padding: 8px 10px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 9px !important;
  background: rgba(0,0,0,.18) !important;
}
.compact-live-snapshot-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
}
.dashboard-maintenance-admin-panel {
  display: grid !important;
  grid-template-columns: minmax(220px, 340px) minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
}
.dashboard-maintenance-preview {
  display: grid !important;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 10px !important;
  background: rgba(0,0,0,.2) !important;
}
.dashboard-maintenance-preview img {
  width: 100% !important;
  max-height: 128px !important;
  object-fit: cover !important;
  border-radius: 9px !important;
}
.dashboard-maintenance-admin-row {
  grid-column: 1 / -1 !important;
}

/* quest admin dashboard: table is the navigation, no duplicate button wall */
.quest-dashboard-shell-clean,
.quest-dashboard-shell {
  width: min(100%, var(--z387-card-max)) !important;
  max-width: var(--z387-card-max) !important;
}
.quest-dashboard-overview-clean,
.quest-dashboard-overview {
  display: grid !important;
  grid-template-columns: minmax(140px, 220px) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}
.quest-subtab-buttons { display: none !important; }
.quest-summary-table th,
.quest-summary-table td {
  padding: 6px 8px !important;
  font-size: .84rem !important;
}
.quest-system-control {
  width: min(100%, var(--z387-card-max)) !important;
  max-width: var(--z387-card-max) !important;
}
.quest-system-control .section-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
}
.quest-system-control .section-head h3 { font-size: 1rem !important; }
.quest-system-control .muted { font-size: .82rem !important; }

/* compact career/faction/base pages */
.career-table-card,
.career-table-card-slim,
.faction-summary-card,
.bases-compact-card {
  width: min(100%, var(--z387-card-max)) !important;
  max-width: var(--z387-card-max) !important;
}
.career-table-wrap table,
.career-compact-table { font-size: .88rem !important; }
.base-link-row .btn-secondary,
.base-link-row .btn-ghost,
.base-link-row a,
.base-compact-row .btn-secondary,
.base-compact-row .btn-ghost {
  min-height: 26px !important;
  padding: 5px 8px !important;
  font-size: .78rem !important;
}

/* mobile recovery */
@media (max-width: 1080px) {
  html, body { overflow-x: hidden !important; }
  .app-shell {
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 100vh !important;
    overflow-x: hidden !important;
  }
  .content {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 10px !important;
  }
  .sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(330px, 86vw) !important;
    max-width: min(330px, 86vw) !important;
    height: 100dvh !important;
    overflow-y: auto !important;
    transform: translateX(-110%) !important;
    transition: transform 180ms ease !important;
    z-index: 9999 !important;
    opacity: 1 !important;
    filter: none !important;
    background: linear-gradient(180deg, #08090d, #020304) !important;
    color: #fff !important;
    box-shadow: 26px 0 70px rgba(0,0,0,.72) !important;
  }
  .sidebar.mobile-open {
    transform: translateX(0) !important;
    pointer-events: auto !important;
  }
  .sidebar-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 9990 !important;
    background: rgba(0,0,0,.48) !important;
    border: 0 !important;
    backdrop-filter: none !important;
  }
  .sidebar * {
    opacity: 1 !important;
    filter: none !important;
  }
  .sidebar-mobile-head { display: flex !important; }
  .mobile-nav-toggle { display: inline-flex !important; }
  .header {
    width: 100% !important;
    max-width: 100% !important;
    padding: 9px !important;
    margin: 0 0 10px !important;
    border-radius: 10px !important;
  }
  .header-main {
    display: grid !important;
    grid-template-columns: auto auto minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .mobile-nav-toggle,
  .dashboard-back-btn {
    min-height: 34px !important;
    padding: 7px 9px !important;
    font-size: .86rem !important;
  }
  .shell-title {
    min-width: 0 !important;
    text-align: left !important;
  }
  .wordmark-sub { font-size: .62rem !important; letter-spacing: .08em !important; }
  .dayz-title {
    font-size: clamp(1.35rem, 7vw, 2rem) !important;
    line-height: 1.02 !important;
    letter-spacing: .02em !important;
    text-align: left !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }
  .title-accent-pill {
    font-size: .68rem !important;
    padding: 4px 8px !important;
  }
  .admin-traffic-strip {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 720px) {
  .home-command-strip,
  .home-profile-career-actions,
  .quest-dashboard-overview-clean,
  .quest-dashboard-overview,
  .dashboard-maintenance-admin-panel,
  .quest-system-control .section-head {
    grid-template-columns: 1fr !important;
  }
  .home-quick-actions-tight,
  .home-quick-actions,
  .admin-actions-grid,
  .admin-quick-actions,
  .admin-tight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .home-mini-card {
    grid-template-columns: 1fr !important;
  }
  .compact-overview-table,
  .compact-live-snapshot-grid {
    grid-template-columns: 1fr !important;
  }
  .section-head,
  .section-head.compact-head,
  .row-head {
    align-items: start !important;
  }
  .page-card,
  .table-card,
  .metric-card,
  .compact-card {
    padding: 10px !important;
    border-radius: 10px !important;
  }
  .table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .quest-summary-table {
    min-width: 520px !important;
  }
}

@media (max-width: 430px) {
  .content { padding: 8px !important; }
  .header-main { grid-template-columns: auto auto minmax(0, 1fr) !important; gap: 6px !important; }
  .mobile-nav-toggle,
  .dashboard-back-btn { font-size: .78rem !important; padding: 6px 7px !important; }
  .dayz-title { font-size: clamp(1.15rem, 7.2vw, 1.72rem) !important; }
  .home-quick-actions-tight,
  .home-quick-actions,
  .admin-actions-grid,
  .admin-quick-actions,
  .admin-tight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .btn,
  .btn-secondary,
  .btn-ghost,
  .btn-danger,
  .btn-success,
  .btn-tab {
    font-size: .78rem !important;
  }
}

/* Z388 — admin hub function/layout recovery pass */
:root {
  --z388-content-max: 1120px;
  --z388-card-max: 980px;
}

/* keep every dashboard section lined up to the same readable column */
.content > .page.active,
.content > section.page.active,
.header,
.dashboard-page-back-row,
.home-command-strip,
.admin-overview-layout,
.admin-panels,
.admin-tab-groups {
  width: min(100%, var(--z388-content-max)) !important;
  max-width: var(--z388-content-max) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Admin hub: no floating side column and no hidden body */
.admin-overview-layout,
.admin-hub-default-layout,
.admin-snapshot-layout,
.admin-maintenance-layout {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  align-items: start !important;
  overflow: visible !important;
}
.admin-overview-main,
.admin-overview-side {
  display: contents !important;
}
.admin-overview-side > * {
  width: 100% !important;
  min-width: 0 !important;
}
.admin-panels,
.admin-control-centre-card,
.admin-quick-access-card,
.admin-control-group,
.admin-tab-group,
.admin-tab-groups {
  min-width: 0 !important;
  overflow: visible !important;
}

/* Admin top menu: compact, safe wrapping, no dead overlay feel */
.admin-tab-groups {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  gap: 8px !important;
  align-items: start !important;
}
.admin-tab-group {
  position: relative !important;
  z-index: 1 !important;
  border-radius: 10px !important;
}
.admin-tab-group > summary {
  min-height: 34px !important;
  padding: 8px 10px !important;
  cursor: pointer !important;
}
.admin-tab-group .tabs,
.tabs.compact-admin-tabs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)) !important;
  gap: 6px !important;
  padding: 7px !important;
  align-items: stretch !important;
}
.admin-tab-group .btn-tab,
.tabs.compact-admin-tabs .btn-tab,
.tabs.compact-admin-tabs button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 28px !important;
  padding: 5px 7px !important;
  font-size: .76rem !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Admin control centre: buttons live inside cards and cannot overlap */
.admin-control-groups {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}
.admin-control-group {
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  gap: 8px !important;
  padding: 10px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.admin-control-group-head h4 {
  font-size: .9rem !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}
.admin-control-group-head p,
.admin-control-group .muted {
  font-size: .72rem !important;
  line-height: 1.25 !important;
  margin: 4px 0 0 !important;
}
.admin-control-group-actions,
.admin-actions-grid,
.admin-quick-actions,
.admin-tight-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(94px, 1fr)) !important;
  gap: 6px !important;
  align-items: stretch !important;
}
.admin-control-group-actions button,
.admin-actions-grid button,
.admin-quick-actions button,
.admin-tight-grid button,
.admin-control-centre-card button,
.admin-quick-access-card button {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 29px !important;
  padding: 5px 7px !important;
  font-size: .75rem !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  z-index: 1 !important;
}

.admin-snapshot-split {
  display: grid !important;
  gap: 10px !important;
}
.admin-snapshot-split .admin-overview-table,
.admin-snapshot-split .admin-live-snapshot-grid {
  width: 100% !important;
}
.dashboard-maintenance-admin-panel {
  display: grid !important;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) !important;
  gap: 10px !important;
}
.dashboard-maintenance-admin-panel .field,
.dashboard-maintenance-admin-panel textarea,
.dashboard-maintenance-admin-panel input {
  min-width: 0 !important;
  width: 100% !important;
}
.dashboard-maintenance-admin-row {
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}
.dashboard-maintenance-admin-row button {
  width: auto !important;
}

/* Home: Profile/Career are quick action buttons only; no card blocks. */
.home-profile-career-actions { display: none !important; }
.home-quick-actions-tight,
.home-quick-actions {
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)) !important;
}
.home-quick-actions-tight button,
.home-quick-actions button {
  font-weight: 500 !important;
}

/* mobile: keep D-Bot style, but make the drawer usable and the admin hub compact */
@media (max-width: 1080px) {
  body.nav-open,
  .app-shell.nav-open {
    overflow: hidden !important;
  }
  .content > .page.active,
  .content > section.page.active,
  .header,
  .dashboard-page-back-row,
  .admin-tab-groups,
  .admin-panels,
  .home-command-strip {
    width: 100% !important;
    max-width: 100% !important;
  }
  .sidebar {
    width: min(300px, 82vw) !important;
    max-width: min(300px, 82vw) !important;
    z-index: 10020 !important;
  }
  .sidebar-backdrop {
    z-index: 10010 !important;
    background: rgba(0,0,0,.38) !important;
  }
  .sidebar.mobile-open {
    transform: translateX(0) !important;
  }
  .sidebar .nav-group button,
  .sidebar select,
  .sidebar-view-select-wrap select {
    pointer-events: auto !important;
    opacity: 1 !important;
  }
  .admin-tab-groups {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }
  .admin-tab-group:not([open]) > summary {
    min-height: 32px !important;
  }
  .admin-tab-group .tabs,
  .tabs.compact-admin-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .admin-control-groups {
    grid-template-columns: 1fr !important;
  }
  .admin-control-group-actions,
  .admin-actions-grid,
  .admin-quick-actions,
  .admin-tight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .content { padding: 8px !important; }
  .admin-control-centre-card,
  .admin-quick-access-card,
  .admin-control-group,
  .page-card,
  .table-card {
    padding: 9px !important;
    border-radius: 11px !important;
  }
  .admin-control-group-actions button,
  .admin-actions-grid button,
  .admin-quick-actions button,
  .admin-tight-grid button,
  .admin-tab-group .btn-tab {
    min-height: 30px !important;
    padding: 5px 6px !important;
    font-size: .72rem !important;
  }
  .dashboard-maintenance-admin-panel,
  .admin-snapshot-split,
  .home-command-strip {
    grid-template-columns: 1fr !important;
  }
  .home-quick-actions-tight,
  .home-quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Z390 — Admin control centre + Developer layout recovery
   Stop squeezing admin actions into tiny cards. The control centre now uses the same clean
   button-strip pattern as Quick Access, with no clipped white/default buttons. */
.admin-control-centre-card .admin-control-groups,
.admin-control-groups {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  align-items: stretch !important;
  overflow: visible !important;
}
.admin-control-strip {
  display: grid !important;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 10px 12px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: rgba(7, 10, 16, .42) !important;
  min-width: 0 !important;
  overflow: visible !important;
}
.admin-control-strip-head {
  min-width: 0 !important;
}
.admin-control-strip-head h4 {
  margin: 0 !important;
  font-size: .94rem !important;
  line-height: 1.15 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.admin-control-strip-head p {
  margin: 4px 0 0 !important;
  font-size: .78rem !important;
  line-height: 1.3 !important;
  max-width: 46ch !important;
}
.admin-control-strip-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(136px, 1fr)) !important;
  gap: 8px !important;
  align-items: stretch !important;
  min-width: 0 !important;
}
.admin-control-strip-actions button,
.admin-quick-actions button,
.quick-actions.admin-quick-actions button {
  min-height: 38px !important;
  padding: 9px 12px !important;
  font-size: .86rem !important;
  line-height: 1.15 !important;
  font-weight: 650 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
/* Override old cramped card rules if they still exist in cached cascades. */
.admin-control-group,
.admin-control-group.compact {
  display: none !important;
}

/* Developer tools page: menu first, everything else collapsible and aligned. */
.developer-page-shell > .page.active,
.developer-tools-page > .page.active {
  width: 100% !important;
  max-width: var(--z388-content-max, 1180px) !important;
  margin: 0 !important;
}
.developer-access-card {
  width: min(100%, var(--z388-content-max, 1180px)) !important;
  max-width: var(--z388-content-max, 1180px) !important;
  margin: 12px 0 0 !important;
}
.developer-tools-page .admin-panels.dashboard-collapsible-flow > details.admin-collapse,
.developer-access-card {
  border-radius: 14px !important;
  overflow: hidden !important;
}

/* Dashboard-wide button colour recovery: no random white buttons with black text. */
.content button:not(.csv-cell-input):not(.link-button):not(.native-white-button),
.sidebar button:not(.link-button),
.btn,
.btn-secondary,
.btn-ghost,
.btn-tab,
.small-btn,
.table-actions button,
.quick-actions button,
.tabs button {
  background: linear-gradient(180deg, rgba(24, 28, 36, .98), rgba(10, 12, 18, .98)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: #f5f7fb !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 24px rgba(0,0,0,.20) !important;
}
.content button.btn-danger,
.content button.danger,
.btn-danger,
.btn.primary,
button.primary,
.btn-tab.active,
.nav-group button.active,
.quick-actions button.active,
[data-dashboard-view].active,
button[aria-pressed="true"] {
  background: linear-gradient(180deg, #ef2335, #8f0612) !important;
  border-color: rgba(255, 91, 103, .78) !important;
  color: #fff !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.45) !important;
}
.content button:hover:not(:disabled),
.sidebar button:hover:not(:disabled) {
  filter: brightness(1.08) !important;
  transform: translateY(-1px);
}
.content button:disabled,
.sidebar button:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
}

@media (max-width: 900px) {
  .admin-control-strip {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .admin-control-strip-head p {
    max-width: none !important;
  }
  .admin-control-strip-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .admin-control-strip {
    padding: 9px !important;
    border-radius: 12px !important;
  }
  .admin-control-strip-head h4 {
    font-size: .86rem !important;
  }
  .admin-control-strip-head p {
    font-size: .72rem !important;
  }
  .admin-control-strip-actions button,
  .admin-quick-actions button,
  .quick-actions.admin-quick-actions button {
    min-height: 36px !important;
    padding: 8px 9px !important;
    font-size: .78rem !important;
  }
}

/* Z391 support/donation page + page banner assets */
.page-art-banner {
  position: relative;
  width: min(100%, 1120px);
  min-height: 128px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: #080b10;
  box-shadow: 0 18px 44px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
  margin: 0 0 14px 0;
}
.page-art-banner img {
  display: block;
  width: 100%;
  height: 150px;
  object-fit: cover;
  filter: saturate(.95) contrast(1.08);
}
.page-art-banner-copy {
  position: absolute;
  inset: auto 22px 18px 22px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-shadow: 0 3px 12px rgba(0,0,0,.9);
}
.page-art-banner-copy strong {
  font-size: clamp(1.08rem, 2.2vw, 1.8rem);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
}
.page-art-banner-copy span {
  color: rgba(238,242,248,.82);
  font-size: .92rem;
}
.wide-span { grid-column: 1 / -1; }
.support-donate-page,
.donate-page {
  max-width: 1120px;
}
.donate-card {
  max-width: 1120px;
}
.donate-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 310px);
  gap: 18px;
  align-items: start;
}
.donate-copy {
  display: grid;
  gap: 10px;
  line-height: 1.55;
}
.donate-copy p { margin: 0; color: rgba(238,242,248,.86); }
.donate-copy strong { color: #fff; }
.donate-side-panel {
  display: grid;
  gap: 12px;
  justify-items: center;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.18));
}
.buymeacoffee-qr {
  width: min(100%, 250px);
  border-radius: 14px;
  background: #fff;
  padding: 8px;
  box-shadow: 0 12px 30px rgba(0,0,0,.28);
}
.donate-actions { margin-top: 8px; }

@media (max-width: 760px) {
  .page-art-banner {
    min-height: 96px;
    border-radius: 14px;
    margin-bottom: 10px;
  }
  .page-art-banner img { height: 112px; }
  .page-art-banner-copy { inset: auto 14px 12px 14px; }
  .page-art-banner-copy strong { font-size: 1rem; }
  .page-art-banner-copy span { font-size: .76rem; max-width: 78%; }
  .donate-layout { grid-template-columns: 1fr; }
  .buymeacoffee-qr { max-width: 210px; }
}

/* Z392 — prize cards and runner run-type overlap hotfix */
.prize-list.prize-grid-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

.prize-card-row,
.prize-grid-list .prize-claim-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  min-height: 0 !important;
  padding: 14px !important;
  overflow: hidden !important;
}

.prize-main {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  min-width: 0 !important;
}

.prize-main input[type="checkbox"] {
  margin-top: 4px !important;
}

.prize-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
}

.prize-copy strong {
  display: block !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.18 !important;
}

.prize-copy small {
  display: block !important;
  color: var(--muted) !important;
  line-height: 1.25 !important;
}

.prize-tags,
.prize-card-row .item-tags,
.prize-grid-list .prize-claim-row .item-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  align-items: center !important;
  min-width: 0 !important;
}

.prize-card-row .chip,
.prize-grid-list .prize-claim-row .chip {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.15 !important;
}

.runner-run-choice-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  align-items: stretch !important;
}

.runner-run-choice {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 12px !important;
  min-height: 112px !important;
  padding: 14px !important;
  overflow: hidden !important;
}

.runner-run-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 5px !important;
}

.runner-run-copy strong,
.runner-run-summary,
.runner-run-copy small {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

.runner-run-meta {
  display: grid !important;
  gap: 2px !important;
  margin-top: 4px !important;
  justify-items: start !important;
}

.runner-run-meta small {
  color: var(--muted) !important;
  line-height: 1.15 !important;
}

.runner-run-price {
  display: block !important;
  color: #fff !important;
  font-size: 1rem !important;
  line-height: 1.1 !important;
  letter-spacing: 0.01em !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.runner-run-choice .runner-run-head-side {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  min-width: 0 !important;
}

.runner-run-choice .chip {
  max-width: 88px !important;
  white-space: normal !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

@media (max-width: 720px) {
  .prize-list.prize-grid-list,
  .runner-run-choice-list {
    grid-template-columns: 1fr !important;
  }
  .runner-run-choice {
    min-height: 0 !important;
  }
}

/* Z393 — gritty banner safety + quest on-demand panels */
.page-art-banner {
  width: min(100%, var(--dbot-panel-max, 1120px)) !important;
  min-height: 128px !important;
  max-height: 168px !important;
}
.page-art-banner img {
  height: 148px !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.page-art-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.52) 34%, rgba(0,0,0,.12) 72%, rgba(0,0,0,.42) 100%);
}
.page-art-banner-copy {
  z-index: 2 !important;
  inset: auto auto 14px 18px !important;
  max-width: min(520px, calc(100% - 36px)) !important;
  padding: 9px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(135deg, rgba(6,8,12,.76), rgba(0,0,0,.46)) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.34) !important;
}
.page-art-banner-copy strong {
  font-size: clamp(1rem, 1.7vw, 1.32rem) !important;
  line-height: 1.05 !important;
}
.page-art-banner-copy span {
  font-size: .82rem !important;
  line-height: 1.25 !important;
  max-width: 100% !important;
}
.quest-panel-tabs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 8px !important;
  align-items: stretch !important;
}
.quest-panel-tabs .btn-secondary,
.quest-panel-tabs .small-btn {
  width: 100% !important;
  justify-content: center !important;
  min-height: 36px !important;
  white-space: normal !important;
}
.quest-panel-tabs .active {
  background: linear-gradient(180deg, #e51b2b, #8f0610) !important;
  border-color: rgba(255,60,76,.88) !important;
  color: #fff !important;
  box-shadow: 0 0 18px rgba(225,20,38,.22) !important;
}
.quest-panel-card.active-panel {
  margin-top: 12px !important;
}
.quests-compact-page > .quest-panel-card {
  scroll-margin-top: 88px;
}

@media (max-width: 760px) {
  .page-art-banner {
    min-height: 96px !important;
    max-height: 112px !important;
  }
  .page-art-banner img { height: 108px !important; }
  .page-art-banner-copy {
    inset: auto 10px 9px 10px !important;
    max-width: calc(100% - 20px) !important;
    padding: 7px 9px !important;
  }
  .page-art-banner-copy strong { font-size: .92rem !important; letter-spacing: .045em !important; }
  .page-art-banner-copy span { font-size: .72rem !important; }
  .quest-panel-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Z394 — runner selected state + real D-Bot logo hotfix */
.runner-character-card {
  position: relative !important;
}
.runner-character-card.selected {
  border-color: rgba(236, 31, 41, 0.96) !important;
  box-shadow: 0 0 0 2px rgba(236,31,41,.62), 0 18px 38px rgba(236,31,41,.22) !important;
  background: linear-gradient(180deg, rgba(30,18,20,0.98), rgba(8,8,10,0.98)) !important;
}
.runner-character-card.selected::after {
  content: "SELECTED";
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
  padding: 4px 8px;
  border-radius: 999px;
  background: linear-gradient(180deg, #e51d29, #8f0710);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .08em;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 8px 18px rgba(0,0,0,.42);
}
.runner-character-status {
  display: grid;
  justify-items: end;
  gap: 4px;
  min-width: max-content;
}
.runner-selected-label {
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.runner-selected-tick {
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 3;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(180deg, #ec1f29, #7f060d);
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: 0 8px 16px rgba(0,0,0,.45);
}
.runner-character-image {
  position: relative !important;
}
@media (max-width: 680px) {
  .runner-character-card.selected::after {
    top: 6px;
    right: 6px;
    font-size: 9px;
    padding: 4px 7px;
  }
  .runner-character-status {
    justify-items: start;
  }
}


/* Z396 — banner scaling hotfix: show full gritty banner art on desktop and mobile */
.page-art-banner {
  width: min(100%, var(--dbot-panel-max, 1120px)) !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  aspect-ratio: 1500 / 360 !important;
  display: block !important;
  overflow: hidden !important;
  background: #05070a !important;
  border-radius: 14px !important;
  margin: 0 0 14px 0 !important;
}
.page-art-banner img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: 1500 / 360 !important;
  object-fit: contain !important;
  object-position: center center !important;
  filter: saturate(.98) contrast(1.06) !important;
}
.page-art-banner::after,
.page-art-banner-copy {
  display: none !important;
}
.dashboard-maintenance-banner {
  width: min(100%, 760px) !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 1500 / 360 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #05070a !important;
}
@media (max-width: 760px) {
  .page-art-banner {
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1500 / 360 !important;
    border-radius: 12px !important;
    margin-bottom: 10px !important;
  }
  .page-art-banner img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1500 / 360 !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
  .dashboard-maintenance-banner {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 1500 / 360 !important;
    object-fit: contain !important;
  }
}


/* Z398 banking + sidebar compact polish */
.sidebar {
  gap: 10px;
}
.sidebar-brand {
  padding: 8px 10px;
  gap: 8px;
}
.sidebar-logo {
  width: 54px;
  height: 54px;
  min-width: 54px;
}
.sidebar-brand .dayz-wordmark.small {
  font-size: 1.1rem;
  line-height: 1;
}
.wordmark-kicker {
  font-size: 0.7rem;
  letter-spacing: 0.14em;
}
.guild-picker,
.sidebar-profile-card,
.sidebar-actions {
  padding: 10px;
}
.guild-picker select,
.dashboard-view-select {
  min-height: 36px;
  font-size: 0.92rem;
}
.sidebar-profile-card {
  gap: 8px;
}
.sidebar-profile-card .user-avatar {
  width: 46px;
  height: 46px;
}
.sidebar-profile-copy {
  min-width: 0;
}
.sidebar-profile-copy strong,
.sidebar-profile-copy .muted {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.grouped-nav .nav-group {
  margin-bottom: 6px;
}
.grouped-nav .nav-group > summary {
  padding: 9px 12px;
  min-height: 38px;
}
.nav-group-items button {
  min-height: 38px;
  padding: 8px 10px;
}
.sidebar-actions .btn-secondary,
.sidebar-actions .btn-ghost {
  min-height: 38px;
  padding: 8px 10px;
}

.banking-page {
  max-width: 1180px;
}
.banking-layout {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(360px, 1fr);
  gap: 16px;
  align-items: start;
}
.banking-app-card {
  border-color: rgba(239, 68, 68, 0.22);
  background: linear-gradient(155deg, rgba(18, 24, 34, 0.98), rgba(7, 10, 16, 0.98));
}
.banking-balance-grid {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}
.banking-balance-card {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(2, 6, 12, 0.42);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 12px;
  align-items: center;
}
.banking-balance-card span {
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.banking-balance-card strong {
  font-size: 1.3rem;
  color: var(--text);
}
.banking-balance-card small {
  color: var(--muted);
  grid-column: 1 / -1;
}
.banking-action-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.banking-action-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.banking-action-tabs .active {
  background: linear-gradient(180deg, #ef233c, #8f0f1f);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.24);
}
.banking-action-panel label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.82rem;
}
.banking-action-panel input {
  width: 100%;
}
.banking-selected-recipient {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(34, 197, 94, 0.32);
  background: rgba(34, 197, 94, 0.08);
}
.banking-selected-recipient span {
  color: var(--muted);
  font-size: 0.78rem;
}
.banking-player-results {
  display: grid;
  gap: 8px;
}
.banking-player-result {
  text-align: left;
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(15, 23, 42, 0.78);
  color: var(--text);
  cursor: pointer;
}
.banking-player-result:hover {
  border-color: rgba(239, 68, 68, 0.52);
}
.banking-player-result small {
  color: var(--muted);
}
.banking-transactions-card {
  min-width: 0;
}
.banking-transaction-list {
  display: grid;
  gap: 8px;
  max-height: 650px;
  overflow: auto;
  padding-right: 2px;
}
.banking-tx-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(2, 6, 12, 0.35);
}
.banking-tx-row strong {
  display: block;
  overflow-wrap: anywhere;
}
.banking-tx-row small {
  display: block;
  color: var(--muted);
  margin-top: 2px;
}
.tx-positive {
  color: #86efac;
  font-weight: 800;
}
.tx-negative {
  color: #fca5a5;
  font-weight: 800;
}

@media (max-width: 900px) {
  .banking-layout {
    grid-template-columns: 1fr;
  }
  .banking-transaction-list {
    max-height: none;
  }
}

@media (max-width: 720px) {
  .sidebar {
    width: min(86vw, 330px);
    padding: 12px;
  }
  .sidebar-brand {
    padding: 6px 8px;
  }
  .sidebar-logo {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }
  .guild-picker,
  .sidebar-profile-card,
  .sidebar-actions {
    padding: 8px;
  }
  .nav-group-items button,
  .grouped-nav .nav-group > summary,
  .sidebar-actions .btn-secondary,
  .sidebar-actions .btn-ghost {
    min-height: 34px;
    padding: 7px 9px;
    font-size: 0.9rem;
  }
  .banking-action-tabs {
    grid-template-columns: 1fr;
  }
  .banking-balance-card strong {
    font-size: 1.15rem;
  }
}

/* Z400 dashboard polish: banking lazy transactions, cleaner runner art/status, quest button order */
.page-art-banner img {
  filter: none !important;
}

.trader-search-meta-row {
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
}
.trader-orders-shortcut {
  justify-self: start;
}

.banking-mini-header {
  margin-bottom: 12px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(239,68,68,.28);
  background: #05070a;
  box-shadow: 0 14px 36px rgba(0,0,0,.28);
}
.banking-mini-header img {
  display: block;
  width: 100%;
  height: auto;
}
.banking-main-actions,
.banking-action-tabs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.banking-amount-help {
  color: rgba(255,255,255,.62);
  font-size: .76rem;
  line-height: 1.35;
}
.banking-all-link {
  width: max-content;
  border: 0;
  background: transparent;
  color: #fca5a5;
  padding: 0;
  font-weight: 800;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.banking-transactions-locked .empty-state {
  display: grid;
  gap: 8px;
  justify-items: start;
}

.runner-character-card.out-on-run {
  opacity: .92;
  border-color: rgba(245,158,11,.4);
  background: linear-gradient(180deg, rgba(40,30,14,.98), rgba(9,8,6,.98));
}
.runner-character-copy .runner-return-label {
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,.58);
}
.runner-character-card.out-on-run .runner-character-image img {
  filter: none;
}
.quest-rule-alert-bottom {
  margin-top: 10px;
}
.quest-toggle-actions {
  margin-top: 0;
}
.quest-summary-line-card .quest-summary-line {
  margin-bottom: 10px;
}

@media (max-width: 760px) {
  .trader-search-meta-row {
    grid-template-columns: 1fr;
  }
  .trader-orders-shortcut {
    width: 100%;
  }
  .banking-main-actions,
  .banking-action-tabs {
    grid-template-columns: 1fr;
  }
}

/* Z405 survivor profile, banking cleanup, player map, and faction/base tidy */
.compact-wealth-line {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}
.compact-wealth-line > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(10,10,12,.62);
}
.compact-wealth-line span {
  color: rgba(255,255,255,.62);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.compact-wealth-line strong {
  font-size: .98rem;
  line-height: 1;
  white-space: nowrap;
}
.home-player-header-card { margin-bottom: 10px; }
.home-actions-card summary,
.dashboard-collapse summary {
  cursor: pointer;
}
.survivor-profile-card { overflow: hidden; }
.survivor-profile-layout {
  display: grid;
  grid-template-columns: minmax(170px, 260px) 1fr;
  gap: 18px;
  align-items: stretch;
}
.survivor-portrait-panel {
  border-radius: 22px;
  overflow: hidden;
  min-height: 260px;
  background: radial-gradient(circle at 50% 10%, rgba(185,28,28,.28), rgba(7,7,9,.98) 58%);
  border: 1px solid rgba(255,255,255,.12);
}
.survivor-portrait-panel img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  display: block;
}
.survivor-profile-copy {
  display: grid;
  align-content: start;
  gap: 12px;
}
.survivor-dashboard-note,
.compact-note {
  padding: 10px 12px;
  border-radius: 14px;
}
.custom-image-request-form { margin-top: 10px; }
.profile-page-v2,
.survivor-home-page { gap: 12px; }
.banking-page-v2 .banking-main-card {
  max-width: 860px;
  margin: 0 auto;
}
.banking-page-v2 .page-art-banner { margin-bottom: 10px; }
.banking-wealth-line { margin-bottom: 12px; }
.banking-home-panel {
  margin-top: 0;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 12px;
}
.banking-page-v2 .banking-action-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.banking-transactions-panel {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 12px;
}
.faction-top-action-row {
  margin: 10px 0 12px;
}
.faction-runner-button {
  box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 10px 28px rgba(185,28,28,.22);
}
.faction-control-stack {
  display: grid;
  gap: 12px;
}
.base-clean-row {
  border-radius: 16px;
}
.player-pin-palette-top {
  margin: 10px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.gps-timeline-control select {
  width: 100%;
}
.map-clarity-controls { display: none !important; }
.runner-custom-image-card { margin-top: 10px; }
@media (max-width: 760px) {
  .compact-wealth-line { grid-template-columns: 1fr; }
  .survivor-profile-layout { grid-template-columns: 1fr; }
  .survivor-portrait-panel,
  .survivor-portrait-panel img { min-height: 220px; }
  .banking-page-v2 .banking-action-tabs { grid-template-columns: 1fr 1fr; }
}

/* Z406 dashboard corrections: banking, survivor, custom requests, casino admin */
.banking-balance-line {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 520px;
}
.banking-page-v2 .banking-balance-line {
  margin: 0 0 12px;
}
.quick-chevron-pair {
  color: #ef4444;
  letter-spacing: -5px;
  margin-left: 6px;
  font-size: .9em;
}
.survivor-portrait-panel {
  min-height: 420px;
  display: flex;
  align-items: end;
  justify-content: center;
  background: radial-gradient(circle at 50% 10%, rgba(185,28,28,.18), rgba(7,7,9,.98) 62%);
}
.survivor-portrait-panel img {
  height: 100%;
  min-height: 420px;
  object-fit: contain;
  object-position: center bottom;
  image-rendering: auto;
  background: transparent;
}
.custom-request-gamertag .value {
  font-weight: 800;
}
.custom-donation-email {
  display: none;
}
.custom-image-request-form:has(input[name="donationConfirmed"]:checked) .custom-donation-email {
  display: block;
}
.custom-image-request-form:has(input[name="donationConfirmed"]:checked) .custom-donation-required {
  display: none;
}
.claim-desk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.claim-desk-card {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background: rgba(8,8,10,.48);
  padding: 12px;
}
.wheel-category-list {
  display: grid;
  gap: 12px;
}
.wheel-category-group {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  padding: 10px;
  background: rgba(0,0,0,.25);
}
.wheel-category-group h4 {
  margin: 0 0 8px;
  color: #facc15;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .78rem;
}
@media (max-width: 760px) {
  .banking-balance-line { grid-template-columns: 1fr 1fr; }
  .survivor-portrait-panel,
  .survivor-portrait-panel img { min-height: 340px; }
}


/* Z406 dashboard/admin/survivor/banking cleanup */
.collapse-button-label { display: none !important; }
.dashboard-collapse summary .muted:empty { display: none; }
.home-actions-card summary { padding: 12px 14px; }
.home-actions-card summary h3 { display: flex; align-items: center; gap: 8px; margin: 0; }
.survivor-profile-layout { grid-template-columns: minmax(220px, 320px) 1fr; align-items: stretch; }
.survivor-portrait-panel { min-height: 420px; display:flex; align-items:center; justify-content:center; background: radial-gradient(circle at 50% 14%, rgba(185,28,28,.26), rgba(0,0,0,.98) 64%); }
.survivor-portrait-panel img { width: 100%; height: 100%; min-height: 420px; object-fit: contain; object-position: center bottom; padding: 8px; }
.survivor-profile-card-compact .survivor-portrait-panel { min-height: 360px; }
.custom-request-gamertag { max-width: 360px; }
.custom-donation-no { display: grid; gap: 10px; align-items: start; }
.custom-donation-email.soft-hidden,
.custom-donation-no.soft-hidden { display: none !important; }
.banking-page-v2 .page-art-banner img { object-fit: cover; }
.banking-wealth-line { grid-template-columns: repeat(2, minmax(0, 1fr)); font-size: .9rem; }
.banking-wealth-line strong { font-size: clamp(1rem, 2.1vw, 1.45rem); }
.admin-server-quick-strip { margin-bottom: 12px; }
.admin-top-quick-actions { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.claim-desk-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.claim-desk-card { border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 12px; background: rgba(255,255,255,.03); }
.wheel-category-group { border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 10px; background: rgba(255,255,255,.025); }
.wheel-category-group + .wheel-category-group { margin-top: 10px; }
@media (max-width: 760px) {
  .survivor-profile-layout { grid-template-columns: 1fr; }
  .survivor-portrait-panel, .survivor-portrait-panel img { min-height: 360px; }
  .claim-desk-grid { grid-template-columns: 1fr; }
  .admin-top-quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Z408 survivor image/display, banking header, and casino claim-desk cleanup */
.survivor-profile-card .survivor-profile-layout {
  grid-template-columns: minmax(280px, 390px) minmax(0, 1fr);
  align-items: stretch;
}
.survivor-portrait-panel {
  min-height: 520px !important;
  background: linear-gradient(180deg, rgba(15,23,42,.42), rgba(0,0,0,.96)), radial-gradient(circle at 50% 20%, rgba(185,28,28,.26), transparent 52%);
}
.survivor-portrait-panel img {
  width: 100% !important;
  height: 100% !important;
  min-height: 520px !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  padding: 12px !important;
  image-rendering: auto !important;
}
.survivor-profile-card-compact .survivor-portrait-panel,
.survivor-profile-card-compact .survivor-portrait-panel img {
  min-height: 460px !important;
}
.survivor-home-stats-table {
  margin: 4px 0 8px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(0,0,0,.24);
}
.survivor-home-stats-table table { margin: 0; }
.survivor-home-stats-table th,
.survivor-home-stats-table td {
  padding: 7px 10px !important;
  font-size: .82rem;
}
.survivor-home-stats-table th {
  width: 44%;
  color: rgba(255,255,255,.62);
  text-transform: uppercase;
  letter-spacing: .045em;
}
.survivor-home-stats-table td {
  text-align: right;
  font-weight: 800;
}
.page-art-banner-banking {
  min-height: 180px;
}
.page-art-banner-banking img {
  object-fit: cover;
  object-position: center center;
}
.claim-desk-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
}
.claim-desk-card .claim-desk-name {
  margin-bottom: 8px;
}
.claim-desk-coords {
  display: grid;
  grid-template-columns: repeat(3, minmax(86px, 1fr));
  gap: 8px;
}
.claim-desk-coords input,
.claim-desk-name input {
  font-variant-numeric: tabular-nums;
  min-width: 0;
}
@media (max-width: 860px) {
  .survivor-profile-card .survivor-profile-layout { grid-template-columns: 1fr; }
  .survivor-portrait-panel,
  .survivor-portrait-panel img { min-height: 420px !important; }
  .claim-desk-coords { grid-template-columns: 1fr; }
}

/* Z418 survivor screenshot assets, player home mobile tidy, and updates card */
.home-dashboard-v2.survivor-home-page {
  gap: 10px;
}
.home-dashboard-v2 .home-actions-card {
  margin-bottom: 4px;
}
.home-dashboard-v2 .home-actions-card summary {
  min-height: 38px;
  padding: 8px 12px;
}
.home-dashboard-v2 .home-player-header-card {
  margin-bottom: 0;
}
.survivor-profile-title {
  margin: 0 0 12px;
}
.survivor-profile-title h3 {
  margin: 0;
  font-size: clamp(1.15rem, 2.4vw, 1.55rem);
  line-height: 1.05;
}
.survivor-profile-card .survivor-profile-layout {
  grid-template-columns: minmax(260px, 430px) minmax(0, 1fr);
  gap: 18px;
}
.survivor-portrait-wrap {
  display: grid;
  gap: 10px;
  align-content: start;
}
.survivor-portrait-panel {
  min-height: 620px !important;
  background: #050608 !important;
  border-color: rgba(255,255,255,.14);
}
.survivor-portrait-panel img {
  min-height: 620px !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  padding: 0 !important;
  background: #050608;
}
.survivor-wealth-line {
  max-width: none;
  width: 100%;
}
.survivor-statline-card {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(0,0,0,.26);
  overflow: hidden;
}
.survivor-statline-card summary {
  padding: 10px 12px;
  cursor: pointer;
}
.survivor-statline-card .survivor-home-stats-table {
  margin: 0;
  border: 0;
  border-radius: 0;
}
.survivor-updates-card .data-row {
  padding: 9px 10px;
}
.home-update-row .row-head strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 760px) {
  .home-dashboard-v2 .home-actions-card {
    order: -2;
    padding: 0;
  }
  .home-dashboard-v2 .home-actions-card summary {
    padding: 7px 10px;
  }
  .home-dashboard-v2 .home-actions-card summary h3 {
    font-size: .95rem;
  }
  .home-dashboard-v2 .home-actions-card .admin-collapse-body {
    padding: 8px 10px 10px;
  }
  .home-quick-actions.home-quick-actions-tight {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }
  .home-quick-actions.home-quick-actions-tight .btn,
  .home-quick-actions.home-quick-actions-tight .btn-secondary {
    min-height: 34px;
    padding: 7px 8px;
    font-size: .82rem;
  }
  .home-player-header-card {
    order: -1;
    padding: 10px 12px;
  }
  .home-player-header-card .section-head {
    margin: 0;
  }
  .survivor-profile-card .survivor-profile-layout {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }
  .survivor-profile-title {
    text-align: center;
    margin-bottom: 8px;
  }
  .survivor-portrait-panel {
    min-height: 520px !important;
    max-height: 72vh;
  }
  .survivor-portrait-panel img {
    min-height: 520px !important;
    max-height: 72vh;
  }
  .survivor-wealth-line {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .survivor-dashboard-note {
    font-size: .9rem;
  }
}
@media (max-width: 420px) {
  .survivor-portrait-panel,
  .survivor-portrait-panel img {
    min-height: 460px !important;
  }
}

/* Z419 admin quick access + survivor home cleanup */
.admin-global-quick-access-card { margin-bottom: 12px; }
.admin-global-quick-access-card .trader-tools-row { align-items: center; }
.admin-global-quick-access-card .admin-top-quick-actions { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
.linked-profile-details .admin-collapse-body { padding-top: 12px; }
@media (max-width: 760px) {
  .admin-global-quick-access-card .admin-top-quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Z419b player home stats/profile cleanup */
.survivor-profile-title h3 {
  font-size: clamp(1.75rem, 4vw, 2.65rem) !important;
  line-height: 1.02;
  letter-spacing: -0.035em;
}
.survivor-profile-title {
  margin-bottom: 16px;
}
.home-player-header-card {
  display: none !important;
}
.survivor-statline-card .admin-collapse-summary-copy h3 {
  font-size: clamp(1rem, 2vw, 1.2rem);
}
.survivor-home-stats-table td {
  color: rgba(255,255,255,.92);
}
@media (max-width: 760px) {
  .survivor-profile-title h3 {
    font-size: clamp(1.65rem, 8vw, 2.35rem) !important;
  }
}

/* Z419c player home/About Me/live stats cleanup */
.survivor-home-identity-box {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(0,0,0,.30);
}
.survivor-home-identity-box .mini-field {
  min-height: 52px;
  background: rgba(255,255,255,.035);
}
.survivor-home-identity-box .balance-stack {
  margin-top: 2px;
}
.about-me-page {
  max-width: 860px;
  margin: 0 auto;
  width: 100%;
}
.about-me-card .compact-profile-form {
  margin-top: 0;
}
.about-me-card textarea {
  min-height: 150px;
}
.custom-supporter-feature-title {
  margin: 4px 0 -2px;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #facc15;
}
@media (max-width: 760px) {
  .survivor-home-identity-box {
    padding: 8px;
  }
}
.survivor-home-stats-table .table {
  min-width: 0 !important;
  width: 100% !important;
  table-layout: fixed;
}
.survivor-home-stats-table th,
.survivor-home-stats-table td {
  white-space: normal;
}

/* Z421 dashboard routing + custom survivor request polish */
.custom-profile-only-note,
.profile-only-warning {
  color: #facc15 !important;
  border: 1px solid rgba(250, 204, 21, .38) !important;
  background: rgba(250, 204, 21, .10) !important;
}
.survivor-update-cta {
  width: 100%;
  margin: 10px 0 10px;
  justify-content: center;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(34, 197, 94, .20);
}
.admin-main-server-actions,
.admin-control-strip-actions,
.faction-top-action-row,
.quick-actions.compact-actions {
  gap: 8px;
}
.btn-success {
  border: 1px solid rgba(34, 197, 94, .55) !important;
  background: linear-gradient(135deg, #16a34a, #22c55e) !important;
  color: #04120a !important;
}
.btn-secondary:not(.btn-tab):not(.active-soft),
button.btn-secondary:not(.btn-tab):not(.active-soft) {
  border-color: rgba(56, 189, 248, .30);
  background: linear-gradient(135deg, rgba(15, 23, 42, .92), rgba(30, 64, 175, .38));
  color: rgba(255,255,255,.96);
}
.btn-secondary:not(.btn-tab):not(.active-soft):hover,
button.btn-secondary:not(.btn-tab):not(.active-soft):hover {
  border-color: rgba(56, 189, 248, .60);
  transform: translateY(-1px);
}
.active-soft,
button.active-soft {
  border-color: rgba(250, 204, 21, .55) !important;
  background: linear-gradient(135deg, rgba(250, 204, 21, .22), rgba(185, 28, 28, .40)) !important;
  color: #fff7d6 !important;
}
.admin-main-server-actions .btn-danger,
.admin-control-strip-actions .btn-danger {
  background: linear-gradient(135deg, rgba(127, 29, 29, .96), rgba(220, 38, 38, .78)) !important;
}
.admin-custom-survivor-card select[multiple] {
  min-height: 150px;
}
.faction-control-stack .page-card {
  animation: dbotPanelIn .16s ease-out;
}
@keyframes dbotPanelIn {
  from { opacity: .4; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 760px) {
  .survivor-portrait-wrap {
    display: flex;
    flex-direction: column;
  }
  .survivor-update-cta {
    order: 2;
  }
  .survivor-home-identity-box {
    order: 3;
  }
  .admin-main-server-actions,
  .admin-control-strip-actions,
  .faction-top-action-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Z421b survivor buttons + page back-row placement */
.dashboard-page-back-row-after-banner {
  margin: -2px 0 10px;
}
.page-art-banner + .dashboard-page-back-row-after-banner {
  margin-top: -4px;
}
.survivor-update-actions .btn-success,
#survivor-custom-request-toggle.btn-success {
  font-weight: 900;
  text-transform: none;
  box-shadow: 0 12px 24px rgba(34, 197, 94, .18);
}
.survivor-update-cta.btn-success {
  min-height: 42px;
  font-size: .95rem;
}
@media (max-width: 760px) {
  .dashboard-page-back-row-after-banner {
    width: 100% !important;
    margin: 0 0 10px !important;
  }
  .survivor-update-cta.btn-success {
    min-height: 46px;
    font-size: 1rem;
  }
}

/* Z423 — Admin hub cleanup, unified quick access, faction/base-control dashboard routing */
.admin-control-strip-collapsible {
  display: block !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.admin-control-strip-collapsible > summary {
  display: grid !important;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 10px 12px !important;
  cursor: pointer !important;
  list-style: none !important;
}
.admin-control-strip-collapsible > summary::-webkit-details-marker { display: none !important; }
.admin-control-strip-collapsible .admin-control-strip-actions {
  padding: 0 12px 12px !important;
}
.admin-global-quick-access-card > summary {
  cursor: pointer !important;
}
.admin-top-quick-actions,
.admin-control-strip-actions,
.admin-actions-grid.admin-tight-grid,
.base-control-actions-grid,
.faction-top-action-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 8px !important;
  align-items: stretch !important;
}
.admin-top-quick-actions > *,
.admin-control-strip-actions > *,
.admin-actions-grid.admin-tight-grid > *,
.base-control-actions-grid > *,
.faction-top-action-row > * {
  width: 100% !important;
  min-width: 0 !important;
  justify-content: center !important;
  text-align: center !important;
}
.admin-main-server-actions-card {
  border-color: rgba(245, 158, 11, .32) !important;
  background: linear-gradient(180deg, rgba(25, 16, 5, .64), rgba(7, 10, 16, .58)) !important;
}
.btn-success,
.content button.btn-success,
.quick-actions button.btn-success {
  background: linear-gradient(180deg, #22c55e, #0f7a3a) !important;
  border-color: rgba(74, 222, 128, .72) !important;
  color: #031407 !important;
  text-shadow: none !important;
}
.btn-secondary.active-soft,
.btn-success.active-soft,
button.active-soft {
  outline: 2px solid rgba(245, 158, 11, .52) !important;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, .14), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.faction-page-v2 .faction-control-stack {
  display: grid !important;
  gap: 12px !important;
  margin-top: 12px !important;
}
.faction-mini-profile-with-flag,
.base-control-title-line {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.faction-flag-thumb {
  width: 54px !important;
  min-width: 54px !important;
  height: 54px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: radial-gradient(circle at top, rgba(245,158,11,.18), rgba(15,23,42,.92)) !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  color: #fef3c7 !important;
  font-weight: 800 !important;
}
.faction-flag-thumb.small {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  font-size: .9rem !important;
}
.faction-flag-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.faction-flag-thumb small {
  font-size: .54rem !important;
  line-height: 1 !important;
  text-align: center !important;
  padding: 2px !important;
}
.base-control-dashboard-row {
  display: grid !important;
  gap: 8px !important;
}
.base-coordinate-link a {
  color: #93c5fd !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.admin-moderation-grid,
.admin-queue-control-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 12px !important;
}
@media (max-width: 900px) {
  .admin-control-strip-collapsible > summary {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
  .admin-top-quick-actions,
  .admin-control-strip-actions,
  .admin-actions-grid.admin-tight-grid,
  .base-control-actions-grid,
  .faction-top-action-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px) {
  .admin-top-quick-actions,
  .admin-control-strip-actions,
  .admin-actions-grid.admin-tight-grid,
  .base-control-actions-grid,
  .faction-top-action-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .faction-flag-thumb {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
  }
  .faction-flag-thumb.small {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
  }
}

/* Z425 Buy Me a Coffee webhook donation review */
.admin-donation-card,
.donation-review-list,
.donation-public-feed {
  position: relative;
}
.donation-review-row {
  border-left: 3px solid rgba(244, 196, 48, 0.65);
}
.donation-review-controls {
  margin-top: 10px;
}
.donation-public-feed {
  margin-top: 16px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(0,0,0,0.22);
}
.donation-public-feed h3 {
  margin: 0 0 10px;
  font-size: 1rem;
}
.donation-public-feed .compact-row {
  padding: 10px;
}

/* Z429 developer/admin dashboard structure cleanup */
.admin-unified-quick-actions {
  border-color: rgba(255, 179, 0, 0.45);
  background: linear-gradient(135deg, rgba(255, 157, 0, 0.16), rgba(255, 208, 64, 0.08));
}
.admin-unified-quick-actions summary h3,
.developer-tools-page .section-head h2 {
  margin: 0;
}
.developer-dashboard-flow .admin-donation-card,
.developer-dashboard-flow .admin-donation-import-card,
.developer-dashboard-flow .developer-maintenance-card,
.developer-dashboard-flow .developer-access-card {
  width: 100%;
}
.cab-booking-page .cab-destination-list .data-row strong {
  font-size: 1rem;
}

/* Z430 dashboard rebuild polish */
.cab-phone-page .cab-cost-hero {
  display: grid;
  grid-template-columns: minmax(180px, 280px) 1fr;
  gap: 16px;
  align-items: center;
  border: 1px solid rgba(245, 158, 11, 0.35);
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.16), rgba(15, 23, 42, 0.86));
}
.cab-cost-hero strong { display:block; font-size: clamp(28px, 5vw, 52px); color: #facc15; line-height:1; }
.cab-phone-actions { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:10px; margin: 14px 0; }
.cab-phone-actions button { min-height: 54px; font-weight: 800; }
.cab-phone-card { overflow:hidden; }
.cab-search-results { display:grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap:10px; margin:12px 0; }
.cab-search-results .full-row { grid-column: 1 / -1; }
.cab-destination-result {
  border:1px solid rgba(148,163,184,.25);
  border-radius:14px;
  padding:12px;
  background:rgba(15,23,42,.72);
  color:#f8fafc;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
}
.cab-destination-result:hover,.cab-destination-result.selected { border-color:#facc15; box-shadow:0 0 0 1px rgba(250,204,21,.25); }
.cab-destination-result small { color:#94a3b8; }
.cab-selected-card { margin-top:14px; padding:14px; border:1px solid rgba(250,204,21,.35); border-radius:16px; display:flex; justify-content:space-between; gap:14px; align-items:center; background:rgba(30,41,59,.75); }
.cab-selected-card strong { display:block; font-size:20px; }
.cab-mini-map { position:relative; border-radius:18px; overflow:hidden; background:#020617; min-height: 360px; border:1px solid rgba(148,163,184,.22); }
.cab-mini-map img { width:100%; display:block; opacity:.74; filter: contrast(1.1) saturate(.88) brightness(.72); }
.cab-map-marker { position:absolute; transform:translate(-50%,-50%); border:0; border-radius:999px; width:14px; height:14px; background:#facc15; box-shadow:0 0 0 4px rgba(250,204,21,.22), 0 0 16px rgba(250,204,21,.9); cursor:pointer; }
.cab-map-marker span { position:absolute; left:18px; top:-7px; background:rgba(2,6,23,.85); border:1px solid rgba(250,204,21,.28); color:#fff7ed; border-radius:999px; padding:3px 8px; font-size:11px; white-space:nowrap; }
.prize-count-badge { margin-right:8px; }
.scroll-top-fab { position:fixed; right:18px; bottom:18px; z-index:40; width:46px; height:46px; border-radius:999px; border:1px solid rgba(250,204,21,.45); background:rgba(15,23,42,.92); color:#facc15; font-size:22px; font-weight:900; }
.moderation-action-row { display:grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); gap:10px; }
.admin-global-quick-access-card summary .muted { display:none; }
.faction-flag-thumb img { width:100%; height:100%; object-fit:cover; }
@media (max-width: 720px) {
  .cab-phone-page .cab-cost-hero { grid-template-columns:1fr; }
  .cab-phone-actions { grid-template-columns:1fr; }
  .cab-selected-card { flex-direction:column; align-items:stretch; }
  .cab-mini-map { min-height:280px; }
  .cab-map-marker span { max-width:120px; overflow:hidden; text-overflow:ellipsis; }
}
.quest-card-art { border-radius:14px; overflow:hidden; margin-bottom:10px; border:1px solid rgba(250,204,21,.22); background:#020617; }
.quest-card-art img { width:100%; display:block; aspect-ratio: 16/5; object-fit:cover; }

/* Z431 demo + cab cleanup */
.public-dashboard-demo-fullpage {
  width: min(1600px, calc(100vw - 24px));
  margin: 0 auto 48px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 22px;
  overflow: hidden;
  background: #05070d;
  min-height: 78vh;
}
.public-dashboard-demo-fullpage .app-shell {
  min-height: 78vh;
  border-radius: 0;
}
.cab-location-list {
  max-height: 58vh;
  overflow: auto;
  padding-right: 4px;
}
.cab-destination-result small {
  opacity: .72;
}


/* Z431 follow-up polish */
.public-dashboard-demo-fullpage { width: min(1800px, calc(100vw - 10px)); border-radius: 14px; min-height: 88vh; }
.public-dashboard-demo-fullpage .app-shell { min-height: 88vh; }
.cab-mini-map, .cab-map-marker { display: none !important; }
.buyback-recent-button-panel { align-self: start; }
.trader-category-collapse summary { min-height: 44px; }
.trader-category-collapse .admin-collapse-summary-copy { flex-direction: row; align-items: center; gap: 10px; }

/* Z433 redo: persistent cab booking confirmation */
.cab-confirmation-panel {
  border-color: rgba(34,197,94,.35);
  background: linear-gradient(135deg, rgba(20,83,45,.36), rgba(15,23,42,.92));
}
.cab-instructions-box {
  margin: 10px 0 12px;
  padding: 14px;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 14px;
  background: rgba(2,6,23,.72);
  color: #e5e7eb;
  line-height: 1.55;
  font-weight: 650;
}
@media (max-width: 720px) {
  .cab-confirmation-panel .section-head { align-items: flex-start; gap: 10px; }
  .cab-instructions-box { font-size: 14px; }
}

/* Z440 — Base flag thumbnails, cab coin cost, runner request cleanup */
.base-control-main-head {
  align-items: flex-start !important;
  gap: 12px !important;
}
.base-control-title-with-flag .faction-flag-thumb {
  width: 72px !important;
  min-width: 72px !important;
  height: 72px !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, rgba(15,23,42,.95), rgba(3,7,18,.98)) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.35) !important;
}
.faction-mini-profile-with-flag .faction-flag-thumb {
  width: 82px !important;
  min-width: 82px !important;
  height: 82px !important;
}
.faction-flag-thumb-missing strong {
  display: block !important;
  font-size: 1rem !important;
  letter-spacing: .04em !important;
}
.faction-flag-thumb-missing small {
  max-width: 68px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.base-faction-control-panel {
  margin-top: 10px !important;
  padding: 12px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 14px !important;
  background: rgba(2,6,23,.44) !important;
}
.faction-member-mini-list {
  margin-top: 10px !important;
}
.cab-cost-hero strong {
  color: #f8fafc !important;
  letter-spacing: .02em !important;
}
.runner-slot-actions {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-top: 10px !important;
}
.runner-custom-image-card {
  display: none !important;
}
.quest-card-art {
  display: none !important;
}

/* Z443 — faction/base flow and survivor CTA polish */
.survivor-customise-cta.btn-success {
  min-height: 48px;
  font-size: 1.02rem;
  letter-spacing: .02em;
  border-color: rgba(74, 222, 128, .75) !important;
  box-shadow: 0 14px 32px rgba(34, 197, 94, .30), inset 0 1px 0 rgba(255,255,255,.18);
}
.faction-config-inline-panel {
  margin-top: 12px;
}
.faction-page-v2 .base-coordinate-link a {
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Z444 — player map banner sizing: keep the map header slimmer than the full hero banners. */
.page-art-banner-map {
  aspect-ratio: 1500 / 300 !important;
  max-height: 220px !important;
}
.page-art-banner-map img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1500 / 300 !important;
  object-fit: cover !important;
  object-position: center center !important;
}
@media (max-width: 720px) {
  .page-art-banner-map {
    aspect-ratio: 1500 / 360 !important;
    max-height: 142px !important;
  }
}

/* Z448 — player Dailies dashboard page */
.dailies-page .dailies-hero-card,
.dailies-page .daily-action-grid-card,
.dailies-page .daily-rob-card,
.dailies-page .daily-result-card {
  margin-bottom: 14px;
}
.daily-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.daily-action-button {
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(145deg, rgba(31,41,55,.92), rgba(15,23,42,.94));
  color: var(--text, #f8fafc);
  border-radius: 18px;
  padding: 16px;
  text-align: left;
  min-height: 122px;
  box-shadow: 0 18px 34px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08);
  cursor: pointer;
}
.daily-action-button:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(248, 180, 72, .55);
}
.daily-action-button:disabled {
  opacity: .6;
  cursor: wait;
}
.daily-action-button span {
  display: block;
  font-size: 1.7rem;
  margin-bottom: 8px;
}
.daily-action-button strong {
  display: block;
  font-size: 1rem;
  margin-bottom: 6px;
}
.daily-action-button small {
  color: var(--muted, #9ca3af);
  line-height: 1.35;
}
.daily-result-card.success-soft-card {
  border-color: rgba(34,197,94,.35);
  box-shadow: 0 18px 36px rgba(34,197,94,.10);
}
.daily-result-card.danger-soft-card {
  border-color: rgba(239,68,68,.35);
  box-shadow: 0 18px 36px rgba(239,68,68,.10);
}
.daily-rob-results {
  margin: 10px 0 12px;
}
@media (max-width: 780px) {
  .daily-action-grid {
    grid-template-columns: 1fr;
  }
  .daily-action-button {
    min-height: 96px;
  }
}

/* Z450 — Daily Income compact layout and button-first Rob flow */
.daily-login-streak-compact .section-head {
  margin-bottom: 10px;
}
.daily-streak-pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 8px;
}
.daily-streak-pill {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(15,23,42,.72);
  padding: 10px 12px;
  min-height: 74px;
}
.daily-streak-pill small,
.daily-streak-pill em {
  display: block;
  color: var(--muted, #9ca3af);
  font-style: normal;
  font-size: .78rem;
  line-height: 1.25;
}
.daily-streak-pill strong {
  display: block;
  font-size: 1.12rem;
  line-height: 1.2;
  margin: 3px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.daily-streak-pill.success {
  border-color: rgba(34,197,94,.35);
  background: rgba(22,101,52,.18);
}
.daily-streak-pill.warn {
  border-color: rgba(245,158,11,.35);
  background: rgba(120,53,15,.16);
}
.daily-action-grid-four {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.daily-claim-button {
  border-color: rgba(250,204,21,.35);
  background: linear-gradient(145deg, rgba(120,53,15,.72), rgba(15,23,42,.96));
}
.daily-rob-open-button {
  border-color: rgba(248,113,113,.30);
}
@media (max-width: 1120px) {
  .daily-action-grid-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .daily-streak-pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .daily-action-grid-four,
  .daily-streak-pills {
    grid-template-columns: 1fr;
  }
  .daily-streak-pill {
    min-height: 62px;
  }
}

/* Z451 — compact Daily Income login strip + cleaner faction controls */
.daily-income-login-strip {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
.daily-income-login-pill {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  background: rgba(15,23,42,.66) !important;
  padding: 8px 10px !important;
  min-height: 46px !important;
}
.daily-income-login-pill small,
.daily-income-login-pill em {
  color: var(--muted, #9ca3af) !important;
  font-style: normal !important;
  font-size: .76rem !important;
  line-height: 1.1 !important;
}
.daily-income-login-pill strong {
  font-size: .98rem !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}
.daily-income-login-reset {
  grid-column: 1 / -1 !important;
  border: 1px solid rgba(245,158,11,.35) !important;
  border-radius: 12px !important;
  background: rgba(120,53,15,.18) !important;
  padding: 8px 10px !important;
  font-size: .82rem !important;
}
.faction-control-button-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.faction-member-inline-panel {
  margin-top: 10px !important;
  padding: 10px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 12px !important;
  background: rgba(15,23,42,.48) !important;
}
.faction-member-action-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
}
.faction-member-search-results {
  margin-top: 8px !important;
}
.faction-member-search-results .banking-player-result {
  min-height: 52px !important;
}
@media (max-width: 640px) {
  .daily-income-login-strip,
  .faction-control-button-row {
    grid-template-columns: 1fr !important;
  }
}

/* Z452 — player dashboard polish: compact streak, cab centering, uniform selected buttons */
.daily-income-page .dailies-login-line {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 520px !important;
  margin-top: 8px !important;
}
.daily-income-page .daily-login-combined-box {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas: "label value" "bonus bonus" !important;
  align-items: center !important;
  gap: 4px 10px !important;
  min-height: 54px !important;
  background: rgba(10,10,12,.72) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  padding: 8px 10px !important;
}
.daily-income-page .daily-login-combined-box span {
  grid-area: label !important;
  color: rgba(255,255,255,.68) !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.daily-income-page .daily-login-combined-box strong {
  grid-area: value !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.daily-income-page .daily-login-combined-box small {
  grid-area: bonus !important;
  color: rgba(255,255,255,.82) !important;
  font-size: .82rem !important;
  line-height: 1.15 !important;
}
.daily-income-page .daily-income-login-reset {
  margin-top: 6px !important;
}

.cab-phone-page {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.cab-phone-page > .page-art-banner {
  width: min(100%, 1280px) !important;
}
.cab-phone-page > .cab-confirmation-panel,
.cab-phone-page > .cab-phone-actions,
.cab-phone-page > .cab-phone-card {
  width: min(100%, 860px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.cab-phone-page .cab-phone-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 14px !important;
  margin-bottom: 14px !important;
}
.cab-phone-page .cab-phone-actions button,
.player-base-feature-tabs button,
.banking-main-actions button,
.quest-panel-tabs button {
  min-height: 38px !important;
  padding: 8px 12px !important;
  font-size: .88rem !important;
  line-height: 1.1 !important;
}
.cab-inline-cost-box {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: min(100%, 340px) !important;
  margin: 0 0 12px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  background: rgba(10,10,12,.72) !important;
}
.cab-inline-cost-box span {
  color: rgba(255,255,255,.68) !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.cab-inline-cost-box strong {
  color: #f8fafc !important;
  font-size: 1.15rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.cab-phone-page .cab-cost-hero {
  display: none !important;
}

.player-base-feature-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: min(100%, 540px) !important;
  margin: 0 0 12px !important;
}
.player-base-feature-tabs + .faction-runner-lock-note {
  width: min(100%, 540px) !important;
}

.compact-dashboard-page:not(.daily-income-page) .btn-secondary.active,
.compact-dashboard-page:not(.daily-income-page) .btn-secondary.active-soft,
.compact-dashboard-page:not(.daily-income-page) .btn-success.active-soft,
.compact-dashboard-page:not(.daily-income-page) .btn-danger.active-soft,
.compact-dashboard-page:not(.daily-income-page) button.active-soft,
.cab-destination-result.selected {
  background: linear-gradient(180deg, #f01d2b, #8f0710) !important;
  border-color: rgba(255,80,90,.72) !important;
  color: #fff !important;
  outline: 2px solid rgba(239, 68, 68, .42) !important;
  box-shadow: 0 0 0 4px rgba(239,68,68,.13), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.compact-dashboard-page:not(.daily-income-page) .btn-secondary,
.compact-dashboard-page:not(.daily-income-page) .btn-ghost,
.compact-dashboard-page:not(.daily-income-page) .btn-danger {
  min-height: 38px !important;
  padding: 8px 12px !important;
  font-size: .88rem !important;
  line-height: 1.1 !important;
}
.survivor-customise-cta.btn-success,
#survivor-custom-request-toggle.btn-success {
  background: linear-gradient(180deg, #34d399, #16a34a) !important;
  border-color: rgba(134, 239, 172, .85) !important;
  color: #031407 !important;
  text-shadow: none !important;
  box-shadow: 0 16px 34px rgba(34,197,94,.36), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
@media (max-width: 720px) {
  .cab-phone-page .cab-phone-actions,
  .player-base-feature-tabs {
    grid-template-columns: 1fr !important;
  }
  .daily-income-page .daily-login-combined-box {
    grid-template-columns: 1fr !important;
    grid-template-areas: "label" "value" "bonus" !important;
  }
}

/* Z453 — dashboard-wide centering, red active states, and staff trader tools */
:root {
  --z453-content-max: 1120px;
  --z453-card-max: 980px;
}

.content {
  display: grid !important;
  justify-items: center !important;
  align-content: start !important;
}

.content > .page.active,
.content > section.page.active,
.header,
.dashboard-page-back-row,
.home-command-strip,
.admin-overview-layout,
.admin-panels,
.admin-tab-groups,
.developer-access-card,
.developer-tools-page,
.trader-page,
.compact-dashboard-page {
  width: min(100%, var(--z453-content-max)) !important;
  max-width: var(--z453-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-self: center !important;
  box-sizing: border-box !important;
}

.content > .page.active,
.content > section.page.active,
.compact-dashboard-page,
.admin-panels,
.admin-tab-groups,
.dashboard-collapsible-flow {
  justify-items: center !important;
}

.content > .page.active > .page-card,
.content > .page.active > details.page-card,
.content > .page.active > form > .page-card,
.content > .page.active > .detail-card,
.content > .page.active > .basket-card,
.content > .page.active > .right-panel,
.content > .page.active > .status-panel,
.content > .page.active > .table-card,
.content > .page.active > .map-shell,
.content > .page.active > .map-layout,
.content > .page.active > .map-list,
.content > .page.active > .two-col,
.content > .page.active > .three-col,
.content > .page.active > .dashboard-admin-grid,
.content > .page.active > .quest-dashboard-shell,
.content > .page.active > .quest-dashboard-overview,
.content > .page.active > .runner-loot-editor-form,
.content > .page.active > .runner-radio-editor-form,
.content > .page.active > .runner-loot-editor-grid,
.content > .page.active > .runner-radio-editor-grid,
.content > .page.active > .runner-run-grid,
.content > .page.active > .metric-grid,
.store-layout,
.trader-search-card,
.trader-action-strip,
.admin-overview-main,
.admin-overview-side {
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.content > .page.active > .page-card,
.content > .page.active > details.page-card,
.content > .page.active > form > .page-card,
.trader-search-card,
.trader-action-strip {
  width: min(100%, var(--z453-card-max)) !important;
  max-width: var(--z453-card-max) !important;
}

.content > .page.active > .page-art-banner,
.content > .page.active > .store-layout,
.content > .page.active > .quest-dashboard-shell,
.content > .page.active > .dashboard-admin-grid,
.content > .page.active > .map-layout,
.content > .page.active > .metric-grid {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
}

.content button:not(.daily-action-button):not(.csv-cell-input):not(.link-button):not(.native-white-button):not(.trader-qty-btn),
.content .btn:not(.daily-action-button),
.content .btn-secondary,
.content .btn-ghost,
.content .btn-danger,
.content .btn-success,
.content .btn-chip,
.content .btn-tab {
  min-height: 38px !important;
  padding: 8px 12px !important;
  font-size: .88rem !important;
  line-height: 1.1 !important;
  border-radius: 10px !important;
}

.content button.active,
.content button.active-soft,
.content .btn.active,
.content .btn.active-soft,
.content .btn-secondary.active,
.content .btn-secondary.active-soft,
.content .btn-success.active-soft,
.content .btn-danger.active-soft,
.content .btn-chip.active,
.content .btn-tab.active,
.content .catalog-mode-link.active,
.content .cab-destination-result.selected,
.content .runner-character-card.selected,
.content [aria-pressed="true"],
.sidebar button.active,
.nav-group-items button.active,
.player-base-feature-tabs button.active-soft,
.banking-main-actions button.active,
.quest-panel-tabs button.active,
.trader-top-action.active-soft {
  background: linear-gradient(180deg, #f01d2b, #8f0710) !important;
  border-color: rgba(255,80,90,.78) !important;
  color: #fff !important;
  outline: 2px solid rgba(239, 68, 68, .42) !important;
  box-shadow: 0 0 0 4px rgba(239,68,68,.14), inset 0 1px 0 rgba(255,255,255,.12) !important;
  text-shadow: none !important;
}

.trader-tools-menu {
  padding: 0 !important;
  overflow: hidden !important;
}
.trader-tools-menu > summary.trader-tools-summary {
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 12px 14px !important;
  cursor: pointer !important;
  list-style: none !important;
}
.trader-tools-menu > summary.trader-tools-summary::-webkit-details-marker {
  display: none !important;
}
.trader-tools-menu .trader-tools-menu-body {
  border-top: 1px solid rgba(255,255,255,.08) !important;
  padding: 12px 14px 14px !important;
}
.trader-tools-menu .trader-top-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}
.trader-tools-menu .trader-top-action {
  width: 100% !important;
  justify-content: center !important;
}

.survivor-customise-cta.btn-success,
#survivor-custom-request-toggle.btn-success,
#survivor-custom-image-form .survivor-custom-request-submit,
#survivor-custom-image-form .custom-donation-note .btn-secondary,
#survivor-custom-image-form .custom-donation-no .btn-secondary {
  background: linear-gradient(180deg, #34d399, #16a34a) !important;
  border-color: rgba(134, 239, 172, .88) !important;
  color: #031407 !important;
  text-shadow: none !important;
  box-shadow: 0 16px 34px rgba(34,197,94,.36), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

@media (max-width: 720px) {
  .content {
    justify-items: stretch !important;
  }
  .content > .page.active,
  .content > section.page.active,
  .header,
  .dashboard-page-back-row,
  .home-command-strip,
  .compact-dashboard-page {
    width: 100% !important;
    max-width: 100% !important;
  }
  .trader-tools-menu .trader-top-actions {
    grid-template-columns: 1fr !important;
  }
}

/* Z454 — homepage inbox/diary and dashboard width cleanup */
:root {
  --z454-page-max: 1120px;
  --z454-card-max: 980px;
}

.content > .page.active,
.content > section.page.active,
.compact-dashboard-page,
.faction-compact-page,
.profile-page-v2,
.about-me-page,
.diary-page,
.banking-page,
.cab-phone-page,
.runner-page,
.store-page,
.admin-panels,
.developer-tools-page {
  width: min(100%, var(--z454-page-max)) !important;
  max-width: var(--z454-page-max) !important;
  justify-self: center !important;
  justify-items: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.content > .page.active > .page-card,
.content > .page.active > details.page-card,
.content > .page.active > form > .page-card,
.content > .page.active > .table-card,
.content > .page.active > .detail-card,
.content > .page.active > .basket-card,
.content > .page.active > .right-panel,
.content > .page.active > .status-panel,
.faction-compact-page > .page-card,
.faction-summary-card,
.about-me-card,
.diary-editor-card,
.diary-history-card,
.survivor-profile-card,
.survivor-inbox-card,
.banking-page .banking-compact-card,
.cab-phone-page > .cab-phone-card,
.cab-phone-page > .cab-confirmation-panel,
.runner-page > .page-card,
.runner-page > .compact-card {
  width: min(100%, var(--z454-card-max)) !important;
  max-width: var(--z454-card-max) !important;
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.content > .page.active > .page-art-banner,
.page-art-banner,
.welcome-back-banner {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.faction-flag-thumb,
.faction-flag-thumb.small {
  overflow: hidden !important;
  flex: 0 0 auto !important;
}
.faction-flag-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  padding: 3px !important;
}

.welcome-back-banner {
  position: relative !important;
  min-height: 168px !important;
  overflow: hidden !important;
}
.welcome-back-banner img {
  width: 100% !important;
  height: 100% !important;
  min-height: 168px !important;
  object-fit: cover !important;
  display: block !important;
  filter: brightness(.72) contrast(1.08) saturate(.95) !important;
}
.welcome-back-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.76), rgba(0,0,0,.24) 48%, rgba(0,0,0,.54));
  pointer-events: none;
}
.welcome-banner-copy {
  position: absolute !important;
  left: clamp(20px, 5vw, 62px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
  display: grid !important;
  gap: 4px !important;
  max-width: min(720px, 78%) !important;
}
.welcome-banner-copy h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(42px, 7vw, 82px) !important;
  line-height: .9 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  text-shadow: 0 3px 0 #000, 0 0 28px rgba(255,255,255,.18) !important;
}
.welcome-banner-copy strong {
  color: #ef2c32 !important;
  font-size: clamp(19px, 3vw, 34px) !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 0 #000 !important;
}

.survivor-home-identity-box {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.survivor-home-identity-box .survivor-statline-card {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 0 !important;
}
.last-seen-mini {
  display: grid !important;
  gap: 3px !important;
}
.profile-location-link {
  color: #fff !important;
  font-weight: 900 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.survivor-profile-card .survivor-dashboard-note {
  display: none !important;
}
.survivor-update-page .survivor-profile-card .survivor-dashboard-note {
  display: block !important;
}

.survivor-inbox-card .section-head {
  align-items: center !important;
}
.inbox-unread-badge {
  display: inline-grid !important;
  min-width: 28px !important;
  height: 28px !important;
  padding: 0 8px !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #ef2c32 !important;
  color: #fff !important;
  font-weight: 950 !important;
  box-shadow: 0 0 0 4px rgba(239,44,50,.16) !important;
}
.home-inbox-row.unread {
  border-color: rgba(239,44,50,.38) !important;
  background: linear-gradient(180deg, rgba(36,18,20,.96), rgba(12,13,16,.98)) !important;
}

.diary-form textarea {
  min-height: 260px !important;
  resize: vertical !important;
}
.diary-editor-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 8px !important;
}
.diary-actions {
  grid-column: 1 / -1 !important;
}
.diary-entry-preview {
  margin-top: 8px !important;
  padding: 10px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 10px !important;
  background: rgba(0,0,0,.22) !important;
  color: rgba(255,255,255,.88) !important;
  line-height: 1.45 !important;
  max-height: 260px !important;
  overflow: auto !important;
}
.admin-diary-review-row .field {
  margin-top: 10px !important;
}

.survivor-customise-cta.btn-success,
.survivor-update-cta.btn-success,
#survivor-custom-request-toggle.btn-success,
#survivor-custom-image-form .survivor-custom-request-submit,
.survivor-custom-request-submit.btn-success {
  background: linear-gradient(180deg, #34d399, #16a34a) !important;
  border-color: rgba(134, 239, 172, .9) !important;
  color: #031407 !important;
  text-shadow: none !important;
  box-shadow: 0 16px 34px rgba(34,197,94,.36), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

.content button.active,
.content button.active-soft,
.content .btn.active,
.content .btn.active-soft,
.content .btn-secondary.active,
.content .btn-secondary.active-soft,
.content .btn-success.active-soft,
.content .btn-danger.active-soft,
.content .btn-chip.active,
.content .btn-tab.active,
.content [aria-pressed="true"],
.sidebar button.active,
.nav-group-items button.active,
.player-base-feature-tabs button.active-soft,
.banking-main-actions button.active,
.quest-panel-tabs button.active,
.trader-top-action.active-soft,
.runner-character-card.selected,
.runner-loot-bundle-selector button.active {
  background: linear-gradient(180deg, #f01d2b, #8f0710) !important;
  border-color: rgba(255,80,90,.78) !important;
  color: #fff !important;
  outline: 2px solid rgba(239,68,68,.42) !important;
  box-shadow: 0 0 0 4px rgba(239,68,68,.14), inset 0 1px 0 rgba(255,255,255,.12) !important;
}

@media (max-width: 720px) {
  .survivor-home-identity-box {
    grid-template-columns: 1fr !important;
  }
  .welcome-back-banner,
  .welcome-back-banner img {
    min-height: 142px !important;
  }
  .welcome-banner-copy {
    left: 18px !important;
    max-width: 86% !important;
  }
}

/* Z455 — locked banner assets, faction width, and section maintenance controls */
.content > .page.active > .page-art-banner,
.page-art-banner,
.welcome-back-banner {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  min-height: 168px !important;
  max-height: 168px !important;
}
.page-art-banner img,
.welcome-back-banner img {
  width: 100% !important;
  height: 168px !important;
  min-height: 168px !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.faction-page-v2,
.faction-page-v2 .faction-control-stack {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  justify-self: center !important;
}
.faction-page-v2 .bases-compact-card,
.faction-page-v2 .faction-control-stack > .page-card {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.welcome-banner-copy {
  top: 47% !important;
  gap: 6px !important;
}
.welcome-banner-copy h2 {
  font-size: clamp(40px, 6.3vw, 78px) !important;
}
.welcome-banner-copy strong {
  display: block !important;
  margin-top: 2px !important;
  color: #ef2c32 !important;
  font-size: clamp(18px, 2.6vw, 32px) !important;
}
.feature-maintenance-card {
  border-color: rgba(239,68,68,.34) !important;
}
.feature-maintenance-toggle-card {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.feature-maintenance-grid {
  display: grid !important;
  gap: 12px !important;
  padding: 12px !important;
}
.feature-maintenance-group {
  display: grid !important;
  gap: 8px !important;
}
.feature-maintenance-group h4 {
  margin: 0 !important;
  color: #fff !important;
  letter-spacing: .04em !important;
}
.feature-maintenance-row {
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) minmax(110px, auto) minmax(220px, 1.4fr) !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 9px 10px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(0,0,0,.20) !important;
}
.feature-maintenance-row input[data-feature-maintenance-reason] {
  width: 100% !important;
  min-height: 36px !important;
}
.feature-maintenance-actions {
  display: flex !important;
  justify-content: flex-end !important;
}
@media (max-width: 720px) {
  .content > .page.active > .page-art-banner,
  .page-art-banner,
  .welcome-back-banner {
    min-height: 128px !important;
    max-height: 128px !important;
  }
  .page-art-banner img,
  .welcome-back-banner img {
    height: 128px !important;
    min-height: 128px !important;
  }
  .feature-maintenance-row {
    grid-template-columns: 1fr !important;
  }
}

/* Z455b — Welcome banner uses baked WELCOME BACK and dynamic red survivor name only */
.welcome-banner-copy {
  top: 58% !important;
  transform: none !important;
}
.welcome-banner-copy h2 { display: none !important; }
.welcome-banner-copy strong {
  font-size: clamp(20px, 3vw, 36px) !important;
  line-height: 1 !important;
}

/* Z456 — fixed banner display, green survivor CTA, collapsed inbox, diary previews */
.content > .page.active > .page-art-banner,
.page-art-banner,
.welcome-back-banner {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1500 / 360 !important;
  overflow: hidden !important;
  display: block !important;
  background: #05070a !important;
}
.page-art-banner img,
.welcome-back-banner img {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1500 / 360 !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}
.welcome-back-banner::after {
  background: linear-gradient(90deg, rgba(0,0,0,.34), rgba(0,0,0,.02) 56%, rgba(0,0,0,.28)) !important;
}
.welcome-banner-copy {
  left: clamp(42px, 5.8vw, 82px) !important;
  top: 58% !important;
  transform: none !important;
  z-index: 3 !important;
}
.welcome-banner-copy strong {
  display: block !important;
  color: #ef2c32 !important;
  font-size: clamp(20px, 3vw, 36px) !important;
  line-height: 1 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  text-shadow: 0 3px 0 #000, 0 0 22px rgba(239,44,50,.25) !important;
}
.survivor-customise-cta,
.survivor-customise-cta.btn-success,
.survivor-update-cta.custom-survivor-green,
button[data-jump="survivor"].survivor-update-cta,
#survivor-custom-request-toggle,
#survivor-custom-request-toggle.btn-success,
.survivor-custom-request-submit,
.survivor-custom-request-submit.btn-success {
  background: linear-gradient(180deg, #34d399, #16a34a) !important;
  border-color: rgba(134,239,172,.92) !important;
  color: #031407 !important;
  text-shadow: none !important;
  box-shadow: 0 16px 34px rgba(34,197,94,.36), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.survivor-inbox-inline {
  width: 100% !important;
  margin: 8px 0 10px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, rgba(17,21,29,.94), rgba(7,8,12,.96)) !important;
  overflow: hidden !important;
}
.survivor-inbox-toggle {
  width: 100% !important;
  min-height: 42px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto auto !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 8px 10px !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-align: left !important;
}
.survivor-inbox-inline .survivor-inbox-list,
.survivor-inbox-inline .empty-state {
  border-top: 1px solid rgba(255,255,255,.08) !important;
  padding: 10px !important;
}
.survivor-inbox-inline.collapsed .survivor-inbox-list,
.survivor-inbox-inline.collapsed .empty-state { display: none !important; }
.inbox-caret { color: rgba(255,255,255,.72) !important; font-weight: 950 !important; }
.diary-launch-card,
.diary-public-preview-card,
.diary-reader-card,
.diary-editor-card,
.diary-history-card {
  width: min(100%, var(--z454-card-max, 980px)) !important;
  max-width: var(--z454-card-max, 980px) !important;
  justify-self: center !important;
}
.diary-preview-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
  gap: 10px !important;
}
.diary-entry-row.clickable {
  cursor: pointer !important;
}
.diary-entry-row.selected {
  border-color: rgba(239,44,50,.72) !important;
  box-shadow: 0 0 0 2px rgba(239,44,50,.18) !important;
}
.diary-entry-preview.full {
  max-height: none !important;
  font-size: 1rem !important;
}
.diary-media-list {
  display: grid !important;
  gap: 10px !important;
  margin-top: 10px !important;
}
.diary-media-image img,
.diary-media-video,
.diary-media-embed {
  width: 100% !important;
  max-height: 380px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: #05070a !important;
}
.diary-media-image img { object-fit: contain !important; }
.diary-media-embed { aspect-ratio: 16 / 9 !important; min-height: 220px !important; }
.diary-media-link {
  display: block !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(0,0,0,.28) !important;
  color: #fff !important;
  overflow-wrap: anywhere !important;
}
.diary-review-note {
  margin: 8px 0 !important;
}
@media (max-width: 720px) {
  .content > .page.active > .page-art-banner,
  .page-art-banner,
  .welcome-back-banner,
  .page-art-banner img,
  .welcome-back-banner img {
    aspect-ratio: 1500 / 360 !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
  }
  .welcome-banner-copy {
    left: 18px !important;
    top: 57% !important;
    max-width: 82% !important;
  }
  .welcome-banner-copy strong {
    font-size: clamp(16px, 5vw, 24px) !important;
  }
  .diary-media-embed { min-height: 170px !important; }
}

/* Z457 — Daily Income banner and focused dashboard cleanup */
.daily-income-page > .page-art-banner-dailies {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  aspect-ratio: 1500 / 360 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background: #05070a !important;
}
.daily-income-page > .page-art-banner-dailies img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1500 / 360 !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.daily-claim-button span {
  filter: drop-shadow(0 0 10px rgba(250,204,21,.28)) !important;
}
.daily-claim-button small {
  max-width: 18rem !important;
}
.banking-main-actions .banking-action-deposit {
  background: linear-gradient(180deg, rgba(34,197,94,.95), rgba(21,128,61,.96)) !important;
  border-color: rgba(134,239,172,.82) !important;
  color: #031407 !important;
  text-shadow: none !important;
}
.banking-main-actions .banking-action-withdraw {
  background: linear-gradient(180deg, rgba(220,38,38,.95), rgba(127,29,29,.96)) !important;
  border-color: rgba(248,113,113,.82) !important;
  color: #fff !important;
}
.banking-main-actions .banking-action-deposit.active,
.banking-main-actions .banking-action-withdraw.active {
  box-shadow: 0 0 0 2px rgba(255,255,255,.12), 0 0 20px rgba(239,44,50,.24) !important;
}
.survivor-profile-home-card .survivor-profile-title {
  display: none !important;
}
.trader-category-button-collapse {
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 auto 10px !important;
  border: 0 !important;
  background: transparent !important;
}
.trader-category-button-collapse > summary {
  list-style: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 40px !important;
  padding: 9px 18px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: linear-gradient(180deg, rgba(18,24,34,.98), rgba(10,13,20,.98)) !important;
  color: #fff !important;
  font-weight: 900 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.trader-category-button-collapse > summary::-webkit-details-marker { display: none !important; }
.trader-category-button-collapse[open] > summary {
  border-color: rgba(239,44,50,.76) !important;
  box-shadow: 0 0 0 1px rgba(239,44,50,.24), 0 0 20px rgba(239,44,50,.14) !important;
}
.trader-category-button-body {
  width: min(100vw - 32px, 980px) !important;
  margin: 10px auto 0 !important;
  padding: 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(8,11,17,.96) !important;
}
.trader-search-only-card .trader-category-button-collapse {
  display: block !important;
}
@media (max-width: 720px) {
  .trader-category-button-collapse {
    width: 100% !important;
  }
  .trader-category-button-collapse > summary {
    width: 100% !important;
  }
  .trader-category-button-body {
    width: 100% !important;
  }
}

/* Z458 — focused CTA/button/card hotfix
   Scope: only Customise Survivor green, Banking deposit/withdraw colours, and Daily Income card content visibility. */
.survivor-profile-home-card .survivor-customise-cta,
.survivor-profile-home-card .survivor-customise-cta.btn-success,
.survivor-profile-home-card button[data-jump="survivor"],
.survivor-profile-home-card button[data-jump="survivor"].survivor-update-cta,
.survivor-profile-home-card button[data-jump="survivor"].custom-survivor-green {
  background: linear-gradient(180deg, #34d399, #16a34a) !important;
  border: 1px solid rgba(134, 239, 172, .95) !important;
  color: #031407 !important;
  text-shadow: none !important;
  box-shadow: 0 16px 34px rgba(34,197,94,.38), inset 0 1px 0 rgba(255,255,255,.24) !important;
}
.survivor-profile-home-card .survivor-customise-cta:hover,
.survivor-profile-home-card button[data-jump="survivor"]:hover {
  background: linear-gradient(180deg, #4ade80, #16a34a) !important;
  border-color: rgba(187, 247, 208, .96) !important;
}
.content .banking-main-actions button.banking-action-deposit,
.content .banking-main-actions button.banking-action-deposit.active,
.banking-page .banking-main-actions .banking-action-deposit,
.banking-page .banking-main-actions .banking-action-deposit.active {
  background: linear-gradient(180deg, #22c55e, #15803d) !important;
  border-color: rgba(134, 239, 172, .95) !important;
  color: #031407 !important;
  outline-color: rgba(34,197,94,.42) !important;
  box-shadow: 0 0 0 3px rgba(34,197,94,.16), inset 0 1px 0 rgba(255,255,255,.22) !important;
  text-shadow: none !important;
}
.content .banking-main-actions button.banking-action-withdraw,
.content .banking-main-actions button.banking-action-withdraw.active,
.banking-page .banking-main-actions .banking-action-withdraw,
.banking-page .banking-main-actions .banking-action-withdraw.active {
  background: linear-gradient(180deg, #ef4444, #991b1b) !important;
  border-color: rgba(248, 113, 113, .95) !important;
  color: #fff !important;
  outline-color: rgba(239,68,68,.42) !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.16), inset 0 1px 0 rgba(255,255,255,.18) !important;
  text-shadow: none !important;
}
.daily-income-page .daily-action-button.daily-claim-button,
.daily-income-page .daily-action-button.daily-claim-button:disabled {
  opacity: 1 !important;
  border-color: rgba(250, 204, 21, .46) !important;
  background: linear-gradient(145deg, rgba(23,27,36,.96), rgba(8,11,17,.98)) !important;
  color: #f8fafc !important;
}
.daily-income-page .daily-action-button.daily-claim-button span,
.daily-income-page .daily-action-button.daily-claim-button strong,
.daily-income-page .daily-action-button.daily-claim-button small {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.daily-income-page .daily-action-button.daily-claim-button span {
  font-size: 1.9rem !important;
  margin-bottom: 8px !important;
  filter: drop-shadow(0 0 10px rgba(250,204,21,.32)) !important;
}
.daily-income-page .daily-action-button.daily-claim-button strong {
  color: #f8fafc !important;
}
.daily-income-page .daily-action-button.daily-claim-button small {
  color: rgba(255,255,255,.78) !important;
  line-height: 1.35 !important;
  max-width: 18rem !important;
}


/* Z459 — hard target the home Customise/Customize Survivor CTA green.
   This is deliberately broad because older button rules were still winning on the deployed home card. */
#home-customize-survivor-btn,
button#home-customize-survivor-btn,
.content button#home-customize-survivor-btn,
.survivor-profile-card .survivor-portrait-wrap > button#home-customize-survivor-btn,
.survivor-profile-home-card .survivor-portrait-wrap > button#home-customize-survivor-btn,
.home-customize-survivor-btn,
button.home-customize-survivor-btn,
button.survivor-update-cta.custom-survivor-green,
button.survivor-customise-cta.custom-survivor-green {
  background: linear-gradient(180deg, #34d399, #16a34a) !important;
  background-color: #16a34a !important;
  border: 1px solid rgba(134, 239, 172, .95) !important;
  color: #031407 !important;
  text-shadow: none !important;
  box-shadow: 0 16px 34px rgba(34,197,94,.38), inset 0 1px 0 rgba(255,255,255,.24) !important;
}
#home-customize-survivor-btn:hover,
button#home-customize-survivor-btn:hover,
.home-customize-survivor-btn:hover,
button.survivor-update-cta.custom-survivor-green:hover,
button.survivor-customise-cta.custom-survivor-green:hover {
  background: linear-gradient(180deg, #4ade80, #16a34a) !important;
  background-color: #16a34a !important;
  border-color: rgba(187, 247, 208, .96) !important;
}

/* Z460 home identity + stats cleanup */
.survivor-home-identity-box {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}
.identity-main-mini {
  gap: 10px !important;
  align-content: stretch !important;
}
.identity-main-mini .identity-gamertag-line,
.identity-main-mini .identity-last-seen-line {
  display: grid;
  gap: 3px;
}
.identity-last-seen-line {
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.075);
}
.identity-last-seen-line strong {
  font-size: 13px !important;
  line-height: 1.25 !important;
}
.compact-location-link,
.identity-last-seen-line .profile-location-link {
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  color: rgba(255,255,255,.86) !important;
  word-break: break-word !important;
}
.survivor-stats-collapse {
  grid-column: 1 / -1 !important;
  min-height: 52px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.035) !important;
  overflow: hidden !important;
}
.survivor-stats-collapse > summary {
  min-height: 52px !important;
  padding: 10px 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  list-style: none !important;
  cursor: pointer !important;
}
.survivor-stats-collapse > summary::-webkit-details-marker {
  display: none !important;
}
.survivor-stats-collapse > summary::marker {
  content: "" !important;
}
.survivor-stats-title h3 {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.1 !important;
}
.stats-view-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 6px 12px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.055) !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}
.survivor-stats-collapse .admin-collapse-summary-side,
.survivor-stats-collapse .admin-collapse-chevron,
.survivor-stats-collapse .quick-chevron-pair,
.survivor-stats-collapse .small.muted {
  display: none !important;
}
.survivor-stats-collapse .admin-collapse-body {
  padding: 0 12px 12px !important;
}
.survivor-stats-collapse .survivor-home-stats-table {
  margin-top: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
@media (max-width: 760px) {
  .survivor-home-identity-box {
    grid-template-columns: 1fr !important;
  }
}

/* Z461 — focused trader/banking/profile-public cleanup */
.banking-page .banking-wealth-line.compact-wealth-line {
  max-width: 640px !important;
  gap: 8px !important;
}
.banking-page .banking-wealth-line.compact-wealth-line > div {
  min-height: 42px !important;
  padding: 7px 10px !important;
}
.banking-page .banking-wealth-line.compact-wealth-line span {
  font-size: 12px !important;
  letter-spacing: .06em !important;
}
.banking-page .banking-wealth-line.compact-wealth-line strong {
  font-size: 20px !important;
  line-height: 1 !important;
}
.banking-page .banking-main-actions button[data-banking-action="deposit"],
.banking-page .banking-main-actions button.banking-action-deposit,
.content .banking-main-actions button[data-banking-action="deposit"] {
  background: linear-gradient(180deg, #22c55e, #15803d) !important;
  background-color: #16a34a !important;
  border-color: rgba(134,239,172,.98) !important;
  color: #031407 !important;
  text-shadow: none !important;
  box-shadow: 0 0 0 2px rgba(34,197,94,.16), inset 0 1px 0 rgba(255,255,255,.24) !important;
}
.banking-page .banking-main-actions button[data-banking-action="withdraw"],
.banking-page .banking-main-actions button.banking-action-withdraw,
.content .banking-main-actions button[data-banking-action="withdraw"] {
  background: linear-gradient(180deg, #ef4444, #991b1b) !important;
  background-color: #b91c1c !important;
  border-color: rgba(248,113,113,.98) !important;
  color: #fff !important;
  text-shadow: none !important;
  box-shadow: 0 0 0 2px rgba(239,68,68,.16), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.trader-top-strip-card {
  padding: 12px !important;
}
.trader-top-strip-actions {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.trader-top-strip-actions .trader-category-button-collapse {
  margin: 0 !important;
}
.trader-top-strip-actions .trader-orders-shortcut,
.trader-top-strip-actions .trader-basket-shortcut,
.trader-top-strip-actions .btn-secondary {
  min-height: 42px !important;
}
.trader-category-button-collapse > summary .trader-category-arrow {
  color: rgba(255,255,255,.72) !important;
  font-size: 12px !important;
  margin-left: 2px !important;
}
.trader-category-button-collapse[open] > summary .trader-category-arrow {
  transform: rotate(180deg) !important;
}
.compact-trader-total-row {
  margin-top: 10px !important;
  display: flex !important;
  justify-content: center !important;
}
.public-profile-toggle-field {
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  padding: 12px !important;
  background: rgba(255,255,255,.035) !important;
}
.public-profile-toggle-field.locked {
  opacity: .82 !important;
}
.public-profile-toggle {
  width: fit-content !important;
}
.survivor-public-profiles-card,
.survivor-public-profile-detail {
  width: min(100%, 1120px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.survivor-public-profile-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 12px !important;
}
.survivor-public-profile-card {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.035) !important;
}
.survivor-public-profile-card.active {
  border-color: rgba(239,44,50,.72) !important;
  box-shadow: 0 0 0 1px rgba(239,44,50,.22), 0 0 22px rgba(239,44,50,.10) !important;
}
.survivor-public-profile-card img {
  width: 58px !important;
  height: 58px !important;
  border-radius: 12px !important;
  object-fit: cover !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}
.survivor-public-profile-copy {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}
.survivor-public-profile-copy strong,
.survivor-public-profile-copy span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.survivor-public-profile-copy span {
  color: rgba(255,255,255,.66) !important;
  font-size: 12px !important;
}
.survivor-public-profile-detail-body {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
}
.survivor-public-profile-detail-body img {
  width: 180px !important;
  height: 180px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}
@media (max-width: 760px) {
  .survivor-public-profile-card {
    grid-template-columns: 52px minmax(0, 1fr) !important;
  }
  .survivor-public-profile-card button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
  .survivor-public-profile-detail-body {
    grid-template-columns: 1fr !important;
  }
  .survivor-public-profile-detail-body img {
    width: 100% !important;
    height: auto !important;
    max-height: 260px !important;
  }
}

/* Z463 — Developer header + separated dashboard/page maintenance controls */
.developer-tools-page > .page-art-banner-developer {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.developer-tools-page > .page-art-banner-developer img {
  object-fit: contain !important;
  object-position: center center !important;
}
.developer-dashboard-switcher-clean {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  justify-self: center !important;
  padding: 12px !important;
}
.developer-dashboard-switcher-clean .developer-dashboard-buttons {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  margin: 0 !important;
}
.developer-page-maintenance-card {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  justify-self: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.developer-page-maintenance-card .page-maintenance-toggle-card,
.developer-dashboard-flow .developer-maintenance-card,
.developer-dashboard-flow .developer-access-card,
.developer-dashboard-flow .developer-bmc-hub-card {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  justify-self: center !important;
}
.dashboard-maintenance-toggle-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 12px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 12px !important;
  background: rgba(0,0,0,.24) !important;
  margin-bottom: 12px !important;
}
.dashboard-maintenance-toggle-chip {
  min-width: 110px !important;
  justify-content: center !important;
}
@media (max-width: 720px) {
  .developer-dashboard-switcher-clean .developer-dashboard-buttons {
    grid-template-columns: 1fr !important;
  }
  .dashboard-maintenance-toggle-row {
    align-items: stretch !important;
    flex-direction: column !important;
  }
}

/* Z464 — Survivor Journal rebrand + hard banking/daily card fixes */
.page-art-banner-diary {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background: #05070a !important;
}
.page-art-banner-diary img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1500 / 360 !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.banking-page .banking-main-actions button[data-banking-action="withdraw"],
.banking-page .banking-main-actions button.banking-action-withdraw,
.content .banking-main-actions button[data-banking-action="withdraw"],
.content .banking-main-actions button.banking-action-withdraw,
button[data-banking-action="withdraw"].banking-action-withdraw {
  background: linear-gradient(180deg, #ef4444, #991b1b) !important;
  background-color: #b91c1c !important;
  border-color: rgba(248,113,113,.98) !important;
  color: #fff !important;
  text-shadow: none !important;
  box-shadow: 0 0 0 2px rgba(239,68,68,.18), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.banking-page .banking-main-actions button[data-banking-action="withdraw"]:hover,
.content .banking-main-actions button[data-banking-action="withdraw"]:hover {
  background: linear-gradient(180deg, #f87171, #b91c1c) !important;
  border-color: rgba(254,202,202,.98) !important;
}
.daily-income-page .daily-action-button.daily-claim-button {
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  gap: 8px !important;
  min-height: 170px !important;
  color: #f8fafc !important;
}
.daily-income-page .daily-action-button.daily-claim-button span,
.daily-income-page .daily-action-button.daily-claim-button strong,
.daily-income-page .daily-action-button.daily-claim-button small {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: inherit !important;
}
.daily-income-page .daily-action-button.daily-claim-button span {
  font-size: 2rem !important;
  line-height: 1 !important;
}
.daily-income-page .daily-action-button.daily-claim-button strong {
  font-size: 1.05rem !important;
  font-weight: 900 !important;
}
.daily-income-page .daily-action-button.daily-claim-button small {
  font-size: .88rem !important;
  line-height: 1.35 !important;
  color: rgba(255,255,255,.76) !important;
  max-width: 15rem !important;
}

/* Z465 — Daily Income card hard visibility fix only.
   This targets the actual claim card by id and class so the emoji/description cannot be hidden by older daily button rules. */
.daily-income-page #daily-btn.daily-income-login-card,
.daily-income-page button#daily-btn.daily-claim-button.daily-income-login-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 152px !important;
  padding: 18px !important;
  border-color: rgba(250, 204, 21, .42) !important;
  background: linear-gradient(145deg, rgba(23,27,36,.96), rgba(8,11,17,.98)) !important;
  color: #f8fafc !important;
  text-align: left !important;
  opacity: 1 !important;
}
.daily-income-page #daily-btn .daily-claim-icon,
.daily-income-page #daily-btn .daily-claim-title,
.daily-income-page #daily-btn .daily-claim-description {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}
.daily-income-page #daily-btn .daily-claim-icon {
  font-size: 2rem !important;
  line-height: 1 !important;
  margin: 0 !important;
  filter: drop-shadow(0 0 10px rgba(250,204,21,.32)) !important;
}
.daily-income-page #daily-btn .daily-claim-title {
  font-size: 1rem !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  color: #f8fafc !important;
  margin: 0 !important;
}
.daily-income-page #daily-btn .daily-claim-description {
  font-style: normal !important;
  font-size: .86rem !important;
  line-height: 1.35 !important;
  color: rgba(255,255,255,.78) !important;
  margin: 0 !important;
}


/* Z470 — focused dashboard cleanup: two clean headers, red withdraw, profile cards, mobile orders */
#banking-withdraw-action,
button#banking-withdraw-action,
.banking-page .banking-main-actions button#banking-withdraw-action,
.banking-page .banking-main-actions button.force-withdraw-red,
.content .banking-main-actions button.force-withdraw-red,
button[data-banking-action="withdraw"],
button[data-banking-action="withdraw"].btn-secondary,
button[data-banking-action="withdraw"].banking-action-withdraw {
  background: linear-gradient(180deg, #ef4444, #991b1b) !important;
  background-color: #b91c1c !important;
  border-color: rgba(248,113,113,.98) !important;
  color: #fff !important;
  text-shadow: none !important;
  box-shadow: 0 0 0 2px rgba(239,68,68,.18), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
button[data-banking-action="withdraw"]:hover,
button.force-withdraw-red:hover {
  background: linear-gradient(180deg, #f87171, #b91c1c) !important;
  background-color: #b91c1c !important;
}
.survivor-public-profile-grid {
  grid-template-columns: 1fr !important;
}
.public-profile-summary-card.survivor-public-profile-card {
  grid-template-columns: 72px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  min-height: 86px !important;
}
.public-profile-summary-card.survivor-public-profile-card img {
  width: 72px !important;
  height: 72px !important;
}
.survivor-public-profile-detail-copy h4 {
  margin: 0 0 8px !important;
  font-size: 18px !important;
  color: #f8fafc !important;
}
.profile-social-link-list {
  display: grid !important;
  gap: 8px !important;
  margin-top: 12px !important;
}
.profile-social-link-row {
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.035) !important;
}
.profile-social-link-row span {
  text-transform: capitalize !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.profile-social-link-row strong {
  color: rgba(255,255,255,.9) !important;
  overflow-wrap: anywhere !important;
  font-size: 13px !important;
}
.orders-mobile-list {
  display: none;
}
.order-mobile-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
}
.order-mobile-card.active {
  border-color: rgba(239,44,50,.65);
}
.order-mobile-card .order-detail-card {
  margin-top: 4px;
}
.order-mobile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.order-mobile-grid div {
  display: grid;
  gap: 3px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  background: rgba(0,0,0,.18);
}
.order-mobile-grid span {
  font-size: 11px;
  color: rgba(255,255,255,.55);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.order-mobile-grid strong {
  font-size: 12px;
  color: rgba(255,255,255,.9);
  overflow-wrap: anywhere;
}
@media (max-width: 720px) {
  .orders-table-wrap {
    display: none !important;
  }
  .orders-mobile-list {
    display: grid !important;
    gap: 10px !important;
  }
  .order-mobile-grid {
    grid-template-columns: 1fr !important;
  }
  .public-profile-summary-card.survivor-public-profile-card {
    grid-template-columns: 62px minmax(0, 1fr) !important;
  }
  .public-profile-summary-card.survivor-public-profile-card img {
    width: 62px !important;
    height: 62px !important;
  }
  .public-profile-summary-card.survivor-public-profile-card button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
  .profile-social-link-row {
    grid-template-columns: 1fr !important;
  }
}


/* Z475 — stabilisation: Survivor Profiles polish + Welcome Back name emphasis */
.welcome-banner-copy {
  top: 55% !important;
  left: clamp(34px, 5.6vw, 78px) !important;
}
.welcome-banner-copy strong {
  display: block !important;
  color: #cf2027 !important;
  font-size: clamp(32px, 5.8vw, 74px) !important;
  line-height: .88 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  font-weight: 950 !important;
  font-stretch: condensed !important;
  text-shadow: 0 3px 0 #000, 0 0 24px rgba(207,32,39,.28) !important;
  max-width: min(720px, 76vw) !important;
  overflow-wrap: anywhere !important;
}
.survivor-public-profile-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
  gap: 12px !important;
}
.public-profile-summary-card.survivor-public-profile-card,
.survivor-public-profile-card.public-profile-summary-card {
  display: grid !important;
  grid-template-columns: minmax(96px, 128px) minmax(0, 1fr) !important;
  grid-template-areas: "image copy" "image button" !important;
  align-items: stretch !important;
  gap: 12px !important;
  min-height: 190px !important;
  padding: 12px !important;
}
.public-profile-image-frame {
  grid-area: image !important;
  width: 100% !important;
  min-height: 168px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: radial-gradient(circle at 50% 12%, rgba(127,29,29,.28), rgba(3,5,8,.96) 68%) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.public-profile-image-frame img,
.public-profile-summary-card.survivor-public-profile-card img,
.survivor-public-profile-card.public-profile-summary-card img {
  width: 100% !important;
  height: 100% !important;
  min-height: 168px !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 4px !important;
  background: transparent !important;
}
.survivor-public-profile-copy {
  grid-area: copy !important;
  align-content: start !important;
  gap: 5px !important;
}
.survivor-public-profile-copy strong {
  font-size: 18px !important;
  color: #fff !important;
}
.survivor-public-profile-copy span {
  font-size: 12px !important;
  color: rgba(255,255,255,.68) !important;
}
.public-profile-about-preview {
  display: grid !important;
  gap: 4px !important;
  margin-top: 8px !important;
  padding: 8px 9px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(0,0,0,.22) !important;
}
.public-profile-about-preview b {
  color: #f8fafc !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}
.public-profile-about-preview em {
  color: rgba(255,255,255,.78) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-style: normal !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.public-profile-summary-card.survivor-public-profile-card button,
.survivor-public-profile-card.public-profile-summary-card button {
  grid-area: button !important;
  align-self: end !important;
  width: 100% !important;
}
.survivor-public-profile-detail-body,
.my-profile-detail-body {
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) !important;
}
.survivor-public-profile-detail-body > img,
.my-profile-detail-body > img {
  width: 100% !important;
  height: 320px !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  background: radial-gradient(circle at 50% 12%, rgba(127,29,29,.26), rgba(3,5,8,.96) 68%) !important;
  padding: 8px !important;
}
.my-profile-view-card,
.my-profile-page .about-me-card {
  width: min(100%, 1120px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 720px) {
  .welcome-banner-copy strong {
    font-size: clamp(24px, 8vw, 38px) !important;
    max-width: 84vw !important;
  }
  .public-profile-summary-card.survivor-public-profile-card,
  .survivor-public-profile-card.public-profile-summary-card {
    grid-template-columns: 106px minmax(0, 1fr) !important;
    min-height: 170px !important;
  }
  .public-profile-image-frame,
  .public-profile-image-frame img,
  .public-profile-summary-card.survivor-public-profile-card img {
    min-height: 150px !important;
  }
  .survivor-public-profile-detail-body,
  .my-profile-detail-body {
    grid-template-columns: 1fr !important;
  }
  .survivor-public-profile-detail-body > img,
  .my-profile-detail-body > img {
    height: 360px !important;
  }
}

/* Z482 — admin quick actions inline row + admin trader config-only view */
.dashboard-page-back-row .admin-quick-actions-inline-btn,
.admin-quick-actions-inline-btn {
  min-height: 34px !important;
  padding: 7px 12px !important;
  font-size: .82rem !important;
  line-height: 1 !important;
  border-radius: 10px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
.admin-inline-quick-actions-panel {
  width: min(100%, var(--z453-content-max, 1120px)) !important;
  max-width: var(--z453-content-max, 1120px) !important;
  margin: 0 auto 10px !important;
  padding: 10px !important;
  border: 1px solid rgba(74, 222, 128, .22) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(5, 46, 22, .38), rgba(7, 10, 16, .74)) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.22) !important;
  box-sizing: border-box !important;
}
.admin-inline-quick-actions-grid {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  gap: 8px !important;
}
.admin-inline-quick-actions-grid > * {
  min-height: 34px !important;
  font-size: .82rem !important;
  width: 100% !important;
}
.admin-trader-config-page .trader-tools-menu {
  margin: 10px 0 0 !important;
}
.admin-trader-config-intro {
  width: min(100%, var(--z453-content-max, 1120px)) !important;
}
.admin-trader-search-card .trader-top-strip-actions,
.admin-trader-top-strip-actions {
  grid-template-columns: 1fr !important;
}
.admin-trader-config-page .trader-orders-shortcut,
.admin-trader-config-page .trader-basket-shortcut,
.admin-trader-config-page #trader-view-basket,
.admin-trader-config-page #detail-add,
.admin-trader-config-page #detail-qty {
  display: none !important;
}
.admin-trader-result-row {
  cursor: pointer !important;
}
.admin-trader-result-row .admin-trader-row-status {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}
.admin-trader-config-layout {
  align-items: start !important;
}
.admin-trader-item-edit-tools {
  margin-top: 12px !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
  padding-top: 12px !important;
}
.admin-trader-detail-card .hero {
  gap: 12px !important;
}
@media (max-width: 760px) {
  .dashboard-page-back-row .admin-quick-actions-inline-btn,
  .admin-quick-actions-inline-btn {
    min-height: 36px !important;
    padding: 8px 10px !important;
    font-size: .82rem !important;
  }
  .admin-inline-quick-actions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .admin-trader-result-row .admin-trader-row-status {
    justify-content: flex-start !important;
  }
}

/* Z483 — admin hub header persistence + merged Trader Controls dropdown */
.dashboard-page-back-row.admin-hub-header-row {
  align-items: center !important;
  gap: 8px !important;
}
.dashboard-page-back-row .admin-trader-controls-inline-btn,
.admin-trader-controls-inline-btn {
  min-height: 34px !important;
  padding: 7px 12px !important;
  font-size: .82rem !important;
  line-height: 1 !important;
  border-radius: 10px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
.admin-inline-trader-controls-panel {
  width: min(100%, var(--z453-content-max, 1120px)) !important;
  max-width: var(--z453-content-max, 1120px) !important;
  margin: 0 auto 10px !important;
  padding: 10px !important;
  border: 1px solid rgba(74, 222, 128, .22) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(5, 46, 22, .34), rgba(7, 10, 16, .76)) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.22) !important;
  box-sizing: border-box !important;
}
.admin-inline-trader-controls-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 8px !important;
}
.admin-inline-trader-controls-grid > * {
  min-height: 34px !important;
  font-size: .82rem !important;
  width: 100% !important;
}
.admin-trader-config-search-card {
  margin-top: 0 !important;
}
.admin-trader-search-head {
  margin-bottom: 8px !important;
}
.admin-trader-config-page .admin-trader-config-intro,
.admin-trader-config-page .trader-tools-menu {
  display: none !important;
}
@media (max-width: 760px) {
  .dashboard-page-back-row.admin-hub-header-row {
    flex-wrap: wrap !important;
  }
  .dashboard-page-back-row .admin-trader-controls-inline-btn,
  .admin-trader-controls-inline-btn {
    min-height: 36px !important;
    padding: 8px 10px !important;
    font-size: .82rem !important;
  }
  .admin-inline-trader-controls-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Z485 DBOT admin/trader/server cleanup */
.dashboard-page-confirmation {
  margin: 10px 0 14px;
  padding: 11px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(15, 23, 42, .92);
  color: #f8fafc;
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
  font-weight: 800;
}
.dashboard-page-confirmation.success { border-color: rgba(34,197,94,.45); background: rgba(5, 46, 22, .92); }
.dashboard-page-confirmation.error { border-color: rgba(248,113,113,.55); background: rgba(69, 10, 10, .94); }
.dashboard-page-confirmation.warning { border-color: rgba(251,191,36,.55); background: rgba(69, 42, 6, .94); }
.dashboard-page-confirmation.info { border-color: rgba(96,165,250,.55); background: rgba(15, 23, 42, .94); }

.admin-trader-controls-page .trader-top-actions,
.admin-trader-buyback-page .trader-top-actions,
.admin-trader-catalog-page .trader-top-actions,
.admin-trader-vehicle-page .trader-top-actions {
  margin-bottom: 12px;
}
.admin-trader-vehicle-page .vehicle-section-page,
.admin-trader-buyback-page .trader-buyback-panel,
.admin-trader-catalog-page .admin-catalog-tools-card {
  margin-top: 12px;
}

.vehicle-section-tabs,
.admin-system-tabs {
  margin: 10px 0 14px;
}
.vehicle-section-page .vehicle-menu-body,
.admin-system-clean-page {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.vehicle-purchase-layout-wide {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}
.vehicle-rental-form-panel {
  min-width: 0;
}
.vehicle-rental-large-fields input,
.vehicle-rental-large-fields select,
.vehicle-admin-fields input,
.vehicle-admin-fields select,
.large-coordinate-input {
  min-height: 46px;
  font-size: 1rem;
}
.vehicle-map-card {
  min-height: 540px;
}
.vehicle-map-card .vehicle-map-viewport {
  min-height: 430px;
}
.vehicle-map-card .vehicle-map-stage img {
  display: block;
  width: 100%;
  height: auto;
}
.vehicle-controls-grid {
  grid-template-columns: minmax(300px, 1fr) minmax(300px, 1fr);
}
.vehicle-rental-history-table .mini-row {
  align-items: center;
}
.admin-system-clean-page .status-panel {
  width: 100%;
}
.admin-system-panel-card .admin-control-form {
  max-width: none;
}

.profile-rich-editor {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.profile-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(0,0,0,.26);
}
.profile-editor-emoji-strip {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
}
.profile-about-editor {
  min-height: 220px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(2,6,23,.72);
  color: #f8fafc;
  outline: none;
  line-height: 1.55;
  overflow: auto;
  white-space: normal;
}
.profile-about-editor:empty::before {
  content: attr(data-placeholder);
  color: rgba(226,232,240,.48);
}
.survivor-bio-render {
  white-space: normal;
  line-height: 1.55;
}
.survivor-bio-render p,
.profile-about-editor p { margin: 0 0 .75em; }
.survivor-bio-render div,
.profile-about-editor div { margin: 0 0 .35em; }
.survivor-bio-render font[size="1"], .profile-about-editor font[size="1"], .profile-size-1 { font-size: .82rem; }
.survivor-bio-render font[size="2"], .profile-about-editor font[size="2"], .profile-size-2 { font-size: .95rem; }
.survivor-bio-render font[size="3"], .profile-about-editor font[size="3"], .profile-size-3 { font-size: 1.08rem; }
.survivor-bio-render font[size="4"], .profile-about-editor font[size="4"], .profile-size-4 { font-size: 1.28rem; }
.survivor-bio-render font[size="5"], .profile-about-editor font[size="5"], .profile-size-5 { font-size: 1.55rem; }

@media (max-width: 820px) {
  .vehicle-purchase-layout-wide,
  .vehicle-controls-grid {
    grid-template-columns: 1fr;
  }
  .vehicle-map-card { min-height: 420px; }
  .vehicle-map-card .vehicle-map-viewport { min-height: 320px; }
}

/* Z487 DBOT DM System */
.admin-dbot-dm-page .dm-paste-zone,
.dm-paste-zone {
  min-height: 86px;
  border: 1px dashed rgba(248, 250, 252, 0.35);
  border-radius: 14px;
  padding: 14px;
  background: rgba(15, 23, 42, 0.72);
  color: rgba(226, 232, 240, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.admin-dbot-dm-page .dm-paste-zone:focus,
.dm-paste-zone:focus {
  outline: 2px solid rgba(239, 68, 68, 0.55);
  outline-offset: 2px;
}

/* Z488 DBOT DM hardening */
.dbot-dm-message-box {
  min-height: 260px;
  white-space: pre-wrap;
}
.dm-attachment-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.dm-attachment-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.55);
  color: rgba(226, 232, 240, 0.95);
  font-size: 0.86rem;
}
.dm-attachment-chip span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Z489: inbox read state, featured profiles, compact admin restart status */
.home-inbox-row.inbox-message-open {
  cursor: pointer !important;
  transition: border-color .16s ease, background .16s ease, opacity .16s ease !important;
}
.home-inbox-row.read {
  border-color: rgba(239,44,50,.28) !important;
  background: linear-gradient(180deg, rgba(34,10,13,.72), rgba(10,11,14,.94)) !important;
  opacity: .78 !important;
}
.home-inbox-row.read .row-head strong,
.home-inbox-row.read .small {
  color: rgba(255,255,255,.68) !important;
}
.inbox-message-actions {
  margin-top: 8px !important;
}
.admin-restart-status-strip {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
}
.admin-system-live-panel .admin-restart-status-strip {
  margin-top: 12px !important;
}
.admin-restart-status-cell {
  min-height: 54px !important;
  display: grid !important;
  align-content: center !important;
  gap: 3px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(180deg, rgba(22,24,30,.92), rgba(8,10,14,.96)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.admin-restart-status-cell span {
  color: rgba(255,255,255,.58) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-weight: 800 !important;
}
.admin-restart-status-cell strong {
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}
.featured-profile-card {
  border-color: rgba(34,197,94,.38) !important;
  box-shadow: 0 0 0 1px rgba(34,197,94,.16), 0 16px 34px rgba(0,0,0,.26) !important;
}
.public-profile-title-line {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.featured-profile-chip {
  font-size: 10px !important;
  padding: 3px 7px !important;
}
.public-profile-card-actions {
  grid-area: button !important;
  display: grid !important;
  gap: 7px !important;
  align-self: end !important;
}
.profile-feature-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
}
.profile-feature-actions button,
.public-profile-card-actions > button {
  width: 100% !important;
}
@media (max-width: 720px) {
  .admin-restart-status-strip {
    grid-template-columns: 1fr !important;
  }
  .profile-feature-actions {
    grid-template-columns: 1fr !important;
  }
}
.profile-feature-actions button {
  grid-area: auto !important;
  align-self: stretch !important;
}

/* Z492 — Survivor inbox archive and journal preview/read-more polish */
.survivor-inbox-tools {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 10px 0 !important;
}
.home-inbox-row.read {
  border-color: rgba(239, 68, 68, .38) !important;
  background: linear-gradient(180deg, rgba(64, 12, 16, .32), rgba(20, 7, 9, .34)) !important;
}
.inbox-message-actions {
  margin-top: 8px !important;
}
.runner-current-ignore-list {
  margin-top: 10px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 12px !important;
  background: rgba(0,0,0,.22) !important;
  padding: 8px 10px !important;
}
.runner-current-ignore-list summary {
  cursor: pointer !important;
  font-weight: 900 !important;
}
.runner-ignore-chip-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 8px !important;
}
.diary-entry-row {
  align-items: stretch !important;
}
.diary-entry-row.clickable:hover {
  border-color: rgba(239,44,50,.5) !important;
  background: rgba(239,44,50,.08) !important;
}
.diary-entry-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 5px !important;
}
.diary-entry-title,
.diary-submitted-by {
  overflow-wrap: anywhere !important;
}
.diary-entry-preview {
  overflow-wrap: anywhere !important;
  line-height: 1.45 !important;
}
.diary-entry-thumbnail {
  width: 86px !important;
  min-width: 86px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(0,0,0,.34) !important;
}
.diary-entry-thumbnail img,
.diary-entry-thumb-video,
.diary-entry-thumb-embed {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border: 0 !important;
}
.diary-entry-thumb-video-badge,
.diary-entry-thumb-link-badge {
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  font-weight: 950 !important;
  color: #fff !important;
  background: radial-gradient(circle at center, rgba(239,44,50,.38), rgba(0,0,0,.72)) !important;
}
.diary-read-more-btn {
  width: fit-content !important;
  margin-top: 4px !important;
}
.diary-reader-card .diary-entry-thumbnail {
  width: min(180px, 50vw) !important;
  min-width: 0 !important;
  margin-bottom: 10px !important;
}
@media (max-width: 620px) {
  .diary-entry-row {
    grid-template-columns: 72px minmax(0, 1fr) !important;
  }
  .diary-entry-thumbnail {
    width: 72px !important;
    min-width: 72px !important;
  }
}
.diary-thumb {
  width: 86px !important;
  min-width: 86px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(0,0,0,.34) !important;
  display: block !important;
  position: relative !important;
  text-decoration: none !important;
}
.diary-thumb img,
.diary-thumb video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.diary-thumb span {
  position: absolute !important;
  right: 6px !important;
  bottom: 5px !important;
  display: grid !important;
  place-items: center !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.7) !important;
  color: #fff !important;
  font-weight: 950 !important;
}
.diary-thumb-empty {
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  font-size: 28px !important;
}
@media (max-width: 620px) {
  .diary-thumb {
    width: 72px !important;
    min-width: 72px !important;
  }
}
.diary-entry-row {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 10px !important;
}

/* Z493 runner bundle / inbox / help patch */
.help-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.help-grid > div,
.admin-inbox-panel,
.runner-bundle-impact-card,
.runner-ignore-bulk-results {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(0,0,0,.24);
  padding: 12px;
}
.help-grid h4 { margin: 0 0 6px; }
.help-grid p { margin: 0; color: rgba(255,255,255,.76); line-height: 1.45; }
.runner-ignore-bulk-list {
  display: grid;
  gap: 8px;
  max-height: 320px;
  overflow: auto;
  padding-right: 4px;
}
.runner-ignore-result {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  padding: 9px 10px;
  background: rgba(255,255,255,.04);
}
.runner-ignore-result small {
  display: block;
  color: rgba(255,255,255,.64);
  margin-top: 2px;
}
.runner-ignore-result.disabled { opacity: .55; }
.diary-card-actions { margin-top: 8px; }
.admin-inbox-row { align-items: center; }
.warning-card { box-shadow: inset 0 0 0 1px rgba(255,193,7,.18); }
@media (max-width: 620px) {
  .help-grid { grid-template-columns: 1fr; }
  .admin-inbox-row { align-items: stretch; }
}


/* Z496 help, support, survivor search and faction profile cleanup */
.help-manual-card { max-width: 1100px; margin: 0 auto; }
.help-manual-body { display: grid; gap: 0.75rem; line-height: 1.55; }
.help-manual-body h2, .help-manual-body h3, .help-manual-body h4 { margin: 0.85rem 0 0.2rem; }
.help-manual-body p { margin: 0; color: var(--text, #e7e7ea); }
.help-manual-body ul { margin: 0.25rem 0 0.75rem 1.2rem; padding: 0; }
.help-manual-body li { margin: 0.25rem 0; }
.help-manual-body code { background: rgba(255,255,255,0.08); border-radius: 6px; padding: 0.05rem 0.3rem; }
.survivor-profile-search-field { margin: 0.75rem 0 1rem; }
.faction-profile-card { overflow: hidden; }
.faction-profile-preview { display: grid; grid-template-columns: minmax(92px, 140px) 1fr; gap: 1rem; align-items: center; }
.faction-profile-image-frame { width: 100%; aspect-ratio: 1 / 1; border-radius: 18px; overflow: hidden; border: 1px solid rgba(255,255,255,0.14); background: rgba(0,0,0,0.35); display: grid; place-items: center; }
.faction-profile-image-frame img { width: 100%; height: 100%; object-fit: cover; }
.faction-profile-copy h3 { margin: 0 0 0.25rem; }
.faction-profile-copy p { margin: 0.65rem 0 0; }
.faction-profile-motto { color: #f87171; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.faction-profile-form, .faction-custom-request-wrap { margin-top: 1rem; }
.admin-support-menu-card { border-color: rgba(248, 113, 113, 0.35); }
.admin-support-menu-actions { justify-content: flex-start; }
.admin-inbox-panel { border: 1px solid rgba(239, 68, 68, 0.85) !important; box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.16), 0 18px 45px rgba(127, 29, 29, 0.22); }
.admin-next-restart-inline-btn { display: inline-grid; gap: 0.1rem; line-height: 1.05; min-width: 132px; text-align: left; }
.admin-next-restart-inline-btn span { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; opacity: 0.82; }
.admin-next-restart-inline-btn strong { font-size: 0.78rem; }
.admin-next-restart-inline-btn em { font-style: normal; font-size: 0.72rem; opacity: 0.8; }
.admin-two-column-stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 800px) {
  .faction-profile-preview { grid-template-columns: 1fr; }
  .faction-profile-image-frame { max-width: 180px; }
  .admin-two-column-stack { grid-template-columns: 1fr; }
  .admin-next-restart-inline-btn { min-width: 100%; }
}

/* Z501 Help Centre topic layout */
.topic-help-card { display: grid; gap: 1rem; }
.help-manual-head { align-items: flex-start; gap: 0.75rem; }

.help-centre-toggle { width: 100%; border: 1px solid rgba(239,68,68,0.38); border-radius: 16px; background: linear-gradient(135deg, rgba(239,68,68,0.15), rgba(255,255,255,0.045)); color: var(--text, #f3f4f6); padding: 0.9rem 1rem; display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; text-align: left; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.035); }
.help-centre-toggle:hover, .help-centre-toggle:focus-visible { border-color: rgba(239,68,68,0.75); background: linear-gradient(135deg, rgba(239,68,68,0.22), rgba(255,255,255,0.055)); outline: none; }
.help-centre-toggle strong { display: block; font-size: 1rem; line-height: 1.15; }
.help-centre-toggle small { display: block; margin-top: 0.2rem; color: var(--muted, #aeb4bf); line-height: 1.25; }
.help-topic-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 0.65rem; }
.help-topic-btn { width: 100%; border: 1px solid rgba(255,255,255,0.12); border-radius: 14px; background: rgba(255,255,255,0.045); color: var(--text, #f3f4f6); padding: 0.75rem; text-align: left; display: grid; grid-template-columns: auto 1fr; gap: 0.65rem; align-items: center; cursor: pointer; transition: border-color 120ms ease, background 120ms ease, transform 120ms ease; }
.help-topic-btn:hover, .help-topic-btn:focus-visible { border-color: rgba(239,68,68,0.65); background: rgba(239,68,68,0.10); transform: translateY(-1px); outline: none; }
.help-topic-btn.active-soft { border-color: rgba(239,68,68,0.9); background: linear-gradient(135deg, rgba(239,68,68,0.18), rgba(255,255,255,0.055)); box-shadow: inset 0 0 0 1px rgba(239,68,68,0.18); }
.help-topic-icon { width: 2.1rem; height: 2.1rem; border-radius: 999px; display: inline-grid; place-items: center; background: rgba(0,0,0,0.35); border: 1px solid rgba(255,255,255,0.1); font-size: 1.05rem; }
.help-topic-btn strong { display: block; font-size: 0.95rem; line-height: 1.15; }
.help-topic-btn small { display: block; margin-top: 0.18rem; color: var(--muted, #aeb4bf); font-size: 0.78rem; line-height: 1.25; }
.help-topic-panel { display: grid; gap: 0.85rem; border-color: rgba(239,68,68,0.22); }
.help-instruction-block { border: 1px solid rgba(255,255,255,0.09); background: rgba(0,0,0,0.18); border-radius: 14px; padding: 0.85rem; }
.help-instruction-block h4 { margin: 0 0 0.45rem; font-size: 0.95rem; letter-spacing: 0.02em; text-transform: uppercase; }
.help-instruction-block p { margin: 0; color: var(--text, #f3f4f6); line-height: 1.55; }
.help-instruction-block ol, .help-instruction-block ul { margin: 0; padding-left: 1.2rem; display: grid; gap: 0.32rem; }
.help-instruction-block li { line-height: 1.45; }
.help-note-block { border-color: rgba(245,158,11,0.25); background: rgba(245,158,11,0.07); }
@media (max-width: 640px) {
  .help-topic-grid { grid-template-columns: 1fr; }
  .help-topic-btn { padding: 0.7rem; }
  .help-manual-head { display: grid; }
}


/* Z504 — deeper Help Centre guide cards and faction button polish */
.help-feature-list { display: grid; gap: 0.75rem; }
.help-feature-block { border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.035); border-radius: 12px; padding: 0.75rem; display: grid; gap: 0.45rem; }
.help-feature-block h4 { margin: 0; color: var(--text, #f3f4f6); text-transform: none; letter-spacing: 0; font-size: 0.98rem; }
.help-feature-block p { margin: 0; color: rgba(255,255,255,0.82); line-height: 1.52; }
.help-feature-block ol, .help-feature-block ul { margin: 0.1rem 0 0; padding-left: 1.15rem; display: grid; gap: 0.28rem; }
.help-feature-block li { line-height: 1.45; }
.faction-custom-request-green.btn-success { border-color: rgba(34,197,94,0.78); background: linear-gradient(180deg, rgba(34,197,94,0.28), rgba(21,128,61,0.28)); color: #f0fdf4; }
.faction-custom-request-green.btn-success:hover { border-color: rgba(34,197,94,0.98); background: linear-gradient(180deg, rgba(34,197,94,0.36), rgba(21,128,61,0.36)); }
.button-symbol { display: inline-grid; place-items: center; width: 1.1em; font-weight: 900; margin-right: 0.15rem; }
.button-symbol.plus { color: #86efac; }
.button-symbol.minus { color: #fca5a5; }
.faction-member-add-btn .button-symbol.plus { text-shadow: 0 0 10px rgba(34,197,94,0.45); }
.faction-member-remove-btn .button-symbol.minus { text-shadow: 0 0 10px rgba(239,68,68,0.45); }


/* Z505 — faction profile CTA, preview text, public toggle, and Survivor Factions page */
#faction-custom-request-toggle.faction-custom-request-green,
#faction-custom-request-toggle.faction-custom-request-green.btn-success,
.content #faction-custom-request-toggle.faction-custom-request-green,
.faction-profile-card #faction-custom-request-toggle.faction-custom-request-green {
  background: linear-gradient(180deg, #34d399, #16a34a) !important;
  border-color: rgba(134,239,172,.96) !important;
  color: #031407 !important;
  text-shadow: none !important;
  box-shadow: 0 14px 30px rgba(34,197,94,.34), inset 0 1px 0 rgba(255,255,255,.24) !important;
}
#faction-custom-request-toggle.faction-custom-request-green:hover,
.content #faction-custom-request-toggle.faction-custom-request-green:hover {
  background: linear-gradient(180deg, #4ade80, #16a34a) !important;
  border-color: rgba(187,247,208,.98) !important;
}
.faction-public-toggle-field { align-items: start; gap: 0.35rem; }
.faction-profile-about-wrap { display: grid; gap: 0.55rem; margin-top: 0.65rem; }
.faction-profile-about-text { margin: 0 !important; line-height: 1.5; white-space: pre-wrap; }
.faction-profile-about-toggle { justify-self: start; }
.survivor-factions-page { display: grid; gap: 12px; }
.survivor-faction-grid { display: grid; gap: 0.8rem; }
.survivor-faction-card { border: 1px solid rgba(255,255,255,0.1); background: rgba(255,255,255,0.035); border-radius: 14px; padding: 0.8rem; display: grid; gap: 0.75rem; }
.survivor-faction-card.active { border-color: rgba(239,68,68,0.68); box-shadow: 0 0 0 1px rgba(239,68,68,0.16); }
.survivor-faction-card-main { display: grid; grid-template-columns: auto 1fr; gap: 0.8rem; align-items: center; min-width: 0; }
.survivor-faction-card p { margin: 0.45rem 0 0; color: rgba(255,255,255,0.84); line-height: 1.45; }
.survivor-faction-thumb { width: 76px; height: 76px; }
.survivor-faction-detail-body { display: grid; grid-template-columns: minmax(110px, 180px) 1fr; gap: 1rem; align-items: start; }
.survivor-faction-detail-image { width: 100%; max-width: 180px; }
.survivor-faction-detail-copy h4 { margin: 0.75rem 0 0.35rem; }
.survivor-faction-detail-copy p { margin: 0; line-height: 1.55; white-space: pre-wrap; }
@media (max-width: 700px) {
  .survivor-faction-card-main,
  .survivor-faction-detail-body { grid-template-columns: 1fr; }
  .survivor-faction-thumb,
  .survivor-faction-detail-image { max-width: 160px; }
}

/* Z508 — My Profile polish */
.my-profile-overview-card {
  overflow: hidden !important;
}
.my-profile-head {
  align-items: flex-start !important;
  gap: 12px !important;
}
.my-profile-head .section-tools {
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
}
.my-profile-overview-grid {
  display: grid !important;
  grid-template-columns: minmax(170px, 250px) minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
.my-profile-portrait-panel {
  min-height: 330px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: radial-gradient(circle at 50% 12%, rgba(127,29,29,.28), rgba(3,5,8,.96) 68%) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.my-profile-portrait-panel img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  padding: 8px !important;
}
.my-profile-main-panel {
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
}
.my-profile-name-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.my-profile-name-row > div,
.my-profile-bio-panel {
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  background: rgba(0,0,0,.22) !important;
  padding: 12px !important;
}
.my-profile-name-row span,
.my-profile-panel-title {
  display: block !important;
  color: rgba(255,255,255,.58) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  margin-bottom: 5px !important;
}
.my-profile-name-row strong {
  color: #fff !important;
  font-size: 17px !important;
  overflow-wrap: anywhere !important;
}
.my-profile-bio-panel {
  min-height: 170px !important;
}
.my-profile-empty-note {
  margin-top: 12px !important;
}
.my-profile-actions {
  align-self: end !important;
}
.my-profile-actions .small-btn {
  min-height: 38px !important;
}
.my-profile-editor-card .profile-about-editor {
  min-height: 260px !important;
}
@media (max-width: 760px) {
  .my-profile-head {
    display: grid !important;
  }
  .my-profile-head .section-tools {
    justify-content: flex-start !important;
  }
  .my-profile-overview-grid,
  .my-profile-name-row {
    grid-template-columns: 1fr !important;
  }
  .my-profile-portrait-panel {
    min-height: 360px !important;
  }
  .my-profile-actions {
    grid-template-columns: 1fr !important;
  }
  .my-profile-actions .small-btn {
    width: 100% !important;
  }
}

/* Z511 — Runner unlock guidance and top-row Help Centre button */
.help-centre-inline-btn {
  min-height: 34px !important;
  padding: 7px 12px !important;
  font-size: .82rem !important;
  line-height: 1 !important;
  border-radius: 10px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
.runner-unlock-guide-card {
  border-color: rgba(74, 222, 128, 0.2) !important;
}
.runner-unlock-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.runner-unlock-step {
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 10px;
  display: grid;
  gap: 4px;
}
.runner-unlock-step strong {
  color: var(--text, #f3f4f6);
}
.runner-unlock-step span,
.runner-reset-warning {
  color: var(--muted, #aeb4bf);
  font-size: .88rem;
  line-height: 1.35;
}
.runner-reset-warning {
  margin-top: 10px;
  border: 1px solid rgba(245, 158, 11, .28);
  background: rgba(245, 158, 11, .08);
  border-radius: 12px;
  padding: 9px 10px;
}
@media (max-width: 760px) {
  .runner-unlock-steps { grid-template-columns: 1fr; }
  .help-centre-inline-btn { flex: 1 1 160px; }
}
.preline { white-space: pre-line; }
.event-preset-builder-card details.admin-details { margin: 14px 0; border: 1px solid rgba(255,255,255,0.12); border-radius: 14px; padding: 12px; background: rgba(255,255,255,0.03); }
.event-preset-builder-card details.admin-details summary { cursor: pointer; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.event-preset-builder-card details.admin-details textarea { width: 100%; margin-top: 10px; }

/* Z515 — mobile submenu cleanup and compact Runner slot guide */
.dashboard-submenu-toggle-btn {
  min-height: 34px !important;
  padding: 7px 12px !important;
  font-size: .82rem !important;
  line-height: 1 !important;
  border-radius: 10px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
.dashboard-page-submenu-panel {
  width: min(100%, var(--dashboard-card-max, 980px)) !important;
  max-width: var(--dashboard-card-max, 980px) !important;
  justify-self: start !important;
  margin: -2px 0 10px !important;
  padding: 10px !important;
  border: 1px solid rgba(148, 163, 184, .24) !important;
  border-radius: 14px !important;
  background: rgba(10, 14, 22, .82) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.22) !important;
}
.dashboard-page-submenu-panel .player-base-feature-tabs,
.dashboard-page-submenu-panel .cab-phone-actions,
.dashboard-submenu-button-grid {
  width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 8px !important;
}
.dashboard-page-submenu-panel .faction-runner-lock-note {
  width: 100% !important;
  margin-top: 8px !important;
}
.runner-slot-guide-details {
  border-color: rgba(74, 222, 128, 0.2) !important;
}
.runner-slot-guide-summary {
  list-style: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.runner-slot-guide-summary::-webkit-details-marker { display: none !important; }
.runner-slot-guide-summary > span:first-child {
  display: grid !important;
  gap: 2px !important;
}
.runner-slot-guide-summary strong {
  font-size: 1.05rem !important;
}
.runner-slot-guide-summary small {
  color: var(--muted, #aeb4bf) !important;
}
.runner-slot-guide-summary::after {
  content: '▾' !important;
  font-weight: 900 !important;
  color: rgba(255,255,255,.72) !important;
  transition: transform .16s ease !important;
}
.runner-slot-guide-details[open] .runner-slot-guide-summary::after {
  transform: rotate(180deg) !important;
}
@media (max-width: 760px) {
  .dashboard-submenu-toggle-btn { flex: 1 1 150px; }
  .dashboard-page-submenu-panel {
    width: min(100%, calc(100vw - 24px)) !important;
    justify-self: center !important;
    margin-bottom: 8px !important;
  }
  .dashboard-page-submenu-panel .player-base-feature-tabs,
  .dashboard-page-submenu-panel .cab-phone-actions,
  .dashboard-submenu-button-grid {
    grid-template-columns: 1fr !important;
  }
  .runner-slot-guide-summary {
    align-items: stretch !important;
  }
  .runner-slot-guide-summary .section-tools {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    min-width: 0 !important;
  }
}

/* Z518 — generic submenu labels and Runner mobile tidy */
.runner-story-copy {
  margin: 4px 0 12px;
  color: rgba(226, 232, 240, .84);
  font-size: .94rem;
  line-height: 1.45;
}
.runner-slot-picker-head {
  align-items: flex-start !important;
}
.runner-slot-top-actions {
  margin: 0 0 12px !important;
  justify-content: flex-start !important;
}
.runner-slot-top-actions .small-btn {
  min-height: 34px;
}
@media (max-width: 760px) {
  .runner-story-copy {
    font-size: .9rem;
  }
  .runner-slot-top-actions .small-btn {
    width: 100%;
  }
}
