:root {
  --bg: #111111;
  --bg-soft: #1b1b1b;
  --sidebar: #171717;
  --panel: #1c1c1c;
  --panel-alt: #232323;
  --border: #2a2d33;
  --border-strong: #383c44;
  --text: #9ea4ad;
  --text-strong: #f2f2f2;
  --muted: #767d88;
  --accent: #8b929c;
  --accent-soft: rgba(139, 146, 156, 0.16);
  --success: #49c88f;
  --danger: #ff7d7d;
  --warning: #e8b45d;
  --kick: #d98b63;
  --note: #b8bcc4;
  --tone-logs: #6ea8ff;
  --tone-map: #62d6c6;
  --tone-players: #49c88f;
  --tone-economy: #e8b45d;
  --tone-vehicles: #d98b63;
  --tone-properties: #c99cff;
  --tone-punishments: #ff7d7d;
  --tone-admin: #b8bcc4;
  --shadow-sm: 0 0.4rem 1rem rgba(0, 0, 0, 0.22);
  --shadow-md: 0 1.25rem 3rem rgba(0, 0, 0, 0.28);
  --font-ui: "Inter", "Manrope", "Segoe UI Variable Text", sans-serif;
  --font-display: "Inter", "Segoe UI Variable Display", sans-serif;
  --radius-sm: 0.9rem;
  --radius-md: 1.1rem;
  --radius-lg: 1.45rem;
  --space-1: 0.5rem;
  --space-2: 0.75rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at top center, rgba(255, 255, 255, 0.035), transparent 24rem),
    linear-gradient(180deg, #111111 0%, #181818 100%);
  color: var(--text);
  font-family: var(--font-ui);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: auto;
}

button,
input,
select,
textarea,
a {
  font: inherit;
}

a {
  color: inherit;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.page-glow {
  display: none;
}

#app {
  min-height: 100vh;
}

@keyframes globalNoticeIn {
  from {
    opacity: 0;
    transform: translate(-50%, -0.75rem) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
  }
}

.global-notice {
  position: fixed;
  top: 1rem;
  left: 50%;
  z-index: 1400;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  width: min(44rem, calc(100vw - 2rem));
  padding: 0.85rem 0.9rem 0.85rem 1rem;
  border: 0.0625rem solid;
  border-radius: 0.75rem;
  box-shadow: 0 1rem 2.75rem rgba(0, 0, 0, 0.48);
  backdrop-filter: blur(18px);
  animation: globalNoticeIn 180ms ease-out both;
}

.global-notice > i {
  font-size: 1.2rem;
}

.global-notice > div {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.global-notice strong {
  color: currentColor;
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.global-notice span {
  color: #fff;
  font-size: 0.92rem;
  font-weight: 650;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.global-notice button {
  display: grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  border: 0;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.08);
  color: currentColor;
  cursor: pointer;
}

.global-notice button:hover,
.global-notice button:focus-visible {
  background: rgba(255, 255, 255, 0.15);
  outline: 0.125rem solid currentColor;
  outline-offset: 0.125rem;
}

.global-notice-error {
  border-color: rgba(255, 86, 102, 0.9);
  background: linear-gradient(135deg, rgba(86, 19, 27, 0.97), rgba(45, 13, 18, 0.97));
  color: #ff7d8b;
}

.global-notice-warning {
  border-color: rgba(232, 180, 93, 0.82);
  background: linear-gradient(135deg, rgba(72, 50, 16, 0.97), rgba(37, 28, 13, 0.97));
  color: #f2bf68;
}

.global-notice-success {
  border-color: rgba(73, 200, 143, 0.82);
  background: linear-gradient(135deg, rgba(19, 67, 47, 0.97), rgba(14, 38, 29, 0.97));
  color: #5fdaa0;
}

@media (max-width: 42rem) {
  .global-notice {
    top: 0.65rem;
    width: calc(100vw - 1.3rem);
    padding: 0.75rem 0.7rem 0.75rem 0.85rem;
  }

  .global-notice span {
    font-size: 0.84rem;
  }
}

@keyframes panelFadeIn {
  from {
    opacity: 0;
    transform: translateY(0.45rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.portal-shell,
.site-shell {
  width: min(100%, 108rem);
  margin: 0 auto;
  padding: 1rem;
}

.site-shell {
  display: grid;
  grid-template-columns: 14.5rem minmax(0, 1fr);
  gap: 0.9rem;
  align-items: start;
}

.portal-shell {
  display: grid;
  gap: 1rem;
  min-height: 100vh;
  align-content: center;
}

.site-sidebar,
.hero-card,
.table-card,
.list-card,
.detail-card,
.stat-card,
.portal-card {
  background: var(--panel);
  border: 0.0625rem solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.site-sidebar {
  position: sticky;
  top: 1rem;
  display: grid;
  gap: 0.9rem;
  padding: 0.85rem;
}

.hero-card,
.table-card,
.detail-card,
.list-card,
.portal-card {
  padding: 0.95rem;
}

.portal-card {
  text-decoration: none;
  display: grid;
  gap: 1rem;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.portal-card:hover,
.portal-card:focus-visible {
  transform: translateY(-0.0625rem);
  border-color: var(--accent);
  box-shadow: var(--shadow-md);
  outline: none;
}

.brand-lockup,
.panel-stack,
.content-grid,
.detail-grid,
.stats-grid,
.action-grid,
.metric-grid,
.inventory-editor-layout,
.inventory-grid-panel,
.inventory-inspector-card,
.inventory-inspector-head,
.inventory-inspector-art,
.inventory-action-grid,
.portal-grid,
.manager-content,
.summary-list,
.feed-list,
.stack-list,
.nav-column {
  display: grid;
  gap: 0.65rem;
}

.manager-content {
  position: relative;
}

.manager-refresh-status {
  position: sticky;
  top: 0.75rem;
  z-index: 30;
  justify-self: center;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: max-content;
  margin-bottom: -2.7rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid rgba(103, 169, 255, 0.3);
  border-radius: 999px;
  background: rgba(11, 17, 25, 0.92);
  color: #b8d7ff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
  font-size: 0.78rem;
  font-weight: 700;
  pointer-events: none;
  backdrop-filter: blur(12px);
}

.manager-loading-state {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
  min-height: min(44vh, 28rem);
  color: var(--muted);
}

.manager-loading-state > i {
  color: #79afff;
  font-size: 1.25rem;
}

.manager-load-error > i {
  color: #ff7f8d;
}

.manager-loading-state div {
  display: grid;
  gap: 0.2rem;
}

.manager-loading-state strong {
  color: var(--text);
}

.manager-loading-state span {
  font-size: 0.86rem;
}

.portal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.portal-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.portal-home-shell {
  align-content: start;
  min-height: 0;
  padding: 0;
}

.landing-shell {
  position: relative;
  width: 100vw;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: clamp(1rem, 1.2vw, 2.4rem);
  overflow: hidden;
  background: #08090b;
}

.landing-shell::before,
.landing-shell::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.landing-shell::before {
  opacity: 1;
  background:
    linear-gradient(90deg, rgba(4, 5, 8, 0.96), rgba(4, 5, 8, 0.78) 44%, rgba(4, 5, 8, 0.95)),
    linear-gradient(180deg, rgba(4, 5, 8, 0.68), rgba(4, 5, 8, 0.985));
  background-size: 100% 100%, 100% 100%;
}

.landing-shell::after {
  opacity: 0.34;
  background:
    radial-gradient(circle at 22% 72%, rgba(110, 168, 255, 0.24) 0 0.08rem, transparent 0.12rem),
    radial-gradient(circle at 72% 36%, rgba(98, 214, 198, 0.22) 0 0.08rem, transparent 0.12rem),
    radial-gradient(circle at 88% 76%, rgba(232, 180, 93, 0.16) 0 0.08rem, transparent 0.12rem);
  background-size: 11rem 11rem, 13rem 13rem, 17rem 17rem;
}

.landing-shell > * {
  position: relative;
  z-index: 1;
}

.landing-grid-overlay {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    repeating-linear-gradient(0deg, rgba(210, 214, 220, 0.12) 0 0.0625rem, transparent 0.0625rem 4rem),
    repeating-linear-gradient(90deg, rgba(210, 214, 220, 0.1) 0 0.0625rem, transparent 0.0625rem 4rem);
}

.landing-bg-image {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  object-position: 56% center;
  pointer-events: none;
  user-select: none;
}

.portal-action-card {
  min-height: 22rem;
  align-content: center;
  text-align: center;
}

.portal-action-card .panel-stack {
  justify-items: center;
}

.portal-action-card .body-copy {
  max-width: 20rem;
  margin: 0 auto;
}

.landing-actions-section {
  position: relative;
  z-index: 6;
  display: grid;
  gap: 1rem;
  padding: 1.1rem 0;
  border: 0;
  background: transparent;
}

.landing-hero {
  position: relative;
  z-index: 6;
}

.landing-actions-clean {
  min-height: 34rem;
  align-content: center;
}

.landing-actions-heading {
  display: grid;
  justify-items: center;
  gap: 0.35rem;
  max-width: 48rem;
  margin: 0 auto;
  text-align: center;
}

.landing-actions-heading span {
  color: #cfe2ff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.landing-actions-heading h2 {
  margin: 0;
  color: var(--text-strong);
  font-size: clamp(1.6rem, 3vw, 3rem);
  line-height: 1;
  letter-spacing: -0.04em;
}

.landing-actions-heading p {
  max-width: 36rem;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.landing-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(18rem, 30rem));
  justify-content: center;
  align-items: stretch;
  gap: 1rem;
}

.landing-action-grid.has-staff {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.landing-action-grid.card-count-3 {
  grid-template-columns: repeat(3, minmax(15rem, 24rem));
}

.landing-action-grid.card-count-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.landing-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr);
  gap: 1rem;
  min-height: 31rem;
  padding: clamp(1.25rem, 3vw, 3rem);
  border: 0.0625rem solid var(--border);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(135deg, rgba(110, 168, 255, 0.16), transparent 36%),
    radial-gradient(circle at 82% 22%, rgba(98, 214, 198, 0.14), transparent 18rem),
    linear-gradient(180deg, #202124 0%, #17181b 100%);
  box-shadow: var(--shadow-md);
}

.landing-hero-minimal {
  min-height: 4.8rem;
  padding: 1rem;
  overflow: visible;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.landing-hero-minimal::before {
  display: none;
}

.landing-web-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}

.portal-home-shell {
  position: relative;
  z-index: 5;
}

.landing-login {
  position: fixed;
  top: clamp(1rem, 1.2vw, 2.4rem);
  right: clamp(1rem, 1.2vw, 2.4rem);
  width: min(32rem, calc(100vw - clamp(2rem, 2.4vw, 4.8rem)));
  z-index: 20;
}

.landing-discord-login,
.landing-auth-card {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: clamp(0.7rem, 0.75vw, 1.15rem);
  width: 100%;
  min-height: clamp(3.4rem, 3.2vw, 5rem);
  padding: clamp(0.55rem, 0.55vw, 0.95rem) clamp(0.75rem, 0.85vw, 1.25rem) clamp(0.55rem, 0.55vw, 0.95rem) clamp(0.55rem, 0.55vw, 0.95rem);
  border: 0.0625rem solid rgba(110, 168, 255, 0.34);
  background:
    linear-gradient(135deg, rgba(34, 50, 71, 0.92), rgba(18, 19, 22, 0.86)),
    radial-gradient(circle at 16% 18%, rgba(110, 168, 255, 0.2), transparent 7rem);
  color: #dbeaff;
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.24);
}

.landing-discord-login:hover,
.landing-discord-login:focus-visible {
  border-color: var(--tone-logs);
  background:
    linear-gradient(135deg, rgba(43, 64, 92, 0.98), rgba(22, 24, 29, 0.92)),
    radial-gradient(circle at 18% 20%, rgba(110, 168, 255, 0.28), transparent 7rem);
  transform: translateY(-0.0625rem);
  outline: none;
}

.landing-discord-icon {
  display: grid;
  place-items: center;
  width: clamp(2.25rem, 2.25vw, 3.3rem);
  height: clamp(2.25rem, 2.25vw, 3.3rem);
  border: 0.0625rem solid rgba(207, 226, 255, 0.2);
  background: rgba(88, 101, 242, 0.18);
  color: #cfd6ff;
  font-size: clamp(1.05rem, 1.05vw, 1.5rem);
}

.landing-discord-copy {
  display: grid;
  gap: 0.05rem;
  min-width: 0;
  text-align: left;
}

.landing-discord-copy small {
  color: var(--muted);
  font-size: clamp(0.62rem, 0.56vw, 0.86rem);
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.landing-discord-copy strong {
  color: var(--text-strong);
  font-size: clamp(0.86rem, 0.82vw, 1.18rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.landing-auth-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
  color: var(--text-strong);
}

.landing-auth-card span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.landing-auth-card strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.landing-auth-card .ghost-button {
  grid-row: 1 / span 2;
  grid-column: 2;
  min-height: 2rem;
  padding: 0.35rem 0.55rem;
}

.landing-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.18;
  background-image:
    linear-gradient(rgba(255,255,255,0.05) 0.0625rem, transparent 0.0625rem),
    linear-gradient(90deg, rgba(255,255,255,0.05) 0.0625rem, transparent 0.0625rem);
  background-size: 3rem 3rem;
  pointer-events: none;
}

.landing-hero-copy,
.landing-hero-visual {
  position: relative;
  z-index: 1;
}

.landing-hero-copy {
  display: grid;
  align-content: center;
  gap: 1rem;
  max-width: 48rem;
  animation: landingReveal 560ms ease both;
}

.landing-kicker {
  width: max-content;
  padding: 0.35rem 0.6rem;
  border: 0.0625rem solid rgba(110, 168, 255, 0.32);
  background: rgba(110, 168, 255, 0.12);
  color: #cfe2ff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.landing-title {
  margin: 0;
  color: var(--text-strong);
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5vw, 5.2rem);
  line-height: 0.94;
  letter-spacing: -0.06em;
}

.landing-copy {
  max-width: 40rem;
  margin: 0;
  color: #c7ccd4;
  font-size: 1.05rem;
  line-height: 1.65;
}

.landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 0.35rem;
}

.landing-primary,
.landing-secondary {
  min-height: 3rem;
}

.landing-hero-visual {
  display: grid;
  align-content: center;
  min-height: 26rem;
  animation: landingReveal 720ms ease 90ms both;
}

.landing-preview-card {
  border: 0.0625rem solid rgba(255, 255, 255, 0.08);
  background: rgba(18, 19, 22, 0.88);
  box-shadow: var(--shadow-sm);
}

.landing-preview-card.is-main {
  display: grid;
  gap: 0.8rem;
  width: min(100%, 38rem);
  min-height: 22rem;
  padding: 1rem;
  justify-self: end;
  animation: landingFloat 6.5s ease-in-out infinite;
}

.landing-preview-card.is-small,
.landing-preview-card.is-alert {
  position: absolute;
  display: grid;
  gap: 0.25rem;
  min-width: 12rem;
  padding: 0.8rem;
}

.landing-preview-card.is-small {
  left: 0;
  bottom: 3rem;
  animation: landingFloat 5.8s ease-in-out 600ms infinite;
}

.landing-preview-card.is-alert {
  right: 2rem;
  top: 2rem;
  border-color: rgba(232, 180, 93, 0.22);
  animation: landingFloat 6.2s ease-in-out 240ms infinite;
}

.landing-preview-card span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.landing-preview-card strong {
  color: var(--text-strong);
}

.landing-preview-bar,
.landing-preview-row {
  min-height: 1rem;
  background: #30343b;
}

.landing-preview-bar {
  width: 52%;
}

.landing-preview-map {
  min-height: 13rem;
  background:
    radial-gradient(circle at 28% 32%, rgba(73, 200, 143, 0.86) 0 0.55rem, transparent 0.62rem),
    radial-gradient(circle at 68% 58%, rgba(232, 180, 93, 0.9) 0 0.55rem, transparent 0.62rem),
    radial-gradient(circle at 52% 36%, rgba(110, 168, 255, 0.85) 0 0.45rem, transparent 0.52rem),
    linear-gradient(135deg, #25303a 0%, #191c21 100%);
}

.landing-preview-row {
  width: 78%;
}

.landing-preview-row.short {
  width: 46%;
}

.landing-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.landing-strip div {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem;
  border: 0.0625rem solid var(--border);
  background: var(--panel);
}

.landing-strip strong {
  color: var(--text-strong);
}

.landing-strip span {
  color: var(--muted);
  font-size: 0.82rem;
}

.portal-card-media {
  position: relative;
  display: grid;
  min-height: 7.25rem;
  align-content: end;
  padding: 0.8rem;
  overflow: hidden;
  border: 0.0625rem solid rgba(255, 255, 255, 0.06);
  background: linear-gradient(135deg, #2a2d33, #17191d);
}

.portal-card-media::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.56;
  background:
    linear-gradient(135deg, transparent 0 42%, rgba(255, 255, 255, 0.16) 42% 43%, transparent 43%),
    linear-gradient(rgba(110, 168, 255, 0.12) 0.0625rem, transparent 0.0625rem),
    linear-gradient(90deg, rgba(110, 168, 255, 0.1) 0.0625rem, transparent 0.0625rem);
  background-size: 100% 100%, 2.4rem 2.4rem, 2.4rem 2.4rem;
}

.portal-card-media-rules {
  background:
    linear-gradient(135deg, rgba(18, 36, 62, 0.86), rgba(7, 9, 13, 0.76)),
    url('/assets/landing-bg.jpg');
  background-size: cover;
  background-position: 14% 56%;
}

.portal-card-media-news {
  background:
    linear-gradient(135deg, rgba(61, 50, 17, 0.82), rgba(8, 10, 13, 0.78)),
    url('/assets/landing-bg.jpg');
  background-size: cover;
  background-position: 48% 50%;
}

.portal-card-media-logs {
  background:
    linear-gradient(135deg, rgba(16, 42, 70, 0.84), rgba(8, 10, 13, 0.78)),
    url('/assets/landing-bg.jpg');
  background-size: cover;
  background-position: 72% 58%;
}

.portal-card-media-staff-panel {
  background:
    linear-gradient(135deg, rgba(60, 68, 82, 0.86), rgba(8, 10, 13, 0.8)),
    url('/assets/landing-bg.jpg');
  background-size: cover;
  background-position: 86% 54%;
}

.portal-card-media .portal-card-icon {
  position: relative;
  z-index: 1;
}

@keyframes landingReveal {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes landingFloat {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-0.55rem);
  }
}

.brand-lockup {
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: 0.85rem;
}

.brand-mark,
.portal-card-icon {
  width: 2.35rem;
  height: 2.35rem;
  display: grid;
  place-items: center;
  border-radius: 0.95rem;
  background: linear-gradient(180deg, rgba(168, 173, 181, 0.16) 0%, rgba(38, 41, 47, 0.92) 100%);
  color: var(--accent);
  border: 0.0625rem solid rgba(168, 173, 181, 0.16);
}

.brand-mark-image {
  overflow: hidden;
  background: #050505;
}

.brand-mark-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.eyebrow {
  margin: 0;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.display-title,
.page-title,
.section-title,
.stat-value,
.card-title {
  margin: 0;
  color: var(--text-strong);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.display-title {
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  line-height: 1.02;
}

.page-title {
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
  line-height: 1.08;
}

.section-title {
  font-size: 1.05rem;
}

.brand-copy,
.body-copy,
.table-muted,
.muted {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.sidebar-label {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.table-muted {
  font-size: 0.76rem;
}

.nav-button,
.primary-button,
.ghost-button,
.compact-button {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.7rem;
  width: 100%;
  border: 0.0625rem solid var(--border);
  border-radius: 0.95rem;
  background: var(--panel-alt);
  color: var(--text-strong);
  cursor: pointer;
  text-decoration: none;
  transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.nav-button {
  padding: 0.55rem 0.65rem;
  text-align: left;
}

.nav-button[data-panel="dashboard"] {
  background: #2d343c;
  border-color: #434b54;
}

.nav-button[data-panel="players"] {
  background: #31403b;
  border-color: #495b55;
}

.nav-button[data-panel="economy"] {
  background: #3f382d;
  border-color: #5e5546;
}

.nav-button[data-panel="vehicles"] {
  background: #41372f;
  border-color: #5d5146;
}

.nav-button[data-panel="properties"] {
  background: #3b3241;
  border-color: #574b60;
}

.nav-button[data-panel="map"] {
  background: #2f3e46;
  border-color: #485b65;
}

.nav-button[data-panel="permissions"],
.nav-button[data-panel="templates"],
.nav-button[data-panel="audit"] {
  background: #303030;
  border-color: #444444;
}

.primary-button,
.ghost-button {
  width: auto;
  padding: 0.65rem 0.85rem;
  justify-content: center;
}

.danger-button {
  background: #5a3030;
  border-color: #7b4343;
  color: #ffd8d8;
}

.tone-button-warning,
.tone-button-kick,
.tone-button-danger,
.tone-button-success,
.tone-button-note {
  border-width: 0.0625rem;
}

.ghost-button.tone-button-warning {
  background: #5a4725;
  border-color: #7d6432;
  color: #f0c97d;
}

.ghost-button.tone-button-kick {
  background: #5b3d2d;
  border-color: #7a543e;
  color: #ebb08d;
}

.ghost-button.tone-button-danger {
  background: #5a3030;
  border-color: #7b4343;
  color: #ffd8d8;
}

.ghost-button.tone-button-success {
  background: #27473a;
  border-color: #386653;
  color: #9be3bd;
}

.ghost-button.tone-button-note {
  background: #3b3b3b;
  border-color: #565656;
  color: #d2d6dd;
}

.compact-button {
  width: auto;
  padding: 0.55rem 0.8rem;
}

.primary-button {
  background: var(--accent);
  border-color: var(--accent);
  color: #f5f5f5;
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.22);
}

.ghost-button,
.compact-button {
  background: var(--panel-alt);
}

.compact-button {
  border-color: #363b43;
  color: #d9dde4;
}

.compact-button i,
.ghost-button i,
.primary-button i {
  color: currentColor;
}

.compact-button[data-refresh-logs],
.compact-button[data-refresh-map],
.ghost-button[data-economy-refresh-ui],
.compact-action-button[data-refresh-player-timeline] {
  background: #253447;
  border-color: rgba(110, 168, 255, 0.4);
  color: #bcd7ff;
}

.compact-button[data-clear-log-filters],
.density-toggle {
  background: #343434;
  border-color: #505050;
  color: #d7d9de;
}

.compact-button[data-log-review-state="observed"],
.compact-button[data-economy-alert-status][data-alert-status="seen"] {
  background: #2d343c;
  border-color: #46515d;
  color: #c6d8ee;
}

.compact-button[data-log-review-state="investigating"],
.compact-button[data-economy-alert-status][data-alert-status="investigating"] {
  background: #4a3c21;
  border-color: #705b32;
  color: #f0c97d;
}

.compact-button[data-log-review-state="resolved"],
.compact-button[data-economy-alert-status][data-alert-status="resolved"] {
  background: #27473a;
  border-color: #3a6b56;
  color: #9be3bd;
}

.topbar-signout {
  background: #3f2424;
  border-color: #633737;
  color: #ffd8d8;
}

.nav-button:hover,
.nav-button:focus-visible,
.nav-button.is-active,
.ghost-button:hover,
.ghost-button:focus-visible,
.compact-button:hover,
.compact-button:focus-visible,
.primary-button:hover,
.primary-button:focus-visible {
  border-color: var(--accent);
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(139, 146, 156, 0.08);
}

.nav-button[data-panel="dashboard"]:hover,
.nav-button[data-panel="dashboard"]:focus-visible,
.nav-button[data-panel="dashboard"].is-active {
  background: #38414a;
  border-color: #56616d;
}

.nav-button[data-panel="players"]:hover,
.nav-button[data-panel="players"]:focus-visible,
.nav-button[data-panel="players"].is-active {
  background: #3b4d47;
  border-color: #5a7068;
}

.nav-button[data-panel="economy"]:hover,
.nav-button[data-panel="economy"]:focus-visible,
.nav-button[data-panel="economy"].is-active {
  background: #4d4537;
  border-color: #726753;
}

.nav-button[data-panel="vehicles"]:hover,
.nav-button[data-panel="vehicles"]:focus-visible,
.nav-button[data-panel="vehicles"].is-active {
  background: #514439;
  border-color: #736150;
}

.nav-button[data-panel="properties"]:hover,
.nav-button[data-panel="properties"]:focus-visible,
.nav-button[data-panel="properties"].is-active {
  background: #483d4f;
  border-color: #695a74;
}

.nav-button[data-panel="map"]:hover,
.nav-button[data-panel="map"]:focus-visible,
.nav-button[data-panel="map"].is-active {
  background: #3a4d57;
  border-color: #58717d;
}

.nav-button i {
  width: 1.1rem;
  color: #9ba1aa;
}

.site-main {
  display: grid;
  gap: 0.75rem;
}

.manager-page-stack,
.manager-side-stack,
.manager-results-card,
.manager-detail-shell,
.player-pane-shell {
  display: grid;
  gap: 0.95rem;
}

.selected-record-toolbar {
  border-color: rgba(110, 168, 255, 0.24);
  background:
    linear-gradient(90deg, rgba(110, 168, 255, 0.08), rgba(255, 255, 255, 0)),
    var(--panel);
}

.manager-record-detail-shell {
  width: 100%;
}

.manager-record-detail-shell > .profile-content-grid {
  width: 100%;
}

.manager-header-card {
  gap: 0.85rem;
  padding: 1.1rem 1.15rem;
}

.manager-toolbar-card {
  gap: 1rem;
}

.portal-shell > *,
.site-sidebar > *,
.site-main > *,
.manager-content > *,
.hero-grid > *,
.stats-grid > *,
.content-grid > *,
.detail-grid > *,
.profile-content-grid > *,
.portal-grid > *,
.live-map-layout > * {
  animation: panelFadeIn 180ms ease both;
}

.site-sidebar > *:nth-child(2),
.site-main > *:nth-child(2),
.manager-content > *:nth-child(2),
.hero-grid > *:nth-child(2),
.stats-grid > *:nth-child(2),
.content-grid > *:nth-child(2),
.detail-grid > *:nth-child(2),
.profile-content-grid > *:nth-child(2),
.portal-grid > *:nth-child(2),
.live-map-layout > *:nth-child(2) {
  animation-delay: 45ms;
}

.site-sidebar > *:nth-child(3),
.site-main > *:nth-child(3),
.manager-content > *:nth-child(3),
.hero-grid > *:nth-child(3),
.stats-grid > *:nth-child(3),
.content-grid > *:nth-child(3),
.detail-grid > *:nth-child(3),
.profile-content-grid > *:nth-child(3),
.portal-grid > *:nth-child(3),
.live-map-layout > *:nth-child(3) {
  animation-delay: 90ms;
}

.site-sidebar > *:nth-child(4),
.site-main > *:nth-child(4),
.manager-content > *:nth-child(4),
.hero-grid > *:nth-child(4),
.stats-grid > *:nth-child(4),
.content-grid > *:nth-child(4),
.detail-grid > *:nth-child(4),
.profile-content-grid > *:nth-child(4),
.portal-grid > *:nth-child(4),
.live-map-layout > *:nth-child(4) {
  animation-delay: 135ms;
}

.hero-grid,
.content-grid {
  display: grid;
  gap: 0.75rem;
}

.profile-content-grid {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: minmax(0, 1fr);
}

.detail-grid-single {
  grid-template-columns: minmax(0, 1fr);
}

.compact-player-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: end;
}

.compact-toolbar-actions {
  justify-content: flex-end;
  align-self: end;
}

.compact-picker-actions {
  justify-content: flex-end;
}

.content-grid.live-map-layout {
  grid-template-columns: minmax(0, 3.75fr) minmax(10rem, 0.28fr);
  align-items: start;
}

.content-editor-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
  align-items: start;
}

.content-view-grid {
  grid-template-columns: minmax(0, 1fr);
}

.content-document-card,
.content-editor-form {
  display: grid;
  gap: 0.85rem;
}

.content-document-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding-bottom: 0.7rem;
  border-bottom: 0.0625rem solid var(--border);
}

.content-document-head .section-title {
  font-size: 1.15rem;
}

.content-document-head .body-copy {
  font-size: 0.78rem;
  line-height: 1.3;
}

.content-inline-title {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 0 0 0.35rem;
  border: 0;
  background: transparent;
}

.rules-inline-title {
  margin-bottom: 0.45rem;
}

.content-inline-title .section-title {
  font-size: 1.15rem;
}

.content-inline-title .body-copy {
  font-size: 0.78rem;
  line-height: 1.3;
}

.news-inline-title {
  width: 100%;
  margin: 0;
}

.news-page-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  gap: 1rem;
}

.news-page-shell.has-editor {
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.32fr);
  align-items: start;
}

.news-post-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
}

.news-post-card {
  position: relative;
  display: grid;
  gap: 0.8rem;
  width: 100%;
  padding: clamp(1rem, 1.35vw, 1.6rem);
  overflow: hidden;
  border: 0.0625rem solid #282d36;
  border-radius: 1.25rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    #131417;
  color: var(--text);
  text-decoration: none;
  box-shadow: 0 1rem 2.8rem rgba(0, 0, 0, 0.25);
}

.news-post-card:hover,
.news-post-card:focus-visible {
  border-color: #3b4350;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0)),
    #17191d;
  outline: none;
}

.news-post-card-link {
  display: grid;
  gap: 0.8rem;
  color: inherit;
  text-decoration: none;
}

.news-post-actions {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
  padding-top: 0.35rem;
  border-top: 0.0625rem solid #272d35;
}

.news-post-form .compact-textarea textarea {
  min-height: 4.5rem;
}

.news-post-card h2 {
  padding-right: 6rem;
  padding-bottom: 0.6rem;
  border-bottom: 0.0625rem solid #2b3038;
  font-size: clamp(1.35rem, 1.45vw, 2rem);
}

.news-post-card h3 {
  color: #dce6f4;
  font-size: clamp(0.95rem, 0.95vw, 1.2rem);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.news-post-card p,
.news-post-card li {
  color: #aeb5c0;
  font-size: clamp(0.9rem, 0.85vw, 1rem);
  line-height: 1.55;
}

.news-post-meta {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  display: flex;
  gap: 0.4rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.news-date-chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.25rem 0.55rem;
  border: 0.0625rem solid #333944;
  border-radius: 999rem;
  background: #20242b;
  color: #c1cad8;
  font-size: 0.72rem;
  font-weight: 900;
}

.news-open-link {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.15rem;
  color: #9cc7ff;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.news-detail-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  width: 100%;
}

.news-detail-shell.has-audit {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.32fr);
}

.news-detail-card {
  position: relative;
  display: grid;
  gap: 1rem;
  width: min(82rem, 100%);
  min-height: 48rem;
  margin: 0;
  padding: clamp(1.4rem, 2.4vw, 2.5rem);
  border: 0.0625rem solid #2d333d;
  border-radius: 1.4rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    #141518;
  color: var(--text);
}

.news-detail-meta {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  justify-content: flex-end;
}

.news-detail-card h2 {
  padding-bottom: 0.85rem;
  border-bottom: 0.0625rem solid #2b3038;
  font-size: clamp(1.8rem, 2.4vw, 3rem);
}

.news-detail-card h3 {
  color: #dce6f4;
  font-size: clamp(1.05rem, 1.2vw, 1.45rem);
  text-transform: uppercase;
}

.news-detail-card p,
.news-detail-card li {
  color: #b8c0ce;
  font-size: clamp(1rem, 0.95vw, 1.15rem);
  line-height: 1.65;
}

.news-detail-card .rules-doc-image img {
  width: 100%;
  height: clamp(18rem, 28vw, 34rem);
  object-fit: cover;
  border-radius: 1.1rem;
}

.news-detail-card .rules-doc-image figcaption {
  display: none;
}

.news-audit-card {
  position: sticky;
  top: 0.75rem;
  display: grid;
  gap: 0.75rem;
  max-height: calc(100vh - 1.5rem);
  overflow: auto;
}

.news-audit-list {
  display: grid;
  gap: 0.55rem;
}

.news-audit-row {
  display: grid;
  gap: 0.45rem;
  padding: 0.7rem;
  border: 0.0625rem solid #282d36;
  border-radius: 0.85rem;
  background: #17191d;
}

.news-audit-row > div:first-child {
  display: grid;
  gap: 0.15rem;
}

.news-audit-row strong {
  color: var(--text-strong);
  font-size: 0.86rem;
}

.news-audit-row span {
  color: var(--muted);
  font-size: 0.72rem;
}

.news-audit-row p {
  margin: 0;
  color: #aeb7c5;
  font-size: 0.78rem;
  line-height: 1.45;
}

.news-post-card .rules-doc-image {
  margin: 0;
  border-color: #2b3038;
  border-radius: 1rem;
  background: #0e0f12;
}

.news-post-card .rules-doc-image img {
  width: 100%;
  height: clamp(11rem, 16vw, 18rem);
  object-fit: cover;
  border-radius: 1rem 1rem 0 0;
}

.news-post-card .rules-doc-image figcaption {
  display: none;
}

.news-body-card {
  width: 100%;
  min-height: 34rem;
  padding: clamp(1.2rem, 2vw, 2.2rem);
  border: 0.0625rem solid #272b33;
  border-radius: 1.25rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0)),
    #141518;
  color: var(--text);
}

.news-body-card h2 {
  padding-bottom: 0.65rem;
  border-bottom: 0.0625rem solid #2b3038;
  font-size: 1.55rem;
}

.news-body-card h3 {
  margin-top: 0.75rem;
  font-size: 1.1rem;
}

.news-body-card p,
.news-body-card li {
  color: #aeb5c0;
  font-size: 0.95rem;
  line-height: 1.55;
}

.news-editor-stack {
  display: grid;
  gap: 1rem;
}

.content-rendered {
  display: grid;
  gap: 0.65rem;
  color: var(--text);
}

.markdown-body h2,
.markdown-body h3 {
  margin: 0;
  color: var(--text-strong);
}

.markdown-body h2 {
  font-size: 1.35rem;
}

.markdown-body h3 {
  font-size: 1rem;
}

.markdown-body p,
.markdown-body ul {
  margin: 0;
}

.markdown-body ul {
  display: grid;
  gap: 0.35rem;
  padding-left: 1.2rem;
}

.content-editor-form textarea {
  min-height: 24rem;
}

/* Access Control v3 — one flat workspace, aligned with the Logs information architecture. */
.permissions-v3-page {
  gap: 0;
  min-width: 0;
  overflow: hidden;
  border: 0.0625rem solid #26313d;
  border-radius: 0.75rem;
  background: #0f141a;
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.18);
}

.permissions-v3-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  min-height: 5.3rem;
  padding: 1rem 1.15rem;
  border-bottom: 0.0625rem solid #26313d;
  background: #10151b;
}

.permissions-v3-page-head .eyebrow,
.permissions-v3-surface-head .eyebrow {
  margin: 0 0 0.25rem;
  color: #6ea8ff;
}

.permissions-v3-page-head .page-title {
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  line-height: 1.05;
}

.permissions-v3-page-head > div > p:last-child {
  margin: 0.35rem 0 0;
  color: #8da0b3;
  font-size: 0.86rem;
}

.permissions-v3-search {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: min(100%, 31rem);
}

.permissions-v3-search label {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.65rem;
  padding: 0 0.8rem;
  border: 0.0625rem solid #2b3744;
  border-radius: 0.5rem;
  background: #0c1117;
  color: #73879a;
}

.permissions-v3-search label:focus-within {
  border-color: #4d9cff;
  box-shadow: 0 0 0 0.16rem rgba(77, 156, 255, 0.13);
}

.permissions-v3-search input {
  width: 100%;
  min-width: 0;
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #f3f7fb;
  box-shadow: none;
}

.permissions-v3-search input:focus {
  outline: none;
}

.permissions-v3-search .ghost-button {
  min-height: 2.65rem;
}

.permissions-v3-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  min-height: 3rem;
  padding: 0 1.15rem;
  border-bottom: 0.0625rem solid #26313d;
  background: #0d1218;
}

.permissions-v3-summary span {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  min-height: 1.7rem;
  padding: 0 1.15rem;
  border-right: 0.0625rem solid #26313d;
  color: #9cadbd;
  font-size: 0.76rem;
}

.permissions-v3-summary span:first-child {
  padding-left: 0;
}

.permissions-v3-summary span:last-child {
  border-right: 0;
}

.permissions-v3-summary i {
  color: #4d9cff;
}

.permissions-v3-summary strong {
  color: #f3f7fb;
  font-size: 0.88rem;
}

.permissions-v3-summary .has-warning i,
.permissions-v3-summary .has-warning strong,
.permissions-v3-owner.has-warning {
  color: #f5b94c;
}

.permissions-v3-workspace {
  display: grid;
  grid-template-columns: 16.5rem minmax(0, 1fr);
  height: clamp(30rem, calc(100vh - 15rem), 43rem);
  min-height: 0;
  background: #0f141a;
}

.permissions-v3-nav {
  min-width: 0;
  padding: 0.75rem 0;
  border-right: 0.0625rem solid #26313d;
  background: #0d1218;
}

.permissions-v3-nav-title {
  padding: 0.25rem 1rem 0.65rem;
  color: #73879a;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.permissions-v3-nav-row {
  position: relative;
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 3.75rem;
  padding: 0.55rem 0.85rem 0.55rem 1rem;
  border: 0;
  border-bottom: 0.0625rem solid rgba(38, 49, 61, 0.72);
  border-radius: 0;
  background: transparent;
  color: #8fa2b5;
  text-align: left;
  cursor: pointer;
  transition: background 140ms ease, color 140ms ease;
}

.permissions-v3-nav-row::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.2rem;
  background: transparent;
}

.permissions-v3-nav-row:hover,
.permissions-v3-nav-row:focus-visible {
  background: #121a23;
  color: #eaf1f8;
  outline: none;
}

.permissions-v3-nav-row.is-active {
  background: #13243a;
  color: #f3f7fb;
}

.permissions-v3-nav-row.is-active::before {
  background: #4d9cff;
}

.permissions-v3-nav-row > i {
  color: #7290ad;
  font-size: 0.95rem;
  text-align: center;
}

.permissions-v3-nav-row.is-active > i {
  color: #64a9ff;
}

.permissions-v3-nav-row span {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.permissions-v3-nav-row strong {
  color: inherit;
  font-size: 0.82rem;
  line-height: 1.05;
}

.permissions-v3-nav-row small {
  overflow: hidden;
  color: #697d90;
  font-size: 0.62rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.permissions-v3-nav-row em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.7rem;
  min-height: 1.35rem;
  padding: 0 0.38rem;
  border-radius: 999rem;
  background: #1b2530;
  color: #afbdca;
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 800;
}

.permissions-v3-main,
.permissions-v3-surface {
  min-width: 0;
  min-height: 0;
}

.permissions-v3-main {
  overflow: hidden;
}

.permissions-v3-surface {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  background: #10151b;
}

.permissions-v3-surface.has-add-form {
  grid-template-rows: auto auto minmax(0, 1fr);
}

.permissions-v3-surface-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 5.5rem;
  padding: 0.9rem 1.05rem;
  border-bottom: 0.0625rem solid #26313d;
}

.permissions-v3-surface-head h3 {
  margin: 0;
  color: #f3f7fb;
  font-size: 1.08rem;
}

.permissions-v3-surface-head p:last-child {
  margin: 0.28rem 0 0;
  color: #8da0b3;
  font-size: 0.76rem;
}

.permissions-v3-owner {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex: 0 0 auto;
  color: #86d9b2;
  font-size: 0.72rem;
  font-weight: 700;
}

.permissions-v3-add-button {
  min-height: 2.45rem;
}

.permissions-v3-add-strip {
  display: grid;
  grid-template-columns: minmax(11rem, 0.8fr) minmax(0, 2.3fr);
  gap: 1rem;
  align-items: end;
  padding: 0.85rem 1.05rem;
  border-bottom: 0.0625rem solid #26313d;
  background: #121a23;
}

.permissions-v3-add-strip > div {
  display: grid;
  gap: 0.24rem;
}

.permissions-v3-add-strip > div strong {
  color: #f3f7fb;
  font-size: 0.82rem;
}

.permissions-v3-add-strip > div span {
  color: #8295a7;
  font-size: 0.7rem;
}

.permissions-v3-add-form {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) minmax(12rem, 1.25fr) minmax(8rem, 0.8fr) auto;
  gap: 0.5rem;
  align-items: end;
}

.permissions-v3-add-form .field {
  gap: 0.2rem;
}

.permissions-v3-add-form input,
.permissions-v3-add-form select,
.permissions-v3-add-form .primary-button {
  min-height: 2.35rem;
}

.permissions-v3-directory {
  display: grid;
  grid-template-columns: minmax(14rem, 0.8fr) minmax(22rem, 1.6fr);
  min-height: 0;
  overflow: hidden;
}

.permissions-v3-directory-pane {
  min-width: 0;
  overflow: auto;
  border-right: 0.0625rem solid #26313d;
  scrollbar-gutter: stable;
}

.permissions-v3-directory-pane:last-child {
  border-right: 0;
}

.permissions-v3-subhead,
.permissions-v3-simple-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.6rem;
  padding: 0 0.9rem;
  border-bottom: 0.0625rem solid #26313d;
  background: #0d1218;
  color: #879aac;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.permissions-v3-subhead strong {
  color: #b7c5d1;
}

.permissions-v3-rows {
  min-width: 0;
}

.permissions-v3-data-row {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
  min-height: 3.75rem;
  padding: 0.55rem 0.9rem;
  border-bottom: 0.0625rem solid #222d38;
}

.permissions-v3-data-row > div:nth-child(2) {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.permissions-v3-data-row strong {
  overflow: hidden;
  color: #eaf1f8;
  font-size: 0.8rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.permissions-v3-data-row span {
  overflow: hidden;
  color: #718598;
  font-size: 0.66rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.permissions-v3-icon,
.permissions-v3-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.45rem;
  background: #182431;
  color: #74adf4;
  font-size: 0.72rem;
  font-weight: 800;
}

.permissions-v3-rank,
.permissions-v3-role {
  padding: 0.28rem 0.46rem;
  border: 0.0625rem solid #304153;
  border-radius: 0.4rem;
  background: #151e27;
  color: #a9bac9 !important;
  font-weight: 700;
}

.permissions-v3-table-scroll {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

.permissions-v3-matrix {
  display: grid;
  grid-template-columns: minmax(12rem, 1.35fr) repeat(var(--permission-columns), minmax(7.25rem, 1fr));
  min-width: max(52rem, calc(12rem + (var(--permission-columns) * 7.25rem)));
}

.permissions-v3-matrix > div,
.permissions-v3-matrix > label {
  min-width: 0;
  border-right: 0.0625rem solid #26313d;
}

.permissions-v3-matrix > :last-child {
  border-right: 0;
}

.permissions-v3-matrix-head {
  position: sticky;
  top: 0;
  z-index: 4;
  min-height: 2.65rem;
  border-bottom: 0.0625rem solid #31404f;
  background: #0d1218;
}

.permissions-v3-matrix-head > div {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.7rem;
  color: #8da0b3;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.permissions-v3-matrix-head > div:first-child {
  position: sticky;
  left: 0;
  z-index: 5;
  justify-content: flex-start;
  background: #0d1218;
}

.permissions-v3-matrix-row {
  min-height: 3.7rem;
  border-bottom: 0.0625rem solid #222d38;
  background: #10151b;
}

.permissions-v3-matrix-row:hover {
  background: #111a23;
}

.permissions-v3-matrix-label {
  position: sticky;
  left: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.18rem;
  padding: 0.55rem 0.85rem;
  background: #10151b;
}

.permissions-v3-matrix-row:hover .permissions-v3-matrix-label {
  background: #111a23;
}

.permissions-v3-matrix-label strong {
  overflow: hidden;
  color: #eef4fa;
  font-size: 0.78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.permissions-v3-matrix-label span {
  overflow: hidden;
  color: #6f8295;
  font-size: 0.62rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.permissions-v3-status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 3.7rem;
  padding: 0.65rem;
  color: #31c48d;
}

.permissions-v3-status.is-blocked {
  color: #ef6574;
}

.permissions-v3-status i {
  width: 0.8rem;
  font-size: 0.65rem;
  pointer-events: none;
}

.permissions-v3-status select {
  width: auto;
  min-width: 5.6rem;
  min-height: 2rem;
  padding: 0.28rem 1.25rem 0.28rem 0.45rem;
  border: 0.0625rem solid rgba(49, 196, 141, 0.34);
  border-radius: 0.42rem;
  background-color: rgba(49, 196, 141, 0.07);
  color: #67dcae;
  font-size: 0.68rem;
  font-weight: 750;
}

.permissions-v3-status.is-blocked select {
  border-color: rgba(239, 101, 116, 0.34);
  background-color: rgba(239, 101, 116, 0.07);
  color: #ff8290;
}

.permissions-v3-simple-table,
.permissions-v3-request-list {
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

.permissions-v3-simple-head,
.permissions-v3-simple-row {
  display: grid;
  grid-template-columns: minmax(10rem, 0.8fr) minmax(15rem, 1.4fr) minmax(7rem, 0.5fr);
  align-items: center;
  gap: 1rem;
}

.permissions-v3-simple-head {
  position: sticky;
  top: 0;
  z-index: 2;
}

.permissions-v3-simple-row {
  min-height: 3.75rem;
  padding: 0.65rem 0.9rem;
  border-bottom: 0.0625rem solid #222d38;
}

.permissions-v3-simple-row strong {
  color: #edf3f8;
  font-size: 0.8rem;
}

.permissions-v3-simple-row code {
  overflow: hidden;
  color: #9cb0c3;
  font-size: 0.72rem;
  text-overflow: ellipsis;
}

.permissions-v3-linked {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  color: #65d5a8;
  font-size: 0.72rem;
  font-weight: 700;
}

.permissions-v3-request-row {
  display: grid;
  grid-template-columns: 2rem minmax(9rem, 0.9fr) minmax(15rem, 1.2fr) auto minmax(13rem, auto);
  align-items: center;
  gap: 0.8rem;
  min-height: 4.5rem;
  padding: 0.65rem 0.9rem;
  border-bottom: 0.0625rem solid #222d38;
}

.permissions-v3-request-person,
.permissions-v3-review-note {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.permissions-v3-request-person strong,
.permissions-v3-review-note strong {
  overflow: hidden;
  color: #edf3f8;
  font-size: 0.78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.permissions-v3-request-person span,
.permissions-v3-review-note span {
  overflow: hidden;
  color: #74889b;
  font-size: 0.64rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.permissions-v3-ip-change {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  color: #8195a8;
  font-size: 0.7rem;
}

.permissions-v3-ip-change strong {
  color: #dce6ef;
}

.permissions-v3-ip-change i {
  color: #4d9cff;
}

.permissions-v3-request-status {
  padding: 0.28rem 0.48rem;
  border: 0.0625rem solid #3b4856;
  border-radius: 0.4rem;
  color: #aebdca;
  font-size: 0.65rem;
  font-weight: 800;
}

.permissions-v3-request-status.is-pending {
  border-color: rgba(245, 185, 76, 0.35);
  color: #f5c96f;
}

.permissions-v3-request-status.is-approved {
  border-color: rgba(49, 196, 141, 0.35);
  color: #65d5a8;
}

.permissions-v3-request-status.is-rejected {
  border-color: rgba(239, 101, 116, 0.35);
  color: #ff8290;
}

.permissions-v3-request-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.42rem;
}

.permissions-v3-request-actions .primary-button,
.permissions-v3-request-actions .ghost-button {
  min-height: 2.15rem;
  padding: 0.35rem 0.6rem;
  font-size: 0.68rem;
}

.permissions-v3-empty {
  display: grid;
  place-items: center;
  min-height: 8rem;
  padding: 1rem;
  color: #74889b;
  font-size: 0.78rem;
  text-align: center;
}

@media (max-width: 1050px) {
  .permissions-v3-page-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .permissions-v3-search {
    width: 100%;
  }

  .permissions-v3-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .permissions-v3-nav {
    display: flex;
    gap: 0;
    overflow-x: auto;
    padding: 0;
    border-right: 0;
    border-bottom: 0.0625rem solid #26313d;
    scrollbar-width: thin;
  }

  .permissions-v3-nav-title {
    display: none;
  }

  .permissions-v3-nav-row {
    flex: 0 0 auto;
    width: auto;
    min-width: 10rem;
    min-height: 3.5rem;
    border-right: 0.0625rem solid #26313d;
    border-bottom: 0;
  }

  .permissions-v3-nav-row::before {
    inset: auto 0 0;
    width: auto;
    height: 0.2rem;
  }

  .permissions-v3-nav-row small {
    display: none;
  }

  .permissions-v3-add-strip {
    grid-template-columns: minmax(0, 1fr);
  }

  .permissions-v3-add-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .permissions-v3-add-form .primary-button {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 760px) {
  .permissions-v3-page {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  .permissions-v3-page-head,
  .permissions-v3-surface-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .permissions-v3-search {
    flex-wrap: wrap;
  }

  .permissions-v3-search label {
    flex-basis: 100%;
  }

  .permissions-v3-summary {
    align-items: flex-start;
    flex-direction: column;
    padding: 0.45rem 1rem;
  }

  .permissions-v3-summary span,
  .permissions-v3-summary span:first-child {
    width: 100%;
    padding: 0.3rem 0;
    border-right: 0;
  }

  .permissions-v3-directory {
    grid-template-columns: minmax(0, 1fr);
    overflow: visible;
  }

  .permissions-v3-directory-pane {
    overflow: visible;
    border-right: 0;
    border-bottom: 0.0625rem solid #26313d;
  }

  .permissions-v3-main {
    overflow: visible;
  }

  .permissions-v3-workspace {
    height: auto;
  }

  .permissions-v3-surface {
    height: auto;
  }

  .permissions-v3-add-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .permissions-v3-add-form .primary-button {
    grid-column: auto;
    justify-self: stretch;
  }

  .permissions-v3-simple-table,
  .permissions-v3-request-list {
    overflow-x: auto;
  }

  .permissions-v3-simple-head,
  .permissions-v3-simple-row {
    min-width: 42rem;
  }

  .permissions-v3-request-row {
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    min-width: 0;
  }

  .permissions-v3-ip-change,
  .permissions-v3-request-actions,
  .permissions-v3-review-note {
    grid-column: 2 / -1;
  }

  .permissions-v3-request-actions {
    justify-content: flex-start;
  }
}

.privacy-page {
  display: grid;
  gap: 1rem;
  width: min(72rem, 100%);
  margin: 0 auto;
}

.privacy-hero {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.1rem;
  align-items: center;
  overflow: hidden;
  padding: clamp(1.35rem, 3vw, 2.4rem);
  border-color: rgba(88, 101, 242, 0.4);
  background:
    radial-gradient(circle at 90% 10%, rgba(88, 101, 242, 0.2), transparent 38%),
    linear-gradient(145deg, rgba(88, 101, 242, 0.08), rgba(255, 255, 255, 0.015)),
    #141518;
}

.privacy-hero-icon {
  display: grid;
  width: 4.25rem;
  height: 4.25rem;
  place-items: center;
  border: 0.0625rem solid rgba(152, 162, 255, 0.42);
  border-radius: 1.25rem;
  background: linear-gradient(145deg, #5865f2, #3d49bf);
  color: #fff;
  box-shadow: 0 1rem 2.5rem rgba(38, 48, 155, 0.28);
  font-size: 1.85rem;
}

.privacy-hero h1 {
  margin: 0;
  color: var(--text-strong);
  font-size: clamp(1.7rem, 3.4vw, 2.8rem);
  letter-spacing: -0.045em;
}

.privacy-effective-date {
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
  width: fit-content;
  margin: 0.2rem 0 0;
  color: #b8c0ff;
  font-size: 0.82rem;
  font-weight: 800;
}

.privacy-document {
  display: grid;
  padding: clamp(1.1rem, 2.5vw, 2rem);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0)),
    #141518;
}

.privacy-section {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.4rem 0;
  border-bottom: 0.0625rem solid #282c34;
  scroll-margin-top: 1rem;
}

.privacy-section:first-child {
  padding-top: 0.2rem;
}

.privacy-section:last-child {
  padding-bottom: 0.2rem;
  border-bottom: 0;
}

.privacy-section-number {
  display: grid;
  width: 2.15rem;
  height: 2.15rem;
  place-items: center;
  border: 0.0625rem solid rgba(88, 101, 242, 0.5);
  border-radius: 0.7rem;
  background: rgba(88, 101, 242, 0.12);
  color: #b8c0ff;
  font-size: 0.78rem;
  font-weight: 900;
}

.privacy-section-content {
  display: grid;
  gap: 0.72rem;
}

.privacy-section-content h2 {
  margin: 0;
  color: var(--text-strong);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  letter-spacing: -0.02em;
}

.privacy-section-content p,
.privacy-section-content ul {
  margin: 0;
  color: #b8c0ce;
  font-size: 0.94rem;
  line-height: 1.7;
}

.privacy-section-content ul {
  display: grid;
  gap: 0.3rem;
  padding-left: 1.25rem;
}

.privacy-section-content li::marker {
  color: #7f8cff;
}

.privacy-footer-actions {
  display: flex;
  justify-content: flex-start;
  padding-bottom: 1rem;
}

.privacy-selector-page {
  min-height: calc(100vh - 13rem);
  align-content: start;
}

.privacy-selector-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.privacy-selector-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  min-height: 12rem;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  color: inherit;
  text-decoration: none;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.privacy-selector-card:hover,
.privacy-selector-card:focus-visible {
  transform: translateY(-0.18rem);
  border-color: rgba(104, 117, 255, 0.68);
  outline: none;
  background:
    linear-gradient(145deg, rgba(88, 101, 242, 0.13), rgba(255, 255, 255, 0.02)),
    #17191d;
}

.privacy-selector-icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border: 0.0625rem solid rgba(88, 101, 242, 0.45);
  border-radius: 1rem;
  background: rgba(88, 101, 242, 0.13);
  color: #aeb7ff;
  font-size: 1.25rem;
}

.privacy-selector-card strong {
  color: var(--text-strong);
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  letter-spacing: -0.025em;
}

.privacy-selector-card .panel-stack > span:last-child {
  color: #aeb6c4;
  font-size: 0.9rem;
  line-height: 1.55;
}

.privacy-selector-arrow {
  color: #8e99ff;
  font-size: 0.95rem;
}

@media (max-width: 42rem) {
  .privacy-hero {
    grid-template-columns: 1fr;
  }

  .privacy-hero-icon {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1rem;
    font-size: 1.45rem;
  }

  .privacy-section {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .privacy-selector-grid {
    grid-template-columns: 1fr;
  }

  .privacy-selector-card {
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 0;
    padding: 1.1rem;
  }

  .privacy-selector-icon {
    width: 3rem;
    height: 3rem;
  }
}

.content-page-banner {
  width: 100%;
  margin-bottom: 1rem;
  padding: 0.8rem 1rem;
  min-height: 0;
  align-items: center;
}

.content-page-banner .section-title {
  font-size: 1.35rem;
  letter-spacing: -0.03em;
}

.content-page-banner .body-copy {
  font-size: 0.82rem;
  line-height: 1.3;
}

.content-page-banner .footer-actions {
  gap: 0.35rem;
}

.content-title-bar + .content-grid,
.content-title-bar + .rules-workspace {
  margin-top: 0;
}

.rules-workspace {
  display: grid;
  grid-template-columns: minmax(10rem, 0.13fr) minmax(0, 1fr) minmax(13rem, 0.17fr);
  gap: 0.75rem;
  align-items: start;
}

.rules-side-panel,
.rules-editor-panel {
  position: sticky;
  top: 0.75rem;
  display: grid;
  gap: 0.55rem;
  max-height: calc(100vh - 1.5rem);
  overflow: auto;
}

.rules-side-panel,
.rules-audit-card,
.rules-editor-form,
.content-backup-card {
  background: #141518;
  border-color: #26292f;
}

.rules-side-panel.table-card,
.rules-audit-card.table-card,
.content-backup-card.table-card {
  padding: 0.65rem;
}

.rules-section-list,
.rules-audit-list {
  display: grid;
  gap: 0.35rem;
}

.rules-section-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  width: 100%;
  min-height: 1.85rem;
  padding: 0.38rem 0.45rem;
  border: 0.0625rem solid #24272d;
  border-left: 0.18rem solid var(--accent);
  background: #191b20;
  color: var(--text);
  text-decoration: none;
  text-align: left;
  font-size: 0.74rem;
  font-weight: 800;
  cursor: pointer;
}

.rules-section-label {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 0.42rem;
}

.rules-section-label span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rule-category-icon {
  flex: 0 0 auto;
  width: 0.95rem;
  color: #7fb7ff;
  text-align: center;
}

.rule-category-general { color: #8fb1ff; }
.rule-category-roleplay { color: #c992ff; }
.rule-category-combat { color: #ff6565; }
.rule-category-crime { color: #ff9b4a; }
.rule-category-economy { color: #66df96; }
.rule-category-vehicles { color: #58c7ff; }
.rule-category-properties { color: #ffd166; }
.rule-category-staff { color: #9aa7ff; }

.rule-category-icon.chip-icon {
  width: auto;
  margin-right: 0.3rem;
}

.rules-section-link small {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 900;
  text-transform: uppercase;
}

.compact-field {
  gap: 0.3rem;
}

.compact-field input {
  min-height: 2rem;
  padding: 0.4rem 0.5rem;
}

.rules-search-field span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.rules-search-results {
  display: grid;
  gap: 0.35rem;
  max-height: 12rem;
  overflow: auto;
  padding-right: 0.15rem;
}

.rules-search-results button {
  display: grid;
  gap: 0.1rem;
  width: 100%;
  padding: 0.45rem 0.5rem;
  border: 0.0625rem solid #303640;
  background: #171b20;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.rules-search-results button:hover,
.rules-search-results button:focus-visible {
  border-color: #4a5361;
  background: #202631;
  outline: none;
}

.rules-search-results strong {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--text-strong);
  font-size: 0.76rem;
}

.rules-search-results span {
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 900;
  text-transform: uppercase;
}

.rules-search-results em {
  color: #aeb7c5;
  font-size: 0.68rem;
  font-style: normal;
  line-height: 1.35;
}

.search-hit {
  padding: 0 0.12rem;
  background: transparent;
  color: #65e58f;
  font-weight: 950;
}

.rules-section-link.level-2 {
  margin-left: 0.45rem;
  border-left-color: var(--tone-economy);
}

.rules-section-link.level-3 {
  margin-left: 0.9rem;
  border-left-color: var(--tone-players);
}

.rules-section-link:hover,
.rules-section-link:focus-visible,
.rules-section-link.is-active {
  background: #20242c;
  border-color: #343944;
  color: var(--text-strong);
  outline: none;
}

.rules-document-shell {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.rules-doc-header,
.rules-document-page {
  border: 0.0625rem solid #272b33;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0)),
    #141518;
  color: var(--text);
  box-shadow: none;
}

.rules-doc-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.15rem;
}

.rules-doc-header .section-title,
.rules-doc-header .eyebrow {
  color: var(--text-strong);
}

.rules-doc-header .body-copy {
  color: var(--muted);
}

.rules-document-page {
  min-height: 64rem;
  padding: clamp(1.8rem, 3vw, 3rem);
  line-height: 1.68;
}

.rules-section-panel {
  display: none;
  gap: 0.75rem;
}

.rules-section-panel.is-active {
  display: grid;
}

.rules-section-actions {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
  padding-bottom: 0.65rem;
  border-bottom: 0.0625rem solid #2b3038;
}

.rules-section-audit {
  display: grid;
  gap: 0.7rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 0.0625rem solid #2b3038;
}

.rules-staff-note {
  display: grid;
  gap: 0.35rem;
  padding: 0.75rem;
  border: 0.0625rem solid #3a3323;
  background: #211d14;
}

.rules-staff-note strong {
  color: #f0c36a;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.rules-staff-note p {
  margin: 0;
}

.rule-compare-details {
  border: 0.0625rem solid #2b3038;
  background: #111316;
}

.rule-compare-details summary {
  padding: 0.45rem 0.6rem;
  color: #9cc7ff;
  font-size: 0.74rem;
  font-weight: 900;
  cursor: pointer;
}

.rule-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  padding: 0.6rem;
}

.rule-compare-grid b {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--text-strong);
  font-size: 0.72rem;
}

.rule-compare-grid pre {
  min-height: 8rem;
  max-height: 18rem;
  overflow: auto;
  margin: 0;
  padding: 0.6rem;
  border: 0.0625rem solid #242932;
  background: #0d0f12;
  color: #aeb7c5;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.72rem;
  line-height: 1.45;
  white-space: pre-wrap;
}

.rules-document-page h2,
.rules-document-page h3,
.rules-document-page h4 {
  scroll-margin-top: 7rem;
  color: var(--text-strong);
  letter-spacing: -0.025em;
}

.rules-document-page h2 {
  margin: 0.25rem 0 0;
  padding-bottom: 0.7rem;
  border-bottom: 0.0625rem solid #2b3038;
  font-size: 2rem;
}

.rules-document-page h3 {
  margin: 0.9rem 0 0;
  color: #dce4ef;
  font-size: 1.22rem;
}

.rules-document-page h4 {
  margin: 0.65rem 0 0;
  color: #c9d1dc;
  font-size: 1.05rem;
}

.rules-document-page p,
.rules-document-page li,
.rules-document-page blockquote {
  color: #aeb5c0;
  font-size: 0.95rem;
}

.rules-document-page a {
  color: #88bdff;
  font-weight: 800;
}

.rules-document-page blockquote {
  margin: 0;
  padding: 0.8rem 1rem;
  border: 0.0625rem solid #263343;
  border-left: 0.22rem solid #4aa3ff;
  background: #17202a;
}

.rules-document-page code {
  padding: 0.1rem 0.25rem;
  background: #20242b;
  color: #d9e4f2;
}

.rules-doc-image {
  display: grid;
  width: min(var(--rule-image-width, 100%), 100%);
  gap: 0.35rem;
  margin: 1rem 0;
}

.rules-doc-image.align-center {
  margin-right: auto;
  margin-left: auto;
}

.rules-doc-image.align-right {
  margin-left: auto;
}

.rules-doc-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0.0625rem solid #2c313a;
  border-radius: 0.7rem;
}

.rules-doc-image figcaption {
  color: var(--muted);
  font-size: 0.78rem;
}

.rules-editor-form {
  display: grid;
  gap: 0.75rem;
}

.rules-editor-toolbar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem;
}

.rules-editor-toolbar button {
  min-height: 2rem;
  padding: 0.35rem 0.45rem;
  border: 0.0625rem solid #2a2e36;
  background: #1a1d23;
  color: var(--text);
  font-size: 0.74rem;
  font-weight: 900;
}

.rules-editor-toolbar button:hover,
.rules-editor-toolbar button:focus-visible {
  background: #222732;
  border-color: #4aa3ff;
  color: var(--text-strong);
  outline: none;
}

.rules-editor-textarea textarea {
  min-height: 28rem;
  font-family: "JetBrains Mono", "Consolas", monospace;
  line-height: 1.45;
}

.rules-audit-card {
  display: grid;
  gap: 0.55rem;
}

.rules-audit-row {
  display: grid;
  gap: 0.3rem;
  padding: 0.45rem;
  border: 0.0625rem solid #24272d;
  background: #191b20;
}

.rules-audit-row strong,
.rules-audit-row span {
  display: block;
}

.rules-audit-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  align-items: center;
  color: var(--muted);
  font-size: 0.66rem;
}

.content-backup-card {
  display: grid;
  gap: 0.75rem;
}

.content-backup-list {
  display: grid;
  gap: 0.55rem;
  max-height: 28rem;
  overflow: auto;
}

.content-backup-row {
  display: grid;
  gap: 0.55rem;
  padding: 0.65rem;
  border: 0.0625rem solid var(--border);
  background: rgba(255, 255, 255, 0.025);
}

.content-backup-row strong {
  color: var(--text-strong);
}

.content-backup-row p {
  max-height: 4.5rem;
  overflow: hidden;
  margin: 0;
  color: var(--text);
  font-size: 0.76rem;
  line-height: 1.45;
}

.portal-permissions-grid {
  grid-template-columns: minmax(19rem, 0.34fr) minmax(0, 0.66fr);
  align-items: start;
}

.portal-permission-form,
.portal-permission-table-card,
.portal-permission-backup-card {
  display: grid;
  gap: 0.85rem;
}

.portal-permission-backup-card {
  grid-column: 1 / -1;
}

.permission-toggle-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}

.permission-toggle {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.2rem;
  padding: 0.45rem 0.55rem;
  border: 0.0625rem solid var(--border);
  background: rgba(255, 255, 255, 0.025);
  color: var(--text);
  font-size: 0.8rem;
  font-weight: 800;
}

.permission-toggle input {
  width: 0.95rem;
  height: 0.95rem;
  accent-color: var(--accent);
}

.portal-permission-table-scroll {
  max-height: 34rem;
}

.portal-permission-user-list {
  display: grid;
  gap: 0.65rem;
  max-height: 38rem;
  overflow: auto;
  padding-right: 0.25rem;
}

.portal-permission-user-card {
  display: grid;
  grid-template-columns: minmax(12rem, 0.95fr) repeat(3, minmax(8rem, 0.8fr)) auto;
  gap: 0.7rem;
  align-items: center;
  padding: 0.75rem;
  border: 0.0625rem solid #282d36;
  border-radius: 0.85rem;
  background: #17191d;
}

.portal-permission-user-main {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.portal-permission-user-main strong {
  color: var(--text-strong);
  font-size: 0.9rem;
}

.portal-permission-user-main span,
.portal-permission-user-main small {
  overflow: hidden;
  color: var(--muted);
  font-size: 0.72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portal-permission-group {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.portal-permission-group b {
  color: #d5dbe6;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.portal-permission-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
}

.permission-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-height: 1.35rem;
  padding: 0.18rem 0.45rem;
  border: 0.0625rem solid rgba(63, 190, 129, 0.36);
  border-radius: 999rem;
  background: rgba(30, 110, 70, 0.22);
  color: #98f0c1;
  font-size: 0.68rem;
  font-weight: 900;
}

.permission-pill.danger {
  border-color: rgba(255, 99, 99, 0.38);
  background: rgba(120, 35, 35, 0.26);
  color: #ffb4b4;
}

.permission-pill.muted {
  border-color: #30343c;
  background: #202329;
  color: #747c89;
}

.portal-permission-actions {
  display: flex;
  gap: 0.35rem;
  justify-content: flex-end;
}

.portal-permission-backup-list {
  display: grid;
  gap: 0.55rem;
  max-height: 18rem;
  overflow: auto;
  padding-right: 0.25rem;
}

.portal-permission-backup-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.7rem;
  border: 0.0625rem solid #282d36;
  border-radius: 0.85rem;
  background: #17191d;
}

.portal-permission-backup-row div:first-child {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.portal-permission-backup-row strong {
  color: var(--text-strong);
  font-size: 0.86rem;
}

.portal-permission-backup-row span {
  color: var(--muted);
  font-size: 0.74rem;
}

.portal-permission-backup-meta {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  flex-shrink: 0;
}

.live-map-card {
  overflow: hidden;
}

.live-map-side-card {
  padding: 0.7rem;
}

.live-map-shell {
  position: relative;
  width: 100%;
  aspect-ratio: 1.08 / 1;
  border-radius: 1rem;
  overflow: hidden;
  border: 0.0625rem solid var(--border);
  background: #101215;
}

.live-map-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.9) brightness(0.92);
}

.live-map-layer {
  position: absolute;
  inset: 0;
}

.death-heat-toggle.is-active {
  border-color: rgba(255, 109, 72, 0.72);
  background: rgba(130, 39, 24, 0.44);
  color: #ffd5c8;
}

.death-heat-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.death-heat-blob-layer {
  position: absolute;
  inset: 0;
  filter: blur(0.34rem) contrast(1.35) saturate(1.18);
  opacity: 1;
  pointer-events: none;
}

.death-heat-point {
  position: absolute;
  width: var(--heat-size);
  height: var(--heat-size);
  margin-left: calc(var(--heat-size) * -0.5);
  margin-top: calc(var(--heat-size) * -0.5);
  border: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle,
      rgba(44, 20, 74, calc(var(--heat-alpha) * 1.2)) 0%,
      rgba(85, 52, 133, var(--heat-alpha)) 32%,
      rgba(96, 176, 118, calc(var(--heat-alpha) * 0.56)) 68%,
      rgba(145, 220, 132, 0) 100%);
  opacity: 0.95;
  pointer-events: none;
  z-index: 1;
}

.death-heat-point.warm {
  background:
    radial-gradient(circle,
      rgba(53, 29, 86, var(--heat-alpha)) 0%,
      rgba(65, 118, 112, calc(var(--heat-alpha) * 0.74)) 42%,
      rgba(143, 218, 133, calc(var(--heat-alpha) * 0.42)) 74%,
      rgba(143, 218, 133, 0) 100%);
}

.death-heat-point.low {
  background:
    radial-gradient(circle,
      rgba(65, 43, 100, calc(var(--heat-alpha) * 0.7)) 0%,
      rgba(89, 166, 123, calc(var(--heat-alpha) * 0.48)) 48%,
      rgba(162, 230, 142, calc(var(--heat-alpha) * 0.24)) 76%,
      rgba(162, 230, 142, 0) 100%);
}

.death-heat-legend,
.death-heat-empty {
  position: absolute;
  left: 0.65rem;
  bottom: 0.65rem;
  border: 0.0625rem solid rgba(255, 109, 72, 0.42);
  background: rgba(15, 15, 16, 0.9);
  color: var(--text);
  padding: 0.45rem 0.55rem;
  font-size: 0.66rem;
  font-weight: 800;
  z-index: 4;
}

.death-heat-legend strong,
.death-heat-legend span {
  display: block;
}

.death-heat-legend strong {
  color: #ffd5c8;
  margin-bottom: 0.12rem;
}

.crash-heat-toggle.is-active {
  border-color: rgba(70, 210, 255, 0.76);
  background: rgba(17, 92, 125, 0.48);
  color: #c9f4ff;
}

.crash-heat-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.crash-heat-blob-layer {
  position: absolute;
  inset: 0;
  filter: blur(0.28rem) contrast(1.3) saturate(1.25);
  pointer-events: none;
}

.crash-heat-point {
  position: absolute;
  width: var(--crash-size);
  height: var(--crash-size);
  margin-left: calc(var(--crash-size) * -0.5);
  margin-top: calc(var(--crash-size) * -0.5);
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(230, 251, 255, calc(var(--crash-alpha) * 1.16)) 0%,
    rgba(50, 211, 255, var(--crash-alpha)) 30%,
    rgba(52, 105, 232, calc(var(--crash-alpha) * 0.7)) 63%,
    rgba(66, 56, 196, 0) 100%);
  opacity: 0.96;
}

.crash-heat-point.warm {
  background: radial-gradient(circle,
    rgba(195, 246, 255, var(--crash-alpha)) 0%,
    rgba(40, 170, 245, calc(var(--crash-alpha) * 0.86)) 42%,
    rgba(69, 86, 212, 0) 100%);
}

.crash-heat-point.low {
  background: radial-gradient(circle,
    rgba(103, 224, 255, calc(var(--crash-alpha) * 0.84)) 0%,
    rgba(47, 123, 222, calc(var(--crash-alpha) * 0.58)) 52%,
    rgba(62, 73, 190, 0) 100%);
}

.crash-heat-legend,
.crash-heat-empty {
  position: absolute;
  right: 0.65rem;
  bottom: 0.65rem;
  max-width: min(22rem, calc(100% - 1.3rem));
  border: 0.0625rem solid rgba(70, 210, 255, 0.46);
  background: rgba(11, 19, 25, 0.92);
  color: var(--text);
  padding: 0.45rem 0.55rem;
  font-size: 0.66rem;
  font-weight: 800;
  z-index: 4;
}

.crash-heat-legend strong,
.crash-heat-legend span {
  display: block;
}

.crash-heat-legend strong {
  color: #c9f4ff;
  margin-bottom: 0.12rem;
}

.map-marker {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 0.9rem;
  height: 1.12rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: hsl(var(--player-health-hue, 120) 76% 52%);
  font-size: 0.92rem;
  font-weight: 700;
  text-shadow: 0 0 0.15rem rgba(0, 0, 0, 0.98), 0 0 0.4rem rgba(0, 0, 0, 0.9);
  filter: drop-shadow(0 0.08rem 0.18rem rgba(0, 0, 0, 0.98)) drop-shadow(0 0 0.22rem hsl(var(--player-health-hue, 120) 76% 38% / 0.55));
  cursor: pointer;
  outline: none;
  z-index: 2;
}

.map-marker.preview {
  opacity: 0.7;
}

.map-marker.is-in-vehicle {
  width: 1.22rem;
  font-size: 0.82rem;
}

.map-marker.is-dead {
  color: #ff4f5f;
  filter: drop-shadow(0 0.08rem 0.18rem rgba(0, 0, 0, 0.98)) drop-shadow(0 0 0.32rem rgba(255, 52, 72, 0.78));
}

.map-marker.is-last-stand {
  color: #ffad42;
  filter: drop-shadow(0 0.08rem 0.18rem rgba(0, 0, 0, 0.98)) drop-shadow(0 0 0.32rem rgba(255, 158, 42, 0.7));
}

.map-marker i,
.map-marker-icon {
  pointer-events: none;
}

.map-marker:hover,
.map-marker:focus-visible {
  transform: translate(-50%, -50%) scale(1.08);
}

.map-marker-icon {
  line-height: 1;
  transition: color 160ms ease, filter 160ms ease;
}

.map-marker-tooltip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 0.4rem);
  transform: translateX(-50%) translateY(0.2rem);
  min-width: max-content;
  max-width: 12rem;
  padding: 0.38rem 0.55rem;
  border-radius: 0.7rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.12);
  background: rgba(20, 20, 20, 0.96);
  color: var(--text-strong);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
  box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.28);
  z-index: 3;
}

.map-marker-tooltip small {
  display: block;
  margin-top: 0.14rem;
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 600;
}

.map-marker:hover .map-marker-tooltip,
.map-marker:focus-visible .map-marker-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.map-player-popover {
  position: absolute;
  min-width: 10.4rem;
  max-width: 11.6rem;
  transform: translate(1rem, -50%);
  padding: 0.45rem;
  border-radius: 0.18rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.08);
  background: rgba(18, 18, 18, 0.97);
  box-shadow: 0 0.85rem 2rem rgba(0, 0, 0, 0.45);
  z-index: 6;
}

.map-player-popover.is-near-right {
  transform: translate(calc(-100% - 1rem), -50%);
}

.map-player-popover.is-near-bottom {
  transform: translate(1rem, calc(-100% - 0.6rem));
}

.map-player-popover.is-near-top {
  transform: translate(1rem, 0.6rem);
}

.map-player-popover.is-near-right.is-near-bottom {
  transform: translate(calc(-100% - 1rem), calc(-100% - 0.6rem));
}

.map-player-popover.is-near-right.is-near-top {
  transform: translate(calc(-100% - 1rem), 0.6rem);
}

.live-map-popover-host {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 6;
}

.live-map-popover-host > * {
  pointer-events: auto;
}

.live-map-overlay-host {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 7;
}

.live-map-overlay-host:has(.map-overlay-backdrop) {
  position: fixed;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 160;
}

.live-map-overlay-host > * {
  pointer-events: auto;
}

.map-player-popover-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.4rem;
  margin-bottom: 0.4rem;
}

.map-player-meta {
  min-width: 0;
}

.map-player-trust-label {
  margin-top: 0.16rem;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.map-player-close {
  width: 1.35rem;
  height: 1.35rem;
  border: 0;
  border-radius: 0.14rem;
  background: #222222;
  color: #f2f2f2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.map-player-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.12rem;
}

.map-player-actions .compact-action-button,
.map-player-actions .compact-action-button.warning,
.map-player-actions .compact-action-button.kick,
.map-player-actions .compact-action-button.danger,
.map-player-actions .compact-action-button.success,
.map-player-actions .compact-action-button.note,
.map-player-actions .compact-action-button.slate {
  width: 100%;
  justify-content: flex-start;
  min-height: 2rem;
  padding: 0.34rem 0.45rem;
  border-radius: 0;
  background: #17181a;
  border: 0.0625rem solid var(--border);
  color: #f3f3f3;
  font-size: 0.66rem;
  line-height: 1.05;
  box-shadow: none;
}

.map-player-actions .compact-action-button i,
.map-player-actions .compact-action-button span {
  color: #f3f3f3;
}

.map-player-actions .compact-action-button:hover,
.map-player-actions .compact-action-button:focus-visible {
  background: #202328;
  border-color: var(--accent);
}

.map-overlay-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.72);
  overflow: hidden;
}

.map-overlay-card {
  width: min(82rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  margin: 0;
  padding: 0.95rem;
  border: 0.0625rem solid var(--border);
  background: #111214;
  box-shadow: none;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  align-self: flex-start;
}

.map-overlay-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.8rem;
  position: sticky;
  top: 0;
  z-index: 2;
  background: #111214;
}

.map-overlay-close {
  width: 2.35rem;
  height: 2.35rem;
  border: 0.0625rem solid var(--border);
  background: var(--panel-alt);
  color: var(--text-strong);
  cursor: pointer;
}

.map-overlay-close:hover,
.map-overlay-close:focus-visible {
  border-color: var(--accent);
  outline: none;
}

.map-overlay-identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.85rem;
}

.map-overlay-avatar {
  width: 3.4rem;
  height: 3.4rem;
  font-size: 0.95rem;
}

.map-overlay-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.35rem;
}

.map-overlay-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.45rem;
  margin-bottom: 0.85rem;
  position: sticky;
  top: 4.4rem;
  z-index: 2;
  background: #111214;
  padding-bottom: 0.45rem;
}

.map-overlay-tab {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  min-height: 3.15rem;
  padding: 0.55rem 0.62rem;
  border: 0.0625rem solid var(--border);
  background: var(--panel-alt);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.map-overlay-tab i {
  color: var(--muted);
}

.map-overlay-tab strong,
.map-overlay-tab small {
  display: block;
}

.map-overlay-tab strong {
  color: var(--text-strong);
  font-size: 0.78rem;
}

.map-overlay-tab small {
  margin-top: 0.08rem;
  color: var(--muted);
  font-size: 0.62rem;
  line-height: 1.1;
}

.map-overlay-tab:hover,
.map-overlay-tab:focus-visible,
.map-overlay-tab.is-active {
  border-color: var(--accent);
  background: rgba(110, 168, 255, 0.08);
  outline: none;
}

.map-overlay-tab.warning-zone.is-active,
.map-overlay-tab.warning-zone:hover,
.map-overlay-tab.warning-zone:focus-visible {
  border-color: var(--warning);
  background: rgba(232, 180, 93, 0.08);
}

.map-overlay-tab.danger-zone.is-active,
.map-overlay-tab.danger-zone:hover,
.map-overlay-tab.danger-zone:focus-visible {
  border-color: var(--danger);
  background: rgba(255, 125, 125, 0.08);
}

.map-overlay-body {
  display: grid;
  gap: 0.65rem;
  min-height: 0;
}

.map-overlay-summary-grid,
.map-overlay-meta-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}

.map-overlay-summary-item,
.map-overlay-meta-list > div {
  border: 0.0625rem solid #2e2e2e;
  background: #202020;
  padding: 0.45rem 0.55rem;
  display: grid;
  gap: 0.16rem;
}

.map-overlay-summary-item span,
.map-overlay-meta-list span {
  color: var(--muted);
  font-size: 0.68rem;
}

.map-overlay-summary-item strong,
.map-overlay-meta-list strong {
  font-size: 0.84rem;
}

.map-overlay-inventory {
  display: grid;
  gap: 0.7rem;
}

.map-inventory-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.72rem;
  border: 0.0625rem solid var(--border);
  background: var(--panel);
}

.map-inventory-toolbar strong {
  color: var(--text-strong);
}

.map-overlay-inventory-grid.inventory-grid-panel {
  max-height: 24rem;
  overflow: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0.55rem;
  gap: 0.4rem;
  border-radius: 0;
  background: var(--panel);
}

.map-inventory-slot {
  display: grid;
  grid-template-columns: 2rem 2.35rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 3.35rem;
  padding: 0.42rem 0.55rem;
  border: 0.0625rem solid var(--border);
  background: #15181c;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.map-inventory-slot:hover,
.map-inventory-slot:focus-visible,
.map-inventory-slot.selected {
  border-color: var(--accent);
  background: #1b2027;
  outline: none;
}

.map-inventory-slot.empty {
  opacity: 0.56;
}

.map-inventory-slot-number,
.map-inventory-slot-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.6rem;
  padding: 0.14rem 0.4rem;
  border: 0.0625rem solid var(--border);
  background: #202020;
  color: var(--text-strong);
  font-size: 0.68rem;
  font-weight: 800;
}

.map-inventory-slot-art {
  width: 2.35rem;
  height: 2.35rem;
  display: grid;
  place-items: center;
  border: 0.0625rem solid var(--border);
  background: #101113;
}

.map-inventory-slot-art img {
  width: 1.9rem;
  height: 1.9rem;
  object-fit: contain;
}

.map-inventory-slot-main {
  min-width: 0;
}

.map-inventory-slot-main strong,
.map-inventory-slot-main small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-inventory-slot-main strong {
  color: var(--text-strong);
  font-size: 0.76rem;
}

.map-inventory-slot-main small,
.map-inventory-slot-empty {
  color: var(--muted);
  font-size: 0.62rem;
}

.map-inventory-slot-empty {
  grid-column: 2 / -1;
}

.live-map-player-list {
  gap: 0.08rem;
  max-height: 33rem;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 0.85rem;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #343b45 #111318;
  min-width: 0;
}

.live-map-player-list::-webkit-scrollbar {
  width: 0.55rem;
}

.live-map-player-list::-webkit-scrollbar-track {
  background: #111318;
}

.live-map-player-list::-webkit-scrollbar-thumb {
  background: #343b45;
  border: 0.1rem solid #111318;
  border-radius: 999rem;
}

.live-map-player-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.95rem;
  align-items: center;
  gap: 0.35rem;
  padding: 0.12rem 0.12rem 0.12rem 0.18rem;
  justify-content: space-between;
  min-width: 0;
}

.live-map-player-button {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.04);
}

.live-map-player-button:hover,
.live-map-player-button:focus-visible {
  background: #1b1e24;
  box-shadow: none;
  outline: none;
}

.live-map-player-copy {
  min-width: 0;
  overflow: hidden;
}

.live-map-player-row strong {
  display: block;
  font-size: 0.78rem;
  line-height: 1.12;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-map-player-row .table-muted {
  font-size: 0.64rem;
  line-height: 1.12;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-map-trust-ring {
  --trust-color: #7d8796;
  width: 1.72rem;
  height: 1.72rem;
  display: inline-grid;
  place-items: center;
  border: 0.0625rem solid #2a3038;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #15181d 0 52%, transparent 54%),
    conic-gradient(var(--trust-color) calc(var(--trust-percent) * 3.6deg), #272d35 0);
  color: var(--text-strong);
  font-size: 0.56rem;
  font-weight: 800;
  line-height: 1;
  justify-self: end;
  flex: 0 0 auto;
}

.live-map-trust-ring > span {
  color: var(--text-strong);
}

.live-map-trust-ring.tone-trust-critical {
  --trust-color: #d94c4c;
}

.live-map-trust-ring.tone-trust-low {
  --trust-color: #e3824f;
}

.live-map-trust-ring.tone-trust-rising {
  --trust-color: #d3ae45;
}

.live-map-trust-ring.tone-trust-solid {
  --trust-color: #69b86c;
}

.live-map-trust-ring.tone-trust-high {
  --trust-color: #4aa3ff;
}

.live-map-trust-ring.tone-trust-excellent {
  --trust-color: #8add91;
}

.map-marker.tone-trust-critical {
  color: #8f3434;
}

.map-marker.tone-trust-low {
  color: #c05d46;
}

.map-marker.tone-trust-rising {
  color: #d28a36;
}

.map-marker.tone-trust-high {
  color: #dfb548;
}

.map-marker.tone-trust-excellent {
  color: #8add91;
}

.hero-grid,
.content-grid,
.detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.manager-split-shell {
  display: grid;
  grid-template-columns: minmax(19rem, 0.92fr) minmax(0, 1.08fr);
  gap: 1rem;
  align-items: start;
}

.detail-grid.detail-grid-single {
  grid-template-columns: minmax(0, 1fr);
}

.stats-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stat-card {
  padding: 0.8rem;
  display: grid;
  gap: 0.35rem;
}

.stat-card-top,
.row-between,
.feed-row,
.profile-header,
.footer-actions,
.status-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.section-subcopy {
  margin: 0.2rem 0 0;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.stat-card-top {
  align-items: flex-start;
}

.stat-card-top i {
  color: var(--muted);
}

.stat-value {
  font-size: 1.8rem;
}

.chip,
.status-pill,
.reason-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.24rem 0.5rem;
  border-radius: 999rem;
  background: #242424;
  border: 0.0625rem solid var(--border);
  color: var(--text-strong);
  font-size: 0.72rem;
  font-weight: 600;
}

.chip.success,
.status-pill.online {
  color: var(--success);
}

.chip.warning {
  color: var(--warning);
}

.chip.kick {
  color: var(--kick);
}

.chip.danger,
.status-pill.offline {
  color: var(--danger);
}

.chip.note {
  color: var(--note);
}

.chip.success,
.chip.warning,
.chip.kick,
.chip.danger,
.chip.note,
.status-pill.online,
.status-pill.offline {
  background: #202020;
}

.chip.success,
.status-pill.online {
  background: #1d352b;
  border-color: rgba(73, 200, 143, 0.22);
}

.chip.warning {
  background: #3b301f;
  border-color: rgba(232, 180, 93, 0.22);
}

.chip.kick {
  background: #3c2c25;
  border-color: rgba(217, 139, 99, 0.22);
}

.chip.danger,
.status-pill.offline {
  background: #3b2424;
  border-color: rgba(255, 125, 125, 0.22);
}

.chip.note {
  background: #2d3035;
  border-color: rgba(184, 188, 196, 0.18);
}

.chip.info {
  color: var(--tone-logs);
  background: #233143;
  border-color: rgba(110, 168, 255, 0.22);
}

.status-pill.online {
  background: #1d352b;
}

.input-grid,
.action-grid,
.metric-grid {
  display: grid;
  gap: 0.65rem;
}

.input-grid,
.action-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.inventory-mini-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inventory-mini-metrics .metric {
  padding: 0.55rem;
  gap: 0.2rem;
}

.inventory-mini-metrics .eyebrow {
  font-size: 0.62rem;
}

.inventory-mini-metrics .stat-value {
  font-size: 1rem;
  line-height: 1.1;
}

.metric {
  padding: 0.8rem;
  border-radius: var(--radius-md);
  background: var(--panel-alt);
  border: 0.0625rem solid var(--border);
  display: grid;
  gap: 0.35rem;
}

.field,
.textarea-field {
  display: grid;
  gap: 0.25rem;
}

.checkbox-field {
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 0.65rem 0.8rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.9rem;
  background: #181818;
}

.checkbox-field input {
  width: 1rem;
  height: 1rem;
  padding: 0;
  box-shadow: none;
}

.field span,
.textarea-field span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

input,
select,
textarea {
  width: 100%;
  border: 0.0625rem solid var(--border);
  border-radius: 0.9rem;
  background: #181818;
  color: var(--text-strong);
  padding: 0.65rem 0.8rem;
  box-shadow: inset 0 0.0625rem 0.15rem rgba(0, 0, 0, 0.18);
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 0.2rem rgba(139, 146, 156, 0.08);
}

textarea {
  min-height: 5.5rem;
  resize: vertical;
}

.table-head,
.table-row {
  display: grid;
  grid-template-columns: 1.2fr 0.95fr 0.95fr 0.8fr 0.8fr;
  gap: 1rem;
  align-items: center;
}

.table-head {
  padding-bottom: 0.45rem;
  border-bottom: 0.0625rem solid var(--border);
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.table-row {
  padding: 0.55rem 0;
  border-bottom: 0.0625rem solid var(--bg-soft);
}

.table-shell {
  display: grid;
  gap: 0;
}

.table-row-interactive {
  transition: background 140ms ease, border-color 140ms ease;
}

.table-row-interactive:hover {
  background: rgba(255, 255, 255, 0.02);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.table-row:last-child {
  border-bottom: 0;
}

.compact-table-card {
  padding: 0.85rem;
}

.compact-action-button {
  padding: 0.72rem 1rem;
  min-height: 2.8rem;
}

.metric-card {
  padding: 0.8rem;
  border-radius: var(--radius-md);
  background: var(--panel-alt);
  border: 0.0625rem solid var(--border);
  display: grid;
  gap: 0.25rem;
}

.manager-list-scroll {
  max-height: 48rem;
  overflow: auto;
  padding-right: 0.15rem;
}

.manager-results-card .manager-list-scroll {
  padding-right: 0.95rem;
  scrollbar-gutter: stable;
}

.logging-split-shell {
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
}

.nav-button[data-log-section="live"] {
  background: #3b4047;
  border-color: #565c65;
}

.nav-button[data-log-section="economy"] {
  background: #394332;
  border-color: #53624a;
}

.nav-button[data-log-section="gangs"] {
  background: #493636;
  border-color: #664c4c;
}

.nav-button[data-log-section="vehicles"] {
  background: #4a3d31;
  border-color: #665446;
}

.nav-button[data-log-section="police"] {
  background: #36414c;
  border-color: #4d5a66;
}

.nav-button[data-log-section="system"] {
  background: #423b49;
  border-color: #5a5263;
}

.nav-button[data-log-section="live"]:hover,
.nav-button[data-log-section="live"]:focus-visible,
.nav-button[data-log-section="live"].is-active {
  background: #4a5059;
  border-color: #6c7380;
}

.nav-button[data-log-section="economy"]:hover,
.nav-button[data-log-section="economy"]:focus-visible,
.nav-button[data-log-section="economy"].is-active {
  background: #465240;
  border-color: #65765e;
}

.nav-button[data-log-section="gangs"]:hover,
.nav-button[data-log-section="gangs"]:focus-visible,
.nav-button[data-log-section="gangs"].is-active {
  background: #594343;
  border-color: #7d6060;
}

.nav-button[data-log-section="vehicles"]:hover,
.nav-button[data-log-section="vehicles"]:focus-visible,
.nav-button[data-log-section="vehicles"].is-active {
  background: #5b4a3b;
  border-color: #7a6551;
}

.nav-button[data-log-section="police"]:hover,
.nav-button[data-log-section="police"]:focus-visible,
.nav-button[data-log-section="police"].is-active {
  background: #44515f;
  border-color: #607082;
}

.nav-button[data-log-section="system"]:hover,
.nav-button[data-log-section="system"]:focus-visible,
.nav-button[data-log-section="system"].is-active {
  background: #51495a;
  border-color: #70667b;
}

.logging-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.log-feed-grid {
  display: grid;
  gap: 0.85rem;
}

.log-chart-frame {
  position: relative;
  height: 19rem;
  padding: 0.9rem;
  border: 0.0625rem solid var(--border);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(35, 35, 35, 0.98) 0%, rgba(24, 24, 24, 0.98) 100%);
  overflow: hidden;
}

.log-chart-frame-wide {
  height: 21rem;
}

.log-chart-frame-compact {
  height: 16rem;
}

.log-chart-frame canvas {
  width: 100% !important;
  height: 100% !important;
}

.log-feed-grid {
  grid-template-columns: 1fr;
}

.log-entry-card {
  gap: 0.55rem;
}

.log-entry-card .footer-actions {
  justify-content: flex-start;
}

.log-rank-row {
  display: grid;
  gap: 0.5rem;
}

.log-rank-copy {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.log-rank-copy strong {
  color: var(--text-strong);
}

.log-rank-bar {
  width: 100%;
  height: 0.55rem;
  border-radius: 999rem;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
}

.log-rank-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(142, 148, 157, 0.88) 0%, rgba(194, 199, 206, 0.96) 100%);
}

.vehicle-results-table {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.95fr) auto auto;
}

.manager-results-card .vehicle-results-table {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 0.85fr) minmax(0, 0.75fr) minmax(20rem, auto);
  column-gap: 0.8rem;
}

.manager-results-card .vehicle-results-table.has-selection {
  grid-template-columns: 2.25rem minmax(0, 1.05fr) minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 0.85fr) minmax(0, 0.75fr) minmax(20rem, auto);
}

.vehicle-selection-cell {
  display: grid;
  place-items: center;
}

.vehicle-selection-cell input {
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: #4da3ff;
  cursor: pointer;
}

.vehicle-results-workspace .table-row.is-selected {
  background: linear-gradient(90deg, rgba(43, 127, 206, 0.2), #111d28 38%);
  box-shadow: inset 0.16rem 0 #4da3ff;
}

.vehicle-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.vehicle-remove-card {
  border-color: rgba(223, 82, 82, 0.48) !important;
  background: linear-gradient(145deg, rgba(105, 31, 36, 0.2), rgba(23, 27, 34, 0.94)) !important;
}

.vehicle-transfer-card {
  border-color: rgba(232, 174, 68, 0.4) !important;
  background: linear-gradient(145deg, rgba(102, 69, 18, 0.18), rgba(23, 27, 34, 0.94)) !important;
}

.vehicle-action-open {
  border-color: rgba(82, 158, 255, 0.48) !important;
  background: rgba(41, 104, 184, 0.16) !important;
  color: #9dccff !important;
}

.vehicle-action-transfer {
  border-color: rgba(232, 174, 68, 0.52) !important;
  background: rgba(151, 99, 20, 0.2) !important;
  color: #f2c86f !important;
}

.vehicle-action-remove {
  border-color: rgba(235, 91, 100, 0.52) !important;
  background: rgba(155, 42, 50, 0.2) !important;
  color: #ff9aa1 !important;
}

.permissions-page-stack {
  gap: 0.32rem;
}

.permissions-hero-card {
  padding: 0.42rem 0.55rem;
}

.permissions-hero-card .page-title {
  font-size: 1.05rem;
  line-height: 1;
}

.permissions-hero-card .body-copy {
  display: none;
}

.permissions-top-grid,
.permissions-bottom-grid,
.permissions-ip-grid {
  gap: 0.32rem;
}

.permissions-top-grid {
  grid-template-columns: minmax(24rem, 1fr) minmax(34rem, 1.25fr);
}

.permissions-ip-grid {
  grid-template-columns: minmax(0, 1fr);
}

.permissions-compact-card,
.permissions-matrix-card {
  padding: 0.34rem;
}

.permissions-compact-card .section-title,
.permissions-matrix-card .section-title {
  font-size: 0.82rem;
  line-height: 1;
}

.permissions-compact-card .section-subcopy,
.permissions-matrix-card .section-subcopy {
  display: none;
}

.permissions-role-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.18rem;
}

.permissions-account-list,
.permissions-link-list,
.permissions-ip-list {
  gap: 0.18rem;
}

.permissions-feed-row {
  min-height: 1.75rem;
  padding: 0.22rem 0.3rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.3rem;
  background: #181818;
  gap: 0.28rem;
}

.permissions-feed-row strong {
  font-size: 0.74rem;
  line-height: 1;
}

.permissions-feed-row .table-muted {
  font-size: 0.62rem;
  line-height: 1.05;
}

.permissions-feed-row .chip {
  padding: 0.12rem 0.24rem;
  font-size: 0.58rem;
  white-space: nowrap;
}

.permissions-add-form {
  grid-template-columns: minmax(9rem, 1fr) minmax(12rem, 1.2fr) minmax(9rem, 0.85fr) auto;
  align-items: end;
  gap: 0.24rem;
}

.permissions-add-form .field {
  gap: 0.1rem;
}

.permissions-add-form input,
.permissions-add-form select {
  min-height: 1.85rem;
  padding: 0.24rem 0.38rem;
  font-size: 0.74rem;
}

.permissions-add-form .primary-button {
  min-height: 1.85rem;
  padding: 0.24rem 0.45rem;
  font-size: 0.72rem;
  white-space: nowrap;
}

.access-matrix-table {
  grid-template-columns: minmax(10rem, 1.1fr) repeat(5, minmax(5.8rem, 0.75fr));
  min-width: 40rem;
  column-gap: 0.22rem;
}

.permissions-matrix-scroll {
  max-height: 18rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.35rem;
  background: #181818;
  scrollbar-gutter: stable;
}

.permissions-action-scroll {
  max-height: 24rem;
}

.permissions-matrix-scroll .table-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 0.24rem 0.34rem;
  background: #202020;
  font-size: 0.58rem;
  line-height: 1;
}

.permissions-matrix-scroll .table-row {
  padding: 0.18rem 0.34rem;
}

.permissions-matrix-row strong {
  display: block;
  font-size: 0.68rem;
  line-height: 1;
}

.permissions-matrix-row .table-muted {
  font-size: 0.55rem;
  line-height: 1;
}

.compact-select-field {
  margin: 0;
}

.compact-select-field select {
  min-height: 1.55rem;
  padding: 0.14rem 0.28rem;
  border-radius: 0.25rem;
  font-size: 0.66rem;
}

.permissions-request-card {
  padding: 0.25rem;
  border-radius: 0.35rem;
}

.permissions-request-actions {
  justify-content: flex-start;
  gap: 0.22rem;
  margin-top: 0.22rem;
}

.permissions-request-actions .primary-button,
.permissions-request-actions .ghost-button {
  min-height: 1.65rem;
  padding: 0.18rem 0.4rem;
  font-size: 0.66rem;
}

.permissions-page-stack .row-between {
  gap: 0.28rem;
}

.permissions-page-stack .chip {
  min-height: 1.15rem;
  padding: 0.1rem 0.24rem;
  border-radius: 0.22rem;
  font-size: 0.56rem;
  line-height: 1;
}

.permissions-page-stack .field span,
.permissions-page-stack .textarea-field span {
  font-size: 0.56rem;
  line-height: 1;
  letter-spacing: 0.06em;
}

.permissions-page-stack input,
.permissions-page-stack select,
.permissions-page-stack textarea {
  border-radius: 0.24rem;
}

.permissions-page-stack .table-card,
.permissions-page-stack .hero-card,
.permissions-page-stack .list-card {
  border-radius: 0.32rem;
}

.permissions-page-stack .table-head,
.permissions-page-stack .table-row {
  gap: 0.22rem;
}

.manager-detail-shell > .profile-content-grid {
  gap: 1.05rem;
}

.manager-detail-shell .compact-profile-card {
  display: grid;
  gap: 0.9rem;
}

.manager-detail-shell .metric-grid {
  gap: 0.8rem;
}

.manager-detail-shell .metric-card {
  padding: 0.95rem;
}

.manager-detail-shell .action-grid {
  gap: 0.7rem;
}

.manager-detail-shell .panel-stack {
  gap: 0.55rem;
}

.record-tools-card {
  padding: 0.75rem;
}

.record-tools-card .action-grid {
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.55rem;
}

.record-tools-card .panel-stack {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  padding: 0.55rem;
}

.record-tools-card .panel-stack > .row-between,
.record-tools-card .panel-stack > .textarea-field,
.record-tools-card .panel-stack > .primary-button {
  grid-column: 1 / -1;
}

.record-tools-card .field span,
.record-tools-card .textarea-field span,
.inventory-section-card .field span,
.inventory-section-card .textarea-field span {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
}

.record-tools-card input,
.record-tools-card select,
.record-tools-card textarea,
.inventory-section-card input,
.inventory-section-card select,
.inventory-section-card textarea {
  padding: 0.45rem 0.55rem;
}

.record-tools-card textarea {
  min-height: 2.8rem;
}

.record-tools-card .primary-button,
.inventory-section-card .primary-button {
  min-height: 2rem;
  padding: 0.42rem 0.58rem;
  font-size: 0.76rem;
  gap: 0.42rem;
}

.record-tools-card .primary-button {
  justify-self: start;
  min-width: 8.5rem;
}

.vehicle-tools-card {
  padding: 0.55rem;
}

.vehicle-tools-card > .row-between {
  margin-bottom: 0.35rem;
}

.vehicle-tools-card .action-grid {
  grid-template-columns: 1fr;
  gap: 0.32rem;
}

.vehicle-tools-card .panel-stack {
  grid-template-columns: minmax(7.8rem, 0.9fr) repeat(4, minmax(5.8rem, 1fr)) minmax(6.8rem, 0.75fr);
  align-items: end;
  gap: 0.3rem;
  padding: 0.4rem;
}

.vehicle-tools-card .panel-stack > .row-between,
.vehicle-tools-card .panel-stack > .textarea-field,
.vehicle-tools-card .panel-stack > .primary-button {
  grid-column: auto;
}

.vehicle-tools-card .panel-stack > .row-between {
  align-self: center;
  display: grid;
  gap: 0.12rem;
}

.vehicle-tools-card .panel-stack > .row-between .chip {
  display: none;
}

.vehicle-tools-card .panel-stack > .row-between strong {
  font-size: 0.74rem;
  line-height: 1.1;
}

.vehicle-tools-card .field,
.vehicle-tools-card .textarea-field {
  gap: 0.12rem;
}

.vehicle-tools-card .field span,
.vehicle-tools-card .textarea-field span {
  font-size: 0.54rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.vehicle-tools-card input,
.vehicle-tools-card select,
.vehicle-tools-card textarea {
  min-height: 1.65rem;
  padding: 0.32rem 0.42rem;
  border-radius: 0.55rem;
  font-size: 0.72rem;
}

.vehicle-tools-card textarea {
  height: 1.65rem;
  min-height: 1.65rem;
  max-height: 1.65rem;
  resize: none;
  line-height: 1.15;
}

.vehicle-tools-card .checkbox-field {
  min-height: 1.65rem;
  padding: 0.32rem 0.42rem;
  border-radius: 0.55rem;
}

.vehicle-tools-card .primary-button {
  justify-self: stretch;
  min-width: 0;
  min-height: 1.65rem;
  padding: 0.32rem 0.45rem;
  font-size: 0.7rem;
}

/* Vehicle record workspace */
.vehicle-record-workspace {
  --vehicle-surface: #0f1823;
  --vehicle-surface-raised: #121e2b;
  --vehicle-line: #26384a;
  --vehicle-line-soft: rgba(86, 112, 139, 0.28);
  --vehicle-blue: #5798ff;
  --vehicle-blue-strong: #347ff2;
  --vehicle-green: #4bd17b;
  --vehicle-amber: #e1a637;
  --vehicle-red: #ef4d52;
  overflow: hidden;
  border: 0.0625rem solid var(--vehicle-line);
  border-radius: 0.7rem;
  background: #0c141e;
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.2);
}

.vehicle-record-header {
  display: grid;
  grid-template-columns: minmax(14rem, 0.7fr) minmax(25rem, 1.25fr) minmax(31rem, 1.4fr);
  align-items: center;
  gap: 1.5rem;
  padding: 1.25rem 1.4rem;
  border-bottom: 0.0625rem solid var(--vehicle-line);
  background: #101a26;
}

.vehicle-record-identity {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-width: 0;
}

.vehicle-record-icon,
.vehicle-section-icon {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.3rem;
  height: 2.3rem;
  border: 0.0625rem solid rgba(87, 152, 255, 0.34);
  border-radius: 0.55rem;
  background: rgba(87, 152, 255, 0.1);
  color: var(--vehicle-blue);
}

.vehicle-record-identity h2 {
  margin: 0;
  color: #f4f8fc;
  font-size: clamp(1.55rem, 2vw, 2.25rem);
  line-height: 1;
  letter-spacing: 0.01em;
}

.vehicle-record-identity p,
.vehicle-section-title-group p,
.vehicle-slot-detail-head p,
.vehicle-slot-empty-state p {
  margin: 0.35rem 0 0;
  color: #8da0b4;
  font-size: 0.78rem;
  line-height: 1.45;
}

.vehicle-record-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0 1.4rem;
  border-inline: 0.0625rem solid var(--vehicle-line);
}

.vehicle-record-facts div,
.vehicle-record-list div {
  min-width: 0;
}

.vehicle-record-facts dt,
.vehicle-record-list dt {
  margin-bottom: 0.35rem;
  color: #71869b;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.vehicle-record-facts dd,
.vehicle-record-list dd {
  margin: 0;
  overflow: hidden;
  color: #dce6f0;
  font-size: 0.83rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vehicle-inline-status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #dce6f0;
}

.vehicle-inline-status::before {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #7d8c9b;
  content: '';
}

.vehicle-inline-status.garaged::before,
.vehicle-inline-status.online::before {
  background: var(--vehicle-green);
  box-shadow: 0 0 0 0.2rem rgba(75, 209, 123, 0.1);
}

.vehicle-inline-status.impounded::before {
  background: var(--vehicle-amber);
}

.vehicle-inline-status.out::before,
.vehicle-inline-status.offline::before {
  background: #8494a4;
}

.vehicle-record-meters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  min-width: 0;
}

.vehicle-record-meter > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  margin-bottom: 0.45rem;
}

.vehicle-record-meter span,
.vehicle-record-price span {
  color: #8093a6;
  font-size: 0.68rem;
  font-weight: 650;
}

.vehicle-record-meter span i {
  margin-right: 0.35rem;
  color: #91a8be;
}

.vehicle-record-meter strong,
.vehicle-record-price strong {
  color: #eef5fb;
  font-size: 0.76rem;
}

.vehicle-meter-track {
  overflow: hidden;
  height: 0.22rem;
  border-radius: 0.25rem;
  background: #223140;
}

.vehicle-meter-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--vehicle-green);
}

.vehicle-record-price {
  display: grid;
  align-content: center;
  gap: 0.45rem;
}

.vehicle-record-price strong {
  font-size: 1rem;
}

.vehicle-workspace-tabs {
  display: flex;
  align-items: stretch;
  gap: 0.35rem;
  overflow-x: auto;
  padding: 0 1.25rem;
  border-bottom: 0.0625rem solid var(--vehicle-line);
  background: #0e1721;
  scrollbar-width: thin;
}

.vehicle-workspace-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3.6rem;
  padding: 0 1rem;
  border: 0;
  background: transparent;
  color: #91a3b6;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 650;
  white-space: nowrap;
  cursor: pointer;
}

.vehicle-workspace-tab::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 0.16rem;
  background: transparent;
  content: '';
}

.vehicle-workspace-tab:hover,
.vehicle-workspace-tab:focus-visible {
  color: #d5e4f2;
  outline: none;
}

.vehicle-workspace-tab.is-active {
  color: var(--vehicle-blue);
}

.vehicle-workspace-tab.is-active::after {
  background: var(--vehicle-blue);
}

.vehicle-workspace-tab em {
  min-width: 1.35rem;
  padding: 0.12rem 0.3rem;
  border-radius: 0.35rem;
  background: rgba(87, 152, 255, 0.12);
  color: #a9cbff;
  font-size: 0.65rem;
  font-style: normal;
}

.vehicle-workspace-panel {
  padding: 1rem;
  background: #0c141e;
}

.vehicle-overview-grid,
.vehicle-management-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.vehicle-open-section,
.vehicle-editor-section,
.vehicle-tuning-workspace,
.vehicle-history-workspace,
.vehicle-trunk-workspace {
  border: 0.0625rem solid var(--vehicle-line-soft);
  border-radius: 0.65rem;
  background: var(--vehicle-surface);
}

.vehicle-open-section,
.vehicle-editor-section {
  display: grid;
  align-content: start;
  gap: 1rem;
  padding: 1.1rem;
}

.vehicle-overview-wide {
  grid-column: 1 / -1;
}

.vehicle-section-title-group {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.vehicle-section-title-group h3,
.vehicle-slot-detail-head h4,
.vehicle-slot-empty-state h4,
.vehicle-editor-form h4,
.vehicle-tuning-group h4 {
  margin: 0;
  color: #edf4fa;
  font-size: 1rem;
  line-height: 1.2;
}

.vehicle-section-icon {
  width: 2rem;
  height: 2rem;
  border: 0;
  background: transparent;
  font-size: 0.9rem;
}

.vehicle-condition-list {
  display: grid;
  gap: 1rem;
}

.vehicle-overview-value-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.85rem;
  border-top: 0.0625rem solid var(--vehicle-line-soft);
  color: #8497aa;
  font-size: 0.8rem;
}

.vehicle-overview-value-row strong {
  color: #e9f1f8;
  font-size: 1.05rem;
}

.vehicle-record-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.95rem 1.5rem;
  margin: 0;
}

.vehicle-overview-link {
  justify-content: space-between;
  width: 100%;
  margin-top: auto;
  border-color: var(--vehicle-line);
  border-radius: 0.48rem;
}

.vehicle-trunk-preview {
  display: flex;
  gap: 0.55rem;
  min-height: 4.5rem;
  overflow-x: auto;
}

.vehicle-trunk-preview > div {
  position: relative;
  display: grid;
  flex: 0 0 5.25rem;
  justify-items: center;
  gap: 0.2rem;
  padding: 0.45rem;
  border: 0.0625rem solid var(--vehicle-line-soft);
  border-radius: 0.5rem;
  background: #101a25;
}

.vehicle-trunk-preview img {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
}

.vehicle-trunk-preview span {
  overflow: hidden;
  width: 100%;
  color: #aab8c6;
  font-size: 0.62rem;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vehicle-trunk-preview strong {
  position: absolute;
  top: 0.3rem;
  right: 0.3rem;
  color: #e8f1f9;
  font-size: 0.65rem;
}

.vehicle-trunk-preview > p {
  align-self: center;
  margin: 0;
  color: #788b9e;
  font-size: 0.8rem;
}

.vehicle-editor-section .field,
.vehicle-editor-section .textarea-field,
.vehicle-details-band .field,
.vehicle-details-band .textarea-field,
.vehicle-tuning-workspace .field,
.vehicle-tuning-workspace .textarea-field,
.vehicle-trunk-inspector .field,
.vehicle-trunk-inspector .textarea-field,
.vehicle-danger-form .textarea-field {
  gap: 0.35rem;
}

.vehicle-editor-section .field > span,
.vehicle-editor-section .textarea-field > span,
.vehicle-details-band .field > span,
.vehicle-details-band .textarea-field > span,
.vehicle-tuning-workspace .field > span,
.vehicle-tuning-workspace .textarea-field > span,
.vehicle-trunk-inspector .field > span,
.vehicle-trunk-inspector .textarea-field > span,
.vehicle-danger-form .textarea-field > span {
  color: #99aabd;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.vehicle-record-workspace :is(input, select, textarea) {
  border-color: #2a3e52;
  border-radius: 0.46rem;
  background: #0a131d;
  color: #e4edf5;
  font-size: 0.82rem;
}

.vehicle-record-workspace :is(input, select) {
  min-height: 2.55rem;
}

.vehicle-record-workspace textarea {
  min-height: 4.25rem;
  resize: vertical;
}

.vehicle-record-workspace input[readonly] {
  background: #16212c;
  color: #8ea0b2;
}

.vehicle-record-workspace .field small {
  color: #74879a;
  font-size: 0.67rem;
}

.vehicle-record-workspace .primary-button,
.vehicle-record-workspace .ghost-button {
  min-height: 2.55rem;
  border-radius: 0.46rem;
  font-size: 0.78rem;
  font-weight: 700;
}

.vehicle-editor-section > .primary-button {
  width: 100%;
  margin-top: auto;
}

.vehicle-transfer-section > .primary-button {
  border-color: #c68b24;
  background: #9a671b;
  color: #fff1ce;
}

.vehicle-transfer-section > .primary-button:hover,
.vehicle-transfer-section > .primary-button:focus-visible {
  background: #b1781f;
}

.vehicle-two-field-row,
.vehicle-five-field-row,
.vehicle-toggle-row {
  display: grid;
  gap: 0.8rem;
}

.vehicle-two-field-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vehicle-five-field-row {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.vehicle-details-band {
  display: grid;
  grid-template-columns: minmax(13rem, 1.2fr) repeat(5, minmax(5.5rem, 0.6fr)) minmax(14rem, 1.45fr) auto;
  align-items: end;
  gap: 0.75rem;
  margin-top: 0.85rem;
  padding: 1rem 1.1rem;
  border: 0.0625rem solid var(--vehicle-line-soft);
  border-radius: 0.65rem;
  background: var(--vehicle-surface);
}

.vehicle-details-band .vehicle-section-title-group {
  align-self: center;
}

.vehicle-details-band textarea {
  min-height: 2.55rem;
  height: 2.55rem;
  resize: none;
}

.vehicle-details-band .primary-button {
  min-width: 8rem;
}

.vehicle-tuning-workspace {
  padding: 1.1rem;
}

.vehicle-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 0.0625rem solid var(--vehicle-line-soft);
}

.vehicle-tuning-group {
  margin-top: 1.1rem;
}

.vehicle-tuning-group h4 {
  margin-bottom: 0.8rem;
  color: #aebdcc;
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vehicle-toggle-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1rem;
}

.vehicle-toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 3.7rem;
  padding: 0.75rem;
  border: 0.0625rem solid var(--vehicle-line-soft);
  border-radius: 0.5rem;
  background: #101a25;
}

.vehicle-toggle input {
  min-height: 0;
}

.vehicle-toggle span {
  display: grid;
  gap: 0.2rem;
}

.vehicle-toggle strong {
  color: #dfe9f2;
  font-size: 0.78rem;
}

.vehicle-toggle small {
  color: #74879a;
  font-size: 0.68rem;
}

.vehicle-tuning-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 0.8rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 0.0625rem solid var(--vehicle-line-soft);
}

.vehicle-tuning-footer textarea {
  min-height: 2.55rem;
  height: 2.55rem;
  resize: none;
}

.vehicle-trunk-workspace {
  overflow: hidden;
}

.vehicle-trunk-heading {
  padding: 0.95rem 1rem;
  background: #101a25;
}

.vehicle-trunk-summary {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  color: #7f92a5;
  font-size: 0.72rem;
}

.vehicle-trunk-summary strong {
  color: #dfe8f1;
  font-size: 0.8rem;
}

.vehicle-trunk-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.25fr) minmax(18rem, 0.95fr);
  min-height: 32rem;
}

.vehicle-trunk-grid-area {
  min-width: 0;
  padding: 1rem;
  border-right: 0.0625rem solid var(--vehicle-line-soft);
}

.vehicle-inline-help {
  margin: 0 0 0.85rem;
  color: #8092a5;
  font-size: 0.74rem;
}

.vehicle-trunk-grid {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 0.42rem;
}

.vehicle-trunk-slot {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 4.25rem;
  place-items: center;
  padding: 0.3rem;
  border: 0.0625rem solid #2b3c4e;
  border-radius: 0.42rem;
  background: #111d28;
  color: #91a3b6;
  cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
}

.vehicle-trunk-slot:hover,
.vehicle-trunk-slot:focus-visible {
  border-color: #4a6988;
  background: #152332;
  outline: none;
  transform: translateY(-0.05rem);
}

.vehicle-trunk-slot.selected {
  border-color: var(--vehicle-blue);
  box-shadow: inset 0 0 0 0.0625rem rgba(87, 152, 255, 0.22);
}

.vehicle-trunk-slot.empty {
  background: #0f1a24;
}

.vehicle-trunk-slot .inventory-slot-number {
  top: 0.28rem;
  left: 0.35rem;
  min-width: 0;
  padding: 0;
  background: transparent;
  color: #687b8e;
  font-size: 0.6rem;
}

.vehicle-trunk-slot .inventory-slot-image {
  width: 2.35rem;
  height: 2.35rem;
  margin: 0;
}

.vehicle-trunk-slot .inventory-slot-count {
  right: 0.28rem;
  bottom: 1.2rem;
  min-width: 1.1rem;
  background: #15293d;
  color: #dce9f4;
  font-size: 0.58rem;
}

.vehicle-trunk-slot .inventory-slot-label {
  position: absolute;
  right: 0.2rem;
  bottom: 0.2rem;
  left: 0.2rem;
  overflow: hidden;
  min-height: 0;
  color: #b8c6d3;
  font-size: 0.58rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

.vehicle-trunk-inspector {
  display: grid;
  align-content: start;
  gap: 1rem;
  padding: 1rem;
  background: #101a25;
}

.vehicle-slot-detail-head,
.vehicle-slot-empty-state {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.vehicle-slot-detail-head > div:last-child > span {
  color: var(--vehicle-blue);
  font-size: 0.64rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vehicle-slot-art {
  display: grid;
  flex: 0 0 auto;
  width: 3.6rem;
  height: 3.6rem;
  place-items: center;
  border: 0.0625rem solid var(--vehicle-line-soft);
  border-radius: 0.55rem;
  background: #0d1721;
}

.vehicle-slot-art img {
  width: 2.7rem;
  height: 2.7rem;
  object-fit: contain;
}

.vehicle-readonly-field textarea {
  min-height: 3.8rem;
}

.vehicle-slot-actions,
.vehicle-editor-form {
  display: grid;
  gap: 0.75rem;
}

.vehicle-slot-actions {
  padding-top: 1rem;
  border-top: 0.0625rem solid var(--vehicle-line-soft);
}

.vehicle-remove-item-form {
  padding-top: 0.8rem;
  border-top: 0.0625rem solid rgba(239, 77, 82, 0.2);
}

.vehicle-inspector-divider {
  height: 0.0625rem;
  background: var(--vehicle-line-soft);
}

.vehicle-editor-form h4 i {
  margin-right: 0.4rem;
  color: var(--vehicle-blue);
}

.vehicle-history-workspace {
  overflow: hidden;
}

.vehicle-history-workspace .vehicle-section-heading {
  padding: 1rem;
  background: #101a25;
}

.vehicle-history-count {
  color: #8fa2b5;
  font-size: 0.72rem;
}

.vehicle-history-list {
  display: grid;
}

.vehicle-history-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto 6rem;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  border-top: 0.0625rem solid var(--vehicle-line-soft);
}

.vehicle-history-row:first-child {
  border-top: 0;
}

.vehicle-history-icon {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 0.45rem;
  background: rgba(87, 152, 255, 0.1);
  color: var(--vehicle-blue);
}

.vehicle-history-row strong {
  color: #dfe9f2;
  font-size: 0.8rem;
}

.vehicle-history-row p {
  margin: 0.25rem 0 0;
  color: #7f92a5;
  font-size: 0.72rem;
}

.vehicle-history-row time,
.vehicle-history-outcome {
  color: #8396a8;
  font-size: 0.68rem;
  text-align: right;
}

.vehicle-history-outcome.completed {
  color: var(--vehicle-green);
}

.vehicle-history-outcome.failed,
.vehicle-history-outcome.rejected {
  color: var(--vehicle-red);
}

.vehicle-history-empty {
  padding: 2rem 1rem;
  color: #7f92a5;
  font-size: 0.8rem;
  text-align: center;
}

.vehicle-danger-zone {
  margin: 0 1rem 1rem;
  border: 0.0625rem solid rgba(239, 77, 82, 0.34);
  border-radius: 0.55rem;
  background: rgba(70, 20, 24, 0.12);
}

.vehicle-danger-zone summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  color: var(--vehicle-red);
  cursor: pointer;
  list-style: none;
}

.vehicle-danger-zone summary::-webkit-details-marker {
  display: none;
}

.vehicle-danger-zone summary > span {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: start;
  gap: 0.2rem 0.55rem;
}

.vehicle-danger-zone summary small {
  grid-column: 2;
  color: #9c8587;
  font-size: 0.68rem;
  font-weight: 500;
}

.vehicle-danger-zone[open] summary > .fa-chevron-down {
  transform: rotate(180deg);
}

.vehicle-danger-form {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) minmax(18rem, 1fr) auto;
  align-items: end;
  gap: 0.8rem;
  padding: 0 1rem 1rem;
}

.vehicle-danger-form textarea {
  min-height: 2.55rem;
  height: 2.55rem;
  resize: none;
}

.vehicle-danger-form .checkbox-field {
  min-height: 2.55rem;
  border-color: rgba(239, 77, 82, 0.25);
  border-radius: 0.46rem;
  background: rgba(60, 20, 22, 0.2);
  color: #bba8aa;
  font-size: 0.72rem;
}

.vehicle-danger-form .danger-button {
  min-width: 10rem;
}

.app-shell:not(.landing-shell) .vehicle-record-workspace :is(input, select, textarea, .primary-button, .ghost-button) {
  border-radius: 0.46rem;
}

@media (max-width: 1500px) {
  .vehicle-record-header {
    grid-template-columns: minmax(13rem, 0.65fr) minmax(22rem, 1.15fr);
  }

  .vehicle-record-meters {
    grid-column: 1 / -1;
    padding-top: 1rem;
    border-top: 0.0625rem solid var(--vehicle-line-soft);
  }

  .vehicle-details-band {
    grid-template-columns: minmax(12rem, 1.2fr) repeat(3, minmax(6rem, 0.7fr));
  }

  .vehicle-details-band .textarea-field {
    grid-column: span 2;
  }

  .vehicle-trunk-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) {
  .vehicle-record-header,
  .vehicle-overview-grid,
  .vehicle-management-grid,
  .vehicle-trunk-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .vehicle-record-facts {
    padding: 1rem 0 0;
    border-top: 0.0625rem solid var(--vehicle-line-soft);
    border-inline: 0;
  }

  .vehicle-record-meters {
    grid-column: auto;
  }

  .vehicle-overview-wide {
    grid-column: auto;
  }

  .vehicle-details-band {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vehicle-details-band .vehicle-section-title-group,
  .vehicle-details-band .textarea-field {
    grid-column: 1 / -1;
  }

  .vehicle-details-band .primary-button {
    grid-column: 3;
  }

  .vehicle-five-field-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vehicle-trunk-grid-area {
    border-right: 0;
    border-bottom: 0.0625rem solid var(--vehicle-line-soft);
  }

  .vehicle-trunk-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  .vehicle-danger-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .vehicle-danger-form .danger-button {
    justify-self: start;
  }
}

@media (max-width: 760px) {
  .vehicle-record-header {
    gap: 1rem;
    padding: 1rem;
  }

  .vehicle-record-facts,
  .vehicle-record-meters,
  .vehicle-record-list,
  .vehicle-two-field-row,
  .vehicle-toggle-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vehicle-workspace-tabs {
    padding-inline: 0.5rem;
  }

  .vehicle-workspace-tab {
    min-height: 3.2rem;
    padding-inline: 0.75rem;
  }

  .vehicle-workspace-panel {
    padding: 0.65rem;
  }

  .vehicle-details-band,
  .vehicle-five-field-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vehicle-details-band .primary-button {
    grid-column: 2;
  }

  .vehicle-tuning-footer {
    grid-template-columns: minmax(0, 1fr);
  }

  .vehicle-tuning-footer .primary-button {
    width: 100%;
  }

  .vehicle-trunk-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .vehicle-history-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .vehicle-history-row time {
    grid-column: 2 / -1;
    text-align: left;
  }

  .vehicle-danger-zone {
    margin: 0 0.65rem 0.65rem;
  }
}

@media (max-width: 520px) {
  .vehicle-record-facts,
  .vehicle-record-meters,
  .vehicle-record-list,
  .vehicle-two-field-row,
  .vehicle-toggle-row,
  .vehicle-details-band,
  .vehicle-five-field-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .vehicle-details-band .primary-button {
    grid-column: auto;
    width: 100%;
  }

  .vehicle-trunk-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .vehicle-record-identity h2 {
    font-size: 1.6rem;
  }

  .vehicle-danger-zone summary > span {
    grid-template-columns: auto minmax(0, 1fr);
  }
}

.vehicle-manager-hero {
  overflow: hidden;
  border-radius: 0.7rem;
  border-color: #28394b;
  background: #0f1822;
}

.vehicle-manager-hero > .row-between {
  padding-bottom: 0.85rem;
  border-bottom: 0.0625rem solid rgba(86, 112, 139, 0.24);
}

.vehicle-manager-hero .compact-player-toolbar {
  grid-template-columns: minmax(15rem, 1.3fr) minmax(15rem, 1.3fr) minmax(12rem, 0.85fr) auto;
}

.vehicle-manager-hero .compact-player-toolbar :is(input, select) {
  min-height: 2.65rem;
  border-radius: 0.48rem;
}

.vehicle-stat-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  overflow: hidden;
  border: 0.0625rem solid #28394b;
  border-radius: 0.55rem;
  background: #0b141e;
}

.vehicle-stat-strip > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.12rem 0.55rem;
  min-width: 0;
  padding: 0.72rem 0.8rem;
  border-left: 0.0625rem solid rgba(86, 112, 139, 0.24);
}

.vehicle-stat-strip > div:first-child {
  border-left: 0;
}

.vehicle-stat-strip i {
  grid-row: 1 / span 2;
  color: #5798ff;
  font-size: 0.9rem;
}

.vehicle-stat-strip .is-success i {
  color: #4bd17b;
}

.vehicle-stat-strip .is-warning i {
  color: #e1a637;
}

.vehicle-stat-strip .is-danger i {
  color: #ef4d52;
}

.vehicle-stat-strip span {
  overflow: hidden;
  color: #71869b;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.vehicle-stat-strip strong {
  overflow: hidden;
  color: #e7eef5;
  font-size: 0.9rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vehicle-results-workspace {
  overflow: hidden;
  padding: 0;
  border-radius: 0.65rem;
  border-color: #28394b;
  background: #0e1721;
}

.vehicle-results-workspace > .row-between {
  padding: 1rem 1.1rem;
  border-bottom: 0.0625rem solid rgba(86, 112, 139, 0.28);
}

.vehicle-results-workspace .table-shell {
  border: 0;
  border-radius: 0;
}

.vehicle-results-workspace .table-head,
.vehicle-results-workspace .table-row {
  border-radius: 0;
}

.vehicle-results-workspace .table-row {
  min-height: 4rem;
  border-top-color: rgba(86, 112, 139, 0.2);
  background: #0f1822;
}

.vehicle-results-workspace .table-row:hover {
  background: #121f2c;
}

.vehicle-bulk-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.72rem 1.1rem;
  border-bottom: 0.0625rem solid rgba(77, 163, 255, 0.28);
  background: linear-gradient(90deg, rgba(28, 91, 151, 0.2), rgba(12, 24, 35, 0.96));
}

.vehicle-bulk-toolbar > div:first-child {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
}

.vehicle-bulk-toolbar strong { color: #dbeafa; font-size: 0.8rem; }
.vehicle-bulk-toolbar small { margin-left: 0.35rem; color: #7890a5; font-size: 0.68rem; }
.vehicle-bulk-count { color: #69b4ff; font-size: 1.12rem; font-weight: 800; }
.vehicle-bulk-toolbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 0.5rem; }
.vehicle-bulk-toolbar-actions .ghost-button { min-height: 2.25rem; padding: 0.45rem 0.7rem; }
.vehicle-bulk-clear { color: #93a8ba !important; }

body:has(.vehicle-bulk-backdrop) { overflow: hidden; }

.vehicle-bulk-backdrop {
  position: fixed;
  z-index: 1200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));
  overflow: auto;
  background: rgba(2, 7, 12, 0.8);
  backdrop-filter: blur(8px);
}

.vehicle-bulk-modal {
  display: flex;
  flex-direction: column;
  width: min(40rem, 100%);
  max-height: calc(100dvh - 2rem);
  overflow: hidden;
  border: 0.0625rem solid #2c465d;
  border-radius: 0.72rem;
  background: #0d1821;
  box-shadow: 0 1.5rem 5.5rem rgba(0, 0, 0, 0.58);
}

.vehicle-bulk-modal header,
.vehicle-bulk-modal footer {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border-bottom: 0.0625rem solid #22374a;
}

.vehicle-bulk-modal header > div { display: grid; gap: 0.2rem; }
.vehicle-bulk-modal header span { color: #6e8aa2; font-size: 0.64rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.vehicle-bulk-modal header h2 { margin: 0; color: #edf5fc; font-size: 1.15rem; }
.vehicle-bulk-modal header button { border: 0; background: transparent; color: #7890a5; cursor: pointer; font-size: 1rem; }
.vehicle-bulk-modal footer { justify-content: flex-end; border-top: 0.0625rem solid #22374a; border-bottom: 0; }
.vehicle-bulk-modal footer .danger-button { border-color: #8f3d49 !important; background: #762d39 !important; color: #ffe1e4 !important; }
.vehicle-bulk-modal footer .danger-button:hover { background: #8d3442 !important; }

.vehicle-bulk-modal-body {
  display: grid;
  gap: 0.9rem;
  min-height: 0;
  padding: 1.1rem;
  overflow: auto;
}

.vehicle-bulk-summary {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.82rem;
  border: 0.0625rem solid rgba(77, 163, 255, 0.32);
  border-radius: 0.55rem;
  background: rgba(34, 105, 173, 0.14);
}

.vehicle-bulk-summary.danger { border-color: rgba(248, 113, 113, 0.38); background: rgba(127, 29, 29, 0.18); }
.vehicle-bulk-summary > i { margin-top: 0.12rem; color: #69b4ff; }
.vehicle-bulk-summary.danger > i { color: #fb7185; }
.vehicle-bulk-summary > div { display: grid; gap: 0.2rem; }
.vehicle-bulk-summary strong { color: #dceaf6; font-size: 0.82rem; }
.vehicle-bulk-summary span { color: #8499ab; font-size: 0.7rem; line-height: 1.45; }
.vehicle-bulk-plates { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.vehicle-bulk-plate { padding: 0.34rem 0.5rem; border: 0.0625rem solid #294158; border-radius: 0.35rem; background: #101f2b; color: #c5d8e8; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.68rem; }
.vehicle-bulk-plate.muted { color: #71889c; font-family: inherit; }
.vehicle-bulk-confirm { padding: 0.78rem; border: 0.0625rem solid rgba(248, 113, 113, 0.32); border-radius: 0.5rem; background: rgba(127, 29, 29, 0.12); }

@media (max-width: 760px) {
  .vehicle-bulk-toolbar { align-items: stretch; flex-direction: column; }
  .vehicle-bulk-toolbar-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .vehicle-bulk-toolbar-actions .vehicle-bulk-clear { grid-column: 1 / -1; }
  .vehicle-bulk-toolbar small { display: none; }
  .vehicle-bulk-backdrop { place-items: end center; padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom); }
  .vehicle-bulk-modal { width: 100%; max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); border-radius: 0.75rem 0.75rem 0 0; }
  .vehicle-bulk-modal footer { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
}

.vehicle-backbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.7rem;
}

.vehicle-backbar > span {
  color: #7e91a4;
  font-size: 0.72rem;
}

.manager-record-detail-shell:has(.vehicle-record-workspace) {
  gap: 0;
}

@media (max-width: 1200px) {
  .vehicle-manager-hero .compact-player-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vehicle-stat-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .vehicle-stat-strip > div:nth-child(5) {
    border-left: 0;
    border-top: 0.0625rem solid rgba(86, 112, 139, 0.24);
  }

  .vehicle-stat-strip > div:nth-child(n + 6) {
    border-top: 0.0625rem solid rgba(86, 112, 139, 0.24);
  }
}

@media (max-width: 640px) {
  .vehicle-manager-hero .compact-player-toolbar,
  .vehicle-stat-strip {
    grid-template-columns: minmax(0, 1fr);
  }

  .vehicle-stat-strip > div,
  .vehicle-stat-strip > div:nth-child(5) {
    border-top: 0.0625rem solid rgba(86, 112, 139, 0.24);
    border-left: 0;
  }

  .vehicle-stat-strip > div:first-child {
    border-top: 0;
  }

  .vehicle-backbar {
    align-items: flex-start;
    flex-direction: column-reverse;
  }
}

.economy-job-table {
  grid-template-columns: minmax(0, 1.2fr) 0.85fr 0.85fr 0.85fr 0.8fr 0.8fr;
}

.economy-player-table {
  grid-template-columns: minmax(0, 1.15fr) 0.8fr 0.8fr 0.8fr 0.8fr 0.85fr 0.8fr;
}

.economy-detail-stats,
.economy-window-stats,
.economy-player-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.economy-player-table-wide {
  grid-template-columns: minmax(0, 1.15fr) 0.72fr 0.72fr 0.72fr 0.72fr 0.8fr 0.8fr 0.72fr;
}

.economy-section-toolbar,
.economy-window-toolbar {
  flex-wrap: wrap;
  justify-content: flex-start;
}

.economy-resource-row {
  align-items: flex-start;
}

.economy-resource-values {
  justify-items: end;
  min-width: 7rem;
}

.economy-resource-link {
  font-weight: 700;
}

.economy-page-shell {
  gap: 1rem;
}

.economy-shell-card {
  border: 0.0625rem solid var(--border);
  background: var(--panel);
  border-radius: 1rem;
  overflow: hidden;
}

.economy-shell-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1rem 0.9rem;
  border-bottom: 0.0625rem solid var(--border);
}

.economy-header-actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.economy-shell-body {
  display: grid;
  grid-template-columns: 13rem minmax(0, 1fr);
  min-height: 36rem;
}

.economy-shell-rail {
  display: grid;
  align-content: start;
  gap: 0.55rem;
  padding: 0.9rem;
  border-right: 0.0625rem solid var(--border);
  background: #171717;
}

.economy-shell-main,
.economy-main-stack {
  display: grid;
  align-content: start;
  gap: 1rem;
}

.economy-shell-main {
  padding: 1rem;
}

.economy-two-up {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.economy-metric-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.85rem;
}

.economy-monitor-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.85rem;
}

.economy-earnings-layout {
  display: grid;
  grid-template-columns: 11.5rem minmax(0, 1fr);
  gap: 1rem;
}

.economy-window-rail {
  display: grid;
  align-content: start;
  gap: 0.55rem;
}

.economy-rail-button,
.economy-window-button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.6rem;
  width: 100%;
  padding: 0.75rem 0.9rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.8rem;
  background: #1a1a1a;
  color: var(--text-strong);
  cursor: pointer;
  transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
}

.economy-window-button {
  justify-content: center;
  text-align: center;
}

.economy-rail-button:hover,
.economy-window-button:hover,
.economy-rail-button:focus-visible,
.economy-window-button:focus-visible,
.economy-rail-button.is-active,
.economy-window-button.is-active {
  border-color: rgba(184, 188, 196, 0.34);
  background: #232323;
  color: #ffffff;
  outline: none;
}

.economy-graph-stack {
  display: grid;
  gap: 0.55rem;
}

.economy-graph-row {
  display: grid;
  gap: 0.45rem;
  width: 100%;
  padding: 0.7rem 0.8rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.8rem;
  background: #171717;
  color: var(--text-strong);
  text-align: left;
  cursor: pointer;
}

.economy-graph-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.economy-graph-copy span {
  color: var(--muted);
}

.economy-graph-track {
  width: 100%;
  height: 0.45rem;
  background: #232323;
  border-radius: 999rem;
  overflow: hidden;
}

.economy-graph-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(73, 200, 143, 0.88) 0%, rgba(115, 224, 169, 0.98) 100%);
}

.economy-graph-fill.is-outgoing {
  background: linear-gradient(90deg, rgba(190, 87, 87, 0.86) 0%, rgba(227, 120, 120, 0.96) 100%);
}

.economy-tone-income .stat-value,
.economy-tone-income .economy-graph-copy span,
.economy-tone-income .stat-card-top i {
  color: #7ad89e;
}

.economy-tone-vault .stat-value,
.economy-tone-vault .economy-graph-copy span,
.economy-tone-vault .stat-card-top i {
  color: #e4b35b;
}

.economy-tone-alert .stat-value,
.economy-tone-alert .economy-graph-copy span,
.economy-tone-alert .stat-card-top i {
  color: #d98b63;
}

.economy-tone-outgoing .stat-value,
.economy-tone-outgoing .economy-graph-copy span,
.economy-tone-outgoing .stat-card-top i {
  color: #df7b7b;
}

.economy-tone-neutral .stat-value,
.economy-tone-neutral .economy-graph-copy span,
.economy-tone-neutral .stat-card-top i {
  color: #c5c9cf;
}

.economy-tone-highlight .stat-value,
.economy-tone-highlight .economy-graph-copy span,
.economy-tone-highlight .stat-card-top i {
  color: #cbb27a;
}

.economy-tone-income,
.economy-tone-vault,
.economy-tone-alert,
.economy-tone-outgoing,
.economy-tone-neutral,
.economy-tone-highlight {
  border-color: rgba(184, 188, 196, 0.18);
}

.economy-trend-stack {
  display: grid;
  gap: 0.7rem;
}

.economy-trend-bars {
  display: grid;
  gap: 0.32rem;
}

.economy-earned-fill {
  background: linear-gradient(90deg, rgba(73, 200, 143, 0.88) 0%, rgba(115, 224, 169, 0.98) 100%);
}

.economy-spent-fill {
  background: linear-gradient(90deg, rgba(190, 87, 87, 0.86) 0%, rgba(227, 120, 120, 0.96) 100%);
}

.economy-vault-action-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.economy-vault-action-grid > .panel-stack {
  height: 100%;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  align-content: start;
}

.economy-vault-action-grid .field,
.economy-vault-action-grid .textarea-field {
  height: 100%;
}

.economy-vault-action-grid .textarea-field textarea {
  min-height: 6rem;
}

.economy-vault-action-grid .primary-button,
.economy-vault-action-grid .danger-button {
  width: 100%;
  min-height: 2.35rem;
  padding: 0.5rem 0.72rem;
  font-size: 0.82rem;
  line-height: 1.1;
}

.economy-vault-action-grid .primary-button i,
.economy-vault-action-grid .danger-button i {
  font-size: 0.8rem;
}

.economy-held-review-card {
  overflow: hidden;
  border: 0.0625rem solid rgba(228, 179, 91, 0.42);
  border-radius: 0.65rem;
  background: linear-gradient(180deg, rgba(72, 54, 24, 0.22), rgba(18, 18, 18, 0.96) 10rem);
}

.economy-held-review-card.is-clear {
  border-color: rgba(73, 200, 143, 0.3);
  background: linear-gradient(180deg, rgba(33, 91, 62, 0.18), rgba(18, 18, 18, 0.96) 9rem);
}

.economy-held-review-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.1rem 1.2rem;
  border-bottom: 0.0625rem solid rgba(228, 179, 91, 0.22);
}

.economy-held-review-head h3 {
  margin: 0.18rem 0 0.25rem;
  color: var(--text-strong);
  font-size: 1.15rem;
}

.economy-held-review-head p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.economy-held-total {
  display: grid;
  flex: 0 0 auto;
  justify-items: end;
}

.economy-held-total strong {
  color: #f1c36d;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1;
}

.economy-held-total span {
  margin-top: 0.3rem;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.economy-held-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 0.0625rem solid var(--border);
}

.economy-held-summary > span {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 0.55rem;
  min-height: 3.2rem;
  padding: 0.65rem 1rem;
  border-right: 0.0625rem solid var(--border);
}

.economy-held-summary > span:last-child { border-right: 0; }
.economy-held-summary i { color: #d8a84f; }
.economy-held-summary strong { color: var(--text-strong); }
.economy-held-summary small { color: var(--muted); }

.economy-held-searchbar {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.72rem 1rem;
  border-bottom: 0.0625rem solid var(--border);
  background: rgba(9, 14, 20, 0.62);
}

.economy-held-select {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 750;
  white-space: nowrap;
}

.economy-held-select input {
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: #d8a84f;
  cursor: pointer;
}

.economy-held-select-all { gap: 0.45rem; }
.economy-held-searchbar [hidden] { display: none !important; }

.economy-held-search-field {
  flex: 1 1 28rem;
  max-width: 48rem;
}

.economy-held-search-field input {
  width: 100%;
}

.economy-held-search-count {
  margin-left: auto;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 700;
  white-space: nowrap;
}

.economy-held-search-empty {
  border-top: 0;
}

.economy-held-list {
  max-height: min(48rem, 62vh);
  overflow: auto;
  scrollbar-gutter: stable;
}

.economy-held-row {
  border-bottom: 0.0625rem solid var(--border);
}

.economy-held-row.is-selected {
  background: linear-gradient(90deg, rgba(216, 168, 79, 0.12), rgba(216, 168, 79, 0.025));
}

.economy-held-row:last-child { border-bottom: 0; }

.economy-held-row-main {
  display: grid;
  grid-template-columns: 1.2rem minmax(10rem, 1.05fr) minmax(13rem, 1.45fr) minmax(7rem, 0.55fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 1.05rem;
}

.economy-held-identity,
.economy-held-context,
.economy-held-amount,
.economy-held-flags {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.economy-held-identity .link-button,
.economy-held-context strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.economy-held-entry {
  color: #d8a84f;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.economy-held-row small { color: var(--muted); font-size: 0.69rem; }
.economy-held-attempt {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.75rem;
  color: #a9b7c5 !important;
}

.economy-held-attempt span:first-child { color: #f0b96b; }
.economy-held-attempt span:last-child { color: #73d9a5; }
.economy-held-amount { justify-items: end; text-align: right; }
.economy-held-amount strong { color: #f1c36d; font-size: 1rem; }
.economy-held-flags { grid-auto-flow: column; justify-content: end; }

.economy-held-review {
  border-top: 0.0625rem solid rgba(228, 179, 91, 0.14);
  background: rgba(0, 0, 0, 0.14);
}

.economy-held-review > summary {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  padding: 0.55rem 1.05rem;
  color: #e6c27f;
  font-size: 0.74rem;
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}

.economy-held-review > summary::-webkit-details-marker { display: none; }
.economy-held-review[open] > summary .fa-chevron-down { transform: rotate(180deg); }
.economy-held-review > .economy-vault-action-grid { padding: 0 1.05rem 1rem; }

.economy-held-review .economy-release-form,
.economy-held-review .economy-deny-form {
  padding: 0.9rem;
  border-top: 0.125rem solid rgba(73, 200, 143, 0.5);
  background: rgba(17, 29, 23, 0.55);
}

.economy-held-review .economy-deny-form {
  border-top-color: rgba(223, 123, 123, 0.58);
  background: rgba(35, 18, 18, 0.48);
}

.economy-decision-confirm {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  color: var(--muted);
  font-size: 0.72rem;
}

.economy-decision-confirm input { margin-top: 0.12rem; }

.economy-vault-bulk-toolbar {
  border-bottom-color: rgba(216, 168, 79, 0.34);
  background: linear-gradient(90deg, rgba(114, 77, 21, 0.25), rgba(20, 18, 13, 0.96));
}

.economy-vault-bulk-toolbar[hidden] {
  display: none !important;
}

.economy-vault-bulk-toolbar .vehicle-bulk-count { color: #f1c36d; }
.economy-vault-approve { color: #73d9a5 !important; border-color: rgba(73, 200, 143, 0.4) !important; }
.economy-vault-deny { color: #f39a9a !important; border-color: rgba(223, 123, 123, 0.4) !important; }
.economy-vault-bulk-modal { border-color: rgba(216, 168, 79, 0.48); background: #15130f; }
.economy-vault-bulk-modal header,
.economy-vault-bulk-modal footer { border-color: rgba(216, 168, 79, 0.22); }
.economy-vault-approve-summary { border-color: rgba(73, 200, 143, 0.38); background: rgba(33, 91, 62, 0.18); }
.economy-vault-approve-summary > i { color: #73d9a5; }

.economy-decisions-open-button {
  border-color: rgba(216, 168, 79, 0.42) !important;
  color: #f0c778 !important;
}

.economy-decision-modal {
  position: relative;
  width: min(80rem, 100%);
  height: min(56rem, calc(100dvh - 2rem));
  border-color: rgba(216, 168, 79, 0.48);
  background: #101318;
}

.economy-decision-modal header,
.economy-decision-modal footer {
  border-color: rgba(216, 168, 79, 0.2);
}

.economy-decision-modal-body {
  display: grid;
  flex: 1 1 auto;
  grid-template-rows: auto auto minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
}

.economy-decision-header-actions {
  display: flex !important;
  grid-auto-flow: column;
  align-items: center;
  gap: 0.75rem !important;
}

.economy-decision-sync-status {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  padding: 0.35rem 0.55rem;
  border: 0.0625rem solid rgba(72, 193, 132, 0.28);
  border-radius: 999px;
  background: rgba(40, 112, 76, 0.13);
  color: #79d9a2 !important;
  font-size: 0.62rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.economy-decision-modal.is-updating .economy-decision-sync-status {
  border-color: rgba(216, 168, 79, 0.34);
  background: rgba(112, 82, 29, 0.13);
  color: #f0c778 !important;
}

.economy-decision-filters {
  display: grid;
  grid-template-columns: minmax(16rem, 1.6fr) minmax(10rem, 0.55fr) minmax(10rem, 0.55fr) auto;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
  border-bottom: 0.0625rem solid rgba(216, 168, 79, 0.16);
  background: #14171c;
}

.economy-decision-filters label {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.economy-decision-filters label > span {
  color: #83909d;
  font-size: 0.65rem;
  font-weight: 750;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.economy-decision-filters input,
.economy-decision-filters select {
  width: 100%;
  min-height: 2.5rem;
  border: 0.0625rem solid #303841;
  border-radius: 0.42rem;
  outline: none;
  background: #0d1014;
  color: #e6edf4;
  font: inherit;
}

.economy-decision-filters input { padding: 0.6rem 0.75rem 0.6rem 2.15rem; }
.economy-decision-filters select { padding: 0.6rem 0.75rem; }
.economy-decision-filters input:focus,
.economy-decision-filters select:focus { border-color: #d8a84f; box-shadow: 0 0 0 0.15rem rgba(216, 168, 79, 0.13); }
.economy-decision-search > div { position: relative; }
.economy-decision-search > div > i { position: absolute; top: 50%; left: 0.78rem; color: #71808e; transform: translateY(-50%); }
.economy-decision-filter-actions { display: grid; gap: 0.35rem; align-content: end; }
.economy-decision-filter-actions > span { color: #83909d; font-size: 0.65rem; font-weight: 750; letter-spacing: 0.045em; text-transform: uppercase; }
.economy-decision-filter-actions button { min-height: 2.5rem; white-space: nowrap; }
.economy-decision-filter-actions button:disabled { cursor: default; opacity: 0.36; }

.economy-decision-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 0.0625rem solid #252b32;
  background: #111419;
}

.economy-decision-summary > span {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.85rem 1rem;
  border-right: 0.0625rem solid #252b32;
}

.economy-decision-summary > span:last-child { border-right: 0; }
.economy-decision-summary small { color: #788591; font-size: 0.62rem; font-weight: 750; letter-spacing: 0.045em; text-transform: uppercase; }
.economy-decision-summary strong { overflow: hidden; color: #e8eef4; font-size: 1.05rem; text-overflow: ellipsis; white-space: nowrap; }
.economy-decision-summary em { color: #788591; font-size: 0.67rem; font-style: normal; }
.economy-decision-summary .success strong { color: #72d7a3; }
.economy-decision-summary .warning strong { color: #f0c778; }
.economy-decision-summary .danger strong { color: #f18d94; }

.economy-decision-results {
  position: relative;
  min-height: 0;
  max-height: none;
  overflow: auto;
  scrollbar-gutter: stable;
}

.economy-decision-list { display: grid; }

.economy-decision-row {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) minmax(8.5rem, auto);
  gap: 0.85rem;
  align-items: start;
  padding: 0.92rem 1.1rem;
  border-bottom: 0.0625rem solid #242a31;
  background: #101318;
}

.economy-decision-row:last-child { border-bottom: 0; }
.economy-decision-row:hover { background: #14181e; }
.economy-decision-icon { display: grid; width: 1.85rem; height: 1.85rem; place-items: center; border-radius: 50%; background: rgba(71, 189, 133, 0.12); color: #72d7a3; }
.economy-decision-danger .economy-decision-icon { background: rgba(224, 91, 101, 0.13); color: #f18d94; }
.economy-decision-warning .economy-decision-icon { background: rgba(216, 168, 79, 0.14); color: #f0c778; }
.economy-decision-main { display: grid; gap: 0.48rem; min-width: 0; }
.economy-decision-title { display: flex; align-items: center; gap: 0.55rem; min-width: 0; }
.economy-decision-title strong { overflow: hidden; color: #e6edf4; font-size: 0.81rem; text-overflow: ellipsis; white-space: nowrap; }
.economy-decision-title .chip { flex: 0 0 auto; }
.economy-decision-meta { display: flex; flex-wrap: wrap; gap: 0.38rem 0.85rem; color: #7f8c98; font-size: 0.66rem; }
.economy-decision-meta span,
.economy-decision-meta time { display: inline-flex; align-items: center; gap: 0.3rem; }
.economy-decision-meta i { color: #64717d; }
.economy-decision-player-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #83bdf0;
  cursor: pointer;
  font: inherit;
}
.economy-decision-player-link:hover { color: #b4d9fa; text-decoration: underline; }
.economy-decision-reason { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.48rem; margin: 0; color: #aeb8c1; font-size: 0.72rem; line-height: 1.45; }
.economy-decision-reason span { color: #d8a84f; font-size: 0.6rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.economy-decision-amount { display: grid; justify-items: end; gap: 0.15rem; text-align: right; }
.economy-decision-amount strong { color: #e8eef4; font-size: 0.9rem; }
.economy-decision-amount span { color: #74818d; font-size: 0.62rem; text-transform: uppercase; }
.economy-decision-copy {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-top: 0.35rem;
  padding: 0.28rem 0.42rem;
  border: 0.0625rem solid #2b333c;
  border-radius: 0.35rem;
  background: #151a20;
  color: #8f9ba6;
  cursor: pointer;
  font: inherit;
  font-size: 0.62rem;
}
.economy-decision-copy:hover { border-color: #4b5966; color: #dce5ed; }
.economy-decision-copy.is-copied { border-color: rgba(72, 193, 132, 0.42); color: #79d9a2; }
.economy-decision-copy span { color: inherit; text-transform: none; }

.economy-decision-state {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-height: 16rem;
  padding: 2rem;
  color: #d8a84f;
}

.economy-decision-state > div { display: grid; gap: 0.2rem; }
.economy-decision-state strong { color: #dfe7ee; font-size: 0.82rem; }
.economy-decision-state span { color: #7d8995; font-size: 0.72rem; }
.economy-decision-state.danger { color: #f18d94; }
.economy-decision-pagination { justify-content: space-between !important; }
.economy-decision-pagination > span { color: #7f8c98 !important; font-size: 0.7rem !important; font-weight: 650 !important; letter-spacing: normal !important; text-transform: none !important; }
.economy-decision-pagination > div { display: flex; gap: 0.5rem; }
.economy-decision-pagination button:disabled { cursor: not-allowed; opacity: 0.42; }

.economy-held-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-height: 8rem;
  color: #79d9a2;
}

.economy-held-empty div { display: grid; gap: 0.2rem; }
.economy-held-empty span { color: var(--muted); font-size: 0.75rem; }

@media (max-width: 1100px) {
  .economy-held-row-main {
    grid-template-columns: 1.2rem minmax(10rem, 1fr) minmax(12rem, 1.25fr);
  }
  .economy-held-amount { justify-items: start; text-align: left; }
  .economy-held-flags { grid-auto-flow: column; justify-content: start; }
  .economy-decision-filters { grid-template-columns: minmax(14rem, 1.3fr) minmax(9rem, 0.6fr) minmax(9rem, 0.6fr) auto; }
}

@media (max-width: 700px) {
  .economy-held-review-head { align-items: flex-start; }
  .economy-held-total { justify-items: start; }
  .economy-held-review-head,
  .economy-held-row-main { grid-template-columns: 1fr; }
  .economy-held-row-main > .economy-held-select { justify-content: flex-start; }
  .economy-held-review-head { display: grid; }
  .economy-held-summary { grid-template-columns: 1fr; }
  .economy-held-summary > span { border-right: 0; border-bottom: 0.0625rem solid var(--border); }
  .economy-held-summary > span:last-child { border-bottom: 0; }
  .economy-held-flags { grid-auto-flow: row; }
  .economy-vault-action-grid { grid-template-columns: 1fr; }
  .economy-held-list { max-height: none; }
  .economy-held-searchbar { align-items: stretch; flex-wrap: wrap; }
  .economy-held-search-field { flex-basis: 100%; max-width: none; }
  .economy-held-search-count { margin-left: 0; margin-right: auto; align-self: center; }
  .economy-held-select-all { order: 2; }
  .economy-decision-filters { grid-template-columns: 1fr; }
  .economy-decision-modal { height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .economy-decision-sync-status { display: none; }
  .economy-decision-filter-actions { grid-template-columns: 1fr; }
  .economy-decision-summary { grid-template-columns: 1fr 1fr; }
  .economy-decision-summary > span:nth-child(2) { border-right: 0; }
  .economy-decision-summary > span:nth-child(-n + 2) { border-bottom: 0.0625rem solid #252b32; }
  .economy-decision-row { grid-template-columns: 1.85rem minmax(0, 1fr); }
  .economy-decision-title { align-items: flex-start; flex-direction: column; }
  .economy-decision-title strong { overflow: visible; white-space: normal; }
  .economy-decision-amount { grid-column: 2; justify-items: start; text-align: left; }
  .economy-decision-pagination { align-items: stretch !important; flex-direction: column; }
  .economy-decision-pagination > div { display: grid; grid-template-columns: 1fr 1fr; }
}

.economy-detail-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 120;
  display: grid;
  align-items: start;
  justify-items: center;
  padding: 1rem;
  overflow: hidden;
}

.economy-detail-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
}

.economy-detail-modal {
  position: relative;
  width: min(84rem, calc(100vw - 2rem));
  height: calc(100vh - 2rem);
  height: calc(100dvh - 2rem);
  min-height: 0;
  max-height: none;
  margin: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 0.0625rem solid var(--border);
  border-radius: 1rem;
  background: #141414;
  box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.38);
}

.economy-detail-header,
.economy-detail-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.economy-detail-actions {
  justify-content: flex-end;
}

@media (max-width: 1180px) {
  .economy-shell-body,
  .economy-earnings-layout,
  .economy-two-up,
  .economy-metric-grid,
  .economy-monitor-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .economy-shell-rail {
    border-right: 0;
    border-bottom: 0.0625rem solid var(--border);
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .economy-window-rail {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.dashboard-online-table {
  grid-template-columns: minmax(0, 1.35fr) 0.8fr 0.5fr 0.5fr 0.5fr 0.6fr;
}

.player-prime-hero {
  gap: 1.15rem;
}

.player-back-button {
  justify-self: start;
}

.player-prime-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
}

.player-prime-identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.9rem;
  align-items: center;
}

.player-avatar-mark {
  width: 4rem;
  height: 4rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(58, 58, 58, 0.96) 0%, rgba(28, 28, 28, 0.98) 100%);
  border: 0.0625rem solid var(--border);
  color: var(--text-strong);
  font-size: 1.2rem;
  font-weight: 800;
}

.player-prime-title {
  margin: 0;
  color: var(--text-strong);
  font-size: 1.65rem;
  font-weight: 700;
}

.player-prime-meta {
  flex-wrap: wrap;
  justify-content: flex-start;
}

.player-prime-score {
  display: grid;
  justify-items: center;
  gap: 0.25rem;
}

.player-prime-score-ring {
  width: 4.2rem;
  height: 4.2rem;
  display: grid;
  place-items: center;
  border-radius: 999rem;
  border: 0.18rem solid currentColor;
  font-size: 1.2rem;
  font-weight: 800;
  background: #181818;
}

.player-prime-statbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.35rem;
  padding: 0.25rem 0 0.65rem;
}

.player-prime-stat {
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  padding: 0.15rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.player-prime-stat i {
  font-size: 1rem;
}

.player-prime-stat strong {
  display: inline;
  color: var(--text-strong);
  font-size: 1.08rem;
  font-weight: 800;
}

.player-prime-stat > div {
  display: inline-flex;
  align-items: baseline;
  gap: 0.45rem;
}

.player-prime-stat .table-muted {
  font-size: 0.88rem;
  font-weight: 600;
}

.tone-surface-neutral,
.tone-surface-warning,
.tone-surface-kick,
.tone-surface-danger,
.tone-surface-success {
  border-width: 0.0625rem;
  background: transparent;
  box-shadow: none;
}

.tone-surface-neutral {
  border-color: rgba(168, 173, 181, 0.12);
}

.tone-surface-warning {
  border-color: rgba(232, 180, 93, 0.16);
}

.tone-surface-kick {
  border-color: rgba(217, 139, 99, 0.16);
}

.tone-surface-danger {
  border-color: rgba(255, 125, 125, 0.16);
}

.tone-surface-success {
  border-color: rgba(73, 200, 143, 0.16);
}

.tone-text-neutral,
.tone-count-neutral {
  color: #d2d6dd;
}

.tone-text-warning,
.tone-count-warning {
  color: var(--warning);
}

.tone-text-kick,
.tone-count-kick {
  color: var(--kick);
}

.tone-text-danger,
.tone-count-danger {
  color: var(--danger);
}

.tone-text-success,
.tone-count-success {
  color: var(--success);
}

.tone-text-note,
.tone-count-note {
  color: var(--note);
}

.tone-count-neutral,
.tone-count-warning,
.tone-count-kick,
.tone-count-danger,
.tone-count-success,
.tone-count-note {
  font-weight: 700;
}

.player-prime-stat strong.tone-count-neutral {
  color: #d2d6dd;
}

.player-prime-stat strong.tone-count-warning {
  color: var(--warning);
}

.player-prime-stat strong.tone-count-kick {
  color: var(--kick);
}

.player-prime-stat strong.tone-count-danger {
  color: var(--danger);
}

.player-prime-stat strong.tone-count-success {
  color: var(--success);
}

.player-prime-stat strong.tone-count-note {
  color: var(--note);
}

.player-action-shortcuts,
.player-prime-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.player-quick-strip {
  display: grid;
  gap: 0.5rem;
}

.player-quick-label {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.player-pane-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 0.15rem;
}

.player-tab-shell {
  padding: 1rem 1.1rem;
}

.player-tab-groups {
  display: grid;
  gap: 1rem;
}

.player-tab-group {
  display: grid;
  gap: 0.65rem;
}

.player-tab-group-label {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.player-tab-button {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.9rem;
  background: #202020;
  color: var(--text-strong);
  padding: 0.58rem 0.82rem;
  cursor: pointer;
  min-width: 8.2rem;
  justify-content: flex-start;
}

.player-tab-button[data-player-section="overview"] {
  background: #2d343c;
  border-color: #434b54;
}

.player-tab-button[data-player-section="inventory"] {
  background: #31403b;
  border-color: #495b55;
}

.player-tab-button[data-player-section="vehicles"] {
  background: #41372f;
  border-color: #5d5146;
}

.player-tab-button[data-player-section="properties"] {
  background: #3b3241;
  border-color: #574b60;
}

.player-tab-button[data-player-section="moderation"] {
  background: #4f3f22;
  border-color: #725b2f;
}

.player-tab-button[data-player-section="activity"] {
  background: #2f3e46;
  border-color: #485b65;
}

.player-tab-button[data-player-section="timeline"] {
  background: #2f343f;
  border-color: #48505f;
}

.player-tab-button[data-player-section="tools"] {
  background: #373737;
  border-color: #4f4f4f;
}

.player-tab-button[data-player-section="identifiers"] {
  background: #313131;
  border-color: #4b4b4b;
}

.player-tab-button[data-player-section="characters"] {
  background: #353535;
  border-color: #4d4d4d;
}

.player-tab-button[data-player-section="notes"] {
  background: #383838;
  border-color: #505050;
}

.player-tab-button.is-active,
.compact-action-button.is-active {
  border-color: var(--accent);
  box-shadow: 0 0 0 0.2rem rgba(139, 146, 156, 0.08);
}

.player-tab-button.is-active {
  background: #272727;
}

.player-tab-button[data-player-section="overview"].is-active {
  background: #38414a;
  border-color: #56616d;
}

.player-tab-button[data-player-section="inventory"].is-active {
  background: #3b4d47;
  border-color: #5a7068;
}

.player-tab-button[data-player-section="vehicles"].is-active {
  background: #514439;
  border-color: #736150;
}

.player-tab-button[data-player-section="properties"].is-active {
  background: #483d4f;
  border-color: #695a74;
}

.player-tab-button[data-player-section="moderation"].is-active {
  background: #66512a;
  border-color: #8d7138;
}

.player-tab-button[data-player-section="activity"].is-active {
  background: #3a4d57;
  border-color: #58717d;
}

.player-tab-button[data-player-section="timeline"].is-active {
  background: #39404d;
  border-color: #5b6678;
}

.player-timeline-list {
  max-height: 46rem;
}

.player-timeline-row {
  border-left: 0.22rem solid var(--border);
}

.player-timeline-row.severity-danger {
  border-left-color: var(--danger);
}

.player-timeline-row.severity-warning {
  border-left-color: var(--warning);
}

.player-timeline-row.severity-success {
  border-left-color: var(--success);
}

.compact-action-button.tone-button-warning.is-active {
  border-color: rgba(232, 180, 93, 0.48);
  box-shadow: 0 0 0 0.2rem rgba(232, 180, 93, 0.12);
}

.compact-action-button.tone-button-kick.is-active {
  border-color: rgba(217, 139, 99, 0.48);
  box-shadow: 0 0 0 0.2rem rgba(217, 139, 99, 0.12);
}

.compact-action-button.tone-button-danger.is-active {
  border-color: rgba(255, 125, 125, 0.48);
  box-shadow: 0 0 0 0.2rem rgba(255, 125, 125, 0.12);
}

.compact-action-button.tone-button-success.is-active {
  border-color: rgba(73, 200, 143, 0.48);
  box-shadow: 0 0 0 0.2rem rgba(73, 200, 143, 0.12);
}

.compact-action-button.tone-button-note.is-active {
  border-color: rgba(184, 188, 196, 0.38);
  box-shadow: 0 0 0 0.2rem rgba(184, 188, 196, 0.1);
}

.player-action-panel {
  max-width: 36rem;
}

.player-prime-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.link-button {
  padding: 0;
  border: 0;
  background: none;
  color: #bcd7ff;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: rgba(110, 168, 255, 0.32);
  text-underline-offset: 0.18rem;
}

.link-button:hover,
.link-button:focus-visible {
  color: #ffffff;
  text-decoration-color: var(--tone-logs);
  outline: none;
}

.progress {
  position: relative;
  overflow: hidden;
  height: 0.45rem;
  border-radius: 999rem;
  background: #2a2a2a;
}

.progress-fill {
  position: absolute;
  inset: 0 auto 0 0;
  background: linear-gradient(90deg, #737a84 0%, #a1a8b2 100%);
  border-radius: inherit;
}

.progress-fill-critical {
  background: linear-gradient(90deg, #5a1d1d 0%, #8f3434 100%);
}

.progress-fill-low {
  background: linear-gradient(90deg, #7a2e2a 0%, #bf5b42 100%);
}

.progress-fill-rising {
  background: linear-gradient(90deg, #9a5a24 0%, #d48d39 100%);
}

.progress-fill-high {
  background: linear-gradient(90deg, #b67f2d 0%, #e0b04a 100%);
}

.progress-fill-excellent {
  background: linear-gradient(90deg, #5da85e 0%, #87d889 100%);
}

.tone-balance-bank {
  color: #6bd398;
  font-weight: 700;
}

.tone-job-default {
  color: var(--text-strong);
}

.tone-job-police {
  color: #c3c7cd;
  font-weight: 700;
}

.tone-job-medical {
  color: #f08a8a;
  font-weight: 700;
}

.tone-job-mechanic {
  color: #e4b35b;
  font-weight: 700;
}

.tone-job-business {
  color: #c8b287;
  font-weight: 700;
}

.tone-trust-critical {
  color: #8f3434;
}

.tone-trust-low {
  color: #c05d46;
}

.tone-trust-rising {
  color: #d28a36;
}

.tone-trust-high {
  color: #dfb548;
}

.tone-trust-excellent {
  color: #8add91;
}

.tone-chip-warning {
  color: var(--warning);
  border-color: rgba(232, 180, 93, 0.22);
  background: #202020;
}

.tone-chip-kick {
  color: var(--kick);
  border-color: rgba(217, 139, 99, 0.22);
  background: #202020;
}

.tone-chip-danger {
  color: var(--danger);
  border-color: rgba(255, 125, 125, 0.22);
  background: #202020;
}

.tone-chip-success {
  color: var(--success);
  border-color: rgba(73, 200, 143, 0.22);
  background: #202020;
}

.tone-chip-note,
.tone-chip-neutral {
  color: #d2d6dd;
  border-color: rgba(184, 188, 196, 0.18);
  background: #202020;
}

.empty-state {
  padding: 0.75rem;
  border: 0.0625rem dashed var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--panel-alt);
  color: var(--muted);
  text-align: center;
}

.accordion-card {
  width: 100%;
  border-radius: 1rem;
  border: 0.0625rem solid var(--border);
  background: var(--panel);
}

.player-section-toolbar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin-top: 0.35rem;
}

.player-section-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.65rem 0.8rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.9rem;
  background: var(--panel-alt);
  color: var(--text-strong);
  cursor: pointer;
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.player-section-button:hover,
.player-section-button:focus-visible,
.player-section-button.is-active {
  border-color: var(--accent);
  box-shadow: 0 0 0 0.2rem rgba(139, 146, 156, 0.08);
  outline: none;
}

.player-ranking-card {
  display: grid;
  gap: 0.8rem;
}

.player-ranking-card .row-between {
  align-items: flex-end;
}

.player-ranking-modes {
  display: grid;
  gap: 0.35rem;
  justify-items: end;
}

.player-ranking-modes > span {
  color: var(--text-muted);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.player-ranking-modes > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.player-ranking-mode-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.55rem;
  padding: 0.65rem 0.85rem;
  border: 0.0625rem solid var(--border-soft);
  border-radius: 0.7rem;
  background: #16191f;
  color: var(--text-muted);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
  transition: color 150ms ease, border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.player-ranking-mode-button:hover,
.player-ranking-mode-button:focus-visible {
  border-color: rgba(98, 214, 159, 0.5);
  color: var(--text-strong);
  outline: none;
}

.player-ranking-mode-button.is-active {
  border-color: rgba(73, 200, 143, 0.5);
  background: linear-gradient(135deg, rgba(32, 91, 66, 0.78), rgba(25, 55, 44, 0.92));
  box-shadow: 0 0 0 0.16rem rgba(73, 200, 143, 0.08);
  color: #c8f5dc;
}

.player-ranking-scroll {
  max-height: 31rem;
  overflow-y: auto;
  padding-right: 0.45rem;
  scrollbar-width: thin;
  scrollbar-color: #343b45 #111318;
}

.player-ranking-scroll::-webkit-scrollbar {
  width: 0.55rem;
}

.player-ranking-scroll::-webkit-scrollbar-track {
  background: #111318;
}

.player-ranking-scroll::-webkit-scrollbar-thumb {
  background: #343b45;
  border: 0.1rem solid #111318;
  border-radius: 999rem;
}

.player-ranking-table {
  grid-template-columns: 3rem minmax(0, 1.25fr) minmax(12rem, 0.95fr) 7.5rem;
}

.ranking-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.9rem;
  min-height: 1.9rem;
  border: 0.0625rem solid rgba(73, 200, 143, 0.28);
  background: #203d31;
  color: #aaebc7;
  font-weight: 900;
}

.player-account-characters-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(18rem, 0.75fr);
  gap: 0.85rem;
  align-items: start;
}

.player-account-characters-card,
.player-selected-character-card {
  min-width: 0;
}

.player-character-jobs-card {
  grid-column: 1 / -1;
  min-width: 0;
}

.player-job-manager,
.player-job-list {
  display: grid;
  gap: 0.7rem;
}

.player-job-manager-heading {
  gap: 1rem;
}

.player-job-row {
  display: grid;
  grid-template-columns: 2.4rem minmax(10rem, 1fr) auto auto;
  align-items: center;
  gap: 0.75rem;
  min-height: 4.2rem;
  padding: 0.7rem 0.8rem;
  border: 0.0625rem solid #293542;
  border-radius: 0.55rem;
  background: #121920;
}

.player-job-row.is-primary {
  border-color: rgba(73, 200, 143, 0.36);
  background: rgba(73, 200, 143, 0.07);
}

.player-job-icon {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 0.5rem;
  background: rgba(110, 168, 255, 0.1);
  color: #78adff;
}

.player-job-row.is-primary .player-job-icon {
  background: rgba(73, 200, 143, 0.13);
  color: #70dda6;
}

.player-job-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.player-job-copy strong {
  color: var(--text-strong);
  font-size: 0.88rem;
}

.player-job-copy small {
  color: var(--muted);
  font-size: 0.7rem;
}

.player-job-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.4rem;
}

.player-job-action-panel {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.15rem;
  padding: 0.9rem;
  border: 0.0625rem solid rgba(110, 168, 255, 0.34);
  border-radius: 0.6rem;
  background: rgba(30, 58, 91, 0.28);
}

.player-job-action-panel.is-danger {
  border-color: rgba(255, 107, 122, 0.38);
  background: rgba(88, 29, 39, 0.2);
}

.player-job-action-panel h4,
.player-job-action-panel p {
  margin: 0;
}

.player-job-action-panel h4 {
  color: var(--text-strong);
  font-size: 0.9rem;
}

.player-job-action-panel p {
  margin-top: 0.2rem;
  color: var(--muted);
  font-size: 0.72rem;
}

.player-job-action-form {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) minmax(9rem, 0.7fr) minmax(14rem, 1.4fr) auto;
  align-items: end;
  gap: 0.65rem;
}

.player-job-warning {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.75rem;
  border-left: 0.2rem solid #ff7a87;
  background: rgba(255, 107, 122, 0.08);
  color: #ffc2c8;
  font-size: 0.72rem;
}

.player-account-character-list {
  display: grid;
  max-height: 30rem;
  margin-top: 0.75rem;
  overflow-y: auto;
  border-top: 0.0625rem solid var(--border);
  scrollbar-gutter: stable;
}

.player-account-character {
  display: grid;
  grid-template-columns: 2.35rem minmax(0, 1fr) minmax(8rem, auto) auto 0.8rem;
  align-items: center;
  gap: 0.7rem;
  width: 100%;
  min-height: 4.25rem;
  padding: 0.65rem 0.25rem;
  border: 0;
  border-bottom: 0.0625rem solid var(--border);
  border-radius: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease;
}

.player-account-character:hover,
.player-account-character:focus-visible {
  background: rgba(110, 168, 255, 0.06);
  color: var(--text-strong);
  outline: none;
}

.player-account-character.is-selected {
  background: rgba(73, 200, 143, 0.07);
  box-shadow: inset 0.2rem 0 #49c88f;
}

.player-account-character-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 0.0625rem solid rgba(110, 168, 255, 0.25);
  border-radius: 0.55rem;
  background: rgba(110, 168, 255, 0.1);
  color: #94bdff;
  font-size: 0.72rem;
  font-weight: 900;
}

.player-account-character-copy,
.player-account-character-money {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.player-account-character-copy strong {
  overflow: hidden;
  color: var(--text-strong);
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-account-character-copy small,
.player-account-character-money small {
  overflow: hidden;
  color: var(--muted);
  font-size: 0.66rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-account-character-money {
  color: #7cdaa8;
  font-size: 0.76rem;
  font-weight: 800;
  text-align: right;
}

.player-account-character > .fa-chevron-right {
  color: var(--muted);
  font-size: 0.65rem;
}

@media (max-width: 900px) {
  .player-account-characters-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .player-job-row {
    grid-template-columns: 2.4rem minmax(0, 1fr) auto;
  }

  .player-job-actions {
    grid-column: 2 / -1;
    justify-content: flex-start;
  }

  .player-job-action-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .player-account-character {
    grid-template-columns: 2.35rem minmax(0, 1fr) auto;
  }

  .player-account-character-money {
    grid-column: 2;
    text-align: left;
  }

  .player-account-character > .status-pill {
    grid-column: 3;
    grid-row: 1;
  }

  .player-account-character > .fa-chevron-right {
    display: none;
  }

  .player-job-manager-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .player-job-row {
    grid-template-columns: 2.4rem minmax(0, 1fr);
  }

  .player-job-row > .chip,
  .player-job-actions {
    grid-column: 2;
  }

  .player-job-action-form {
    grid-template-columns: minmax(0, 1fr);
  }
}

.player-section-panel {
  overflow: hidden;
}

.accordion-summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1rem;
  cursor: pointer;
}

.accordion-summary::-webkit-details-marker {
  display: none;
}

.accordion-title-block {
  display: grid;
  gap: 0.2rem;
}

.accordion-copy {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
}

.accordion-body {
  width: 100%;
  padding: 0 1rem 1rem;
  border-top: 0.0625rem solid var(--border);
}

.accordion-body > * {
  width: 100%;
}

.inventory-player-section .accordion-body {
  padding: 0 0 1rem;
}

.compact-detail-card {
  padding: 0.95rem;
}

.status-bar,
.footer-actions {
  flex-wrap: wrap;
}

code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  background: #121417;
  border: 0.0625rem solid var(--border);
  border-radius: 0.45rem;
  padding: 0.1rem 0.35rem;
  color: var(--text-strong);
}

.inventory-editor-layout {
  display: grid;
  grid-template-columns: minmax(18rem, 0.46fr) minmax(0, 1fr);
  align-items: start;
  gap: 0.52rem;
}

.player-section-split {
  grid-template-columns: minmax(18rem, 0.92fr) minmax(0, 1.08fr);
}

.audit-entry {
  gap: 0.5rem;
}

.inventory-grid-panel {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(4.4rem, 1fr));
  padding: 0.45rem;
  border-radius: 1.1rem;
  border: 0.0625rem solid var(--border);
  background: rgba(28, 28, 28, 0.94);
  align-content: start;
  gap: 0.36rem;
}

.inventory-slot {
  position: relative;
  width: 100%;
  min-height: 0;
  aspect-ratio: 1 / 1;
  padding: 0.28rem 0.24rem 0.5rem;
  border: 0.0625rem solid rgba(64, 64, 64, 0.95);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(42, 42, 42, 0.98) 0%, rgba(28, 28, 28, 0.98) 100%);
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: end;
  justify-items: center;
  gap: 0.12rem;
  text-align: center;
  transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.inventory-slot:hover,
.inventory-slot:focus-visible {
  border-color: rgba(139, 146, 156, 0.65);
  box-shadow: inset 0 0 0 0.0625rem rgba(139, 146, 156, 0.22);
  outline: none;
  transform: translateY(-0.0625rem);
}

.inventory-slot.selected {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 0.0625rem rgba(139, 146, 156, 0.3);
}

.inventory-slot.empty {
  background: linear-gradient(180deg, rgba(36, 36, 36, 0.96) 0%, rgba(24, 24, 24, 0.98) 100%);
}

.inventory-slot-number,
.inventory-slot-count {
  position: absolute;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.05rem;
  padding: 0.06rem 0.24rem;
  border-radius: 999rem;
  font-size: 0.5rem;
  font-weight: 700;
}

.inventory-slot-number {
  top: 0.18rem;
  left: 0.18rem;
  background: rgba(22, 22, 22, 0.9);
  color: var(--muted);
}

.inventory-slot-count {
  right: 0.18rem;
  bottom: 0.18rem;
  background: rgba(139, 146, 156, 0.16);
  color: var(--text-strong);
}

.inventory-slot-image {
  width: 2.2rem;
  height: 2.2rem;
  object-fit: contain;
  justify-self: center;
  align-self: center;
  margin-top: 0.28rem;
  filter: drop-shadow(0 0.4rem 0.75rem rgba(0, 0, 0, 0.25));
}

.inventory-slot-label,
.inventory-slot-empty {
  width: 100%;
  min-height: 1.12rem;
  font-size: 0.5rem;
  line-height: 1.15;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.inventory-slot-empty {
  align-self: end;
  color: rgba(124, 129, 137, 0.72);
  display: grid;
  place-items: center;
  white-space: normal;
}

.inventory-inspector-card {
  padding: 0.42rem;
  border-radius: 1.1rem;
  border: 0.0625rem solid var(--border);
  background: rgba(26, 26, 26, 0.94);
  position: static;
}

.inventory-inspector-head {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.45rem;
}

.inventory-inspector-art {
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 1rem;
  border: 0.0625rem solid rgba(64, 64, 64, 0.95);
  background: linear-gradient(180deg, rgba(42, 42, 42, 0.98) 0%, rgba(28, 28, 28, 0.98) 100%);
}

.inventory-inspector-art img {
  width: 2.05rem;
  height: 2.05rem;
  object-fit: contain;
}

.inventory-section-card {
  padding: 0;
  width: 100%;
}

.inventory-section-card .action-grid,
.inventory-section-card .panel-stack {
  gap: 0.36rem;
}

.inventory-section-card .action-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inventory-section-card .panel-stack {
  padding: 0.4rem;
}

.inventory-inspector-card > .panel-stack {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inventory-inspector-card > .panel-stack > .row-between,
.inventory-inspector-card > .panel-stack > .textarea-field,
.inventory-inspector-card > .panel-stack > .primary-button {
  grid-column: 1 / -1;
}

.inventory-inspector-card > .textarea-field textarea {
  min-height: 2.3rem;
}

.inventory-section-card .field input,
.inventory-section-card .field select {
  min-height: 1.75rem;
}

.inventory-section-card .textarea-field textarea {
  min-height: 2.6rem;
}

.vehicle-section-card .stack-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.punishment-stats-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.punishment-top-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.punishment-results-table {
  grid-template-columns: minmax(13rem, 1.25fr) 5.5rem 7.5rem 5.5rem 5rem 5rem 7rem;
}

.table-row.punishment-results-table {
  width: 100%;
  border: 0;
  border-bottom: 0.0625rem solid var(--border);
  background: transparent;
  color: var(--text);
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.table-row.punishment-results-table:hover,
.table-row.punishment-results-table:focus-visible {
  background: #1b1e23;
  outline: none;
}

.punishment-top-list {
  max-height: 22rem;
  overflow: auto;
  padding-right: 0.35rem;
  scrollbar-gutter: stable;
}

.punishment-top-row,
.punishment-linked-row {
  display: grid;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  border: 0.0625rem solid var(--border);
  background: #15181c;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.punishment-top-row {
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.5rem;
}

.punishment-top-row:hover,
.punishment-top-row:focus-visible,
.punishment-linked-row:hover,
.punishment-linked-row:focus-visible {
  border-color: var(--tone-punishments);
  background: #1d2025;
  outline: none;
}

.punishment-top-row strong,
.punishment-top-row small {
  display: block;
}

.punishment-top-row small {
  color: var(--muted);
}

.punishment-detail-grid {
  align-items: start;
}

.punishment-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.punishment-linked-row {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0.55rem;
}

.punishment-linked-values {
  display: grid;
  justify-items: end;
  gap: 0.2rem;
  min-width: 9rem;
  font-size: 0.72rem;
  font-weight: 800;
}

.punishment-history-row {
  border-left: 0.2rem solid var(--border);
}

.punishment-history-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
  margin-top: 0.25rem;
  color: var(--muted);
  font-size: 0.72rem;
}

.punishment-history-meta strong {
  color: var(--text-strong);
}

.punishment-history-row.ban {
  border-left-color: var(--danger);
}

.punishment-history-row.warning {
  border-left-color: var(--warning);
}

.punishment-history-row.kick {
  border-left-color: var(--kick);
}

/* Punishments V2 — flat review workspace */
.punishment-v2-page {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.punishment-v2-command,
.punishment-v2-results,
.punishment-v2-profile-head,
.punishment-v2-review {
  border: 0.0625rem solid var(--border);
  border-radius: 0.7rem;
  background: var(--panel);
}

.punishment-v2-command {
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) minmax(10rem, 0.42fr) auto auto minmax(22rem, 0.95fr);
  gap: 0.65rem;
  align-items: end;
  padding: 0.9rem 1rem;
}

.punishment-v2-title { grid-column: 1 / -1; }
.punishment-v2-title h2 { margin: 0; color: var(--text-strong); font-size: 1.45rem; letter-spacing: -0.025em; }
.punishment-v2-title p { margin: 0.18rem 0 0; color: var(--muted); font-size: 0.78rem; }

.punishment-v2-search,
.punishment-v2-filter {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 2.7rem;
  border: 0.0625rem solid #303640;
  border-radius: 0.48rem;
  background: #111318;
}

.punishment-v2-search { gap: 0.55rem; padding: 0 0.75rem; }
.punishment-v2-search i { color: #748292; }
.punishment-v2-search input,
.punishment-v2-filter select { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; }
.punishment-v2-filter { position: relative; padding: 0 0.7rem; }
.punishment-v2-filter > span { position: absolute; top: 0.28rem; left: 0.72rem; color: #788491; font-size: 0.52rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.punishment-v2-filter select { padding-top: 0.7rem; font-size: 0.74rem; font-weight: 750; }
.punishment-v2-search-button { min-height: 2.7rem; }

.punishment-v2-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-self: stretch;
  min-width: 0;
  border: 0.0625rem solid #303640;
  border-radius: 0.48rem;
  overflow: hidden;
  background: #111318;
}

.punishment-v2-summary > span {
  display: grid;
  align-items: center;
  align-content: center;
  justify-items: start;
  gap: 0.08rem;
  min-width: 0;
  padding: 0.45rem 0.65rem;
  border-left: 0.0625rem solid #303640;
}
.punishment-v2-summary > span:first-child { border-left: 0; }
.punishment-v2-summary small { color: #8b96a2; font-size: 0.58rem; font-weight: 750; white-space: nowrap; }
.punishment-v2-summary strong { color: var(--text-strong); font-size: 1rem; }
.punishment-v2-summary .danger strong { color: #ff6f69; }
.punishment-v2-summary .warning strong { color: #f2b447; }
.punishment-v2-summary .kick strong { color: #74a9ff; }

.punishment-v2-results,
.punishment-v2-history { min-width: 0; overflow: hidden; }
.punishment-v2-results > header,
.punishment-v2-history > header,
.punishment-v2-linked > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  min-height: 3.5rem;
  padding: 0.7rem 0.9rem;
  border-bottom: 0.0625rem solid var(--border);
}
.punishment-v2-results header h3,
.punishment-v2-history header h3,
.punishment-v2-linked header h3 { margin: 0; color: var(--text-strong); font-size: 0.86rem; }
.punishment-v2-results header p,
.punishment-v2-history header p,
.punishment-v2-linked header p { margin: 0.12rem 0 0; color: var(--muted); font-size: 0.66rem; }
.punishment-v2-results header > span,
.punishment-v2-history header > span,
.punishment-v2-linked header > span { color: #929da9; font-size: 0.66rem; font-weight: 800; }

.punishment-v2-results-head,
.punishment-v2-result {
  display: grid;
  grid-template-columns: minmax(14rem, 1.4fr) 7rem 5.5rem 5rem 5rem minmax(9rem, 0.8fr) 1rem;
  align-items: center;
  gap: 0.55rem;
  min-width: 52rem;
}
.punishment-v2-results-head { min-height: 2.2rem; padding: 0 0.85rem; border-bottom: 0.0625rem solid var(--border); background: #111318; color: #727e89; font-size: 0.56rem; font-weight: 900; letter-spacing: 0.07em; text-transform: uppercase; }
.punishment-v2-results-list { max-height: 38rem; overflow: auto; }
.punishment-v2-result { width: 100%; min-height: 3.7rem; padding: 0.45rem 0.85rem; border: 0; border-bottom: 0.0625rem solid #292f37; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.punishment-v2-result:hover,
.punishment-v2-result:focus-visible { outline: 0; background: #1b1e23; }
.punishment-v2-result > span:first-child strong,
.punishment-v2-result > span:first-child small,
.punishment-v2-result > span:nth-child(6) strong,
.punishment-v2-result > span:nth-child(6) small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.punishment-v2-result strong { color: var(--text-strong); font-size: 0.74rem; }
.punishment-v2-result small { margin-top: 0.12rem; color: var(--muted); font-size: 0.62rem; }
.punishment-v2-result > span:not(:first-child):not(:nth-child(6)) { font-size: 0.69rem; font-weight: 800; }
.punishment-v2-result .danger { color: #ff6f69; }
.punishment-v2-result .success { color: #57c77a; }
.punishment-v2-result .warning { color: #f2b447; }
.punishment-v2-result .kick { color: #74a9ff; }
.punishment-v2-result > i { color: #6e7d8b; }

.punishment-v2-profile-head {
  display: grid;
  grid-template-columns: auto minmax(13rem, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  padding: 0.75rem 0.9rem;
}
.punishment-v2-person { display: flex; align-items: center; gap: 0.65rem; min-width: 0; }
.punishment-v2-person-icon { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 0.0625rem solid rgba(87, 199, 122, 0.35); border-radius: 50%; background: rgba(87, 199, 122, 0.1); color: #57c77a; }
.punishment-v2-person-icon.danger { border-color: rgba(255, 96, 89, 0.4); background: rgba(255, 96, 89, 0.1); color: #ff6f69; }
.punishment-v2-person h3 { margin: 0; overflow: hidden; color: var(--text-strong); font-size: 0.96rem; text-overflow: ellipsis; white-space: nowrap; }
.punishment-v2-person p { margin: 0.12rem 0 0; overflow: hidden; color: var(--muted); font-size: 0.64rem; text-overflow: ellipsis; white-space: nowrap; }
.punishment-v2-person p span { padding: 0 0.22rem; }
.punishment-v2-profile-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); min-width: 0; }
.punishment-v2-profile-stats { grid-column: 1 / -1; grid-row: 2; }
.punishment-v2-profile-stats > span { display: grid; gap: 0.08rem; min-width: 0; padding: 0.25rem 0.5rem; border-left: 0.0625rem solid var(--border); color: var(--muted); font-size: 0.56rem; }
.punishment-v2-profile-stats strong { overflow: hidden; color: var(--text-strong); font-size: 0.76rem; text-overflow: ellipsis; white-space: nowrap; }

.punishment-v2-review { display: grid; grid-template-columns: minmax(13rem, 0.24fr) minmax(0, 1fr); min-height: 30rem; overflow: hidden; }
.punishment-v2-linked { min-width: 0; border-right: 0.0625rem solid var(--border); background: #121419; }
.punishment-v2-linked > div { display: grid; }
.punishment-v2-linked button { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.5rem; width: 100%; min-height: 3.25rem; padding: 0.55rem 0.75rem; border: 0; border-bottom: 0.0625rem solid #292f37; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.punishment-v2-linked button:hover,
.punishment-v2-linked button:focus-visible,
.punishment-v2-linked button.is-active { outline: 0; background: #1b1e23; box-shadow: inset 0.15rem 0 #ff625c; }
.punishment-v2-linked button strong,
.punishment-v2-linked button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.punishment-v2-linked button strong { color: var(--text-strong); font-size: 0.7rem; }
.punishment-v2-linked button small { margin-top: 0.12rem; color: var(--muted); font-size: 0.58rem; }
.punishment-v2-linked button em { min-width: 1.4rem; padding: 0.18rem 0.28rem; border-radius: 999px; background: #252a31; color: #aeb7c2; font-size: 0.6rem; font-style: normal; text-align: center; }
.punishment-v2-linked button em.danger { background: rgba(255, 96, 89, 0.13); color: #ff7771; }

.punishment-v2-history-head,
.punishment-v2-sanction {
  display: grid;
  grid-template-columns: 5.7rem 6.5rem minmax(12rem, 1.4fr) minmax(8rem, 0.8fr) minmax(9rem, 0.9fr) 7rem;
  align-items: center;
  gap: 0.55rem;
  min-width: 48rem;
}
.punishment-v2-history-head { min-height: 2.25rem; padding: 0 0.8rem; border-bottom: 0.0625rem solid var(--border); background: #111318; color: #727e89; font-size: 0.54rem; font-weight: 900; letter-spacing: 0.07em; text-transform: uppercase; }
.punishment-v2-history-list { max-height: 39rem; overflow: auto; }
.punishment-v2-sanction { position: relative; min-height: 4.25rem; padding: 0.55rem 0.8rem; border-bottom: 0.0625rem solid #292f37; box-shadow: inset 0.16rem 0 #4f5863; }
.punishment-v2-sanction.ban { box-shadow: inset 0.16rem 0 #ff625c; }
.punishment-v2-sanction.warning { box-shadow: inset 0.16rem 0 #f0a51b; }
.punishment-v2-sanction.kick { box-shadow: inset 0.16rem 0 #5798ef; }
.punishment-v2-sanction.status-lifted,
.punishment-v2-sanction.status-revoked { box-shadow: inset 0.16rem 0 #48b96b; background: rgba(72, 185, 107, 0.025); }
.punishment-v2-type { display: flex; align-items: center; gap: 0.4rem; color: #aab4be; }
.punishment-v2-sanction.ban .punishment-v2-type { color: #ff7771; }
.punishment-v2-sanction.warning .punishment-v2-type { color: #f2b447; }
.punishment-v2-sanction.kick .punishment-v2-type { color: #74a9ff; }
.punishment-v2-type strong { font-size: 0.68rem; }
.punishment-v2-status,
.punishment-v2-final { display: inline-flex; align-items: center; gap: 0.3rem; width: fit-content; color: #8c98a4; font-size: 0.62rem; font-weight: 800; }
.punishment-v2-status.danger,
.punishment-v2-final.danger { color: #ff7771; }
.punishment-v2-status.success,
.punishment-v2-final.success { color: #61cd82; }
.punishment-v2-status.warning { color: #f2b447; }
.punishment-v2-status.kick { color: #74a9ff; }
.punishment-v2-reason,
.punishment-v2-issued,
.punishment-v2-dates { min-width: 0; }
.punishment-v2-reason strong,
.punishment-v2-issued strong,
.punishment-v2-dates strong { display: block; overflow: hidden; color: #d7dee6; font-size: 0.66rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.punishment-v2-reason small,
.punishment-v2-issued small,
.punishment-v2-dates small { display: block; margin-top: 0.12rem; overflow: hidden; color: #7d8995; font-size: 0.56rem; text-overflow: ellipsis; white-space: nowrap; }
.punishment-v2-dates { display: flex; gap: 0.65rem; }
.punishment-v2-unban { display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem; min-height: 2rem; padding: 0.35rem 0.65rem; border: 0.0625rem solid #d84f49; border-radius: 0.4rem; background: #9f2f2d; color: #fff; font: inherit; font-size: 0.65rem; font-weight: 850; cursor: pointer; }
.punishment-v2-unban:hover,
.punishment-v2-unban:focus-visible { outline: 0; border-color: #ff7b75; background: #b93a37; }
.punishment-v2-revoke-form { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(13rem, 1fr) minmax(18rem, 1.5fr) auto auto; align-items: end; gap: 0.55rem; margin: 0.35rem -0.25rem -0.15rem; padding: 0.7rem; border: 0.0625rem solid rgba(72, 185, 107, 0.3); border-radius: 0.45rem; background: rgba(72, 185, 107, 0.055); }
.punishment-v2-revoke-form > div strong,
.punishment-v2-revoke-form > div small { display: block; }
.punishment-v2-revoke-form > div strong { color: #dfe8e2; font-size: 0.72rem; }
.punishment-v2-revoke-form > div small { margin-top: 0.14rem; color: #87a18f; font-size: 0.58rem; }
.punishment-v2-revoke-form label { display: grid; gap: 0.22rem; }
.punishment-v2-revoke-form label span { color: #8c9a91; font-size: 0.56rem; font-weight: 850; text-transform: uppercase; }
.punishment-v2-revoke-form input { min-height: 2.25rem; padding: 0 0.6rem; border: 0.0625rem solid #355140; border-radius: 0.38rem; outline: 0; background: #0f1712; color: var(--text); font: inherit; font-size: 0.7rem; }
.punishment-v2-empty { padding: 2rem; color: var(--muted); text-align: center; }

.punishment-issue-ban { padding: 1rem; }
.punishment-issue-ban h3 { margin: 0; color: var(--text-strong); }
.punishment-issue-ban-form { display: grid; grid-template-columns: minmax(10rem, 1fr) minmax(9rem, 0.45fr) minmax(8rem, 0.4fr) minmax(15rem, 1.4fr) auto; gap: 0.7rem; align-items: end; margin-top: 0.9rem; }
.punishment-issue-ban-form label { display: grid; gap: 0.28rem; color: var(--muted); font-size: 0.66rem; font-weight: 800; }
.punishment-issue-ban-form label small { color: #778492; font-size: 0.58rem; font-weight: 500; }
.punishment-issue-ban-form input { min-height: 2.7rem; border: 0.0625rem solid #343b45; border-radius: 0.42rem; background: #101318; color: var(--text); padding: 0 0.7rem; }
.punishment-issue-ban-form .checkbox-field { grid-template-columns: 1fr auto; align-items: center; min-height: 2.7rem; padding: 0.35rem 0.65rem; border: 0.0625rem solid #343b45; border-radius: 0.42rem; background: #101318; }
.punishment-issue-ban-form .checkbox-field input { width: auto; min-height: 0; }
.punishment-ban-registry-list { display: grid; max-height: 25rem; overflow: auto; }
.punishment-ban-registry-row { display: grid; grid-template-columns: minmax(12rem, 1fr) auto minmax(15rem, 1.3fr) minmax(9rem, 0.65fr) auto; align-items: center; gap: 0.75rem; min-width: 48rem; padding: 0.75rem 1rem; border-bottom: 0.0625rem solid #292f37; }
.punishment-ban-registry-row > span strong,
.punishment-ban-registry-row > span small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.punishment-ban-registry-row > span strong { color: var(--text-strong); font-size: 0.8rem; }
.punishment-ban-registry-row > span small { margin-top: 0.16rem; color: var(--muted); font-size: 0.66rem; }
.punishment-audit-list { display: grid; max-height: 30rem; overflow: auto; }
.punishment-audit-row { display: grid; grid-template-columns: 2rem minmax(9rem, 0.75fr) minmax(10rem, 0.8fr) minmax(15rem, 1.5fr) minmax(8rem, 0.6fr); align-items: center; gap: 0.75rem; min-width: 48rem; padding: 0.72rem 1rem; border-bottom: 0.0625rem solid #292f37; }
.punishment-audit-row > span:not(.punishment-audit-icon) strong,
.punishment-audit-row > span:not(.punishment-audit-icon) small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.punishment-audit-row > span:not(.punishment-audit-icon) strong { color: var(--text-strong); font-size: 0.78rem; }
.punishment-audit-row > span:not(.punishment-audit-icon) small { margin-top: 0.15rem; color: var(--muted); font-size: 0.64rem; }
.punishment-audit-icon { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 0.38rem; background: #20262e; color: #8fa0b0; }
.punishment-audit-icon.success { background: rgba(72, 185, 107, 0.12); color: #66d487; }
.punishment-audit-icon.danger { background: rgba(228, 74, 74, 0.12); color: #ff7777; }
.punishment-audit-icon.warning { background: rgba(242, 180, 71, 0.12); color: #f2b447; }
.punishment-audit-icon.kick { background: rgba(91, 142, 222, 0.12); color: #74a9ff; }

/* Punishments V2 readability scale */
.punishment-v2-page { gap: 1rem; }
.punishment-v2-command { gap: 0.8rem; padding: 1.1rem 1.2rem; }
.punishment-v2-title h2 { font-size: 1.72rem; }
.punishment-v2-title p { margin-top: 0.26rem; font-size: 0.88rem; line-height: 1.45; }
.punishment-v2-search,
.punishment-v2-filter,
.punishment-v2-search-button { min-height: 3.1rem; }
.punishment-v2-search { gap: 0.7rem; padding-inline: 0.9rem; }
.punishment-v2-search input,
.punishment-v2-filter select,
.punishment-v2-search-button { font-size: 0.84rem; }
.punishment-v2-filter > span { top: 0.34rem; font-size: 0.57rem; }
.punishment-v2-filter select { padding-top: 0.78rem; }
.punishment-v2-summary > span { padding: 0.58rem 0.75rem; }
.punishment-v2-summary small { font-size: 0.65rem; }
.punishment-v2-summary strong { font-size: 1.2rem; }

.punishment-v2-results > header,
.punishment-v2-history > header,
.punishment-v2-linked > header { min-height: 4.15rem; padding: 0.85rem 1rem; }
.punishment-v2-results header h3,
.punishment-v2-history header h3,
.punishment-v2-linked header h3 { font-size: 1rem; }
.punishment-v2-results header p,
.punishment-v2-history header p,
.punishment-v2-linked header p { margin-top: 0.18rem; font-size: 0.75rem; }
.punishment-v2-results header > span,
.punishment-v2-history header > span,
.punishment-v2-linked header > span { font-size: 0.74rem; }

.punishment-v2-results-head { min-height: 2.55rem; padding-inline: 1rem; font-size: 0.62rem; }
.punishment-v2-result { min-height: 4.45rem; padding: 0.65rem 1rem; }
.punishment-v2-result strong { font-size: 0.86rem; }
.punishment-v2-result small { margin-top: 0.16rem; font-size: 0.7rem; }
.punishment-v2-result > span:not(:first-child):not(:nth-child(6)) { font-size: 0.78rem; }
.punishment-v2-result > i { font-size: 0.86rem; }

.punishment-v2-profile-head { gap: 1rem; padding: 1rem 1.1rem; }
.punishment-v2-person { gap: 0.8rem; }
.punishment-v2-person-icon { width: 2.75rem; height: 2.75rem; font-size: 1rem; }
.punishment-v2-person h3 { font-size: 1.14rem; }
.punishment-v2-person p { margin-top: 0.18rem; font-size: 0.73rem; }
.punishment-v2-profile-stats > span { gap: 0.12rem; padding: 0.48rem 0.7rem; font-size: 0.64rem; }
.punishment-v2-profile-stats strong { font-size: 0.92rem; }

.punishment-v2-review { grid-template-columns: minmax(15rem, 0.25fr) minmax(0, 1fr); min-height: 34rem; }
.punishment-v2-linked button { min-height: 3.9rem; padding: 0.7rem 0.9rem; }
.punishment-v2-linked button strong { font-size: 0.82rem; }
.punishment-v2-linked button small { margin-top: 0.16rem; font-size: 0.66rem; }
.punishment-v2-linked button em { min-width: 1.6rem; padding: 0.22rem 0.34rem; font-size: 0.67rem; }

.punishment-v2-history-head { min-height: 2.65rem; padding-inline: 1rem; font-size: 0.6rem; }
.punishment-v2-sanction { min-height: 5.15rem; padding: 0.72rem 1rem; }
.punishment-v2-type { gap: 0.5rem; }
.punishment-v2-type strong { font-size: 0.78rem; }
.punishment-v2-status,
.punishment-v2-final { gap: 0.36rem; font-size: 0.72rem; }
.punishment-v2-reason strong,
.punishment-v2-issued strong,
.punishment-v2-dates strong { font-size: 0.77rem; }
.punishment-v2-reason small,
.punishment-v2-issued small,
.punishment-v2-dates small { margin-top: 0.16rem; font-size: 0.65rem; }
.punishment-v2-unban { min-height: 2.4rem; padding: 0.45rem 0.78rem; font-size: 0.74rem; }
.punishment-v2-revoke-form { gap: 0.7rem; padding: 0.85rem; }
.punishment-v2-revoke-form > div strong { font-size: 0.82rem; }
.punishment-v2-revoke-form > div small { font-size: 0.66rem; }
.punishment-v2-revoke-form label span { font-size: 0.62rem; }
.punishment-v2-revoke-form input { min-height: 2.65rem; font-size: 0.78rem; }

@media (max-width: 1200px) {
  .punishment-v2-command { grid-template-columns: minmax(14rem, 1fr) minmax(10rem, 0.5fr) auto; }
  .punishment-v2-summary { grid-column: 1 / -1; }
  .punishment-v2-profile-head { grid-template-columns: auto minmax(12rem, 1fr) auto; }
}

@media (max-width: 900px) {
  .punishment-v2-review { grid-template-columns: 1fr; }
  .punishment-v2-linked { border-right: 0; border-bottom: 0.0625rem solid var(--border); }
  .punishment-v2-linked > div { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 12rem; overflow: auto; }
  .punishment-v2-revoke-form { grid-template-columns: 1fr auto auto; }
  .punishment-v2-revoke-form > div { grid-column: 1 / -1; }
  .punishment-issue-ban-form { grid-template-columns: 1fr 1fr; }
  .punishment-issue-ban-form label:nth-child(4) { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .punishment-v2-command { grid-template-columns: 1fr; }
  .punishment-v2-title,
  .punishment-v2-summary { grid-column: auto; }
  .punishment-v2-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .punishment-v2-summary > span:nth-child(3) { border-left: 0; border-top: 0.0625rem solid #303640; }
  .punishment-v2-summary > span:nth-child(4) { border-top: 0.0625rem solid #303640; }
  .punishment-v2-profile-head { grid-template-columns: 1fr auto; }
  .punishment-v2-profile-head > .ghost-button { grid-column: 1 / -1; justify-self: start; }
  .punishment-v2-person { grid-column: 1; }
  .punishment-v2-profile-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .punishment-v2-profile-stats > span:nth-child(4) { border-left: 0; }
  .punishment-v2-linked > div { grid-template-columns: 1fr; }
  .punishment-v2-revoke-form { grid-template-columns: 1fr 1fr; }
  .punishment-v2-revoke-form label { grid-column: 1 / -1; }
  .punishment-issue-ban-form { grid-template-columns: 1fr; }
  .punishment-issue-ban-form label:nth-child(4) { grid-column: auto; }
}

/* Player workspace modal: keep the search/results page stable while staff review a player. */
body:has(.player-workspace-overlay) {
  overflow: hidden;
}

body:has(.economy-detail-overlay),
body:has(.rules-editor-backdrop.is-open),
body:has(.map-overlay-backdrop) {
  overflow: hidden;
}

.player-workspace-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 1rem;
  overflow: hidden;
  background: rgba(5, 7, 10, 0.78);
  backdrop-filter: blur(0.45rem);
  animation: playerWorkspaceFade 160ms ease both;
}

.player-workspace-modal {
  width: min(92rem, calc(100vw - 2rem));
  height: min(56rem, calc(100vh - 2rem));
  height: min(56rem, calc(100dvh - 2rem));
  min-height: 0;
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  margin: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 0.0625rem solid #343b45;
  border-radius: 1.15rem;
  background: #111419;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.56);
  outline: none;
  animation: playerWorkspaceEnter 180ms ease both;
}

.player-workspace-topbar {
  min-height: 4.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.72rem 0.9rem 0.72rem 1rem;
  border-bottom: 0.0625rem solid #2b3139;
  background: #171a1f;
}

.player-workspace-heading,
.player-workspace-topbar-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.player-workspace-heading > div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.player-workspace-heading strong {
  overflow: hidden;
  color: var(--text-strong);
  font-size: 1rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-workspace-heading small {
  overflow: hidden;
  color: var(--muted);
  font-size: 0.74rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-workspace-icon,
.player-workspace-close {
  width: 2.35rem;
  height: 2.35rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border: 0.0625rem solid #35404c;
  border-radius: 0.72rem;
  background: #20262d;
  color: #8db8f8;
}

.player-workspace-close {
  cursor: pointer;
  color: #aeb7c2;
  font: inherit;
}

.player-workspace-close:hover,
.player-workspace-close:focus-visible {
  border-color: #5e6c7c;
  background: #29313a;
  color: #fff;
  outline: none;
}

.player-workspace-scroll {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 0.95rem;
  scrollbar-color: #3a414b #111318;
}

.player-workspace-scroll::-webkit-scrollbar {
  width: 0.75rem;
  height: 0.75rem;
}

.player-workspace-scroll::-webkit-scrollbar-track {
  background: #111318;
}

.player-workspace-scroll::-webkit-scrollbar-thumb {
  border: 0.18rem solid #111318;
  border-radius: 999rem;
  background: #3a414b;
}

.player-workspace-modal .profile-content-grid {
  gap: 0.85rem;
}

.player-workspace-modal .player-prime-hero {
  padding: 1rem 1.1rem;
  border-color: #2f3741;
  background: #171b20;
  box-shadow: none;
}

.player-workspace-modal .player-prime-header {
  grid-template-columns: minmax(0, 1fr) auto;
}

.player-workspace-modal .player-prime-statbar {
  gap: 1.1rem;
  padding-bottom: 0.25rem;
}

.player-workspace-modal .player-action-panel {
  max-width: none;
  margin: 0;
  border-color: rgba(110, 168, 255, 0.3);
  background: #181d23;
}

.player-workspace-modal .player-action-panel form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.player-workspace-modal .player-action-panel form > .row-between,
.player-workspace-modal .player-action-panel form > .textarea-field,
.player-workspace-modal .player-action-panel form > button,
.player-workspace-modal .player-action-panel form > input[type="hidden"] {
  grid-column: 1 / -1;
}

.player-workspace-modal .player-tab-shell {
  position: sticky;
  top: -0.95rem;
  z-index: 5;
  padding: 0.65rem 0;
  overflow: hidden;
  border: 0;
  border-bottom: 0.0625rem solid #2b3139;
  border-radius: 0;
  background: rgba(17, 20, 25, 0.96);
  box-shadow: none;
  backdrop-filter: blur(0.7rem);
}

.player-workspace-modal .player-tab-groups {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  overflow-x: auto;
  padding: 0 0.15rem 0.4rem;
  scrollbar-width: thin;
}

.player-workspace-modal .player-tab-group {
  flex: 0 0 auto;
  gap: 0.35rem;
}

.player-workspace-modal .player-prime-tabs {
  flex-wrap: nowrap;
  gap: 0.38rem;
}

.player-workspace-modal .player-tab-button {
  min-width: auto;
  gap: 0.42rem;
  padding: 0.46rem 0.62rem;
  border-radius: 0.62rem;
  font-size: 0.76rem;
  white-space: nowrap;
}

.player-workspace-modal .player-tab-button i {
  width: 0.9rem;
  text-align: center;
}

.player-workspace-modal .player-tab-group-label {
  padding-left: 0.12rem;
  font-size: 0.62rem;
}

.player-workspace-modal .player-pane-shell {
  gap: 0.72rem;
  padding: 0.1rem 0.15rem 0.5rem;
}

.player-workspace-modal .player-pane-header .eyebrow,
.player-workspace-modal .player-pane-header > .chip {
  display: none;
}

@keyframes playerWorkspaceFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes playerWorkspaceEnter {
  from { opacity: 0; transform: translateY(0.75rem) scale(0.99); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 760px) {
  .player-workspace-overlay {
    padding: 0;
  }

  .player-workspace-modal {
    width: 100vw;
    height: 100dvh;
    min-height: 0;
    border: 0;
    border-radius: 0;
  }

  .player-workspace-scroll {
    padding: 0.65rem;
  }

  .player-workspace-modal .player-prime-header,
  .player-workspace-modal .content-grid,
  .player-workspace-modal .player-action-panel form {
    grid-template-columns: minmax(0, 1fr);
  }

  .player-workspace-modal .player-prime-score {
    display: none;
  }

  .player-workspace-modal .player-prime-statbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .player-workspace-modal .player-action-panel form > * {
    grid-column: 1;
  }

  .player-workspace-heading small {
    max-width: 12rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .player-workspace-overlay,
  .player-workspace-modal {
    animation: none;
  }
}

@media (max-width: 1200px) {
  .site-shell,
  .portal-grid,
  .hero-grid,
  .content-grid,
  .rules-workspace,
  .news-detail-shell,
  .detail-grid,
  .manager-split-shell,
  .stats-grid,
  .input-grid,
  .action-grid,
  .metric-grid,
  .inventory-editor-layout,
  .inventory-action-grid {
    grid-template-columns: 1fr;
  }

  .logging-mini-grid,
  .log-spotlight-grid,
  .log-feed-grid,
  .logging-stat-grid,
  .log-timeline-grid {
    grid-template-columns: 1fr;
  }

  .site-sidebar {
    position: static;
  }

  .rules-side-panel,
  .rules-editor-panel,
  .news-audit-card {
    position: static;
    max-height: none;
  }

  .inventory-grid-panel {
    grid-template-columns: repeat(auto-fit, minmax(4.85rem, 1fr));
  }

  .vehicle-tools-card .panel-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .punishment-stats-grid,
  .punishment-top-grid,
  .punishment-summary-grid,
  .portal-grid-four,
  .landing-action-grid.has-staff,
  .landing-action-grid.card-count-3,
  .landing-action-grid.card-count-5,
  .landing-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-permission-user-card {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .portal-permission-actions,
  .portal-permission-backup-meta {
    justify-content: flex-start;
  }

  .portal-permission-backup-row {
    display: grid;
  }

  .rule-compare-grid,
  .rules-section-actions {
    grid-template-columns: 1fr;
  }

  .rules-section-actions {
    display: grid;
    align-items: stretch;
  }

  .news-post-list {
    grid-template-columns: 1fr;
  }

  .landing-hero {
    grid-template-columns: 1fr;
  }

  .landing-preview-card.is-main {
    justify-self: stretch;
  }

  .inventory-slot {
    width: 100%;
    min-height: 0;
  }

  .player-prime-statbar,
  .player-prime-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 840px) {
  .portal-shell,
  .site-shell {
    padding: 1rem;
  }

  .player-pane-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .compact-player-toolbar {
    grid-template-columns: 1fr;
  }

  .player-ranking-card .row-between {
    align-items: stretch;
    flex-direction: column;
  }

  .player-ranking-modes {
    justify-items: stretch;
  }

  .player-ranking-modes > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .player-ranking-mode-button {
    min-width: 0;
    padding-inline: 0.55rem;
  }

  .player-ranking-mode-button span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .player-ranking-table {
    grid-template-columns: 2.4rem minmax(0, 1fr) minmax(7rem, 0.8fr);
  }

  .player-ranking-table > :nth-child(4) {
    display: none;
  }

  .player-section-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .live-map-layout {
    grid-template-columns: 1fr;
  }

  .table-head,
  .table-row {
    grid-template-columns: 1fr;
  }

  .inventory-grid-panel {
    grid-template-columns: repeat(auto-fit, minmax(4.45rem, 1fr));
  }

  .inventory-slot {
    width: 100%;
    min-height: 0;
  }

  .vehicle-section-card .stack-list {
    grid-template-columns: 1fr;
  }

  .punishment-results-table,
  .portal-permissions-grid,
  .permission-toggle-grid,
  .news-page-shell.has-editor,
  .punishment-linked-row {
    grid-template-columns: 1fr;
  }

  .player-prime-header,
  .player-prime-statbar,
  .player-prime-grid,
  .dashboard-online-table {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .landing-hero,
  .landing-strip,
  .landing-action-grid,
  .landing-action-grid.has-staff,
  .portal-grid-four {
    grid-template-columns: 1fr;
  }

  .landing-hero {
    min-height: 0;
    padding: 4.5rem 1.1rem 1.1rem;
  }

  .landing-login {
    left: 1rem;
    right: 1rem;
  }

  .landing-discord-login,
  .landing-auth-card {
    width: 100%;
  }

  .landing-title {
    font-size: 2.45rem;
  }

  .landing-hero-visual {
    min-height: 21rem;
  }

  .landing-preview-card.is-small,
  .landing-preview-card.is-alert {
    position: static;
    margin-top: 0.6rem;
  }

  .log-sections-shell,
  .log-structure-grid,
  .log-entry-meta-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .landing-hero-copy,
  .landing-hero-visual,
  .landing-preview-card.is-main,
  .landing-preview-card.is-small,
  .landing-preview-card.is-alert {
    animation: none;
  }

  .portal-shell > *,
  .site-sidebar > *,
  .site-main > *,
  .manager-content > *,
  .hero-grid > *,
  .stats-grid > *,
  .content-grid > *,
  .detail-grid > *,
  .profile-content-grid > *,
  .portal-grid > *,
  .live-map-layout > * {
    animation: none;
  }
}

/* Staff portal rework overrides */
:root {
  --bg: #0f1012;
  --bg-soft: #131518;
  --panel: #17191d;
  --panel-alt: #1d2025;
  --border: #2a2f37;
  --border-strong: #3a414b;
  --text: #aeb5bf;
  --text-strong: #f1f4f7;
  --muted: #7e8793;
  --accent: #6ea8ff;
  --accent-soft: rgba(110, 168, 255, 0.14);
  --success: #56c18a;
  --danger: #d96d6d;
  --warning: #d2a85e;
}

html {
  scrollbar-color: #3a414b #111318;
}

body {
  background: linear-gradient(180deg, #0d0f12 0%, #121419 100%);
}

body::-webkit-scrollbar,
.manager-list-scroll::-webkit-scrollbar,
.economy-detail-modal::-webkit-scrollbar {
  width: 0.8rem;
  height: 0.8rem;
}

body::-webkit-scrollbar-track,
.manager-list-scroll::-webkit-scrollbar-track,
.economy-detail-modal::-webkit-scrollbar-track {
  background: #111318;
}

body::-webkit-scrollbar-thumb,
.manager-list-scroll::-webkit-scrollbar-thumb,
.economy-detail-modal::-webkit-scrollbar-thumb {
  background: #343b45;
  border: 0.15rem solid #111318;
}

#app {
  min-height: 100vh;
}

.app-shell {
  width: min(100%, 112rem);
  margin: 0 auto;
  padding: 1rem;
  display: grid;
  gap: 1rem;
}

.app-shell.landing-shell {
  width: 100vw;
  max-width: none;
  margin: 0;
  padding: clamp(1rem, 1.2vw, 2.4rem);
}

.app-shell.public-content-shell {
  min-height: 100vh;
  align-content: start;
  padding: 0.6rem 1rem 1rem;
}

.public-content-shell .app-main {
  gap: 0.65rem;
}

.app-shell.density-compact {
  gap: 0.65rem;
}

.app-shell.density-compact .table-card,
.app-shell.density-compact .hero-card,
.app-shell.density-compact .detail-card,
.app-shell.density-compact .list-card {
  padding: 0.68rem;
}

.app-shell.density-compact .app-topbar,
.app-shell.density-compact .page-banner {
  padding: 0.7rem;
}

.app-shell.density-compact .body-copy,
.app-shell.density-compact .section-subcopy,
.app-shell.density-compact .table-muted {
  line-height: 1.28;
}

.app-topbar,
.page-banner,
.hero-card,
.table-card,
.list-card,
.detail-card,
.stat-card,
.portal-card,
.economy-shell-card,
.economy-detail-modal {
  border-radius: 0.7rem;
  box-shadow: none;
}

.landing-shell .portal-card,
.landing-shell .portal-card-media,
.landing-shell .portal-card-icon,
.landing-discord-login,
.landing-auth-card,
.landing-discord-icon {
  border-radius: 1.35rem;
}

.content-page-banner,
.content-document-card,
.content-editor-form,
.content-backup-card,
.rules-side-panel,
.rules-doc-header,
.rules-document-page,
.rules-editor-form,
.rules-audit-card {
  border-radius: 1.25rem;
}

.rules-section-link,
.rules-audit-row,
.content-backup-row,
.rules-editor-toolbar button {
  border-radius: 0.85rem;
}

.app-topbar,
.page-banner {
  border: 0.0625rem solid var(--border);
  background: var(--panel);
}

.app-topbar {
  position: relative;
  padding: 0.95rem 1rem;
  display: grid;
  gap: 0.9rem;
}

.app-brand,
.topbar-actions,
.topbar-meta,
.page-banner,
.toolbar-grid,
.page-filter-row,
.row-between {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.app-brand,
.page-banner {
  justify-content: space-between;
}

.app-brand {
  align-items: flex-start;
  justify-content: flex-start;
}

.global-debug-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.65rem;
  padding: 0.58rem 0.75rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.45rem;
  background: var(--panel-alt);
  color: var(--text);
  font-weight: 700;
  cursor: pointer;
  transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease;
}

.global-debug-toggle:hover,
.global-debug-toggle:focus-visible,
.global-debug-toggle.is-active {
  border-color: var(--warning);
  background: rgba(232, 180, 93, 0.1);
  color: var(--text-strong);
  outline: none;
}

.global-debug-toggle.is-active i {
  color: var(--warning);
}

.topbar-actions,
.topbar-meta,
.page-filter-row {
  flex-wrap: wrap;
}

.topbar-actions {
  justify-content: space-between;
}

.top-nav-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.app-main,
.page-stack,
.manager-page-stack,
.manager-content,
.economy-section-stack {
  display: grid;
  gap: 1rem;
}

.debug-mode-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border: 0.0625rem solid rgba(232, 180, 93, 0.26);
  border-radius: 0.7rem;
  background: linear-gradient(90deg, rgba(232, 180, 93, 0.09), rgba(20, 23, 27, 0.94));
}

.debug-mode-panel strong {
  color: var(--text-strong);
}

.debug-metric-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.debug-metric-chip {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.55rem;
  border: 0.0625rem solid rgba(232, 180, 93, 0.22);
  border-radius: 0.4rem;
  background: #202020;
  color: var(--warning);
  font-size: 0.72rem;
  font-weight: 700;
}

.global-review-queue {
  display: grid;
  gap: 0.7rem;
  padding: 0.85rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.7rem;
  background: var(--panel);
}

.review-queue-head,
.review-queue-grid,
.log-review-layout,
.drawer-meta-grid,
.risk-badge-row {
  display: flex;
  gap: 0.55rem;
}

.review-queue-head {
  align-items: center;
  justify-content: space-between;
}

.review-queue-grid {
  flex-wrap: wrap;
}

.review-queue-item {
  flex: 1 1 12rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  min-height: 3.2rem;
  padding: 0.6rem 0.7rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.45rem;
  background: #15181c;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.review-queue-item strong,
.review-queue-item small {
  display: block;
}

.review-queue-item strong {
  color: var(--text-strong);
}

.review-queue-item small {
  margin-top: 0.12rem;
  color: var(--muted);
}

.review-queue-item em {
  color: var(--text-strong);
  font-style: normal;
  font-weight: 800;
}

.review-queue-item.danger,
.log-entry-card.severity-danger {
  border-color: rgba(255, 125, 125, 0.34);
}

.review-queue-item.warning,
.log-entry-card.severity-warning {
  border-color: rgba(232, 180, 93, 0.34);
}

.review-queue-item.success,
.log-entry-card.severity-success {
  border-color: rgba(73, 200, 143, 0.28);
}

.review-queue-item.note {
  border-color: rgba(184, 188, 196, 0.22);
}

.page-banner {
  padding: 1rem;
  align-items: flex-end;
}

.compact-banner {
  padding: 0.9rem 1rem;
}

.toolbar-grid {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.page-filter-row {
  flex-wrap: wrap;
}

.page-filter-row-wide > * {
  flex: 1 1 10rem;
}

.page-two-up,
.economy-two-up,
.content-grid.page-two-up {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.top-nav-button,
.filter-chip,
.economy-rail-button,
.economy-window-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 2.7rem;
  padding: 0.65rem 0.9rem;
  border: 0.0625rem solid var(--border);
  background: var(--panel-alt);
  color: var(--text);
  cursor: pointer;
  transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease;
}

.top-nav-button,
.filter-chip {
  width: auto;
}

.top-nav-button {
  color: var(--text-strong);
}

.top-nav-button i,
.filter-chip i,
.economy-window-button i {
  color: currentColor;
}

.top-nav-button[data-primary-nav="logging"],
.filter-chip[data-log-section="review"] {
  background: #223247;
  border-color: rgba(110, 168, 255, 0.36);
  color: #bcd7ff;
}

.top-nav-button[data-primary-nav="home"] {
  background: #2f3339;
  border-color: rgba(184, 188, 196, 0.28);
  color: #e1e5ec;
}

.top-nav-button[data-primary-nav="map"] {
  background: #213d3b;
  border-color: rgba(98, 214, 198, 0.34);
  color: #b6eee6;
}

.top-nav-button[data-primary-nav="players"] {
  background: #203d31;
  border-color: rgba(73, 200, 143, 0.34);
  color: #aaebc7;
}

.top-nav-button[data-primary-nav="economy"],
.filter-chip[data-log-section="economy"],
.economy-window-button {
  background: #44361f;
  border-color: rgba(232, 180, 93, 0.35);
  color: #f0c97d;
}

.top-nav-button[data-primary-nav="vehicles"],
.filter-chip[data-log-section="assets"] {
  background: #443024;
  border-color: rgba(217, 139, 99, 0.34);
  color: #ebb08d;
}

.top-nav-button[data-primary-nav="properties"],
.filter-chip[data-log-section="deaths"] {
  background: #3d3045;
  border-color: rgba(201, 156, 255, 0.32);
  color: #e1ccff;
}

.top-nav-button[data-primary-nav="punishments"] {
  background: #4a282a;
  border-color: rgba(255, 125, 125, 0.32);
  color: #ffc4c4;
}

.top-nav-button[data-primary-nav="staff"] {
  background: #2f3743;
  border-color: rgba(184, 188, 196, 0.28);
  color: #d7dce5;
}

.top-nav-button[data-primary-nav="rules"] {
  background: #27384a;
  border-color: rgba(110, 168, 255, 0.3);
  color: #cfe2ff;
}

.top-nav-button[data-primary-nav="news"] {
  background: #333a28;
  border-color: rgba(164, 214, 98, 0.3);
  color: #def2bc;
}

.filter-chip[data-log-section="staff"],
.filter-chip[data-log-section="ingame_staff"] {
  background: #2f3743;
  border-color: rgba(184, 188, 196, 0.28);
  color: #d7dce5;
}

.filter-chip[data-log-section="systems"],
.filter-chip[data-log-section="security"] {
  background: #4a282a;
  border-color: rgba(255, 125, 125, 0.3);
  color: #ffc4c4;
}

.top-nav-button.admin-toggle {
  background: #2f3339;
  border-color: rgba(184, 188, 196, 0.24);
  color: #d7dce5;
}

.topbar-feed-button {
  position: relative;
  background: #253447;
  border-color: rgba(110, 168, 255, 0.36);
  color: #bcd7ff;
}

.topbar-feed-button.has-alerts {
  background: #4a282a;
  border-color: rgba(255, 125, 125, 0.36);
  color: #ffc4c4;
}

.topbar-feed-button em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  min-height: 1.2rem;
  padding: 0.08rem 0.28rem;
  background: var(--danger);
  color: #ffffff;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 900;
}

.top-nav-button:hover,
.top-nav-button:focus-visible,
.top-nav-button.is-active,
.filter-chip:hover,
.filter-chip:focus-visible,
.filter-chip.is-active,
.economy-rail-button:hover,
.economy-rail-button:focus-visible,
.economy-rail-button.is-active,
.economy-window-button:hover,
.economy-window-button:focus-visible,
.economy-window-button.is-active {
  border-color: var(--accent);
  background: #2d333d;
  color: var(--text-strong);
  outline: none;
}

.top-nav-button[data-primary-nav="logging"]:hover,
.top-nav-button[data-primary-nav="logging"]:focus-visible,
.top-nav-button[data-primary-nav="logging"].is-active,
.filter-chip[data-log-section="review"]:hover,
.filter-chip[data-log-section="review"]:focus-visible,
.filter-chip[data-log-section="review"].is-active {
  background: #2b405c;
  border-color: var(--tone-logs);
}

.top-nav-button[data-primary-nav="home"]:hover,
.top-nav-button[data-primary-nav="home"]:focus-visible,
.top-nav-button[data-primary-nav="home"].is-active {
  background: #3a3f47;
  border-color: rgba(184, 188, 196, 0.45);
}

.top-nav-button[data-primary-nav="map"]:hover,
.top-nav-button[data-primary-nav="map"]:focus-visible,
.top-nav-button[data-primary-nav="map"].is-active {
  background: #294c48;
  border-color: var(--tone-map);
}

.top-nav-button[data-primary-nav="players"]:hover,
.top-nav-button[data-primary-nav="players"]:focus-visible,
.top-nav-button[data-primary-nav="players"].is-active {
  background: #294d3d;
  border-color: var(--tone-players);
}

.top-nav-button[data-primary-nav="economy"]:hover,
.top-nav-button[data-primary-nav="economy"]:focus-visible,
.top-nav-button[data-primary-nav="economy"].is-active,
.filter-chip[data-log-section="economy"]:hover,
.filter-chip[data-log-section="economy"]:focus-visible,
.filter-chip[data-log-section="economy"].is-active,
.economy-window-button:hover,
.economy-window-button:focus-visible,
.economy-window-button.is-active {
  background: #544328;
  border-color: var(--tone-economy);
}

.top-nav-button[data-primary-nav="vehicles"]:hover,
.top-nav-button[data-primary-nav="vehicles"]:focus-visible,
.top-nav-button[data-primary-nav="vehicles"].is-active,
.filter-chip[data-log-section="assets"]:hover,
.filter-chip[data-log-section="assets"]:focus-visible,
.filter-chip[data-log-section="assets"].is-active {
  background: #563b2d;
  border-color: var(--tone-vehicles);
}

.top-nav-button[data-primary-nav="properties"]:hover,
.top-nav-button[data-primary-nav="properties"]:focus-visible,
.top-nav-button[data-primary-nav="properties"].is-active,
.filter-chip[data-log-section="deaths"]:hover,
.filter-chip[data-log-section="deaths"]:focus-visible,
.filter-chip[data-log-section="deaths"].is-active {
  background: #4c3a56;
  border-color: var(--tone-properties);
}

.top-nav-button[data-primary-nav="punishments"]:hover,
.top-nav-button[data-primary-nav="punishments"]:focus-visible,
.top-nav-button[data-primary-nav="punishments"].is-active,
.topbar-feed-button.has-alerts:hover,
.topbar-feed-button.has-alerts:focus-visible {
  background: #5a3033;
  border-color: var(--tone-punishments);
}

.top-nav-button[data-primary-nav="staff"]:hover,
.top-nav-button[data-primary-nav="staff"]:focus-visible,
.top-nav-button[data-primary-nav="staff"].is-active {
  background: #3a4350;
  border-color: var(--tone-admin);
}

.top-nav-button[data-primary-nav="rules"]:hover,
.top-nav-button[data-primary-nav="rules"]:focus-visible,
.top-nav-button[data-primary-nav="rules"].is-active {
  background: #30455c;
  border-color: var(--tone-logs);
}

.top-nav-button[data-primary-nav="news"]:hover,
.top-nav-button[data-primary-nav="news"]:focus-visible,
.top-nav-button[data-primary-nav="news"].is-active {
  background: #404934;
  border-color: rgba(164, 214, 98, 0.48);
}

.filter-chip[data-log-section="staff"]:hover,
.filter-chip[data-log-section="staff"]:focus-visible,
.filter-chip[data-log-section="staff"].is-active,
.filter-chip[data-log-section="ingame_staff"]:hover,
.filter-chip[data-log-section="ingame_staff"]:focus-visible,
.filter-chip[data-log-section="ingame_staff"].is-active {
  background: #3a4350;
  border-color: var(--tone-admin);
}

.filter-chip[data-log-section="systems"]:hover,
.filter-chip[data-log-section="systems"]:focus-visible,
.filter-chip[data-log-section="systems"].is-active,
.filter-chip[data-log-section="security"]:hover,
.filter-chip[data-log-section="security"]:focus-visible,
.filter-chip[data-log-section="security"].is-active {
  background: #5a3033;
  border-color: var(--danger);
}

/* Rules workspace: readable two-column document with an overlay editor. */
body.rules-editor-open {
  overflow: hidden;
}

.rules-inline-title {
  min-width: 0;
  margin: 0 0 1rem;
  padding: 0.45rem 0 1rem;
  border-bottom: 0.0625rem solid #252c35;
}

.rules-title-copy {
  display: grid;
  min-width: 0;
  gap: 0.3rem;
}

.rules-inline-title .section-title {
  color: #f4f7fb;
  font-size: clamp(1.65rem, 2.3vw, 2.15rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.rules-inline-title .body-copy {
  color: #8f9aaa;
  font-size: 0.82rem;
  line-height: 1.45;
}

.rules-page-actions {
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.rules-state,
.rules-access-state {
  display: inline-flex;
  min-height: 2.35rem;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.75rem;
  border: 0.0625rem solid #303946;
  border-radius: 0.65rem;
  background: #11161c;
  color: #b7c0cc;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: capitalize;
}

.rules-state.is-published {
  border-color: rgba(65, 185, 110, 0.38);
  background: rgba(30, 112, 61, 0.16);
  color: #7fe1a2;
}

.rules-state.is-draft {
  border-color: rgba(229, 174, 74, 0.4);
  background: rgba(121, 83, 25, 0.18);
  color: #efc46f;
}

.rules-add-section {
  min-height: 2.35rem;
  border-radius: 0.65rem;
}

.rules-view-tabs {
  display: inline-flex;
  gap: 0.3rem;
  margin-bottom: 1rem;
  padding: 0.3rem;
  border: 0.0625rem solid #27303b;
  border-radius: 0.72rem;
  background: #0d1116;
}

.rules-view-tab {
  display: inline-flex;
  min-height: 2.35rem;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 0.8rem;
  border: 0;
  border-radius: 0.5rem;
  background: transparent;
  color: #8f9aaa;
  font-size: 0.76rem;
  font-weight: 800;
  cursor: pointer;
}

.rules-view-tab:hover,
.rules-view-tab:focus-visible {
  background: #171d25;
  color: #eaf0f7;
  outline: none;
}

.rules-view-tab.is-active {
  background: #202a36;
  color: #f4f7fb;
  box-shadow: inset 0 0 0 0.0625rem rgba(104, 167, 255, 0.28);
}

[data-rules-view-panel][hidden] {
  display: none;
}

.rules-audit-view {
  display: grid;
  gap: 1rem;
  padding: clamp(1rem, 2vw, 1.5rem);
  border: 0.0625rem solid #27303b;
  border-radius: 0.9rem;
  background: #101419;
}

.rules-audit-header,
.rules-audit-entry-header,
.rules-audit-entry-meta,
.rules-audit-entry-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.rules-audit-header {
  padding-bottom: 1rem;
  border-bottom: 0.0625rem solid #27303b;
}

.rules-audit-header .section-title {
  margin: 0;
  color: #f4f7fb;
  font-size: 1.25rem;
}

.rules-audit-header .body-copy {
  margin-top: 0.25rem;
  color: #8f9aaa;
  font-size: 0.8rem;
}

.rules-audit-count {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.45rem;
  color: #9fc6ff;
  font-size: 0.75rem;
  font-weight: 800;
}

.rules-audit-feed {
  display: grid;
  gap: 0.75rem;
}

.rules-audit-entry {
  display: grid;
  gap: 0.8rem;
  padding: 1rem;
  border: 0.0625rem solid #29323d;
  border-radius: 0.75rem;
  background: #141920;
}

.rules-audit-entry-header > div {
  display: grid;
  gap: 0.25rem;
}

.rules-audit-section-label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #9fc6ff;
  font-size: 0.72rem;
  font-weight: 800;
}

.rules-audit-entry-header strong {
  color: #f0f4f9;
  font-size: 0.95rem;
}

.rules-audit-entry-header time,
.rules-audit-entry-meta {
  color: #7f8a98;
  font-size: 0.72rem;
}

.rules-audit-entry-meta {
  justify-content: flex-start;
}

.rules-audit-entry-meta > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.rules-audit-summary {
  margin: 0;
  color: #b6c0cc;
  font-size: 0.82rem;
  line-height: 1.55;
}

.rules-audit-entry-footer {
  justify-content: flex-end;
}

.rules-audit-entry-footer .danger-button {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.rules-audit-entry .rule-compare-details summary:focus-visible {
  border-radius: 0.35rem;
  box-shadow: inset 0 0 0 0.12rem rgba(104, 167, 255, 0.72);
  outline: none;
}

.rules-audit-empty {
  display: grid;
  justify-items: center;
  gap: 0.45rem;
  padding: 3rem 1rem;
  text-align: center;
}

.rules-audit-empty i {
  color: #61758d;
  font-size: 1.5rem;
}

.rules-workspace {
  display: grid;
  grid-template-columns: minmax(15rem, 17.5rem) minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: start;
}

.rules-side-panel.table-card {
  position: sticky;
  top: 0.75rem;
  display: grid;
  min-width: 0;
  max-height: calc(100vh - 1.5rem);
  gap: 0.85rem;
  overflow: hidden;
  padding: 1rem;
  border: 0.0625rem solid #27303b;
  border-radius: 0.9rem;
  background: #101419;
}

.rules-side-panel .panel-stack {
  gap: 0.2rem;
}

.rules-side-panel .eyebrow {
  margin: 0;
  color: #8f9aaa;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}

.rules-side-panel .card-title {
  color: #eef3f9;
  font-size: 1rem;
  letter-spacing: -0.02em;
}

.rules-search-field {
  gap: 0.4rem;
}

.rules-search-field > span {
  color: #a5afbc;
  font-size: 0.72rem;
  font-weight: 800;
}

.rules-search-field input {
  min-width: 0;
  min-height: 2.65rem;
  border-color: #303946;
  border-radius: 0.65rem;
  background: #151a21;
  color: #f4f7fb;
  font-size: 0.82rem;
}

.rules-search-field input:focus {
  border-color: #68a7ff;
  box-shadow: 0 0 0 0.18rem rgba(104, 167, 255, 0.13);
}

.rules-section-list {
  display: grid;
  min-height: 0;
  gap: 0.35rem;
  overflow-y: auto;
  padding-right: 0.2rem;
  scrollbar-width: thin;
  scrollbar-color: #46515f transparent;
}

.rules-section-link,
.rules-section-link.level-2,
.rules-section-link.level-3 {
  min-width: 0;
  min-height: 3rem;
  margin-left: 0;
  padding: 0.62rem 0.7rem;
  border: 0.0625rem solid transparent;
  border-left: 0.18rem solid transparent;
  border-radius: 0.65rem;
  background: transparent;
  color: #b8c1cc;
  font-size: 0.78rem;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}

.rules-section-link small {
  display: none;
}

.rules-section-label {
  gap: 0.65rem;
}

.rules-section-link .rule-category-icon {
  width: 1.2rem;
  font-size: 0.9rem;
}

.rules-section-link:hover,
.rules-section-link:focus-visible {
  border-color: #303946;
  background: #171c23;
  color: #eef3f9;
}

.rules-section-link.is-active {
  border-color: rgba(104, 167, 255, 0.3);
  border-left-color: #68a7ff;
  background: linear-gradient(90deg, rgba(58, 124, 211, 0.22), rgba(31, 48, 68, 0.55));
  color: #f4f7fb;
}

.rules-document-shell {
  min-width: 0;
}

.rules-document-page {
  min-width: 0;
  min-height: min(66rem, calc(100vh - 10rem));
  padding: clamp(1.35rem, 3.5vw, 3rem);
  border: 0.0625rem solid #27303b;
  border-radius: 0.9rem;
  background: #101419;
  color: #dce3ec;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.18);
}

.rules-section-panel {
  width: min(100%, 56rem);
  margin: 0 auto;
  gap: 1rem;
}

.rules-section-actions {
  flex-wrap: wrap;
  padding-bottom: 1rem;
  border-bottom-color: #27303b;
}

.rules-section-actions .footer-actions {
  flex-wrap: wrap;
}

.rules-section-actions .compact-action {
  min-height: 2.1rem;
  border-radius: 0.55rem;
}

.rules-document-page h2 {
  margin-top: 0.35rem;
  padding-bottom: 1rem;
  border-bottom-color: #27303b;
  color: #f4f7fb;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.12;
  letter-spacing: -0.045em;
}

.rules-document-page h3 {
  color: #eef3f9;
  font-size: 1.15rem;
}

.rules-document-page p,
.rules-document-page li,
.rules-document-page blockquote {
  color: #b0bac7;
  font-size: 0.96rem;
  line-height: 1.75;
}

.rules-document-page li + li {
  margin-top: 0.65rem;
}

.rules-editor-backdrop {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 400;
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
  background: rgba(3, 5, 8, 0.62);
  opacity: 0;
  transition: opacity 180ms ease;
}

.rules-editor-backdrop[hidden] {
  display: none;
}

.rules-editor-backdrop.is-open {
  opacity: 1;
}

.rules-editor-panel {
  position: relative;
  top: auto;
  display: block;
  width: min(72rem, 72vw);
  min-width: min(52rem, 100vw);
  height: 100%;
  max-height: none;
  overflow: hidden;
  border-left: 0.0625rem solid #303946;
  background: #11161c;
  box-shadow: -1.5rem 0 4rem rgba(0, 0, 0, 0.34);
  transform: translateX(100%);
  transition: transform 200ms ease;
}

.rules-editor-backdrop.is-open .rules-editor-panel {
  transform: translateX(0);
}

.rules-editor-form {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: 100%;
  height: 100%;
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #11161c;
}

.rules-editor-heading,
.rules-editor-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border-bottom: 0.0625rem solid #27303b;
}

.rules-editor-heading .card-title {
  color: #f4f7fb;
  font-size: 1.2rem;
}

.rules-editor-heading .table-muted {
  margin-top: 0.2rem;
  font-size: 0.76rem;
}

.rules-editor-close {
  flex: 0 0 auto;
  width: 2.35rem;
  height: 2.35rem;
  border: 0.0625rem solid #303946;
  border-radius: 0.6rem;
  background: #171c23;
  color: #aeb8c5;
  cursor: pointer;
}

.rules-editor-close:hover,
.rules-editor-close:focus-visible {
  border-color: #4d5a6a;
  color: #f4f7fb;
  outline: none;
}

.rules-editor-scroll {
  display: grid;
  align-content: start;
  gap: 0.9rem;
  overflow-y: auto;
  padding: 1.15rem 1.25rem 1.5rem;
}

.rules-editor-scroll .field,
.rules-editor-scroll .textarea-field {
  gap: 0.42rem;
}

.rules-editor-scroll .field > span,
.rules-editor-scroll .textarea-field > span {
  color: #aeb8c5;
  font-size: 0.73rem;
  font-weight: 800;
}

.rules-editor-scroll .field-help {
  color: #7f8a98;
  font-size: 0.7rem;
  line-height: 1.45;
}

.rules-editor-error {
  margin: 0;
  padding: 0.7rem 0.8rem;
  border: 0.0625rem solid rgba(240, 106, 106, 0.45);
  border-radius: 0.6rem;
  background: rgba(145, 39, 39, 0.2);
  color: #ffaaaa;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.45;
}

.rules-editor-error[hidden] {
  display: none;
}

.rules-editor-scroll input,
.rules-editor-scroll select,
.rules-editor-scroll textarea {
  min-width: 0;
  border-color: #303946;
  border-radius: 0.6rem;
  background: #151a21;
  color: #f4f7fb;
}

.rules-editor-scroll input,
.rules-editor-scroll select {
  min-height: 2.65rem;
}

.rules-editor-scroll input:focus,
.rules-editor-scroll select:focus,
.rules-editor-scroll textarea:focus {
  border-color: #68a7ff;
  box-shadow: 0 0 0 0.18rem rgba(104, 167, 255, 0.13);
  outline: none;
}

.rules-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.4rem;
  border: 0.0625rem solid #303946;
  border-radius: 0.65rem;
  background: #0e1217;
}

.rules-editor-toolbar button {
  min-height: 2rem;
  padding: 0.35rem 0.55rem;
  border-color: transparent;
  border-radius: 0.45rem;
  background: transparent;
  color: #aeb8c5;
  font-size: 0.72rem;
}

.rules-editor-toolbar button:hover,
.rules-editor-toolbar button:focus-visible {
  background: #202732;
  color: #f4f7fb;
}

.rules-editor-textarea textarea {
  min-height: 24rem;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.82rem;
  line-height: 1.55;
}

.rules-editor-footer {
  justify-content: flex-end;
  border-top: 0.0625rem solid #27303b;
  border-bottom: 0;
  background: #0f141a;
}

.rules-editor-footer button {
  min-height: 2.55rem;
  border-radius: 0.6rem;
}

.rules-editor-meta-grid {
  display: grid;
  grid-template-columns: minmax(15rem, 1.5fr) repeat(3, minmax(9rem, 0.75fr));
  gap: 0.8rem;
}

.rules-editor-summary-field {
  grid-column: 1 / -1;
}

.rules-editor-mode-tabs {
  display: inline-flex;
  width: fit-content;
  gap: 0.25rem;
  padding: 0.25rem;
  border: 0.0625rem solid #303946;
  border-radius: 0.65rem;
  background: #0d1116;
}

.rules-editor-mode-tabs button {
  display: inline-flex;
  min-height: 2.3rem;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.8rem;
  border: 0;
  border-radius: 0.45rem;
  background: transparent;
  color: #8995a5;
  font-size: 0.75rem;
  font-weight: 800;
}

.rules-editor-mode-tabs button:hover,
.rules-editor-mode-tabs button:focus-visible,
.rules-editor-mode-tabs button.is-active {
  background: #202a36;
  color: #eaf3ff;
  outline: none;
}

.rules-editor-mode-tabs button.is-active {
  box-shadow: inset 0 0 0 0.0625rem rgba(104, 167, 255, 0.38);
}

.rules-editor-mode-panel[hidden] {
  display: none;
}

.rules-editor-toolbar {
  align-items: center;
}

.rules-editor-toolbar select {
  width: auto;
  min-width: 4.3rem;
  min-height: 2.1rem;
  padding: 0.3rem 1.8rem 0.3rem 0.55rem;
  border: 0;
  border-radius: 0.4rem;
  background-color: #171d25;
  color: #d8e0ea;
  font-size: 0.72rem;
  font-weight: 800;
}

.rules-editor-toolbar button {
  display: inline-flex;
  width: 2.1rem;
  justify-content: center;
  align-items: center;
  padding: 0.35rem;
  font-size: 0.82rem;
}

.rules-toolbar-divider {
  width: 0.0625rem;
  height: 1.35rem;
  background: #303946;
}

.rules-editor-compose {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 17rem);
  min-height: 32rem;
  gap: 0.8rem;
  margin-top: 0.75rem;
}

.rules-editor-text-column {
  display: grid;
  min-width: 0;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  border: 0.0625rem solid #303946;
  border-radius: 0.65rem;
  background: #0d1116;
}

.rules-editor-text-column .rules-editor-textarea {
  display: grid;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0;
}

.rules-editor-text-column .rules-editor-textarea > span {
  padding: 0.65rem 0.8rem;
  border-bottom: 0.0625rem solid #252d37;
}

.rules-editor-text-column .rules-editor-textarea textarea {
  min-height: 30rem;
  resize: vertical;
  border: 0;
  border-radius: 0;
  background: #0f141a;
  color: #d9e4f2;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.82rem;
  line-height: 1.65;
  tab-size: 2;
}

.rules-editor-statusbar {
  display: flex;
  min-height: 2.2rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.45rem 0.75rem;
  border-top: 0.0625rem solid #252d37;
  color: #7f8a98;
  font-size: 0.68rem;
}

.rules-editor-statusbar span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #73d99a;
}

.rules-editor-statusbar span:first-child.is-error {
  color: #efc46f;
}

.rules-image-panel {
  display: grid;
  align-content: start;
  gap: 0.7rem;
  padding: 0.85rem;
  border: 0.0625rem solid #303946;
  border-radius: 0.65rem;
  background: #121820;
}

.rules-image-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 0.0625rem solid #29323d;
}

.rules-image-panel-heading > div {
  display: grid;
  gap: 0.2rem;
}

.rules-image-panel-heading strong {
  color: #f0f4f9;
  font-size: 0.88rem;
}

.rules-image-panel-heading span {
  color: #7f8a98;
  font-size: 0.68rem;
  line-height: 1.35;
}

.rules-image-panel-heading button {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border: 0.0625rem solid #303946;
  border-radius: 0.45rem;
  background: #171d25;
  color: #8f9aaa;
}

.rules-image-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.rules-image-panel .primary-button,
.rules-image-panel .danger-button {
  display: inline-flex;
  width: 100%;
  min-height: 2.4rem;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
}

.rules-image-panel .danger-button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.rules-editor-preview {
  min-height: 32rem;
  padding: clamp(1rem, 2vw, 1.75rem);
  border: 0.0625rem solid #303946;
  border-radius: 0.7rem;
  background: #0f141a;
}

.rules-editor-preview > div {
  width: min(100%, 54rem);
  margin: 0 auto;
}

.markdown-code-block {
  overflow: auto;
  padding: 0.85rem;
  border: 0.0625rem solid #29323d;
  border-radius: 0.55rem;
  background: #090d12;
  color: #c9d7e8;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.78rem;
  line-height: 1.55;
  white-space: pre-wrap;
}

.markdown-body hr {
  margin: 1.5rem 0;
  border: 0;
  border-top: 0.0625rem solid #303946;
}

@media (max-width: 900px) {
  .rules-inline-title {
    align-items: flex-start;
  }

  .rules-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .rules-side-panel.table-card {
    position: static;
    max-height: none;
  }

  .rules-section-list {
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    grid-auto-flow: row;
    max-height: 18rem;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 0.15rem 0 0;
  }

  .rules-document-page {
    min-height: 34rem;
  }

  .rules-editor-panel {
    width: 100vw;
    min-width: 0;
  }

  .rules-editor-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rules-editor-title-field,
  .rules-editor-summary-field {
    grid-column: 1 / -1;
  }

  .rules-editor-compose {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Shared staff navigation refresh */
.app-shell:not(.landing-shell) .app-topbar {
  position: sticky;
  top: 0.75rem;
  z-index: 40;
  gap: 0;
  padding: 0;
  overflow: visible;
  border-color: #2a323d;
  background: rgba(15, 18, 23, 0.97);
  box-shadow: 0 0.9rem 2.4rem rgba(0, 0, 0, 0.24);
}

.app-topbar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  padding: 0.75rem 0.9rem 0.68rem;
}

.app-topbar-head .app-brand {
  align-items: center;
  min-width: 0;
}

.app-topbar-head .brand-mark {
  width: 2.7rem;
  height: 2.7rem;
  flex: 0 0 2.7rem;
  border: 0.0625rem solid #313b48;
  background: #171c23;
}

.app-topbar-head .brand-mark img {
  width: 100%;
  height: 100%;
  padding: 0.28rem;
  object-fit: contain;
}

.app-topbar-head .panel-stack {
  gap: 0.08rem;
  min-width: 0;
}

.app-topbar-head .eyebrow {
  color: #758194;
  font-size: 0.61rem;
  letter-spacing: 0.16em;
}

.app-topbar-head .section-title {
  overflow: hidden;
  color: #f2f5f8;
  font-size: 1.02rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-topbar-head .brand-copy {
  display: none;
}

.app-topbar-head .global-debug-toggle,
.app-topbar-head .topbar-meta .top-nav-button,
.app-topbar-head .topbar-signout {
  min-height: 2.3rem;
  padding: 0.48rem 0.68rem;
  border-color: #2d3540;
  background: #171c22;
  color: #aeb7c3;
  font-size: 0.73rem;
}

.app-topbar-head .topbar-meta {
  justify-content: flex-end;
  gap: 0.42rem;
  min-width: 0;
  max-width: 100%;
}

.app-topbar-head .topbar-meta .top-nav-button:hover,
.app-topbar-head .topbar-meta .top-nav-button:focus-visible,
.app-topbar-head .topbar-signout:hover,
.app-topbar-head .topbar-signout:focus-visible {
  border-color: #465366;
  background: #20262f;
  color: #f0f3f7;
}

.app-shell:not(.landing-shell) .app-topbar .topbar-actions {
  display: block;
  min-width: 0;
  padding: 0.36rem 0.46rem 0.48rem;
  overflow: hidden;
  border-top: 0.0625rem solid #252c35;
  background: #11151a;
}

.app-shell:not(.landing-shell) .app-topbar .top-nav-row {
  display: flex;
  width: 100%;
  min-width: 0;
  gap: 0.16rem;
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}

.app-shell:not(.landing-shell) .app-topbar .top-nav-row::-webkit-scrollbar {
  display: none;
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button {
  --nav-accent: #9ca7b5;
  position: relative;
  flex: 0 0 auto;
  min-height: 2.42rem;
  padding: 0.5rem 0.72rem;
  border-color: transparent !important;
  background: transparent !important;
  color: #8f9aa8 !important;
  font-size: 0.76rem;
  font-weight: 720;
  letter-spacing: 0.01em;
  scroll-snap-align: start;
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button[data-primary-nav="logging"] { --nav-accent: #75aaff; }
.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button[data-primary-nav="map"] { --nav-accent: #66d3c3; }
.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button[data-primary-nav="players"] { --nav-accent: #55ca91; }
.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button[data-primary-nav="economy"] { --nav-accent: #e4b861; }
.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button[data-primary-nav="vehicles"] { --nav-accent: #dc916e; }
.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button[data-primary-nav="properties"] { --nav-accent: #c59bea; }
.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button[data-primary-nav="punishments"] { --nav-accent: #ee7b83; }

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button i {
  width: 1rem;
  color: var(--nav-accent);
  opacity: 0.8;
  text-align: center;
  transition: opacity 140ms ease, transform 140ms ease;
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button::after {
  position: absolute;
  right: 0.7rem;
  bottom: -0.48rem;
  left: 0.7rem;
  height: 0.125rem;
  background: var(--nav-accent);
  content: "";
  opacity: 0;
  transform: scaleX(0.45);
  transition: opacity 140ms ease, transform 140ms ease;
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button:hover,
.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button:focus-visible {
  background: #1a2028 !important;
  color: #e0e5eb !important;
  outline: none;
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button:hover i,
.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button:focus-visible i,
.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button.is-active i {
  opacity: 1;
  transform: translateY(-0.0625rem);
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button.is-active {
  background: #202731 !important;
  color: #f5f7fa !important;
  box-shadow: inset 0 0 0 0.0625rem #303a47;
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

@media (max-width: 1080px) {
  .app-topbar-head {
    align-items: center;
    flex-direction: row;
  }

  .app-topbar-head .topbar-meta {
    width: auto;
    justify-content: flex-end;
    flex-wrap: nowrap;
  }

  .app-topbar-head .app-brand {
    align-items: center;
    flex-direction: row;
  }

  .app-topbar-head .topbar-meta .top-nav-button,
  .app-topbar-head .topbar-meta .topbar-signout {
    flex: 0 0 auto;
  }

  .app-shell:not(.landing-shell) .app-topbar .top-nav-row > .top-nav-button {
    flex: 0 0 auto;
  }
}

@media (max-width: 640px) {
  .app-shell:not(.landing-shell) .app-topbar {
    top: 0.35rem;
  }

  .app-topbar-head {
    align-items: flex-start;
    flex-direction: column;
    padding: 0.62rem;
  }

  .app-topbar-head .topbar-meta {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .app-topbar-head .topbar-meta::-webkit-scrollbar {
    display: none;
  }

  .app-shell:not(.landing-shell) .top-nav-row > .top-nav-button {
    min-height: 2.35rem;
    padding-inline: 0.62rem;
  }
}

@media (max-width: 640px) {
  .rules-inline-title {
    display: grid;
  }

  .rules-page-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .rules-add-section {
    width: 100%;
    justify-content: center;
  }

  .rules-view-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .rules-view-tab {
    justify-content: center;
  }

  .rules-audit-header,
  .rules-audit-entry-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .rules-audit-entry-footer .danger-button {
    width: 100%;
    justify-content: center;
  }

  .rules-section-list {
    max-height: none;
    overflow: visible;
  }

  .rules-document-page {
    padding: 1rem;
  }

  .rules-section-actions {
    align-items: flex-start;
  }

  .rules-section-actions > .footer-actions:last-child {
    width: 100%;
  }

  .rules-editor-panel {
    width: 100vw;
    min-width: 0;
  }

  .rules-editor-meta-grid,
  .rules-image-options {
    grid-template-columns: minmax(0, 1fr);
  }

  .rules-editor-toolbar {
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  .rules-editor-compose {
    min-height: 0;
  }

  .rules-editor-text-column .rules-editor-textarea textarea {
    min-height: 24rem;
  }

  .rules-editor-statusbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
  }

  .rules-editor-heading,
  .rules-editor-footer,
  .rules-editor-scroll {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rules-editor-backdrop,
  .rules-editor-panel,
  .rules-section-link {
    transition: none;
  }
}

.top-nav-button span,
.filter-chip span,
.economy-window-button span {
  white-space: nowrap;
}

.admin-menu-shell {
  position: relative;
}

.admin-menu-dropdown {
  position: absolute;
  top: calc(100% + 0.55rem);
  right: 0;
  min-width: 20rem;
  padding: 0.5rem;
  border: 0.0625rem solid var(--border);
  background: #14171b;
  display: grid;
  gap: 0.45rem;
}

.admin-menu-dropdown[hidden] {
  display: none !important;
}

.admin-menu-button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.7rem;
  width: 100%;
  padding: 0.75rem 0.8rem;
  border: 0.0625rem solid var(--border);
  background: var(--panel-alt);
  color: var(--text-strong);
  text-align: left;
  cursor: pointer;
}

.admin-menu-button.is-active,
.admin-menu-button:hover,
.admin-menu-button:focus-visible {
  border-color: var(--accent);
  background: rgba(110, 168, 255, 0.08);
  outline: none;
}

.topbar-signout {
  min-height: 2.7rem;
}

.table-card,
.hero-card,
.detail-card,
.list-card,
.stat-card,
.economy-shell-card {
  border: 0.0625rem solid var(--border);
  background: var(--panel);
}

.table-card,
.hero-card,
.detail-card,
.list-card {
  padding: 0.95rem;
}

.stat-card {
  padding: 0.85rem 0.95rem;
}

.asset-stat-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-top: 0.85rem;
}

.tone-card-success,
.tone-card-warning,
.tone-card-danger,
.tone-card-info,
.tone-card-note {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0)),
    var(--panel);
}

.tone-card-success {
  border-color: rgba(73, 200, 143, 0.28);
}

.tone-card-warning {
  border-color: rgba(232, 180, 93, 0.3);
}

.tone-card-danger {
  border-color: rgba(255, 125, 125, 0.32);
}

.tone-card-info {
  border-color: rgba(110, 168, 255, 0.28);
}

.tone-card-note {
  border-color: rgba(184, 188, 196, 0.22);
}

.tone-card-success .stat-value,
.tone-card-success .stat-card-top i {
  color: var(--success);
}

.tone-card-warning .stat-value,
.tone-card-warning .stat-card-top i {
  color: var(--warning);
}

.tone-card-danger .stat-value,
.tone-card-danger .stat-card-top i {
  color: var(--danger);
}

.tone-card-info .stat-value,
.tone-card-info .stat-card-top i {
  color: var(--accent);
}

.tone-card-note .stat-value,
.tone-card-note .stat-card-top i {
  color: #d2d6dd;
}

.stats-grid.logging-stat-grid,
.economy-window-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.log-feed-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.45rem;
}

.log-sections-shell {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.log-section-group {
  min-width: 0;
  padding: 0.75rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.85rem;
  background: #14171b;
}

.log-section-group-head {
  display: grid;
  gap: 0.2rem;
  margin-bottom: 0.65rem;
}

.log-section-group-head strong {
  color: var(--text-strong);
  font-size: 0.86rem;
}

.log-section-group-head span {
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.35;
}

.log-section-chip-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.42rem;
}

.log-section-chip-grid .filter-chip {
  width: 100%;
  justify-content: flex-start;
  min-height: 2rem;
}

.structured-log-search {
  align-items: end;
}

.structured-log-search .field:nth-child(2) {
  grid-column: span 2;
}

.log-structure-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.log-structure-card {
  display: grid;
  gap: 0.65rem;
  padding: 0.85rem;
  border: 0.0625rem solid var(--border);
  border-left: 0.22rem solid var(--accent);
  border-radius: 0.85rem;
  background: var(--panel);
}

.log-structure-card strong {
  display: block;
  margin-top: 0.18rem;
  color: var(--text-strong);
  font-size: 1.45rem;
}

.log-structure-risk {
  border-left-color: var(--danger);
}

.log-structure-money {
  border-left-color: var(--success);
}

.log-structure-assets {
  border-left-color: var(--warning);
}

.log-structure-staff {
  border-left-color: var(--accent);
}

.log-source-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.log-source-list span {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.2rem 0.38rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.35rem;
  color: var(--muted);
  font-size: 0.68rem;
}

.log-review-layout {
  align-items: flex-start;
  min-height: 0;
}

.log-review-layout .log-feed-grid {
  flex: 1 1 auto;
  min-width: 0;
  max-height: min(48rem, calc(100vh - 12rem));
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 0.35rem;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.log-review-layout .log-feed-grid::-webkit-scrollbar {
  width: 0.45rem;
}

.log-review-layout .log-feed-grid::-webkit-scrollbar-thumb {
  background: #343941;
  border-radius: 999px;
}

.log-entry-card {
  border-left: 0.22rem solid var(--border);
  padding: 0.42rem 0.55rem;
  display: grid;
  gap: 0.28rem;
}

.log-entry-card > .feed-row {
  gap: 0.55rem;
  align-items: center;
}

.log-entry-card .panel-stack {
  gap: 0.18rem;
}

.log-entry-card .feed-row .feed-row {
  gap: 0.32rem;
  flex-wrap: wrap;
}

.log-entry-card .feed-row strong {
  font-size: 0.86rem;
  line-height: 1.15;
}

.log-entry-card .table-muted {
  font-size: 0.68rem;
  line-height: 1.25;
}

.log-entry-card .chip {
  min-height: 1.25rem;
  padding: 0.12rem 0.32rem;
  font-size: 0.6rem;
}

.log-entry-card .compact-action-button {
  min-height: 1.65rem;
  padding: 0.18rem 0.36rem;
  font-size: 0.62rem;
}

.log-copy-token-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 140ms ease, opacity 140ms ease;
}

.log-entry-card:hover .log-copy-token-row,
.log-entry-card:focus-within .log-copy-token-row,
.detail-drawer .log-copy-token-row {
  max-height: 5.5rem;
  opacity: 1;
}

.log-quick-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 140ms ease, opacity 140ms ease;
}

.log-entry-card:hover .log-quick-action-row,
.log-entry-card:focus-within .log-quick-action-row,
.detail-drawer .log-quick-action-row {
  max-height: 8rem;
  opacity: 1;
}

.log-quick-action {
  min-width: 0;
  border-color: rgba(255, 255, 255, 0.1);
}

.log-quick-action span {
  max-width: 7rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.log-copy-token {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 0.26rem;
  min-height: 1.45rem;
  padding: 0.14rem 0.36rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.1);
  border-radius: 0.42rem;
  background: rgba(255, 255, 255, 0.035);
  color: var(--text);
  font-size: 0.62rem;
  line-height: 1;
  cursor: pointer;
}

.log-copy-token i {
  color: var(--accent);
  font-size: 0.64rem;
}

.log-copy-token strong {
  color: var(--text-strong);
  font-size: 0.62rem;
  font-weight: 800;
}

.log-copy-token span {
  max-width: 9rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.log-copy-token:hover,
.log-copy-token:focus-visible,
.log-copy-token.is-copied,
.compact-button.is-copied,
.compact-action-button.is-copied {
  border-color: rgba(74, 163, 255, 0.72);
  background: rgba(74, 163, 255, 0.12);
  color: var(--text-strong);
}

.log-copy-token.copy-failed,
.compact-button.copy-failed,
.compact-action-button.copy-failed {
  border-color: rgba(255, 74, 74, 0.72);
  background: rgba(255, 74, 74, 0.1);
}

.copy-fallback-panel {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 80;
  display: grid;
  gap: 0.55rem;
  width: min(34rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 0.8rem;
  border: 0.0625rem solid rgba(74, 163, 255, 0.45);
  border-radius: 0.75rem;
  background: #12161c;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.28);
}

.copy-fallback-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.copy-fallback-head strong {
  color: var(--text-strong);
}

.copy-fallback-panel .section-subcopy {
  margin: 0;
}

.copy-fallback-panel textarea {
  min-height: 12rem;
  max-height: 28rem;
  resize: vertical;
  padding: 0.65rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.5rem;
  background: #0e1116;
  color: var(--text);
  font: 0.72rem/1.4 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.log-note-preview {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  padding: 0.34rem 0.45rem;
  border: 0.0625rem solid rgba(232, 180, 93, 0.24);
  border-radius: 0.48rem;
  background: rgba(232, 180, 93, 0.07);
  color: var(--text);
  font-size: 0.68rem;
  line-height: 1.3;
}

.log-note-preview i {
  color: var(--warning);
  margin-top: 0.1rem;
}

.log-note-preview span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.log-note-panel {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 82;
  display: grid;
  gap: 0.55rem;
  width: min(32rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 0.8rem;
  border: 0.0625rem solid rgba(232, 180, 93, 0.45);
  border-radius: 0.75rem;
  background: #12161c;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.28);
}

.log-note-panel textarea {
  min-height: 8rem;
  resize: vertical;
  padding: 0.65rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.5rem;
  background: #0e1116;
  color: var(--text);
  font: inherit;
  line-height: 1.4;
}

.log-message-block {
  padding: 0.26rem 0.38rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.06);
  border-radius: 0.38rem;
  background: rgba(255, 255, 255, 0.025);
  color: var(--text);
  line-height: 1.2;
  font-size: 0.68rem;
}

.log-entry-card .log-message-block:not(.structured-economy-message) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.structured-economy-message {
  display: grid;
  gap: 0.38rem;
}

.structured-message-title {
  display: flex;
  align-items: center;
  gap: 0.32rem;
  color: var(--text-strong);
  font-size: 0.78rem;
}

.structured-message-title i {
  color: var(--success);
}

.log-entry-card .structured-economy-message {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.log-entry-card .structured-message-title {
  flex: 0 0 auto;
  max-width: 13rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.log-entry-card .structured-message-title i {
  display: none;
}

.structured-message-line,
.log-entry-card .structured-message-line {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: wrap;
  gap: 0.22rem 0.55rem;
  align-items: center;
}

.structured-message-line span,
.log-entry-card .structured-message-line span {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.16rem;
  min-height: 1rem;
  padding: 0;
  color: var(--text);
  font-size: 0.66rem;
  line-height: 1.15;
}

.structured-message-line span + span::before {
  content: "";
  position: absolute;
  left: -0.32rem;
  width: 0.0625rem;
  height: 0.7rem;
  background: #323740;
}

.structured-message-line strong,
.log-entry-card .structured-message-line strong {
  display: inline;
  margin: 0;
  color: var(--muted);
  font-size: 0.52rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.log-entry-meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin-top: 0.7rem;
}

.log-entry-meta-grid span {
  min-width: 0;
  padding: 0.48rem 0.55rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.45rem;
  background: #121417;
  color: var(--text);
  font-size: 0.72rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.log-entry-meta-grid strong {
  display: block;
  margin-bottom: 0.18rem;
  color: var(--muted);
  font-size: 0.58rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.log-token-row {
  margin-top: 0;
  justify-content: flex-start;
}

.dense-log-token-row {
  gap: 0.24rem;
}

.log-filter-tools {
  margin-top: 0.85rem;
  justify-content: flex-end;
}

.log-tabs-shell {
  display: grid;
  gap: 0.55rem;
  padding: 0.75rem;
  border: 0.0625rem solid #3a3f47;
  border-left: 0.24rem solid var(--accent);
  background: #12151a;
}

.log-tabs-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.log-tabs-head .section-title {
  margin: 0;
  font-size: 1rem;
}

.log-tabs-head .eyebrow {
  margin-bottom: 0.12rem;
}

.log-tabs-head .section-subcopy {
  margin-top: 0.16rem;
  max-width: 44rem;
  font-size: 0.72rem;
  line-height: 1.35;
}

.log-tabs-row {
  display: flex;
  align-items: stretch;
  gap: 0.35rem;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.log-tab-item {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
  min-width: 10rem;
  max-width: 16rem;
  border: 0.0625rem solid #353a42;
  background: #181b20;
}

.log-tab-item.is-active {
  border-color: var(--accent);
  border-width: 0.12rem;
  background: #1d2733;
}

.log-tab-button,
.log-tab-rename,
.log-tab-close,
.log-tab-save,
.log-tab-cancel,
.log-tab-add {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font: inherit;
}

.log-tab-button {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 0.42rem;
  min-width: 0;
  padding: 0.42rem 0.5rem;
  text-align: left;
}

.log-tab-index {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 900;
}

.log-tab-text {
  display: grid;
  min-width: 0;
  gap: 0.05rem;
}

.log-tab-text strong,
.log-tab-text small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.log-tab-text strong {
  color: var(--text-strong);
  font-size: 0.76rem;
  line-height: 1.1;
}

.log-tab-text small {
  color: var(--muted);
  font-size: 0.58rem;
  line-height: 1.1;
  text-transform: uppercase;
}

.log-tab-item.is-renaming {
  min-width: 15rem;
}

.log-tab-edit {
  flex: 1 1 auto;
  display: flex;
  align-items: stretch;
  min-width: 0;
}

.log-tab-edit input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0.35rem 0.45rem;
  border: 0;
  border-radius: 0;
  border-right: 0.0625rem solid var(--border);
  background: #101318;
  color: var(--text-strong);
  font-size: 0.74rem;
  font-weight: 800;
  outline: 0;
}

.log-tab-edit input:focus {
  background: #0f1722;
}

.log-tab-rename,
.log-tab-close,
.log-tab-save,
.log-tab-cancel {
  flex: 0 0 1.85rem;
  display: grid;
  place-items: center;
  border-left: 0.0625rem solid var(--border);
  color: var(--muted);
}

.log-tab-rename:hover,
.log-tab-close:hover,
.log-tab-save:hover,
.log-tab-cancel:hover,
.log-tab-add:hover {
  color: var(--text-strong);
  background: #20242a;
}

.log-tab-rename:hover {
  color: var(--accent);
}

.log-tab-save:hover {
  color: var(--success);
}

.log-tab-cancel:hover {
  color: var(--danger);
}

.log-tab-add:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.log-tab-add:disabled:hover {
  color: var(--text);
  background: #191d22;
}

.log-tab-add {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2.25rem;
  padding: 0 0.7rem;
  border: 0.0625rem solid #3a3f47;
  background: #191d22;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.log-tabs-shell,
.compact-banner,
.manager-results-card {
  border-color: var(--border-strong);
  border-radius: var(--radius-md);
}

.logging-controls-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 0.9rem;
}

.logging-controls-banner > .panel-stack {
  min-width: 0;
  max-width: 48rem;
  justify-self: center;
  padding-top: 0;
  text-align: center;
}

.logging-controls-banner > .panel-stack .body-copy {
  margin-inline: auto;
}

.log-tabs-shell {
  gap: 0.7rem;
  padding: 0.9rem;
  overflow: hidden;
}

.log-tabs-head .chip {
  flex: 0 0 auto;
}

.log-tab-item,
.log-tab-add {
  overflow: hidden;
  border-radius: 0.75rem;
}

.log-tab-item.is-active {
  border-width: 0.0625rem;
  box-shadow: inset 0 0 0 0.0625rem var(--accent);
}

.log-tab-edit input {
  border-radius: 0;
}

.structured-log-search {
  display: grid;
  grid-template-columns: repeat(4, minmax(11rem, 1fr));
  gap: 0.7rem;
  width: 100%;
  padding: 0.75rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.9rem;
  background: #16181c;
}

.structured-log-search .field {
  gap: 0.36rem;
  min-width: 0;
  padding: 0.55rem;
  border: 0.0625rem solid #252a31;
  border-radius: 0.75rem;
  background: #121417;
}

.structured-log-search .field span {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
}

.structured-log-search input,
.structured-log-search select {
  min-height: 2.35rem;
  padding: 0.5rem 0.65rem;
  border-radius: 0.65rem;
  background: #0f1115;
}

.log-filter-tools {
  grid-column: 1 / -1;
  width: 100%;
  padding-top: 0.75rem;
  border-top: 0.0625rem solid var(--border);
}

.manager-results-card > .row-between {
  align-items: flex-start;
  padding-bottom: 0.75rem;
  border-bottom: 0.0625rem solid var(--border);
}

.log-review-layout {
  gap: 0.8rem;
}

.log-review-layout .log-feed-grid {
  padding: 0.55rem;
  border: 0.0625rem solid #252a31;
  border-radius: 0.85rem;
  background: #111316;
}

.log-entry-card {
  gap: 0.36rem;
  padding: 0.55rem 0.65rem;
  border: 0.0625rem solid var(--border);
  border-left-width: 0.22rem;
  border-radius: 0.7rem;
  background: #17191d;
}

.log-entry-card > .feed-row {
  align-items: flex-start;
}

.log-entry-card .footer-actions {
  flex: 0 0 auto;
  gap: 0.35rem;
}

.log-entry-card .table-muted {
  font-size: 0.72rem;
}

.log-entry-card .chip {
  font-size: 0.64rem;
}

.log-message-block {
  border-radius: 0.6rem;
  font-size: 0.72rem;
}

.log-entry-card.is-selected {
  background: #181c21;
  border-color: var(--accent);
}

.log-entry-card.severity-danger {
  border-left-color: var(--danger);
}

.log-entry-card.severity-warning {
  border-left-color: var(--warning);
}

.log-entry-card.severity-success {
  border-left-color: var(--success);
}

.log-entry-card.severity-note {
  border-left-color: #d2d6dd;
}

.detail-drawer {
  position: sticky;
  top: 8.5rem;
  flex: 0 0 24rem;
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.7rem;
  background: #14171b;
}

.detail-drawer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.drawer-meta-grid,
.drawer-actions {
  flex-wrap: wrap;
}

.why-card {
  padding: 0.7rem;
  border: 0.0625rem solid rgba(232, 180, 93, 0.22);
  border-radius: 0.45rem;
  background: rgba(232, 180, 93, 0.07);
}

.why-card strong {
  color: var(--warning);
}

.why-card p {
  margin: 0.25rem 0 0;
  color: var(--text);
  line-height: 1.45;
}

.risk-badge-row {
  flex-wrap: wrap;
  margin-top: 0.3rem;
}

.risk-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.35rem;
  padding: 0.16rem 0.34rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.28rem;
  background: #202020;
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.risk-badge.success {
  color: var(--success);
  border-color: rgba(73, 200, 143, 0.22);
}

.risk-badge.warning {
  color: var(--warning);
  border-color: rgba(232, 180, 93, 0.22);
}

.risk-badge.danger {
  color: var(--danger);
  border-color: rgba(255, 125, 125, 0.22);
}

.risk-badge.note {
  color: #d2d6dd;
  border-color: rgba(184, 188, 196, 0.18);
}

.logging-toolbar-dense {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.log-quick-row {
  margin-top: 0.85rem;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.45rem;
}

.log-quick-row .player-quick-label {
  flex: 0 0 auto;
  margin-right: 0.15rem;
}

.log-quick-row .compact-button,
.log-quick-row .filter-chip {
  flex: 0 0 auto;
  min-height: 2.15rem;
  padding: 0.38rem 0.58rem;
  font-size: 0.72rem;
}

.log-quick-row .toggle-action {
  min-height: 2.15rem;
  padding: 0.38rem 0.58rem;
  border-color: rgba(232, 180, 93, 0.22);
}

.log-quick-row .toggle-action.is-active {
  border-color: var(--warning);
  background: rgba(232, 180, 93, 0.1);
  color: var(--warning);
}

.manager-split-shell,
.live-map-layout {
  grid-template-columns: minmax(0, 1.4fr) minmax(21rem, 0.9fr);
}

.manager-header-card,
.manager-toolbar-card {
  padding: 1rem;
}

.economy-shell-card {
  overflow: hidden;
}

.economy-shell-header {
  margin: 1rem 1rem 0;
  padding: 1.15rem 1.25rem;
  border: 0.0625rem solid var(--border);
  border-radius: var(--radius-md);
  background: #171a1f;
}

.economy-shell-main {
  padding: 1.35rem 1rem 1rem;
  display: grid;
  gap: 1.25rem;
}

.economy-main-stack {
  display: grid;
  gap: 1.15rem;
}

.economy-shell-card > .economy-main-stack {
  padding: 1.35rem 1rem 1rem;
}

.economy-metric-grid,
.economy-monitor-grid,
.economy-two-up,
.economy-page-shell .content-grid.page-two-up {
  gap: 1.1rem;
}

.economy-graph-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.45rem 0.75rem;
  padding: 0.72rem 0.85rem;
  border-radius: 0.85rem;
  background: #15181c;
  border: 0.0625rem solid rgba(255, 255, 255, 0.06);
}

.economy-graph-label {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}

.economy-graph-label strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.economy-graph-value {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  color: var(--text-strong);
  font-weight: 700;
  white-space: nowrap;
}

.economy-graph-track {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: start;
  width: min(100%, 36rem);
  height: 0.58rem;
  padding: 0.08rem;
  border-radius: 999rem;
  background: #20252d;
  border: 0.0625rem solid #2f3540;
}

.economy-graph-fill {
  height: 100%;
  border-radius: 999rem;
  background: linear-gradient(90deg, var(--economy-bar-color, #56c18a) 0%, color-mix(in srgb, var(--economy-bar-color, #56c18a) 70%, white) 100%);
}

.economy-graph-fill.is-outgoing {
  background: linear-gradient(90deg, var(--economy-bar-color, #d96d6d) 0%, color-mix(in srgb, var(--economy-bar-color, #d96d6d) 70%, white) 100%);
}

.economy-page-shell .table-card,
.economy-page-shell .stat-card,
.economy-page-shell .list-card,
.economy-page-shell .feed-row,
.economy-page-shell .table-shell,
.economy-page-shell .table-head,
.economy-page-shell .table-row {
  border-radius: var(--radius-md);
}

.economy-page-shell .table-card,
.economy-page-shell .stat-card {
  border-color: var(--border-strong);
}

.economy-page-shell .feed-row,
.economy-page-shell .table-row {
  border-color: rgba(255, 255, 255, 0.055);
  background: #15181c;
}

.economy-page-shell .table-head {
  border-color: rgba(255, 255, 255, 0.06);
  background: #111419;
}

.log-inline-stat {
  margin-top: 0.35rem;
}

.site-shell {
  width: 100%;
  margin: 0;
  padding: 0;
}

.site-sidebar {
  display: none;
}

.site-main,
.economy-shell-body,
.economy-shell-rail {
  display: block;
}

@media (max-width: 1080px) {
  .logging-controls-banner {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-banner,
  .topbar-actions,
  .app-brand,
  .debug-mode-panel {
    flex-direction: column;
    align-items: flex-start;
  }

  .top-nav-row,
  .page-filter-row,
  .toolbar-grid,
  .debug-metric-row {
    width: 100%;
  }

  .logging-toolbar-dense {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .log-sections-shell,
  .log-structure-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .structured-log-search .field:nth-child(2) {
    grid-column: span 1;
  }

  .log-entry-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .top-nav-button,
  .filter-chip,
  .economy-rail-button,
  .economy-window-button,
  .page-filter-row-wide > * {
    flex: 1 1 calc(50% - 0.5rem);
  }

  .page-two-up,
  .content-grid.page-two-up,
  .economy-two-up,
  .log-review-layout,
  .manager-split-shell,
  .live-map-layout,
  .permissions-top-grid,
  .permissions-bottom-grid,
  .stats-grid.logging-stat-grid,
  .asset-stat-grid,
  .economy-window-stats {
    grid-template-columns: minmax(0, 1fr);
  }

  .permissions-add-form,
  .permissions-role-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .economy-graph-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .economy-graph-value {
    justify-self: flex-start;
  }

  .admin-menu-dropdown {
    right: auto;
    left: 0;
    width: min(100%, 22rem);
  }

  .detail-drawer {
    position: static;
    flex-basis: auto;
    width: 100%;
  }

  .log-review-layout .log-feed-grid {
    width: 100%;
    flex-basis: auto;
    max-height: 32rem;
  }

  .log-review-layout {
    flex-direction: column;
  }

  .structured-log-search {
    width: 100%;
  }

  .map-overlay-tabs,
  .map-overlay-inventory-grid.inventory-grid-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

.map-overlay-card {
  width: min(100%, 94vw);
}
}

@media (max-width: 640px) {
  .structured-log-search {
    grid-template-columns: minmax(0, 1fr);
  }

  .log-tabs-head {
    display: grid;
  }

  .log-entry-card > .feed-row,
  .manager-results-card > .row-between {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .log-entry-card .footer-actions,
  .log-filter-tools {
    justify-content: flex-start;
  }

  .log-entry-card .log-copy-token-row,
  .log-entry-card .log-quick-action-row {
    max-height: none;
    opacity: 1;
  }
}

/* Rounded staff workspace surfaces */
.app-shell:not(.landing-shell) :where(
  .app-topbar,
  .hero-card,
  .table-card,
  .list-card,
  .detail-card,
  .stat-card,
  .metric,
  .metric-card,
  .manager-detail-shell,
  .manager-results-card,
  .manager-header-card,
  .manager-toolbar-card,
  .economy-shell-card,
  .detail-drawer,
  .drawer-card,
  .map-shell,
  .map-overlay-card,
  .map-player-card,
  .inventory-grid-panel,
  .inventory-slot,
  .vehicle-tools-card,
  .property-tools-card,
  .log-entry-card,
  .log-chart-frame,
  .table-shell,
  .table-row,
  .table-head,
  .feed-row,
  .summary-list,
  .stack-list > *,
  .toolbar-card,
  .filter-panel,
  .debug-mode-panel,
  .admin-menu-dropdown,
  .admin-menu-button,
  .economy-graph-row,
  .economy-detail-modal,
  .selected-record-toolbar
) {
  border-radius: 1rem;
}

.app-shell:not(.landing-shell) :where(
  .top-nav-button,
  .nav-button,
  .primary-button,
  .ghost-button,
  .danger-button,
  .compact-button,
  .filter-chip,
  .toggle-action,
  .density-toggle,
  .global-debug-toggle,
  .economy-window-button,
  .economy-rail-button,
  input,
  select,
  textarea
) {
  border-radius: 0.72rem;
}

.app-shell:not(.landing-shell) :where(.chip, .risk-badge, .trust-ring-small, .status-dot) {
  border-radius: 999rem;
}

/* Economy player leaderboard and income drill-down */
.economy-primary-insight-card {
  min-height: 34rem;
  align-content: start;
}

.economy-primary-insight-scroll,
.economy-top-player-list {
  max-height: 38rem;
  overflow-y: auto;
  padding-right: 0.3rem;
}

.economy-primary-insight-scroll,
.economy-top-player-list,
.economy-player-source-list {
  scrollbar-width: thin;
  scrollbar-color: #3b424d #171a1f;
}

.economy-primary-insight-scroll::-webkit-scrollbar,
.economy-top-player-list::-webkit-scrollbar,
.economy-player-source-list::-webkit-scrollbar {
  width: 0.46rem;
}

.economy-primary-insight-scroll::-webkit-scrollbar-track,
.economy-top-player-list::-webkit-scrollbar-track,
.economy-player-source-list::-webkit-scrollbar-track {
  border-radius: 999rem;
  background: #171a1f;
}

.economy-primary-insight-scroll::-webkit-scrollbar-thumb,
.economy-top-player-list::-webkit-scrollbar-thumb,
.economy-player-source-list::-webkit-scrollbar-thumb {
  border-radius: 999rem;
  background: #3b424d;
}

.economy-top-player-list {
  display: grid;
  gap: 0.45rem;
}

.economy-top-player-row {
  display: grid;
  grid-template-columns: 2rem 2.35rem minmax(0, 1fr) auto 1rem;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  padding: 0.62rem 0.7rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.06);
  border-radius: 0.85rem;
  background: #15181c;
  color: var(--text-strong);
  text-align: left;
  cursor: pointer;
  transition: border-color 150ms ease, background-color 150ms ease, transform 150ms ease;
}

.economy-top-player-row:hover,
.economy-top-player-row:focus-visible,
.economy-top-player-row.is-active {
  border-color: rgba(93, 205, 146, 0.48);
  background: rgba(63, 153, 106, 0.11);
  outline: none;
  transform: translateY(-0.0625rem);
}

.economy-player-rank {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-align: center;
}

.economy-player-avatar {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border: 0.0625rem solid rgba(93, 205, 146, 0.3);
  border-radius: 0.72rem;
  background: rgba(93, 205, 146, 0.1);
  color: #83e0ae;
  font-weight: 850;
}

.economy-player-identity,
.economy-player-total,
.economy-player-source-name {
  min-width: 0;
}

.economy-player-identity strong,
.economy-player-identity small,
.economy-player-total strong,
.economy-player-total small,
.economy-player-source-name small {
  display: block;
}

.economy-player-identity strong,
.economy-player-identity small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.economy-player-identity small,
.economy-player-total small,
.economy-player-source-name small {
  margin-top: 0.16rem;
  color: var(--muted);
  font-size: 0.72rem;
}

.economy-player-playtime {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  width: fit-content;
  max-width: 100%;
  margin-top: 0.34rem;
  padding: 0.2rem 0.42rem;
  border: 0.0625rem solid rgba(148, 163, 184, 0.18);
  border-radius: 999rem;
  background: rgba(148, 163, 184, 0.07);
  color: #aeb8c7;
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.15;
}

.economy-player-playtime.is-low {
  border-color: rgba(248, 113, 113, 0.38);
  background: rgba(185, 28, 28, 0.14);
  color: #ff8585;
}

.economy-player-playtime i {
  flex: 0 0 auto;
}

.economy-player-playtime span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.economy-player-total {
  text-align: right;
  white-space: nowrap;
}

.economy-player-total strong {
  color: #7ad89e;
}

.economy-player-detail-card {
  display: grid;
  gap: 1rem;
  padding: 1.1rem;
  border-color: rgba(93, 205, 146, 0.3) !important;
  background: linear-gradient(145deg, rgba(43, 91, 67, 0.13), rgba(21, 24, 28, 0.98));
}

.economy-player-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.economy-player-window-row {
  margin: 0;
}

.economy-player-detail-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
}

.economy-player-detail-summary article {
  padding: 0.78rem 0.85rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.065);
  border-radius: 0.8rem;
  background: #15181c;
}

.economy-player-detail-summary small,
.economy-player-detail-summary strong {
  display: block;
}

.economy-player-detail-summary small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}

.economy-player-detail-summary strong {
  margin-top: 0.3rem;
  color: #83e0ae;
  font-size: 1.15rem;
}

.economy-player-source-head,
.economy-player-source-row {
  display: grid;
  grid-template-columns: 2rem minmax(13rem, 1.5fr) 5rem minmax(8rem, 0.75fr) 7rem;
  align-items: center;
  gap: 0.75rem;
}

.economy-player-source-head {
  padding: 0 0.75rem;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}

.economy-player-source-list {
  display: grid;
  gap: 0.45rem;
  max-height: 38rem;
  overflow-y: auto;
}

.economy-player-source-row {
  padding: 0.7rem 0.75rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.055);
  border-radius: 0.82rem;
  background: #15181c;
}

.economy-player-source-entry {
  overflow: hidden;
  border: 0.0625rem solid rgba(255, 255, 255, 0.055);
  border-radius: 0.82rem;
  background: #15181c;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.economy-player-source-entry.is-expanded {
  border-color: rgba(93, 205, 146, 0.32);
  box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.18);
}

.economy-player-source-entry .economy-player-source-row {
  width: 100%;
  border: 0;
  border-radius: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 160ms ease;
}

.economy-player-source-entry .economy-player-source-row:hover,
.economy-player-source-entry .economy-player-source-row:focus-visible,
.economy-player-source-entry.is-expanded .economy-player-source-row {
  background: rgba(93, 205, 146, 0.07);
}

.economy-player-source-entry .economy-player-source-row:focus-visible {
  outline: 0.125rem solid rgba(93, 205, 146, 0.7);
  outline-offset: -0.125rem;
}

.economy-player-source-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
}

.economy-player-source-title i {
  color: #83e0ae;
  font-size: 0.72rem;
}

.economy-player-source-row > strong {
  color: #7ad89e;
  text-align: right;
  white-space: nowrap;
}

.economy-source-history {
  display: grid;
  gap: 0.7rem;
  padding: 0.85rem;
  border-top: 0.0625rem solid rgba(93, 205, 146, 0.2);
  background: rgba(9, 12, 14, 0.46);
}

.economy-source-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.economy-source-history-head > div {
  display: grid;
  gap: 0.15rem;
}

.economy-source-history-head small,
.economy-source-event-time small,
.economy-source-event-main > small,
.economy-source-event-value small {
  color: var(--muted);
}

.economy-source-event-list {
  display: grid;
  gap: 0.42rem;
}

.economy-source-event-row {
  display: grid;
  grid-template-columns: minmax(8.5rem, 0.36fr) minmax(16rem, 1fr) minmax(8rem, auto);
  align-items: start;
  gap: 0.85rem;
  padding: 0.72rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.055);
  border-radius: 0.72rem;
  background: #121519;
}

.economy-source-event-time,
.economy-source-event-value {
  display: grid;
  gap: 0.18rem;
}

.economy-source-event-time small,
.economy-source-event-main > small,
.economy-source-event-value small {
  font-size: 0.7rem;
}

.economy-source-event-main {
  display: grid;
  min-width: 0;
  gap: 0.3rem;
}

.economy-source-event-main > div:first-child {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.economy-source-event-value {
  justify-items: end;
  text-align: right;
}

.economy-source-event-value > strong {
  color: #83e0ae;
  font-size: 1rem;
}

.economy-source-event-context {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.15rem;
}

.economy-source-event-context > span {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.22rem 0.38rem;
  border-radius: 0.38rem;
  background: rgba(255, 255, 255, 0.045);
}

.economy-source-event-context small {
  color: var(--muted);
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.economy-source-event-context strong {
  max-width: 18rem;
  overflow: hidden;
  font-size: 0.68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.economy-player-source-share {
  position: relative;
  height: 0.52rem;
  overflow: visible;
  border-radius: 999rem;
  background: #262c33;
}

.economy-player-source-share > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3ba873, #83e0ae);
}

.economy-player-source-share small {
  position: absolute;
  right: 0;
  bottom: 0.68rem;
  color: var(--muted);
  font-size: 0.68rem;
}

.economy-review-lower-card {
  border-color: rgba(228, 179, 91, 0.2) !important;
}

.economy-player-page {
  gap: 1rem;
}

.economy-player-page-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.42fr);
  gap: 1rem;
  padding: 1.1rem;
  border: 0.0625rem solid rgba(93, 205, 146, 0.28);
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(39, 103, 72, 0.18), #171a1f 56%, rgba(21, 24, 28, 0.98));
}

.economy-player-page-identity {
  display: grid;
  align-content: space-between;
  gap: 1.4rem;
}

.economy-player-back {
  justify-self: start;
}

.economy-player-page-profile {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.economy-player-page-avatar {
  display: grid;
  width: 4.6rem;
  height: 4.6rem;
  flex: 0 0 4.6rem;
  place-items: center;
  border: 0.0625rem solid rgba(93, 205, 146, 0.38);
  border-radius: 1.15rem;
  background: linear-gradient(145deg, rgba(93, 205, 146, 0.22), rgba(34, 73, 53, 0.42));
  color: #8be6b6;
  font-size: 1.65rem;
  font-weight: 900;
  box-shadow: inset 0 0 1.5rem rgba(93, 205, 146, 0.08);
}

.economy-player-page-highlight {
  display: grid;
  align-content: center;
  gap: 0.38rem;
  padding: 1rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.065);
  border-radius: 0.9rem;
  background: rgba(12, 15, 18, 0.54);
}

.economy-player-page-highlight small,
.economy-player-page-highlight span {
  color: var(--muted);
}

.economy-player-page-highlight small {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.economy-player-page-highlight strong {
  color: #83e0ae;
  font-size: clamp(1.65rem, 3vw, 2.4rem);
}

.economy-player-page-highlight .compact-button {
  justify-self: start;
  margin-top: 0.45rem;
}

.economy-player-page-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
}

.economy-player-page-controls .economy-player-window-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
}

.economy-player-page-controls .economy-window-button {
  width: auto;
  min-width: 0;
}

.economy-player-page-stats {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
}

.economy-player-page-stats article {
  display: grid;
  align-content: start;
  min-height: 7.2rem;
  padding: 0.9rem;
  border: 0.0625rem solid var(--border-strong);
  border-radius: 0.9rem;
  background: #171a1f;
}

.economy-player-page-stats small {
  color: var(--muted);
  font-size: 0.69rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}

.economy-player-page-stats strong {
  margin-top: 0.55rem;
  color: #83e0ae;
  font-size: 1.18rem;
}

.economy-player-page-stats span {
  align-self: end;
  margin-top: 0.45rem;
  color: var(--muted);
  font-size: 0.72rem;
}

.economy-player-ledger-card {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
}

.economy-player-page .economy-player-source-list {
  max-height: none;
  overflow: visible;
}

@media (max-width: 1240px) {
  .economy-player-page-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .economy-player-page-hero,
  .economy-player-page-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .economy-player-page-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .economy-player-page-controls .economy-player-window-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .economy-primary-insight-card {
    min-height: 0;
  }

  .economy-top-player-row {
    grid-template-columns: 1.8rem 2.2rem minmax(0, 1fr) 1rem;
  }

  .economy-player-total {
    grid-column: 3;
    text-align: left;
  }

  .economy-player-playtime {
    align-items: flex-start;
    border-radius: 0.55rem;
    line-height: 1.2;
  }

  .economy-player-playtime span {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .economy-player-detail-header {
    flex-direction: column;
  }

  .economy-player-detail-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .economy-player-source-head {
    display: none;
  }

  .economy-player-source-row {
    grid-template-columns: 2rem minmax(0, 1fr) auto;
  }

  .economy-player-source-row > span:nth-child(3),
  .economy-player-source-share {
    display: none;
  }

  .economy-source-history-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .economy-source-event-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .economy-source-event-main {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 540px) {
  .economy-player-page-profile {
    align-items: flex-start;
  }

  .economy-player-page-avatar {
    width: 3.6rem;
    height: 3.6rem;
    flex-basis: 3.6rem;
  }

  .economy-player-page-stats {
    grid-template-columns: minmax(0, 1fr);
  }

  .economy-source-event-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .economy-source-event-main,
  .economy-source-event-value {
    grid-column: auto;
    grid-row: auto;
  }

  .economy-source-event-value {
    justify-items: start;
    text-align: left;
  }
}

/* Rounded permissions pages */
.app-shell :where(
  .portal-permissions-grid .table-card,
  .portal-permission-form,
  .portal-permission-table-card,
  .portal-permission-backup-card,
  .portal-permission-user-card,
  .portal-permission-group,
  .portal-permission-backup-row,
  .permissions-page-stack .hero-card,
  .permissions-page-stack .table-card,
  .permissions-page-stack .list-card,
  .permissions-feed-row,
  .permissions-matrix-scroll,
  .permissions-request-card
) {
  border-radius: 1rem;
}

.app-shell :where(
  .portal-permission-pill-row .chip,
  .portal-permission-actions .compact-action,
  .portal-permission-backup-meta .compact-action,
  .permissions-page-stack .chip,
  .permissions-page-stack input,
  .permissions-page-stack select,
  .permissions-page-stack textarea,
  .permission-toggle-grid label,
  .permissions-request-actions .primary-button,
  .permissions-request-actions .ghost-button
) {
  border-radius: 0.72rem;
}

/* Logs type navigator */
.log-review-layout-with-navigator {
  align-items: stretch;
  gap: 0.8rem;
}

.log-navigator {
  position: sticky;
  top: 8.5rem;
  flex: 0 0 14.25rem;
  display: flex;
  flex-direction: column;
  max-height: min(44rem, calc(100vh - 10rem));
  min-height: 0;
  padding: 0.7rem;
  border: 0.0625rem solid #252a31;
  border-radius: 0.85rem;
  background: #111316;
}

.log-navigator-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}

.log-navigator-head h3 {
  margin: 0.16rem 0 0;
  color: var(--text-strong);
  font-size: 0.94rem;
}

.log-navigator > .section-subcopy {
  margin: 0.38rem 0 0.7rem;
  font-size: 0.68rem;
  line-height: 1.35;
}

.log-navigator-scroll {
  display: grid;
  gap: 0.8rem;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 0.2rem;
  scrollbar-width: thin;
}

.log-navigator-scroll::-webkit-scrollbar,
.log-review-layout-with-navigator .log-feed-grid::-webkit-scrollbar {
  width: 0.45rem;
}

.log-navigator-scroll::-webkit-scrollbar-thumb,
.log-review-layout-with-navigator .log-feed-grid::-webkit-scrollbar-thumb {
  border: 0.12rem solid #111316;
  border-radius: 999px;
  background: #343941;
}

.log-navigator-group {
  display: grid;
  gap: 0.26rem;
}

.log-navigator-group-title {
  display: flex;
  align-items: center;
  gap: 0.38rem;
  padding: 0 0.32rem 0.12rem;
  color: var(--muted);
  font-size: 0.63rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  list-style: none;
  cursor: pointer;
  user-select: none;
}

.log-navigator-group-title::-webkit-details-marker {
  display: none;
}

.log-navigator-group-title > span {
  flex: 1 1 auto;
  min-width: 0;
}

.log-navigator-chevron {
  margin-left: auto;
  font-size: 0.52rem;
  transition: transform 140ms ease;
}

.log-navigator-group:not([open]) .log-navigator-chevron {
  transform: rotate(-90deg);
}

.log-navigator-group-body {
  display: grid;
  gap: 0.26rem;
}

.log-navigator-group-title i {
  color: var(--accent);
}

.log-navigator-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  width: 100%;
  min-width: 0;
  padding: 0.42rem 0.5rem;
  border: 0.0625rem solid transparent;
  border-radius: 0.58rem;
  color: var(--muted);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  text-align: left;
  transition: color 140ms ease, background 140ms ease, border-color 140ms ease;
}

.log-navigator-item span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.log-navigator-item em {
  flex: 0 0 auto;
  padding: 0.08rem 0.32rem;
  border-radius: 999px;
  color: #aeb7c3;
  background: #20252c;
  font-size: 0.61rem;
  font-style: normal;
}

.log-navigator-item:hover,
.log-navigator-item:focus-visible,
.log-navigator-item.is-active {
  border-color: rgba(110, 168, 255, 0.42);
  color: var(--text-strong);
  background: rgba(110, 168, 255, 0.12);
  outline: none;
}

.log-navigator-item.is-active em {
  color: #dceaff;
  background: rgba(110, 168, 255, 0.24);
}

.log-navigator-empty {
  margin: 0;
  padding: 0.35rem;
  color: var(--muted);
  font-size: 0.68rem;
}

.logging-controls-banner {
  gap: 0.55rem;
  padding-block: 0.75rem;
}

.logging-controls-banner > .panel-stack {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  max-width: none;
  text-align: left;
}

.logging-controls-banner > .panel-stack .body-copy {
  margin: 0;
  max-width: 42rem;
  font-size: 0.76rem;
}

.log-quick-filters {
  grid-template-columns: minmax(8.5rem, 0.65fr) minmax(14rem, 2fr) repeat(2, minmax(9rem, 1fr));
  gap: 0.45rem;
  padding: 0.45rem;
}

.log-quick-filters .field,
.log-advanced-filter-grid .field {
  padding: 0.4rem;
}

.log-quick-filters input,
.log-quick-filters select,
.log-advanced-filter-grid input,
.log-advanced-filter-grid select {
  min-height: 2rem;
  padding: 0.36rem 0.5rem;
}

.log-advanced-filters {
  width: 100%;
  border: 0.0625rem solid #252a31;
  border-radius: 0.75rem;
  background: #121417;
}

.log-advanced-filters summary {
  display: flex;
  align-items: center;
  gap: 0.48rem;
  min-height: 2.3rem;
  padding: 0.42rem 0.65rem;
  color: var(--text-strong);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 700;
  list-style: none;
}

.log-advanced-filters summary::-webkit-details-marker {
  display: none;
}

.log-advanced-filters summary em {
  color: var(--muted);
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 500;
}

.log-advanced-filters summary i {
  margin-left: auto;
  color: var(--muted);
  transition: transform 140ms ease;
}

.log-advanced-filters[open] summary i {
  transform: rotate(180deg);
}

.log-advanced-filter-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0 0.45rem;
  width: calc(100% - 0.9rem);
  padding: 0.45rem;
}

.log-advanced-filters .log-filter-tools {
  margin: 0.45rem;
  padding-top: 0.45rem;
}

.log-review-layout-with-navigator .log-feed-grid {
  max-height: min(44rem, calc(100vh - 10rem));
}

.log-entry-card[data-select-log] {
  cursor: pointer;
}

.log-entry-card[data-select-log]:focus-visible {
  outline: 0.12rem solid var(--accent);
  outline-offset: 0.12rem;
}

.log-entry-card[data-select-log].is-selected {
  box-shadow: inset 0 0 0 0.0625rem rgba(110, 168, 255, 0.36);
}

.activity-count-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  color: #c7d9f3;
  background: rgba(110, 168, 255, 0.1);
}

.activity-evidence,
.activity-evidence-summary {
  margin-top: 0.32rem;
  border: 0.0625rem solid #292e35;
  border-radius: 0.65rem;
  background: #121519;
}

.activity-evidence-summary {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  padding: 0.38rem 0.55rem;
  color: var(--muted);
  font-size: 0.66rem;
}

.activity-evidence > summary {
  display: flex;
  align-items: center;
  gap: 0.42rem;
  min-height: 2rem;
  padding: 0.38rem 0.55rem;
  color: var(--text);
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 700;
  list-style: none;
}

.activity-evidence > summary::-webkit-details-marker {
  display: none;
}

.activity-evidence > summary em {
  margin-left: auto;
  padding: 0.08rem 0.34rem;
  border-radius: 999rem;
  color: #c7d9f3;
  background: rgba(110, 168, 255, 0.13);
  font-size: 0.62rem;
  font-style: normal;
}

.activity-evidence > summary .evidence-chevron {
  color: var(--muted);
  transition: transform 140ms ease;
}

.activity-evidence[open] > summary .evidence-chevron {
  transform: rotate(180deg);
}

.activity-evidence-list {
  display: grid;
  gap: 0.45rem;
  padding: 0 0.5rem 0.5rem;
}

.activity-evidence-item {
  min-width: 0;
  padding: 0.48rem;
  border: 0.0625rem solid #252a31;
  border-radius: 0.5rem;
  background: #0e1114;
}

.activity-evidence-item .feed-row {
  gap: 0.45rem;
}

.activity-evidence-item pre {
  max-height: 12rem;
  margin: 0.4rem 0 0;
  padding: 0.48rem;
  overflow: auto;
  border-radius: 0.42rem;
  color: #b9c4d1;
  background: #090b0e;
  font: 0.62rem/1.45 ui-monospace, SFMono-Regular, Consolas, monospace;
  white-space: pre-wrap;
  word-break: break-word;
}

.log-review-layout-with-navigator .detail-drawer {
  align-self: flex-start;
  max-height: min(44rem, calc(100vh - 10rem));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.log-review-layout-with-navigator .detail-drawer::-webkit-scrollbar {
  width: 0.45rem;
}

.log-review-layout-with-navigator .detail-drawer::-webkit-scrollbar-thumb {
  border: 0.12rem solid #14171b;
  border-radius: 999px;
  background: #343941;
}

@media (max-width: 1100px) {
  .log-review-layout-with-navigator {
    display: grid;
  }

  .log-navigator {
    position: static;
    flex-basis: auto;
    max-height: none;
  }

  .log-navigator-scroll {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
  }

  .log-quick-filters,
  .log-advanced-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .log-review-layout-with-navigator .detail-drawer {
    position: static;
    max-height: none;
  }
}

@media (max-width: 700px) {
  .log-navigator-scroll {
    grid-template-columns: 1fr;
  }

  .logging-controls-banner > .panel-stack {
    display: grid;
    gap: 0.25rem;
  }

  .log-quick-filters,
  .log-advanced-filter-grid {
    grid-template-columns: 1fr;
  }
}

/* Logs V3 — investigation workspace */
.logs-v3-page {
  display: grid;
  grid-template-rows: auto auto auto minmax(32rem, 1fr);
  gap: 0.55rem;
  min-height: calc(100vh - 6.25rem);
  color: #dce5ef;
}

.logs-v3-titlebar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.25rem 0.35rem 0.45rem;
}

.logs-v3-titlebar h2 {
  margin: 0;
  color: #f5f8fb;
  font-size: clamp(1.35rem, 1.8vw, 1.8rem);
  font-weight: 650;
  letter-spacing: -0.035em;
}

.logs-v3-titlebar p {
  margin: 0.18rem 0 0;
  color: #788694;
  font-size: 0.74rem;
}

.logs-v3-live {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 0.1rem 0.38rem;
  color: #f0f5fa;
  text-align: right;
}

.logs-v3-live > span {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: #3f9cff;
  box-shadow: 0 0 0 0.22rem rgba(63, 156, 255, 0.12);
}

.logs-v3-live strong {
  font-size: 0.85rem;
}

.logs-v3-live small {
  grid-column: 1 / -1;
  color: #71808e;
  font-size: 0.62rem;
}

.logs-v3-views .log-tabs-shell {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.32rem 0.45rem;
  border: 0.0625rem solid #26313c;
  border-radius: 0.45rem;
  background: #0e141a;
}

.logs-v3-views .log-tabs-head {
  display: none;
}

.logs-v3-views .log-tabs-row {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  width: 100%;
  overflow-x: auto;
}

.logs-v3-views .log-tab-item,
.logs-v3-views .log-tab-add {
  flex: 0 0 auto;
  min-height: 1.95rem;
  border-radius: 0.35rem;
}

.logs-v3-views .log-tab-button {
  min-height: 1.95rem;
  padding: 0.25rem 0.48rem;
}

.logs-v3-views .log-tab-text small,
.logs-v3-views .log-tab-index {
  display: none;
}

.logs-v3-commandbar {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(8rem, 0.8fr) minmax(15rem, 2fr) minmax(8rem, 0.8fr) minmax(8rem, 0.8fr) auto 2.3rem auto;
  gap: 0.42rem;
  align-items: stretch;
  padding: 0.48rem;
  border: 0.0625rem solid #26313c;
  border-radius: 0.45rem;
  background: #0e141a;
}

.logs-v3-control {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.32rem 0.48rem;
  border: 0.0625rem solid #2b3641;
  border-radius: 0.35rem;
  background: #111820;
}

.logs-v3-control > span,
.logs-v3-more-panel label > span {
  color: #72808e;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.logs-v3-control select,
.logs-v3-control input,
.logs-v3-more-panel select,
.logs-v3-more-panel input {
  width: 100%;
  min-width: 0;
  min-height: 1.35rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
  color: #e1e8f0;
  font: inherit;
  font-size: 0.72rem;
}

.logs-v3-commandbar .logs-native-select {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
}

.logs-custom-select {
  position: relative;
  min-width: 0;
}

.logs-custom-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
  width: 100%;
  min-width: 0;
  min-height: 1.35rem;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #e1e8f0;
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  text-align: left;
}

.logs-custom-select-trigger span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.logs-custom-select-trigger i {
  flex: 0 0 auto;
  color: #6f8294;
  font-size: 0.58rem;
  transition: transform 140ms ease, color 140ms ease;
}

.logs-custom-select.is-open .logs-custom-select-trigger i {
  color: #64aaff;
  transform: rotate(180deg);
}

.logs-custom-select-trigger:focus-visible {
  color: #ffffff;
}

.logs-custom-select-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 0.48rem);
  left: -0.48rem;
  width: max-content;
  min-width: calc(100% + 0.96rem);
  max-width: min(24rem, 72vw);
  max-height: 18rem;
  padding: 0.32rem;
  overflow: auto;
  overscroll-behavior: contain;
  border: 0.0625rem solid #3a4b5b;
  border-radius: 0.48rem;
  background: #111a23;
  box-shadow: 0 1rem 2.8rem rgba(0, 0, 0, 0.55);
  scrollbar-width: thin;
  scrollbar-color: #405365 #111a23;
}

.logs-custom-select-menu[hidden] {
  display: none;
}

.logs-custom-select-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 0.8rem;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  min-width: 9rem;
  min-height: 2.1rem;
  padding: 0.4rem 0.55rem;
  border: 0;
  border-radius: 0.32rem;
  outline: 0;
  background: transparent;
  color: #b9c5d1;
  cursor: pointer;
  font: inherit;
  font-size: 0.69rem;
  text-align: left;
}

.logs-custom-select-option span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.logs-custom-select-option i {
  visibility: hidden;
  color: #66adff;
  font-size: 0.62rem;
}

.logs-custom-select-option:hover,
.logs-custom-select-option:focus-visible {
  background: #1b2a38;
  color: #ffffff;
}

.logs-custom-select-option.is-selected {
  background: rgba(63, 156, 255, 0.12);
  color: #9dccff;
}

.logs-custom-select-option.is-selected i {
  visibility: visible;
}

.logs-v3-search > div {
  display: flex;
  align-items: center;
  gap: 0.42rem;
}

.logs-v3-search i {
  color: #667686;
  font-size: 0.72rem;
}

.logs-v3-more {
  position: relative;
}

.logs-v3-more summary,
.logs-v3-icon-button,
.logs-v3-refresh {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  height: 100%;
  min-height: 2.45rem;
  padding: 0 0.68rem;
  border: 0.0625rem solid #2b3641;
  border-radius: 0.35rem;
  background: #111820;
  color: #dce5ef;
  cursor: pointer;
  font: inherit;
  font-size: 0.7rem;
  font-weight: 650;
  list-style: none;
}

.logs-v3-more summary::-webkit-details-marker {
  display: none;
}

.logs-v3-more summary em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: #2f8df4;
  color: white;
  font-size: 0.58rem;
  font-style: normal;
}

.logs-v3-more-panel {
  position: absolute;
  top: calc(100% + 0.38rem);
  right: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(10rem, 1fr));
  gap: 0.55rem;
  width: min(32rem, 80vw);
  padding: 0.7rem;
  border: 0.0625rem solid #34414e;
  border-radius: 0.5rem;
  background: #111820;
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.4);
}

.logs-v3-more-panel label:not(.logs-v3-checkbox) {
  display: grid;
  gap: 0.28rem;
  padding: 0.42rem;
  border: 0.0625rem solid #2b3641;
  border-radius: 0.35rem;
}

.logs-v3-checkbox {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: #c7d1db;
  font-size: 0.7rem;
}

.logs-v3-checkbox input {
  width: auto;
}

.logs-v3-refresh:hover,
.logs-v3-icon-button:hover,
.logs-v3-more summary:hover {
  border-color: #3f9cff;
  color: #ffffff;
}

.logs-v3-workspace {
  display: grid;
  grid-template-columns: 13.25rem minmax(29rem, 1fr) minmax(19rem, 23rem);
  min-height: 0;
  overflow: hidden;
  border: 0.0625rem solid #26313c;
  border-radius: 0.45rem;
  background: #0d1319;
}

.logs-v3-workspace .log-navigator {
  position: static;
  display: flex;
  flex-direction: column;
  max-height: none;
  min-height: 0;
  padding: 0;
  border: 0;
  border-right: 0.0625rem solid #26313c;
  border-radius: 0;
  background: #0e151c;
}

.logs-v3-workspace .log-navigator-head {
  min-height: 2.65rem;
  padding: 0.7rem 0.72rem;
  border-bottom: 0.0625rem solid #26313c;
}

.logs-v3-workspace .log-navigator-head .eyebrow,
.logs-v3-workspace .log-navigator > .section-subcopy {
  display: none;
}

.logs-v3-workspace .log-navigator-head h3 {
  margin: 0;
  font-size: 0.78rem;
}

.logs-v3-workspace .log-navigator-scroll {
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  padding: 0.35rem 0;
  overflow-y: auto;
}

.logs-v3-workspace .log-navigator-group {
  display: grid;
  gap: 0;
  margin-bottom: 0.45rem;
}

.logs-v3-workspace .log-navigator-group-body {
  gap: 0;
}

.logs-v3-workspace .log-navigator-group-title {
  padding: 0.55rem 0.72rem 0.28rem;
  font-size: 0.57rem;
}

.logs-v3-workspace .log-session-group {
  padding-bottom: 0.55rem;
  border-bottom: 0.0625rem solid #26313c;
}

.log-session-sections {
  display: grid;
  gap: 0.38rem;
  padding: 0.16rem 0.55rem 0.35rem;
}

.log-session-section {
  display: grid;
  grid-template-columns: 1.65rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 3.15rem;
  padding: 0.5rem 0.55rem;
  border: 0.0625rem solid #26313c;
  border-radius: 0.42rem;
  background: #111a22;
  color: #dce6ef;
  text-align: left;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.log-session-section:hover,
.log-session-section:focus-visible {
  transform: translateY(-0.0625rem);
  background: #16222d;
}

.log-session-icon {
  display: grid;
  width: 1.65rem;
  height: 1.65rem;
  place-items: center;
  border-radius: 0.36rem;
  font-size: 0.7rem;
}

.log-session-copy {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.log-session-copy strong {
  font-size: 0.7rem;
}

.log-session-copy small {
  overflow: hidden;
  color: #7f91a2;
  font-size: 0.55rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.log-session-section em {
  min-width: 1.3rem;
  padding: 0.16rem 0.34rem;
  border-radius: 999px;
  background: #202b35;
  color: #c9d3dc;
  font-size: 0.58rem;
  font-style: normal;
  text-align: center;
}

.log-session-section.is-connecting .log-session-icon {
  background: rgba(55, 201, 142, 0.13);
  color: #59d8a4;
}

.log-session-section.is-dropped .log-session-icon {
  background: rgba(240, 91, 105, 0.13);
  color: #ff7b88;
}

.log-session-section.is-deaths .log-session-icon {
  background: rgba(175, 106, 255, 0.14);
  color: #c391ff;
}

.log-session-section.is-connecting:hover,
.log-session-section.is-connecting:focus-visible,
.log-session-section.is-connecting.is-active {
  border-color: #2f9e76;
  background: rgba(36, 108, 82, 0.2);
}

.log-session-section.is-dropped:hover,
.log-session-section.is-dropped:focus-visible,
.log-session-section.is-dropped.is-active {
  border-color: #b94d5a;
  background: rgba(128, 43, 53, 0.2);
}

.log-session-section.is-deaths:hover,
.log-session-section.is-deaths:focus-visible,
.log-session-section.is-deaths.is-active {
  border-color: #8758bd;
  background: rgba(91, 50, 135, 0.22);
}

.logs-v3-workspace .log-navigator-item {
  min-height: 2rem;
  padding: 0.42rem 0.7rem;
  border: 0;
  border-left: 0.16rem solid transparent;
  border-radius: 0;
  font-size: 0.68rem;
}

.logs-v3-workspace .log-navigator-item:hover,
.logs-v3-workspace .log-navigator-item:focus-visible,
.logs-v3-workspace .log-navigator-item.is-active {
  border-left-color: #3f9cff;
  background: #14273c;
}

.logs-v3-feed {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  position: relative;
  min-width: 0;
  min-height: 0;
  background: #0d1319;
}

.logs-v3-feed .log-feed-grid {
  transition: opacity 140ms ease;
}

.logs-v3-feed.is-querying .log-feed-grid {
  opacity: 0.48;
  pointer-events: none;
}

.logs-v3-feed.is-querying::after {
  content: 'Loading matching logs…';
  position: absolute;
  z-index: 4;
  top: 3.55rem;
  right: 1rem;
  padding: 0.42rem 0.7rem;
  border: 0.0625rem solid rgba(72, 159, 255, 0.42);
  border-radius: 0.35rem;
  color: #dcecff;
  background: rgba(13, 27, 40, 0.94);
  box-shadow: 0 0.45rem 1.2rem rgba(0, 0, 0, 0.28);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  pointer-events: none;
}

.logs-v3-feed-head,
.log-table-row {
  display: grid;
  grid-template-columns: minmax(10rem, 1.25fr) minmax(7rem, 0.8fr) minmax(10rem, 1fr) minmax(6rem, 0.58fr) minmax(6rem, 0.65fr) minmax(7rem, 0.72fr) 1.7rem;
  align-items: center;
}

.logs-v3-feed-head {
  min-height: 2.65rem;
  border-bottom: 0.0625rem solid #26313c;
  background: #0e151c;
  color: #9eabb8;
  font-size: 0.62rem;
  font-weight: 700;
}

.logs-v3-feed-head span {
  padding: 0 0.65rem;
}

.logs-v3-feed .log-feed-grid {
  display: block;
  min-height: 0;
  max-height: none;
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.log-table-row {
  position: relative;
  --log-domain-color: #65788a;
  min-width: 54rem;
  min-height: 3.35rem;
  border-bottom: 0.0625rem solid #202b35;
  border-left: 0.16rem solid var(--log-domain-color);
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease;
}

.log-table-row:hover,
.log-table-row:focus-visible {
  outline: none;
  background: #111c26;
}

.log-table-row.is-selected {
  border-left-color: #3f9cff;
  background: #11243a;
  box-shadow: inset 0 0 0 0.0625rem rgba(63, 156, 255, 0.15);
}

.log-row-expanded {
  --log-domain-color: #65788a;
  width: 100%;
  min-width: 0;
  padding: 1rem;
  border-bottom: 0.0625rem solid #263746;
  border-left: 0.16rem solid #3f9cff;
  background:
    linear-gradient(115deg, color-mix(in srgb, var(--log-domain-color) 8%, transparent), transparent 34%),
    #0c151e;
  box-shadow: inset 0 0.0625rem 0 rgba(255, 255, 255, 0.025), inset 0 -0.0625rem 0 rgba(0, 0, 0, 0.32);
}

.log-row-expanded.domain-money { --log-domain-color: #48b96b; }
.log-row-expanded.domain-inventory { --log-domain-color: #e6a23c; }
.log-row-expanded.domain-vehicle { --log-domain-color: #37b8d4; }
.log-row-expanded.domain-player { --log-domain-color: #4a8fd8; }
.log-row-expanded.domain-staff { --log-domain-color: #a77bf3; }
.log-row-expanded.domain-police { --log-domain-color: #ff625c; }
.log-row-expanded.domain-property { --log-domain-color: #df8352; }
.log-row-expanded.domain-security { --log-domain-color: #f05252; }
.log-row-expanded.domain-job { --log-domain-color: #40b9a0; }

.expanded-log-head,
.expanded-log-identity,
.expanded-log-badges,
.expanded-log-json summary,
.expanded-log-json summary > span {
  display: flex;
  align-items: center;
}

.expanded-log-head {
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 0.0625rem solid #243342;
}

.expanded-log-identity {
  min-width: 0;
  gap: 0.72rem;
}

.expanded-log-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 0.0625rem solid color-mix(in srgb, var(--log-domain-color) 45%, #263746);
  border-radius: 0.55rem;
  background: color-mix(in srgb, var(--log-domain-color) 13%, #111b24);
  color: var(--log-domain-color);
}

.expanded-log-identity .eyebrow { margin: 0 0 0.12rem; color: var(--log-domain-color); font-size: 0.58rem; }
.expanded-log-identity h3 { margin: 0; color: #f2f6fa; font-size: 0.96rem; }
.expanded-log-identity p:last-child { max-width: 48rem; margin: 0.2rem 0 0; color: #99a8b6; font-size: 0.68rem; line-height: 1.45; }

.expanded-log-badges {
  flex: 0 0 auto;
  justify-content: flex-end;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.expanded-log-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  margin-top: 0.75rem;
}

.expanded-log-facts > div {
  min-width: 0;
  padding: 0.52rem 0.58rem;
  border: 0.0625rem solid #263441;
  border-radius: 0.42rem;
  background: rgba(17, 26, 35, 0.78);
}

.expanded-log-facts span,
.expanded-log-facts strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.expanded-log-facts span { margin-bottom: 0.15rem; color: #6f8191; font-size: 0.55rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.expanded-log-facts strong { color: #dce5ee; font-size: 0.66rem; font-weight: 650; }
.log-row-expanded .log-copy-token-row { margin-top: 0.65rem; }

.expanded-log-json {
  margin-top: 0.7rem;
  overflow: hidden;
  border: 0.0625rem solid #293a49;
  border-radius: 0.52rem;
  background: #081017;
}

.expanded-log-json summary {
  justify-content: space-between;
  gap: 0.7rem;
  min-height: 2.65rem;
  padding: 0.45rem 0.55rem 0.45rem 0.72rem;
  border-bottom: 0.0625rem solid transparent;
  cursor: pointer;
  list-style: none;
}

.expanded-log-json[open] summary { border-bottom-color: #243442; }
.expanded-log-json summary::-webkit-details-marker { display: none; }
.expanded-log-json summary > span { gap: 0.4rem; min-width: 0; }
.expanded-log-json summary i { color: var(--log-domain-color); }
.expanded-log-json summary strong { color: #dce6ef; font-size: 0.7rem; }
.expanded-log-json summary small { color: #6f8190; font-size: 0.58rem; }

.expanded-log-json pre {
  max-height: 18rem;
  margin: 0;
  padding: 0.8rem;
  overflow: auto;
  color: #a9c5de;
  font: 0.65rem/1.55 "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  white-space: pre;
  tab-size: 2;
}

.log-table-row.domain-money { --log-domain-color: #48b96b; }
.log-table-row.domain-inventory { --log-domain-color: #e6a23c; }
.log-table-row.domain-vehicle { --log-domain-color: #37b8d4; }
.log-table-row.domain-player { --log-domain-color: #4a8fd8; }
.log-table-row.domain-staff { --log-domain-color: #a77bf3; }
.log-table-row.domain-police { --log-domain-color: #ff625c; }
.log-table-row.domain-property { --log-domain-color: #df8352; }
.log-table-row.domain-security { --log-domain-color: #f05252; }
.log-table-row.domain-job { --log-domain-color: #40b9a0; }

.log-cell {
  display: flex;
  align-items: center;
  gap: 0.42rem;
  min-width: 0;
  padding: 0 0.65rem;
  color: #cbd4de;
  font-size: 0.68rem;
}

.log-cell > span,
.log-resource-cell,
.log-actor-cell,
.log-time-cell {
  min-width: 0;
}

.log-cell strong,
.log-cell small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.log-cell strong {
  color: #e2e9f0;
  font-size: 0.69rem;
  font-weight: 600;
}

.log-cell small {
  margin-top: 0.1rem;
  color: #748391;
  font-size: 0.59rem;
}

.log-actor-cell.is-death-relation strong {
  color: #f0d7e8;
}

.log-actor-cell.is-death-relation small {
  color: #a38b9b;
}

.log-action-cell > i {
  width: 1rem;
  color: var(--log-domain-color);
  text-align: center;
  font-size: 0.72rem;
}

.log-table-row.severity-danger .log-action-cell > i { color: #ff625c; }
.log-table-row.severity-warning .log-action-cell > i { color: #f0a51b; }

.log-tone-cell > span:last-child {
  padding: 0.16rem 0.4rem;
  border: 0.0625rem solid transparent;
  border-radius: 999px;
  font-size: 0.61rem;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
}

.log-tone-cell.tone-danger > span:last-child { border-color: rgba(255, 98, 92, 0.28); background: rgba(255, 98, 92, 0.1); color: #ff8b86; }
.log-tone-cell.tone-warning > span:last-child { border-color: rgba(240, 165, 27, 0.28); background: rgba(240, 165, 27, 0.1); color: #f5bd52; }
.log-tone-cell.tone-success > span:last-child { border-color: rgba(72, 185, 107, 0.28); background: rgba(72, 185, 107, 0.1); color: #70cf8d; }
.log-tone-cell.tone-note > span:last-child { border-color: rgba(74, 143, 216, 0.25); background: rgba(74, 143, 216, 0.09); color: #82b8ef; }

.log-state-dot {
  flex: 0 0 auto;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: #4a8fd8;
}

.log-state-dot.danger { background: #ff625c; }
.log-state-dot.warning { background: #f0a51b; }
.log-state-dot.success { background: #48b96b; }
.log-state-dot.note { background: #4a8fd8; }

.log-row-open {
  display: grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  padding: 0;
  border: 0;
  border-radius: 0.3rem;
  background: transparent;
  color: #5f7284;
  cursor: pointer;
}

.log-row-open:hover { color: #ffffff; background: #233241; }

.logs-v3-feed > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 2.45rem;
  padding: 0 0.72rem;
  border-top: 0.0625rem solid #26313c;
  color: #71808e;
  font-size: 0.62rem;
}

.logs-v3-workspace .detail-drawer {
  position: static;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  max-height: none;
  min-width: 0;
  min-height: 0;
  padding: 0.75rem;
  overflow-y: auto;
  border: 0;
  border-left: 0.0625rem solid #26313c;
  border-radius: 0;
  background: #0e151c;
}

.logs-v3-workspace .detail-drawer-head {
  margin: -0.75rem -0.75rem 0;
  padding: 0.72rem;
  border-bottom: 0.0625rem solid #26313c;
}

.logs-v3-workspace .detail-drawer .section-title {
  font-size: 0.9rem;
}

.logs-v3-workspace .detail-drawer .summary-list {
  border-top: 0.0625rem solid #26313c;
}

.logs-v3-workspace .detail-drawer .summary-list .feed-row {
  padding: 0.42rem 0;
  border-bottom: 0.0625rem solid #202b35;
  font-size: 0.65rem;
}

.logs-v3-workspace .detail-drawer .log-copy-token-row,
.logs-v3-workspace .detail-drawer .log-quick-action-row {
  max-height: none;
  opacity: 1;
}

.logs-v3-inspector-empty {
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #778694;
}

.logs-v3-inspector-empty h3 {
  margin: 0.25rem 0 0;
  color: #dbe4ed;
  font-size: 0.95rem;
}

.logs-v3-inspector-empty p {
  max-width: 17rem;
  margin: 0;
  font-size: 0.69rem;
  line-height: 1.5;
}

.inspector-empty-mark {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border: 0.0625rem solid #304050;
  border-radius: 50%;
  color: #4a91dc;
}

.logs-v3-empty {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.45rem;
  min-height: 16rem;
  padding: 2rem;
  color: #748391;
  text-align: center;
}

.logs-v3-empty > i { color: #4a91dc; font-size: 1.35rem; }
.logs-v3-empty strong { color: #dbe4ed; }
.logs-v3-empty p { max-width: 25rem; margin: 0; font-size: 0.7rem; }

@media (max-width: 1280px) {
  .logs-v3-workspace {
    grid-template-columns: 11.5rem minmax(28rem, 1fr) minmax(17rem, 20rem);
  }

  .logs-v3-feed-head,
  .log-table-row {
    grid-template-columns: minmax(9rem, 1.2fr) minmax(6.5rem, 0.72fr) minmax(9rem, 0.95fr) minmax(5.5rem, 0.55fr) minmax(5.5rem, 0.6fr) minmax(6rem, 0.65fr) 1.7rem;
  }
}

@media (max-width: 1050px) {
  .logs-v3-page {
    grid-template-rows: auto auto auto auto;
  }

  .logs-v3-commandbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .logs-v3-workspace {
    grid-template-columns: 12rem minmax(0, 1fr);
    min-height: 42rem;
    overflow: visible;
  }

  .logs-v3-workspace .detail-drawer {
    grid-column: 1 / -1;
    min-height: 20rem;
    border-top: 0.0625rem solid #26313c;
    border-left: 0;
  }

  .expanded-log-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .logs-v3-titlebar { align-items: flex-start; }
  .logs-v3-titlebar p { max-width: 16rem; }
  .logs-v3-commandbar { grid-template-columns: 1fr; }
  .logs-v3-more-panel {
    position: fixed;
    inset: 5rem 0.65rem auto;
    width: auto;
    max-height: calc(100vh - 5.65rem);
    max-height: calc(100dvh - 5.65rem);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    grid-template-columns: 1fr;
  }
  .logs-v3-workspace { display: block; min-height: 0; }
  .logs-v3-workspace .log-navigator { max-height: 15rem; border-right: 0; border-bottom: 0.0625rem solid #26313c; }
  .logs-v3-feed { min-height: 34rem; }
  .logs-v3-workspace .detail-drawer { min-height: 22rem; }
  .expanded-log-head { align-items: flex-start; flex-direction: column; }
  .expanded-log-badges { justify-content: flex-start; }
  .expanded-log-facts { grid-template-columns: 1fr; }
  .expanded-log-json summary small { display: none; }
}

@media (max-width: 1400px) and (min-width: 1051px) {
  .logs-v3-workspace {
    grid-template-columns: 10.5rem minmax(0, 1fr) 17rem;
  }

  .logs-v3-feed-head,
  .log-table-row {
    grid-template-columns: minmax(9rem, 1.15fr) minmax(9rem, 1fr) minmax(5rem, 0.55fr) minmax(5rem, 0.62fr) minmax(5.5rem, 0.62fr) 1.7rem;
  }

  .logs-v3-feed-head > span:nth-child(2),
  .log-table-row > .log-resource-cell {
    display: none;
  }

  .log-table-row {
    min-width: 38rem;
  }
}

@media (max-width: 720px) {
  .logs-v3-page {
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .logs-v3-titlebar {
    padding-inline: 0.25rem;
  }

  .logs-v3-live small {
    display: none;
  }

  .logs-v3-views .log-tabs-shell,
  .logs-v3-commandbar,
  .logs-v3-workspace {
    width: 100%;
    min-width: 0;
  }

  .logs-v3-feed-head {
    display: none;
  }

  .logs-v3-feed .log-feed-grid {
    overflow-x: hidden;
  }

  .log-table-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.28rem 0.55rem;
    min-width: 0;
    min-height: 5.5rem;
    padding: 0.58rem 0.45rem;
  }

  .log-table-row > .log-cell {
    padding: 0;
  }

  .log-table-row > .log-action-cell {
    grid-column: 1;
    grid-row: 1;
  }

  .log-table-row > .log-resource-cell {
    display: flex;
    grid-column: 1;
    grid-row: 2;
    padding-left: 1.42rem;
  }

  .log-table-row > .log-actor-cell {
    grid-column: 1;
    grid-row: 3;
    padding-left: 1.42rem;
  }

  .log-table-row > .log-cell:nth-of-type(4) {
    grid-column: 2;
    grid-row: 2;
  }

  .log-table-row > .log-cell:nth-of-type(5) {
    grid-column: 2;
    grid-row: 3;
  }

  .log-table-row > .log-time-cell {
    grid-column: 2;
    grid-row: 1;
    text-align: right;
  }

  .log-table-row > .log-row-open {
    display: none;
  }

  .logs-v3-feed > footer {
    gap: 0.5rem;
  }
}

/* Flat admin system: one frame per workspace, dividers for everything inside. */
.app-shell:not(.landing-shell) .manager-content {
  --bg: #0b0e12;
  --bg-soft: #151c24;
  --panel: #10151b;
  --panel-alt: #0d1218;
  --border: #26313d;
  --border-strong: #344251;
  --text: #aab7c4;
  --text-strong: #f3f7fb;
  --muted: #7f90a1;
  --accent: #5b9eff;
  --accent-soft: rgba(91, 158, 255, 0.13);
  gap: 1.15rem;
  min-width: 0;
}

.app-shell:not(.landing-shell) .manager-content :where(
  .hero-card,
  .table-card,
  .detail-card,
  .list-card,
  .stat-card,
  .metric,
  .metric-card,
  .economy-shell-card,
  .manager-detail-shell,
  .manager-results-card,
  .manager-header-card,
  .manager-toolbar-card,
  .table-shell,
  .table-head,
  .table-row,
  .feed-row,
  .summary-list,
  .stack-list > *,
  .selected-record-toolbar
) {
  box-shadow: none;
}

.app-shell:not(.landing-shell) .manager-content :where(
  .hero-card,
  .table-card,
  .detail-card,
  .list-card,
  .stat-card,
  .metric,
  .metric-card,
  .manager-results-card,
  .manager-header-card,
  .manager-toolbar-card,
  .economy-shell-card,
  .table-shell,
  .table-head,
  .table-row,
  .feed-row,
  .summary-list,
  .stack-list > *
) {
  border-radius: 0.5rem;
}

.app-shell:not(.landing-shell) .manager-content .manager-page-stack {
  gap: 1.2rem;
}

/* Page introductions sit on the canvas instead of inside another card. */
.app-shell:not(.landing-shell) .manager-content > .hero-card,
.app-shell:not(.landing-shell) .manager-page-stack > .manager-header-card,
.app-shell:not(.landing-shell) .manager-page-stack > .manager-toolbar-card {
  padding: 0 0 1.05rem;
  border: 0;
  border-bottom: 0.0625rem solid var(--border);
  border-radius: 0;
  background: transparent;
}

.app-shell:not(.landing-shell) .manager-content .manager-header-card .page-title,
.app-shell:not(.landing-shell) .manager-content > .hero-card .page-title {
  font-size: clamp(1.55rem, 2.3vw, 2rem);
  letter-spacing: -0.035em;
}

.app-shell:not(.landing-shell) .manager-content :where(input, select, textarea) {
  border-radius: 0.42rem;
  background: #0c1117;
  box-shadow: none;
}

.app-shell:not(.landing-shell) .manager-content :where(
  .primary-button,
  .ghost-button,
  .danger-button,
  .compact-button,
  .compact-action-button,
  .filter-chip,
  .toggle-action
) {
  border-radius: 0.42rem;
}

/* Statistics become a single information strip. */
.app-shell:not(.landing-shell) .manager-content .stats-grid,
.app-shell:not(.landing-shell) .manager-content .metric-grid {
  gap: 0;
  overflow: hidden;
  border: 0.0625rem solid var(--border);
  border-radius: 0.5rem;
  background: var(--panel);
}

.app-shell:not(.landing-shell) .manager-content .stats-grid > .stat-card,
.app-shell:not(.landing-shell) .manager-content .metric-grid > :where(.metric, .metric-card) {
  min-width: 0;
  border: 0;
  border-right: 0.0625rem solid var(--border);
  border-radius: 0;
  background: transparent;
}

.app-shell:not(.landing-shell) .manager-content .stats-grid > .stat-card:last-child,
.app-shell:not(.landing-shell) .manager-content .metric-grid > :where(.metric, .metric-card):last-child {
  border-right: 0;
}

/* Tables own the frame; their headers and rows use dividers, not mini-cards. */
.app-shell:not(.landing-shell) .manager-content .table-card {
  overflow: hidden;
  border-color: var(--border);
  background: var(--panel);
}

.app-shell:not(.landing-shell) .manager-content .table-card > .table-shell,
.app-shell:not(.landing-shell) .manager-content .table-card > .manager-list-scroll,
.app-shell:not(.landing-shell) .manager-content .manager-results-card > .table-shell {
  margin-inline: -0.95rem;
  padding-inline: 0.95rem;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.app-shell:not(.landing-shell) .manager-content .table-head,
.app-shell:not(.landing-shell) .manager-content .table-row {
  border-radius: 0;
}

.app-shell:not(.landing-shell) .manager-content .table-head {
  background: var(--panel-alt);
}

.app-shell:not(.landing-shell) .manager-content .table-row {
  background: transparent;
}

.app-shell:not(.landing-shell) .manager-content .table-row-interactive:hover {
  background: #131b24;
}

/* Repeated feed/list entries are rows, not cards inside cards. */
.app-shell:not(.landing-shell) .manager-content :where(.table-card, .detail-card, .hero-card) .stack-list {
  gap: 0;
}

.app-shell:not(.landing-shell) .manager-content :where(.table-card, .detail-card, .hero-card) .stack-list > :where(.list-card, .feed-row),
.app-shell:not(.landing-shell) .manager-content :where(.table-card, .detail-card) .summary-list > .feed-row {
  padding-block: 0.72rem;
  border: 0;
  border-bottom: 0.0625rem solid var(--border);
  border-radius: 0;
  background: transparent;
}

.app-shell:not(.landing-shell) .manager-content :where(.table-card, .detail-card, .hero-card) .stack-list > :where(.list-card, .feed-row):last-child,
.app-shell:not(.landing-shell) .manager-content :where(.table-card, .detail-card) .summary-list > .feed-row:last-child {
  border-bottom: 0;
}

/* Economy keeps one outer shell and divides its internal regions. */
.app-shell:not(.landing-shell) .economy-page-shell .economy-shell-card {
  overflow: hidden;
  border-radius: 0.5rem;
  background: var(--panel);
}

.app-shell:not(.landing-shell) .economy-page-shell .economy-shell-header {
  margin: 0;
  padding: 1rem 1.15rem;
  border: 0;
  border-bottom: 0.0625rem solid var(--border);
  border-radius: 0;
  background: var(--panel-alt);
}

.app-shell:not(.landing-shell) .economy-page-shell :where(.economy-shell-main, .economy-shell-card > .economy-main-stack) {
  padding: 1.1rem;
}

.app-shell:not(.landing-shell) .economy-page-shell :where(.economy-metric-grid, .economy-monitor-grid) {
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0;
  overflow: hidden;
  border: 0.0625rem solid var(--border);
  border-radius: 0.5rem;
  background: var(--panel-alt);
}

.app-shell:not(.landing-shell) .economy-page-shell :where(.economy-metric-grid, .economy-monitor-grid) > .stat-card {
  min-height: 5.8rem;
  border: 0;
  border-right: 0.0625rem solid var(--border);
  border-bottom: 0.0625rem solid var(--border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-shell:not(.landing-shell) .economy-page-shell .economy-main-stack > .table-card,
.app-shell:not(.landing-shell) .economy-page-shell .economy-shell-main > .table-card {
  padding: 1rem 0 0;
  border: 0;
  border-top: 0.0625rem solid var(--border);
  border-radius: 0;
  background: transparent;
}

.app-shell:not(.landing-shell) .economy-page-shell :where(.feed-row, .table-row, .economy-graph-row) {
  border-radius: 0;
  background: transparent;
}

.app-shell:not(.landing-shell) .economy-page-shell .economy-graph-row {
  padding-inline: 0;
  border: 0;
  border-bottom: 0.0625rem solid var(--border);
}

.app-shell:not(.landing-shell) .economy-page-shell :where(.economy-top-player-list, .economy-player-source-list) {
  gap: 0;
  padding-right: 0.3rem;
}

.app-shell:not(.landing-shell) .economy-page-shell .economy-top-player-row {
  padding-inline: 0.7rem;
  border: 0;
  border-bottom: 0.0625rem solid var(--border);
  border-radius: 0;
  background: transparent;
  transform: none;
}

.app-shell:not(.landing-shell) .economy-page-shell .economy-top-player-row:hover,
.app-shell:not(.landing-shell) .economy-page-shell .economy-top-player-row:focus-visible,
.app-shell:not(.landing-shell) .economy-page-shell .economy-top-player-row.is-active {
  background: rgba(73, 200, 143, 0.075);
  transform: none;
}

.app-shell:not(.landing-shell) .economy-player-page .economy-player-source-entry {
  border: 0;
  border-bottom: 0.0625rem solid var(--border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* Punishments: open command header, then one frame per data workspace. */
.app-shell:not(.landing-shell) .punishment-v2-command {
  padding: 0 0 1.1rem;
  border: 0;
  border-bottom: 0.0625rem solid var(--border);
  border-radius: 0;
  background: transparent;
}

.app-shell:not(.landing-shell) :where(.punishment-v2-results, .punishment-v2-profile-head, .punishment-v2-review) {
  border-radius: 0.5rem;
  background: var(--panel);
  box-shadow: none;
}

.app-shell:not(.landing-shell) .punishment-v2-result,
.app-shell:not(.landing-shell) .punishment-ban-registry-row,
.app-shell:not(.landing-shell) .punishment-audit-row,
.app-shell:not(.landing-shell) .punishment-v2-sanction {
  background: transparent;
}

.app-shell:not(.landing-shell) .punishment-v2-result:hover,
.app-shell:not(.landing-shell) .punishment-v2-result:focus-visible {
  background: #131b24;
}

/* Access Control already has the right split; remove the outer-card treatment. */
.app-shell:not(.landing-shell) .permissions-v3-page {
  border-radius: 0.5rem;
  box-shadow: none;
}

.app-shell:not(.landing-shell) .permissions-v3-page-head {
  background: var(--panel);
}

.app-shell:not(.landing-shell) .permissions-v3-surface {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* Player workspace is one modal frame with open bands and a flat tab rail. */
.player-workspace-overlay {
  background: rgba(4, 7, 10, 0.82);
  backdrop-filter: blur(0.3rem);
}

.player-workspace-modal {
  border-color: #344251;
  border-radius: 0.5rem;
  background: #0b1016;
  box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.42);
}

.player-workspace-topbar {
  background: #10151b;
}

.player-workspace-scroll {
  padding: 0;
  background: #0b1016;
}

.player-workspace-modal .profile-content-grid {
  gap: 0;
}

.player-workspace-modal .player-prime-hero {
  gap: 0;
  padding: 0;
  border: 0;
  border-bottom: 0.0625rem solid #26313d;
  border-radius: 0;
  background: #0d1218;
}

.player-workspace-modal .player-prime-header {
  padding: 1.05rem 1.2rem;
}

.player-workspace-modal .player-prime-statbar {
  gap: 0;
  padding: 0;
  border-top: 0.0625rem solid #26313d;
  border-bottom: 0.0625rem solid #26313d;
  background: #0b1016;
}

.player-workspace-modal .player-prime-stat {
  min-height: 3.9rem;
  padding: 0.55rem 1.2rem;
  border-right: 0.0625rem solid #26313d;
}

.player-workspace-modal .player-prime-stat:last-child {
  border-right: 0;
}

.player-workspace-modal .player-quick-strip {
  padding: 0.85rem 1.1rem 0.95rem;
}

.player-workspace-modal .player-action-shortcuts {
  gap: 0;
}

.player-workspace-modal .player-action-shortcuts .compact-action-button {
  margin: 0 -0.0625rem -0.0625rem 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.player-workspace-modal .player-action-shortcuts .compact-action-button:hover,
.player-workspace-modal .player-action-shortcuts .compact-action-button:focus-visible,
.player-workspace-modal .player-action-shortcuts .compact-action-button.is-active {
  position: relative;
  z-index: 1;
  background: #131b24;
}

.player-workspace-modal .player-tab-shell {
  top: 0;
  padding: 0;
  border-bottom-color: #26313d;
  background: rgba(11, 16, 22, 0.97);
}

.player-workspace-modal .player-tab-groups {
  gap: 0;
  padding: 0 0.8rem;
}

.player-workspace-modal .player-tab-group {
  display: contents;
}

.player-workspace-modal .player-tab-group-label {
  display: none;
}

.player-workspace-modal .player-prime-tabs {
  gap: 0;
}

.player-workspace-modal .player-tab-button {
  min-height: 3.4rem;
  padding: 0.55rem 0.72rem;
  border: 0;
  border-bottom: 0.15rem solid transparent;
  border-radius: 0;
  background: transparent !important;
  color: #91a0af;
  box-shadow: none !important;
}

.player-workspace-modal .player-tab-button:hover,
.player-workspace-modal .player-tab-button:focus-visible {
  color: #f3f7fb;
  background: #111923 !important;
  outline: none;
}

.player-workspace-modal .player-tab-button.is-active {
  border-bottom-color: #5b9eff;
  color: #f3f7fb;
}

.player-workspace-modal .player-pane-shell {
  gap: 0.9rem;
  padding: 1rem 1.2rem 1.25rem;
}

.player-workspace-modal #player-tab-content > .table-card,
.player-workspace-modal .player-pane-shell .content-grid > .table-card {
  box-shadow: none;
}

.player-workspace-modal .player-account-characters-layout {
  gap: 0;
  overflow: hidden;
  border: 0.0625rem solid #26313d;
  border-radius: 0.5rem;
  background: #10151b;
}

.player-workspace-modal .player-account-characters-layout > .table-card {
  padding: 1rem 1.1rem;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.player-workspace-modal .player-account-characters-layout > .table-card + .table-card {
  border-left: 0.0625rem solid #26313d;
}

.player-workspace-modal .player-account-characters-layout > .player-character-jobs-card {
  border-top: 0.0625rem solid #26313d;
  border-left: 0;
}

.player-workspace-modal .player-account-character {
  border-radius: 0;
}

.player-workspace-modal .player-action-panel {
  margin: 0;
  border: 0;
  border-bottom: 0.0625rem solid #26313d;
  border-radius: 0;
  background: #111923;
}

@media (max-width: 1080px) {
  .app-shell:not(.landing-shell) .manager-content .stats-grid > .stat-card,
  .app-shell:not(.landing-shell) .manager-content .metric-grid > :where(.metric, .metric-card) {
    border-right: 0;
    border-bottom: 0.0625rem solid var(--border);
  }

  .app-shell:not(.landing-shell) .manager-content .stats-grid > .stat-card:last-child,
  .app-shell:not(.landing-shell) .manager-content .metric-grid > :where(.metric, .metric-card):last-child {
    border-bottom: 0;
  }
}

@media (max-width: 900px) {
  .player-workspace-modal .player-account-characters-layout > .table-card + .table-card {
    border-top: 0.0625rem solid #26313d;
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .player-workspace-modal {
    border-radius: 0;
  }

  .player-workspace-modal .player-prime-header,
  .player-workspace-modal .player-pane-shell {
    padding-inline: 0.8rem;
  }

  .player-workspace-modal .player-prime-statbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .player-workspace-modal .player-prime-stat {
    border-right: 0;
    border-bottom: 0.0625rem solid #26313d;
  }
}

/* Keep the desktop log investigation surface in the viewport with uniform inner scrolling. */
@media (min-width: 1051px) {
  .logs-v3-page {
    grid-template-rows: auto auto auto minmax(20rem, 1fr);
    height: calc(100dvh - 9.7rem);
    min-height: 32rem;
    max-height: calc(100dvh - 9.7rem);
    overflow: hidden;
  }

  .logs-v3-workspace,
  .logs-v3-feed,
  .logs-v3-workspace .log-navigator,
  .logs-v3-workspace .detail-drawer {
    height: 100%;
    max-height: 100%;
    min-height: 0;
  }
}

/* Network health and timeout correlation */
.network-health-page {
  --network-in: #55d6be;
  --network-out: #72a7ff;
  --network-alert: #ff6b78;
}

.network-health-hero {
  display: grid;
  gap: 1rem;
}

.network-range-picker {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.network-range-picker button {
  min-width: 3.25rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0.65rem;
  background: rgba(15, 23, 42, 0.55);
  color: var(--muted);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.network-range-picker button:hover,
.network-range-picker button.is-active {
  border-color: rgba(114, 167, 255, 0.58);
  background: rgba(114, 167, 255, 0.14);
  color: #dce9ff;
}

.network-health-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.network-health-stats .stat-card {
  min-width: 0;
}

.network-health-stats .stat-card small {
  display: block;
  margin-top: 0.35rem;
  color: var(--muted);
}

.network-stat-value {
  margin-top: 0.65rem;
  color: var(--text);
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.035em;
}

.network-chart-card,
.network-timeout-card,
.network-traffic-card,
.network-command-card {
  padding: 1.1rem;
}

.network-collector-status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex: 0 0 auto;
  padding: 0.45rem 0.7rem;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 750;
}

.network-collector-status i {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #7f8da3;
}

.network-collector-status.is-live {
  border-color: rgba(85, 214, 190, 0.35);
  color: #a8ebde;
}

.network-collector-status.is-live i {
  background: var(--network-in);
  box-shadow: 0 0 0 0.25rem rgba(85, 214, 190, 0.12);
}

.network-traffic-scope {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
  padding: 0.72rem 0.8rem;
  border: 1px solid rgba(114, 167, 255, 0.18);
  border-radius: 0.7rem;
  background: rgba(114, 167, 255, 0.055);
  color: #aebed5;
  font-size: 0.78rem;
}

.network-traffic-scope i { margin-top: 0.12rem; color: var(--network-out); }
.network-traffic-scope p { margin: 0; }
.network-traffic-scope strong { color: #e1ebfb; }

.network-traffic-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 0.75rem;
  overflow: hidden;
  background: rgba(7, 12, 22, 0.34);
}

.network-traffic-stats > div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  padding: 0.8rem 0.9rem;
  border-right: 1px solid rgba(148, 163, 184, 0.11);
}

.network-traffic-stats > div:last-child { border-right: 0; }
.network-traffic-stats span,
.network-traffic-stats small { color: var(--muted); font-size: 0.72rem; }
.network-traffic-stats strong { color: var(--text); font-size: 1.05rem; }

.network-traffic-trend {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 4rem;
  margin-top: 0.75rem;
  padding: 0.45rem 0.5rem 0;
  border: 1px solid rgba(148, 163, 184, 0.11);
  border-radius: 0.65rem;
  background: linear-gradient(180deg, rgba(114, 167, 255, 0.055), transparent);
  overflow: hidden;
}

.network-traffic-trend i {
  min-width: 2px;
  flex: 1 1 0;
  max-width: 0.7rem;
  border-radius: 2px 2px 0 0;
  background: linear-gradient(180deg, #81b0ff, #426fb7);
  opacity: 0.85;
}

.network-traffic-trend-empty {
  display: grid;
  place-items: center;
  min-height: 3.5rem;
  margin-top: 0.75rem;
  border: 1px dashed rgba(148, 163, 184, 0.14);
  border-radius: 0.65rem;
  color: #68778d;
  font-size: 0.74rem;
}

.network-traffic-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 0.8rem;
}

.network-traffic-group {
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 0.75rem;
  overflow: hidden;
}

.network-traffic-group-head {
  display: grid;
  gap: 0.16rem;
  padding: 0.7rem 0.8rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.1);
  background: rgba(15, 23, 42, 0.4);
}

.network-traffic-group-head strong { color: var(--text); }
.network-traffic-group-head span { color: var(--muted); font-size: 0.72rem; }
.network-traffic-list { max-height: 24rem; overflow: auto; }

.network-traffic-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.62rem 0.75rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.08);
}

.network-traffic-row:last-child { border-bottom: 0; }
.network-traffic-row > div { display: grid; gap: 0.13rem; min-width: 0; }
.network-traffic-row > div:last-child { text-align: right; }
.network-traffic-row strong { color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.network-traffic-row small { color: var(--muted); font-size: 0.69rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.network-traffic-rank {
  display: grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 0.48rem;
  background: rgba(114, 167, 255, 0.1);
  color: #9ebfff;
  font-size: 0.68rem;
  font-weight: 800;
}

.network-telemetry-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  min-height: 8rem;
  margin-top: 0.8rem;
  padding: 1rem;
  border: 1px dashed rgba(85, 214, 190, 0.2);
  border-radius: 0.75rem;
  color: var(--muted);
}

.network-telemetry-empty i { color: var(--network-in); font-size: 1.4rem; }
.network-telemetry-empty strong { color: var(--text); }
.network-telemetry-empty p { max-width: 44rem; margin: 0.18rem 0 0; font-size: 0.78rem; }

.network-command-list { display: grid; gap: 0.5rem; }
.network-command-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 0.7rem;
  align-items: center;
  padding: 0.7rem 0.8rem;
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 0.65rem;
  background: rgba(15, 23, 42, 0.32);
}

.network-command-row > i { color: #e9b85d; }
.network-command-row > div { display: grid; gap: 0.12rem; min-width: 0; }
.network-command-row > div:nth-child(3) { text-align: right; }
.network-command-row strong { color: var(--text); overflow-wrap: anywhere; }
.network-command-row small,
.network-command-row > span { color: var(--muted); font-size: 0.72rem; }

.network-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.network-section-head h3 {
  margin: 0.18rem 0 0.25rem;
  color: var(--text);
  font-size: 1.1rem;
}

.network-section-head p {
  margin: 0;
  color: var(--muted);
  font-size: 0.83rem;
}

.network-signal-summary {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.network-signal-summary span {
  display: inline-flex;
  gap: 0.35rem;
  align-items: baseline;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 0.6rem;
  color: var(--muted);
  font-size: 0.75rem;
}

.network-signal-summary strong {
  color: var(--text);
  font-size: 0.9rem;
}

.network-signal-summary .has-warning {
  border-color: rgba(255, 107, 120, 0.35);
  background: rgba(255, 107, 120, 0.08);
  color: #ffbac1;
}

.network-chart-shell {
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 0.8rem;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.72), rgba(7, 12, 22, 0.5));
}

.network-health-chart {
  display: block;
  width: 100%;
  min-height: 17rem;
}

.network-chart-grid {
  stroke: rgba(148, 163, 184, 0.12);
  stroke-width: 1;
}

.network-chart-axis {
  fill: #7f8da3;
  font-size: 12px;
}

.network-chart-line {
  fill: none;
  stroke-width: 2.4;
  stroke-linejoin: round;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

.network-chart-line.is-incoming {
  stroke: var(--network-in);
}

.network-chart-line.is-outgoing {
  stroke: var(--network-out);
}

.network-timeout-marker line {
  stroke: var(--network-alert);
  stroke-width: 1.5;
  stroke-dasharray: 5 5;
  opacity: 0.8;
}

.network-timeout-marker circle {
  fill: var(--network-alert);
  stroke: #ffd4d8;
  stroke-width: 2;
}

.network-chart-legend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  padding: 0.65rem;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
  color: var(--muted);
  font-size: 0.75rem;
}

.network-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.network-chart-legend i {
  width: 1.15rem;
  height: 0.18rem;
  border-radius: 99px;
  background: currentColor;
}

.network-chart-legend .is-incoming { color: var(--network-in); }
.network-chart-legend .is-outgoing { color: var(--network-out); }
.network-chart-legend .is-timeout { color: var(--network-alert); }

.network-health-empty {
  display: grid;
  place-items: center;
  min-height: 17rem;
  padding: 2rem;
  text-align: center;
  border: 1px dashed rgba(148, 163, 184, 0.2);
  border-radius: 0.8rem;
  color: var(--muted);
}

.network-health-empty i {
  color: var(--network-in);
  font-size: 1.6rem;
}

.network-health-empty strong { color: var(--text); }
.network-health-empty p { margin: 0; }

.network-timeout-list {
  display: grid;
  gap: 0.65rem;
}

.network-timeout-row {
  display: grid;
  grid-template-columns: auto minmax(10rem, 0.8fr) minmax(15rem, 1.2fr) auto;
  gap: 0.8rem;
  align-items: center;
  padding: 0.8rem;
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 0.75rem;
  background: rgba(15, 23, 42, 0.38);
}

.network-timeout-row.has-spike {
  border-color: rgba(255, 107, 120, 0.36);
  background: rgba(255, 107, 120, 0.055);
}

.network-timeout-row > div:not(.network-timeout-icon) {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.network-timeout-row strong {
  color: var(--text);
}

.network-timeout-row span,
.network-timeout-row p {
  color: var(--muted);
  font-size: 0.76rem;
}

.network-timeout-row p {
  grid-column: 2 / -1;
  margin: 0;
  overflow-wrap: anywhere;
}

.network-timeout-icon {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 0.65rem;
  background: rgba(255, 107, 120, 0.12);
  color: #ff9ba5;
}

.network-health-note {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(114, 167, 255, 0.2);
  border-radius: 0.75rem;
  background: rgba(114, 167, 255, 0.07);
  color: #b9c8de;
}

.network-health-note i {
  margin-top: 0.12rem;
  color: #72a7ff;
}

.network-health-note p { margin: 0; }
.network-health-note strong { color: #e4edff; }

@media (max-width: 1050px) {
  .network-health-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .network-traffic-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .network-traffic-stats > div:nth-child(2) { border-right: 0; }
  .network-traffic-stats > div:nth-child(-n + 2) { border-bottom: 1px solid rgba(148, 163, 184, 0.11); }
  .network-timeout-row { grid-template-columns: auto minmax(0, 1fr) auto; }
  .network-timeout-row > div:nth-child(3) { grid-column: 2 / -1; }
  .network-timeout-row p { grid-column: 2 / -1; }
}

@media (max-width: 680px) {
  .network-health-stats { grid-template-columns: 1fr; }
  .network-traffic-stats,
  .network-traffic-columns { grid-template-columns: 1fr; }
  .network-traffic-stats > div { border-right: 0; border-bottom: 1px solid rgba(148, 163, 184, 0.11); }
  .network-command-row { grid-template-columns: auto minmax(0, 1fr); }
  .network-command-row > div:nth-child(3),
  .network-command-row > span { grid-column: 2; text-align: left; }
  .network-section-head { display: grid; }
  .network-signal-summary { justify-content: flex-start; }
  .network-health-chart { min-width: 42rem; }
  .network-chart-shell { overflow-x: auto; }
  .network-chart-legend { justify-content: flex-start; min-width: 42rem; }
  .network-timeout-row { grid-template-columns: auto minmax(0, 1fr); }
  .network-timeout-row > .chip { grid-column: 2; justify-self: start; }
}

/* EvoShield player IP whitelist */
.evoshield-page {
  --evoshield-accent: #65d6a6;
}

.evoshield-hero {
  border-color: rgba(101, 214, 166, 0.24);
  background:
    radial-gradient(circle at 92% 10%, rgba(101, 214, 166, 0.13), transparent 18rem),
    var(--panel);
}

.evoshield-hero .row-between {
  align-items: flex-start;
  gap: 1rem;
}

.evoshield-stats .stat-card:nth-child(2) i,
.evoshield-stats .stat-card:nth-child(3) i {
  color: var(--evoshield-accent);
}

.evoshield-status,
.evoshield-service-ip {
  margin-top: 0.85rem;
  color: var(--text-strong);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 750;
}

.evoshield-status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.evoshield-status::before {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: currentColor;
  content: '';
  box-shadow: 0 0 0 0.25rem color-mix(in srgb, currentColor 13%, transparent);
}

.evoshield-status.is-online {
  color: var(--success);
}

.evoshield-status.is-offline {
  color: var(--warning);
}

.evoshield-service-ip {
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.evoshield-workspace {
  display: grid;
  grid-template-columns: minmax(18rem, 0.72fr) minmax(26rem, 1.45fr);
  gap: 1rem;
  align-items: start;
}

.evoshield-add-card,
.evoshield-list-card {
  min-width: 0;
}

.evoshield-card-heading,
.evoshield-list-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.evoshield-card-heading h3,
.evoshield-list-head h3,
.evoshield-setup-card h3 {
  margin: 0.2rem 0 0;
  color: var(--text-strong);
}

.evoshield-card-heading > i {
  display: grid;
  place-items: center;
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 0.8rem;
  background: rgba(101, 214, 166, 0.12);
  color: var(--evoshield-accent);
}

.evoshield-add-form {
  display: grid;
  gap: 1rem;
  margin-top: 1.25rem;
}

.evoshield-add-form textarea {
  min-height: 7rem;
  resize: vertical;
}

.evoshield-add-form .primary-button {
  justify-content: center;
  width: 100%;
}

.evoshield-list-head {
  padding-bottom: 1rem;
  border-bottom: 0.0625rem solid var(--border);
}

.evoshield-list-head p {
  margin: 0.35rem 0 0;
  color: var(--muted);
  font-size: 0.82rem;
}

.evoshield-search {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: min(17rem, 45%);
  padding: 0 0.85rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.72rem;
  background: var(--panel-alt);
  color: var(--muted);
}

.evoshield-search:focus-within {
  border-color: rgba(101, 214, 166, 0.55);
  box-shadow: 0 0 0 0.2rem rgba(101, 214, 166, 0.08);
}

.evoshield-search input {
  min-width: 0;
  width: 100%;
  padding: 0.72rem 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text-strong);
}

.evoshield-list {
  display: grid;
  gap: 0.55rem;
  max-height: 32rem;
  margin-top: 0.85rem;
  overflow: auto;
}

.evoshield-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 0.8rem;
  align-items: center;
  padding: 0.8rem;
  border: 0.0625rem solid transparent;
  border-radius: 0.8rem;
  background: color-mix(in srgb, var(--panel-alt) 78%, transparent);
}

.evoshield-row:hover {
  border-color: rgba(101, 214, 166, 0.22);
}

.evoshield-row[hidden] {
  display: none;
}

.evoshield-ip-icon {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.65rem;
  background: rgba(101, 214, 166, 0.11);
  color: var(--evoshield-accent);
}

.evoshield-ip-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.evoshield-ip-copy strong {
  color: var(--text-strong);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  overflow-wrap: anywhere;
}

.evoshield-ip-copy span {
  color: var(--muted);
  font-size: 0.75rem;
}

.evoshield-security-note,
.evoshield-setup-card,
.evoshield-readonly,
.evoshield-inline-error {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
}

.evoshield-security-note {
  padding: 1rem 1.1rem;
  border: 0.0625rem solid rgba(232, 180, 93, 0.25);
  border-radius: var(--radius-md);
  background: rgba(232, 180, 93, 0.07);
  color: var(--warning);
}

.evoshield-security-note p,
.evoshield-readonly p,
.evoshield-setup-card p {
  margin: 0.25rem 0 0;
  color: var(--text);
}

.evoshield-readonly,
.evoshield-inline-error {
  margin-top: 1rem;
  padding: 0.9rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.035);
}

.evoshield-inline-error {
  border: 0.0625rem solid rgba(255, 125, 125, 0.24);
  color: var(--danger);
}

.evoshield-warning-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.8rem;
  background: rgba(232, 180, 93, 0.12);
  color: var(--warning);
}

.evoshield-code-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.85rem;
}

.evoshield-code-list code {
  padding: 0.35rem 0.5rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.45rem;
  background: var(--bg-soft);
  color: var(--text-strong);
}

@media (max-width: 960px) {
  .evoshield-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .evoshield-hero .row-between,
  .evoshield-list-head {
    align-items: stretch;
    flex-direction: column;
  }

  .evoshield-search {
    width: 100%;
  }

  .evoshield-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .evoshield-row .compact-action-button {
    grid-column: 2 / -1;
    justify-self: start;
  }
}

/* Category icons make the domain rail and activity feed faster to scan. */
.log-navigator-label {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.5rem;
}

.log-navigator-label > i {
  flex: 0 0 auto;
  width: 1rem;
  color: #718ca3;
  font-size: 0.72rem;
  text-align: center;
}

.log-navigator-label > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.log-navigator-item[data-log-navigator-value="money"] .log-navigator-label > i { color: #53d990; }
.log-navigator-item[data-log-navigator-value="inventory_items"] .log-navigator-label > i,
.log-navigator-item[data-log-navigator-value="inventory_changes"] .log-navigator-label > i { color: #e9ac46; }
.log-navigator-item[data-log-navigator-value="jobs_activities"] .log-navigator-label > i,
.log-navigator-item[data-log-navigator-value="activity_events"] .log-navigator-label > i { color: #54d4bd; }
.log-navigator-item[data-log-navigator-value="players_characters"] .log-navigator-label > i { color: #66aaf2; }
.log-navigator-item[data-log-navigator-value="vehicles"] .log-navigator-label > i,
.log-navigator-item[data-log-navigator-value="vehicle_changes"] .log-navigator-label > i { color: #55c9e5; }
.log-navigator-item[data-log-navigator-value="properties_hotels"] .log-navigator-label > i,
.log-navigator-item[data-log-navigator-value="property_changes"] .log-navigator-label > i { color: #df8f60; }
.log-navigator-item[data-log-navigator-value="staff"] .log-navigator-label > i,
.log-navigator-item[data-log-navigator-value="staff_actions"] .log-navigator-label > i { color: #b08af1; }
.log-navigator-item[data-log-navigator-value="security"] .log-navigator-label > i { color: #ff7772; }

/* Logs V4: full-width, readable activity stream with an on-demand inspector. */
.app-shell:has(.logs-v3-page) {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0.65rem clamp(0.55rem, 0.85vw, 1rem) 0.8rem;
  gap: 0.55rem;
}

.app-shell:has(.logs-v3-page) .manager-content { gap: 0; }

.logs-v3-page {
  gap: 0;
  color: #dce7f1;
  background: #090f15;
}

.logs-v3-titlebar {
  min-height: 3.45rem;
  padding: 0.35rem 0.55rem 0.55rem;
}

.logs-v3-titlebar h2 { font-size: clamp(1.5rem, 1.65vw, 1.9rem); font-weight: 700; }
.logs-v3-titlebar p { color: #8293a3; font-size: 0.78rem; }

.logs-v3-views .log-tabs-shell {
  padding: 0.42rem 0.55rem;
  border: 0;
  border-top: 0.0625rem solid #23313e;
  border-bottom: 0.0625rem solid #23313e;
  border-radius: 0;
  background: #0c131a;
}

.logs-v3-commandbar {
  gap: 0.5rem;
  padding: 0.55rem;
  border: 0;
  border-bottom: 0.0625rem solid #263542;
  border-radius: 0;
  background: #0c131a;
}

.logs-v3-control {
  min-height: 3rem;
  padding: 0.38rem 0.58rem;
  border-color: #273747;
  border-radius: 0.28rem;
  background: #0e1821;
}

.logs-v3-control > span,
.logs-v3-more-panel label > span { font-size: 0.62rem; }
.logs-v3-control select,
.logs-v3-control input,
.logs-custom-select-trigger { font-size: 0.78rem; }
.logs-v3-more summary,
.logs-v3-icon-button,
.logs-v3-refresh { min-height: 3rem; border-radius: 0.28rem; background: #0e1821; font-size: 0.75rem; }

.logs-v3-custom-range {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(13rem, 1fr) minmax(12rem, 0.85fr) auto minmax(12rem, 0.85fr) auto;
  align-items: end;
  gap: 0.65rem;
  margin: 0.08rem -0.1rem -0.1rem;
  padding: 0.65rem 0.7rem;
  border-top: 0.0625rem solid #253746;
  background: #0a141c;
}

.logs-v3-custom-range-title {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 2.5rem;
  color: #dce8f3;
}

.logs-v3-custom-range-title > i {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 0.0625rem solid #2c5d84;
  border-radius: 0.35rem;
  color: #63b3f4;
  background: rgba(45, 134, 205, 0.12);
}

.logs-v3-custom-range-title span,
.logs-v3-custom-range label {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.logs-v3-custom-range-title strong {
  font-size: 0.82rem;
}

.logs-v3-custom-range-title small,
.logs-v3-custom-range label > span {
  color: #7f91a2;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.logs-v3-custom-range-title small {
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.logs-v3-custom-range input[type="datetime-local"] {
  width: 100%;
  min-width: 0;
  min-height: 2.35rem;
  padding: 0 0.65rem;
  border: 0.0625rem solid #2b4153;
  border-radius: 0.32rem;
  outline: none;
  color: #e6eef6;
  background: #0e1a24;
  color-scheme: dark;
  font: inherit;
  font-size: 0.76rem;
}

.logs-v3-custom-range input[type="datetime-local"]:focus {
  border-color: #479ce2;
  box-shadow: 0 0 0 0.14rem rgba(71, 156, 226, 0.16);
}

.logs-v3-range-arrow {
  align-self: end;
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 2.35rem;
  color: #597083;
}

.logs-v3-custom-apply {
  min-height: 2.35rem;
  padding-inline: 0.9rem;
  border-color: #296da6;
  color: #eaf6ff;
  background: #155d96;
  white-space: nowrap;
}

.logs-v3-custom-apply:hover {
  border-color: #57a9e8;
  background: #1b6eae;
}

.logs-v3-custom-error {
  display: none;
  grid-column: 2 / -1;
  margin: -0.15rem 0 0;
  color: #ff8f98;
  font-size: 0.7rem;
}

.logs-v3-custom-error.is-visible { display: block; }

.logs-v3-workspace {
  grid-template-columns: 12.5rem minmax(0, 1fr);
  border: 0;
  border-radius: 0;
  background: #0a1117;
}

.logs-v3-workspace.has-inspector {
  grid-template-columns: 12.5rem minmax(30rem, 1fr) minmax(24rem, 26rem);
}

.logs-v3-workspace .log-navigator {
  border-right-color: #263542;
  background: #0b141c;
}

.logs-v3-workspace .log-navigator-head {
  min-height: 3rem;
  padding: 0.85rem 0.75rem;
  border-bottom-color: #263542;
}

.logs-v3-workspace .log-navigator-head h3 { font-size: 0.85rem; }
.logs-v3-workspace .log-navigator-scroll { padding: 0; }
.logs-v3-workspace .log-navigator-group { margin: 0; padding: 0.35rem 0 0.55rem; border-bottom: 0.0625rem solid #1f2c37; }
.logs-v3-workspace .log-navigator-group-title { padding: 0.55rem 0.72rem 0.36rem; color: #7790a6; font-size: 0.61rem; }
.logs-v3-workspace .log-navigator-item { min-height: 2.25rem; padding: 0.5rem 0.72rem; font-size: 0.73rem; }

.log-session-sections { gap: 0; padding: 0; }
.log-session-section {
  min-height: 3.2rem;
  padding: 0.55rem 0.72rem;
  border: 0;
  border-left: 0.16rem solid transparent;
  border-radius: 0;
  background: transparent;
}
.log-session-section + .log-session-section { border-top: 0.0625rem solid #1f2c37; }
.log-session-section:hover,
.log-session-section:focus-visible,
.log-session-section.is-active { transform: none; }

.logs-v3-feed { background: #0a1117; }

.logs-v3-feed-head,
.log-table-row {
  grid-template-columns: minmax(28rem, 1fr) minmax(8rem, 0.28fr) minmax(7.5rem, 0.23fr) minmax(7rem, 0.22fr) minmax(9rem, 0.26fr) 2.25rem;
}

.logs-v3-feed-head {
  min-height: 3rem;
  border-bottom-color: #263542;
  background: #0b141c;
  color: #8ca0b2;
  font-size: 0.67rem;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.logs-v3-feed-head span { padding: 0 0.85rem; }

.log-table-row {
  min-width: 62rem;
  min-height: 4.85rem;
  border-bottom-color: #22313d;
  background: #0a1219;
}

.log-table-row:nth-child(even) { background: #0b141c; }
.log-table-row:hover,
.log-table-row:focus-visible { background: #101d27; }
.log-table-row.is-selected { background: #10243a; box-shadow: inset 0.18rem 0 #4b9fff; }

.log-cell { padding: 0 0.85rem; font-size: 0.76rem; }
.log-cell strong { font-size: 0.77rem; }
.log-cell small { color: #8091a0; font-size: 0.66rem; }

.log-readable-cell { gap: 0.72rem; padding-block: 0.55rem; }

.log-event-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.42rem;
  background: color-mix(in srgb, var(--log-domain-color) 14%, #101b24);
  color: var(--log-domain-color);
  font-size: 0.82rem;
}

.severity-warning .log-event-icon { background: rgba(240, 165, 27, 0.12); color: #f4b633; }
.severity-danger .log-event-icon { background: rgba(255, 98, 92, 0.12); color: #ff7671; }
.log-table-row.is-death .log-event-icon {
  background: rgba(255, 82, 96, 0.15);
  color: #ff6f79;
}
.log-table-row.is-give .log-event-icon {
  background: rgba(92, 174, 255, 0.15);
  color: #75baff;
}

.log-readable-copy { display: block; min-width: 0; }
.log-readable-copy strong,
.log-readable-copy small,
.log-readable-copy em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.log-readable-copy strong { color: #f0f5fa; font-size: 0.92rem; font-weight: 690; letter-spacing: -0.01em; }
.log-readable-copy small { margin-top: 0.2rem; color: #9aabba; font-size: 0.72rem; }
.log-readable-copy em { margin-top: 0.22rem; color: #637b8e; font-size: 0.62rem; font-style: normal; }

.log-resource-cell strong { color: #d2dde6; font-size: 0.76rem; }
.log-resource-cell small { margin-top: 0.18rem; }
.log-tone-cell > span:last-child { padding: 0.22rem 0.48rem; font-size: 0.66rem; }
.log-time-cell strong { font-size: 0.76rem; }
.log-time-cell small { margin-top: 0.18rem; font-size: 0.63rem; }
.log-row-open { width: 1.8rem; height: 1.8rem; color: #71889b; }

.logs-v3-feed > footer { min-height: 2.7rem; padding-inline: 0.9rem; font-size: 0.68rem; }

.logs-v3-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.42rem;
  min-width: 0;
}

.logs-v3-pagination small {
  max-width: 18rem;
  margin-right: 0.35rem;
  overflow: hidden;
  color: #667a8c;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.logs-v3-pagination button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  min-height: 1.85rem;
  padding: 0.32rem 0.65rem;
  border: 0.0625rem solid #2c4152;
  border-radius: 0.3rem;
  color: #c7d7e4;
  background: #101c25;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.logs-v3-pagination button:hover:not(:disabled),
.logs-v3-pagination button:focus-visible:not(:disabled) {
  border-color: #459ce0;
  outline: none;
  color: #ffffff;
  background: #173149;
}

.logs-v3-pagination button:disabled {
  cursor: not-allowed;
  opacity: 0.38;
}

.logs-v3-pagination em {
  min-width: 5.5rem;
  color: #91a4b4;
  font-style: normal;
  text-align: center;
}

.logs-v3-workspace .detail-drawer {
  gap: 0.95rem;
  padding: 1rem;
  border-left-color: #2a3946;
  background: #0c151d;
}

.logs-v3-workspace .detail-drawer-head {
  align-items: flex-start;
  margin: -1rem -1rem 0;
  padding: 1rem;
  border-bottom-color: #2a3946;
}

.log-inspector-label { display: block; margin-bottom: 0.35rem; color: #71879a; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.logs-v3-workspace .detail-drawer .section-title { max-width: 22rem; color: #f2f6fa; font-size: 1.1rem; line-height: 1.28; }
.log-inspector-close { display: grid; flex: 0 0 auto; place-items: center; width: 2rem; height: 2rem; border: 0; border-radius: 0.3rem; background: transparent; color: #8ba0b2; cursor: pointer; }
.log-inspector-close:hover { background: #172530; color: #ffffff; }
.log-inspector-description { margin: -0.15rem 0 0; color: #9dafbd; font-size: 0.78rem; line-height: 1.55; }

.log-inspector-status { display: flex; align-items: center; flex-wrap: wrap; gap: 0.45rem 0.75rem; padding-bottom: 0.8rem; border-bottom: 0.0625rem solid #253541; }
.log-inspector-status > span { display: inline-flex; align-items: center; gap: 0.35rem; color: #a8b7c4; font-size: 0.7rem; font-weight: 650; }
.log-inspector-status .tone-warning { color: #f2bd55; }
.log-inspector-status .tone-danger { color: #ff8b86; }
.log-inspector-status .tone-success { color: #72d092; }

.log-inspector-facts { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 0.0625rem solid #273743; border-left: 0.0625rem solid #273743; }
.log-inspector-facts > div { min-width: 0; padding: 0.75rem; border-right: 0.0625rem solid #273743; border-bottom: 0.0625rem solid #273743; }
.log-inspector-facts dt { display: flex; align-items: center; gap: 0.42rem; margin-bottom: 0.28rem; color: #738a9d; font-size: 0.62rem; font-weight: 700; }
.log-inspector-facts dt i { width: 0.8rem; color: #7f9bb3; }
.log-inspector-facts dd { margin: 0; overflow: hidden; color: #dce6ee; font-size: 0.75rem; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }

.log-inspector-context { display: flex; align-items: flex-start; gap: 0.58rem; padding: 0.72rem 0; border-top: 0.0625rem solid #24343f; border-bottom: 0.0625rem solid #24343f; color: #8fa2b2; }
.log-inspector-context > i { margin-top: 0.15rem; color: #5d9fe3; }
.log-inspector-context p { margin: 0; font-size: 0.72rem; line-height: 1.5; }
.log-inspector-context strong { display: block; margin-bottom: 0.12rem; color: #d9e3eb; }

.log-inspector-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
.log-inspector-action { display: flex; align-items: center; justify-content: center; gap: 0.42rem; min-height: 2.65rem; border: 0.0625rem solid #354656; border-radius: 0.32rem; background: #111b24; color: #cbd7e1; cursor: pointer; font: inherit; font-size: 0.72rem; font-weight: 700; }
.log-inspector-action:hover { background: #172632; color: #ffffff; }
.log-inspector-related { display: flex; flex-wrap: wrap; gap: 0.4rem; }

.log-technical-evidence { flex: 0 0 auto; margin-top: 0; overflow: hidden; border-top: 0.0625rem solid #2b3c49; border-bottom: 0.0625rem solid #2b3c49; }
.log-technical-summary { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 0.7rem; min-height: 3.1rem; padding: 0 0.15rem; border: 0; background: transparent; color: #c5d2dc; cursor: pointer; font: inherit; text-align: left; }
.log-technical-summary > span { display: flex; align-items: center; gap: 0.45rem; color: #71879a; font-size: 0.66rem; }
.log-technical-summary strong { color: #d4dfe8; font-size: 0.76rem; }
.log-technical-summary .fa-chevron-down { transition: transform 160ms ease; }
.log-technical-evidence.is-open .log-technical-summary .fa-chevron-down { transform: rotate(180deg); }
.log-technical-body { display: grid; gap: 0.75rem; padding: 0.2rem 0 0.8rem; }
.log-technical-body dl { display: grid; gap: 0.35rem; margin: 0; }
.log-technical-body dl > div { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 0.5rem; font-size: 0.68rem; }
.log-technical-body dt { color: #6f8597; }
.log-technical-body dd { margin: 0; overflow-wrap: anywhere; color: #c7d5e0; }
.log-technical-body pre { max-height: 19rem; margin: 0; padding: 0.8rem; overflow: auto; border: 0.0625rem solid #22323e; border-radius: 0.28rem; background: #070d12; color: #a9c5dc; font: 0.67rem/1.55 "SFMono-Regular", Consolas, monospace; }
.log-technical-body .log-copy-token-row { max-height: none; margin: 0; opacity: 1; }
.log-detail-loading { display: flex; align-items: center; gap: 0.7rem; min-height: 5rem; padding: 0.85rem; border: 0.0625rem solid #223b50; background: #0b1721; color: #66adf5; }
.log-detail-loading > i { font-size: 1rem; }
.log-detail-loading span { display: grid; gap: 0.16rem; }
.log-detail-loading strong { color: #dcecff; font-size: 0.72rem; }
.log-detail-loading small { color: #7890a4; font-size: 0.64rem; line-height: 1.45; }
.log-detail-loading.is-error { border-color: rgba(226, 87, 87, 0.45); background: rgba(78, 24, 28, 0.28); color: #ff7777; }

@media (max-width: 1400px) and (min-width: 1051px) {
  .logs-v3-workspace,
  .logs-v3-workspace.has-inspector { grid-template-columns: 10rem minmax(0, 1fr) minmax(19rem, 21rem); }
  .logs-v3-workspace:not(.has-inspector) { grid-template-columns: 10rem minmax(0, 1fr); }
  .logs-v3-feed-head,
  .log-table-row { grid-template-columns: minmax(20rem, 1fr) minmax(6rem, 0.25fr) minmax(5.5rem, 0.22fr) minmax(7rem, 0.25fr) 2rem; }
  .logs-v3-feed-head > span:nth-child(2),
  .log-table-row > .log-resource-cell { display: none; }
  .log-table-row { min-width: 41rem; }
}

@media (max-width: 1050px) {
  .logs-v3-custom-range {
    grid-template-columns: minmax(11rem, 1fr) auto minmax(11rem, 1fr) auto;
  }
  .logs-v3-custom-range-title { grid-column: 1 / -1; }
  .logs-v3-custom-apply { grid-column: 4; }
  .logs-v3-custom-error { grid-column: 2 / -1; }
  .logs-v3-workspace,
  .logs-v3-workspace.has-inspector { grid-template-columns: 11rem minmax(0, 1fr); }
  .logs-v3-workspace .detail-drawer {
    position: fixed;
    z-index: 950;
    inset: 5.5rem 0 0 auto;
    width: min(28rem, 100vw);
    height: calc(100dvh - 5.5rem);
    border-left: 0.0625rem solid #344654;
    box-shadow: -1.5rem 0 4rem rgba(0, 0, 0, 0.55);
  }
}

@media (max-width: 720px) {
  .app-shell:has(.logs-v3-page) { padding-inline: 0; }
  .logs-v3-titlebar { padding-inline: 0.75rem; }
  .logs-v3-commandbar { padding: 0.6rem; }
  .logs-v3-custom-range {
    grid-template-columns: 1fr;
    gap: 0.55rem;
    margin-inline: 0;
    padding-inline: 0;
  }
  .logs-v3-custom-range-title,
  .logs-v3-custom-apply,
  .logs-v3-custom-error { grid-column: 1; }
  .logs-v3-range-arrow { display: none; }
  .logs-v3-feed > footer {
    align-items: flex-start;
    flex-direction: column;
    padding-block: 0.55rem;
  }
  .logs-v3-pagination {
    justify-content: space-between;
    width: 100%;
  }
  .logs-v3-pagination small { display: none; }
  .logs-v3-pagination button { flex: 1 1 0; }
  .logs-v3-workspace,
  .logs-v3-workspace.has-inspector { display: block; }
  .log-table-row { min-height: 6.5rem; padding: 0.6rem 0.55rem; }
  .log-table-row > .log-readable-cell { grid-column: 1; grid-row: 1 / span 3; padding: 0; }
  .log-readable-copy strong { font-size: 0.86rem; white-space: normal; }
  .log-readable-copy small { display: -webkit-box; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .log-readable-copy em { display: none; }
  .log-table-row > .log-resource-cell { display: none; }
  .log-table-row > .log-tone-cell:nth-of-type(3) { grid-column: 2; grid-row: 2; }
  .log-table-row > .log-tone-cell:nth-of-type(4) { grid-column: 2; grid-row: 3; }
  .log-table-row > .log-time-cell { grid-column: 2; grid-row: 1; }
  .logs-v3-workspace .detail-drawer { inset: 0; width: 100vw; height: 100dvh; padding: 1rem; }
  .log-inspector-facts { grid-template-columns: 1fr; }
}

/* Players directory: a separate account-level list below live/ranking views. */
.all-player-directory-card {
  min-width: 0;
  scroll-margin-top: 9.5rem;
}

.all-player-directory-scroll > [hidden] {
  display: none !important;
}

.player-ranking-card {
  scroll-margin-top: 9.5rem;
}

.player-list-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  padding: 0.45rem 0.55rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.5rem;
  background: rgba(13, 18, 24, 0.96);
  backdrop-filter: blur(0.65rem);
}

.player-list-navigation-label {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.player-list-navigation > div,
.player-directory-filterbar > div {
  display: flex;
  align-items: center;
  min-width: 0;
  overflow-x: auto;
}

.player-list-navigation-button,
.player-directory-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.35rem;
  padding: 0.42rem 0.72rem;
  border: 0;
  border-right: 0.0625rem solid var(--border);
  border-radius: 0;
  background: transparent;
  color: #93a2b1;
  font: inherit;
  font-size: 0.74rem;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
}

.player-list-navigation-button:last-child,
.player-directory-filter:last-child {
  border-right: 0;
}

.player-list-navigation-button:hover,
.player-list-navigation-button:focus-visible,
.player-directory-filter:hover,
.player-directory-filter:focus-visible {
  background: #131b24;
  color: var(--text-strong);
  outline: none;
}

.player-list-navigation-button.is-active {
  background: #13243a;
  color: #f3f7fb;
  box-shadow: inset 0 -0.14rem #5b9eff;
}

.player-list-navigation-button i,
.player-directory-filter i {
  color: #6f8498;
}

.player-list-navigation-button.is-active i,
.player-directory-filter.is-active i {
  color: #6ea8ff;
}

.player-list-navigation-button em,
.player-directory-filter em {
  min-width: 1.45rem;
  padding: 0.12rem 0.35rem;
  border-radius: 999rem;
  background: #1c2631;
  color: #b9c5d1;
  font-size: 0.64rem;
  font-style: normal;
  text-align: center;
}

.player-directory-filterbar {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: 0.8rem;
  padding: 0.5rem 0;
  border-top: 0.0625rem solid var(--border);
  border-bottom: 0.0625rem solid var(--border);
}

.player-directory-search {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  margin-top: 0.8rem;
  padding: 0.25rem 0.35rem 0.25rem 0.75rem;
  border: 0.0625rem solid #2a3745;
  border-radius: 0.55rem;
  background: #0d141b;
  color: #6daeff;
  transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.player-directory-search:focus-within {
  border-color: #5b9eff;
  background: #0f1821;
  box-shadow: 0 0 0 0.18rem rgba(91, 158, 255, 0.12);
}

.player-directory-search > i {
  font-size: 0.82rem;
}

.player-directory-search input {
  width: 100%;
  min-width: 0;
  min-height: 2.55rem;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #eef5fb;
  font: inherit;
  font-size: 0.82rem;
}

.player-directory-search input::placeholder {
  color: #71808f;
}

.player-directory-search button {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.15rem;
  padding: 0.35rem 0.65rem;
  border: 0;
  border-radius: 0.4rem;
  background: rgba(91, 158, 255, 0.1);
  color: #9fc8ff;
  font: inherit;
  font-size: 0.7rem;
  font-weight: 800;
  cursor: pointer;
}

.player-directory-search button:hover,
.player-directory-search button:focus-visible {
  background: rgba(91, 158, 255, 0.18);
  color: #eaf4ff;
  outline: none;
}

.player-directory-filterbar > span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.player-directory-filter.is-active {
  background: rgba(91, 158, 255, 0.1);
  color: #f3f7fb;
  box-shadow: inset 0 -0.14rem #5b9eff;
}

.player-list-navigation-button,
.player-directory-filter {
  --player-filter-tone: #7f91a4;
  --player-filter-soft: rgba(127, 145, 164, 0.1);
}

.player-list-navigation-button[data-player-list-section="online"],
.player-directory-filter[data-player-directory-filter="online"] {
  --player-filter-tone: #51cf91;
  --player-filter-soft: rgba(81, 207, 145, 0.12);
}

.player-list-navigation-button[data-player-list-section="all"],
.player-directory-filter[data-player-directory-filter="all"] {
  --player-filter-tone: #64a7ff;
  --player-filter-soft: rgba(100, 167, 255, 0.12);
}

.player-list-navigation-button[data-player-list-section="wealth"] {
  --player-filter-tone: #e8b85f;
  --player-filter-soft: rgba(232, 184, 95, 0.12);
}

.player-list-navigation-button[data-player-list-section="playtime"],
.player-directory-filter[data-player-directory-filter="staff"] {
  --player-filter-tone: #b790f5;
  --player-filter-soft: rgba(183, 144, 245, 0.12);
}

.player-directory-filter[data-player-directory-filter="offline"] {
  --player-filter-tone: #9ba8b6;
  --player-filter-soft: rgba(155, 168, 182, 0.11);
}

.player-directory-filter[data-player-directory-filter="low_playtime"] {
  --player-filter-tone: #efb85e;
  --player-filter-soft: rgba(239, 184, 94, 0.12);
}

.player-directory-filter[data-player-directory-filter="banned"] {
  --player-filter-tone: #f07b86;
  --player-filter-soft: rgba(240, 123, 134, 0.12);
}

.player-list-navigation-button i,
.player-directory-filter i {
  color: var(--player-filter-tone);
}

.player-list-navigation-button em,
.player-directory-filter em {
  background: var(--player-filter-soft);
  color: var(--player-filter-tone);
}

.player-list-navigation-button:hover,
.player-list-navigation-button:focus-visible,
.player-directory-filter:hover,
.player-directory-filter:focus-visible,
.player-list-navigation-button.is-active,
.player-directory-filter.is-active {
  background: var(--player-filter-soft);
}

.player-list-navigation-button.is-active,
.player-directory-filter.is-active {
  color: #f5f8fb;
  box-shadow: inset 0 -0.14rem var(--player-filter-tone);
}

.player-list-navigation-button.is-active i,
.player-directory-filter.is-active i {
  color: var(--player-filter-tone);
}

.table-row.is-staff-player {
  background: linear-gradient(90deg, rgba(112, 78, 190, 0.16), rgba(39, 72, 116, 0.07) 44%, transparent 82%) !important;
  box-shadow: inset 0.18rem 0 #9b87f5;
}

.table-row.is-staff-player:hover {
  background: linear-gradient(90deg, rgba(119, 87, 198, 0.24), rgba(44, 82, 130, 0.13) 52%, rgba(25, 31, 40, 0.18)) !important;
}

.is-staff-player .link-button {
  color: #c5b9ff;
}

.staff-player-name {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  max-width: 100%;
}

.staff-player-name > span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.staff-player-badge {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.25rem;
  min-height: 1.25rem;
  padding: 0.15rem 0.42rem;
  border: 0.0625rem solid rgba(173, 150, 255, 0.42);
  border-radius: 999rem;
  background: rgba(111, 78, 191, 0.2);
  color: #d5ccff;
  font-size: 0.6rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
}

.staff-player-badge i {
  color: #a995ff;
  font-size: 0.68rem;
}

.all-player-directory-scroll {
  max-height: 34rem;
  margin-top: 0.85rem;
  overflow: auto;
  overscroll-behavior-y: auto;
  scrollbar-gutter: stable;
  touch-action: pan-y;
}

.all-player-directory-table {
  grid-template-columns: minmax(13rem, 1.25fr) minmax(13rem, 1.1fr) minmax(11rem, 0.95fr) minmax(8rem, 0.7fr) 5.5rem;
  min-width: 58rem;
}

.all-player-directory-scroll > .table-head {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 2.55rem;
  padding-block: 0.45rem;
}

.all-player-directory-table > div {
  min-width: 0;
}

.all-player-directory-table strong,
.all-player-directory-table .table-muted {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-directory-account-meta {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.player-directory-account-meta .table-muted {
  min-width: 0;
}

.player-directory-account-meta em {
  flex: 0 0 auto;
  padding: 0.12rem 0.32rem;
  border-radius: 999rem;
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 800;
}

.player-directory-account-meta .is-staff {
  background: rgba(91, 158, 255, 0.12);
  color: #8fc0ff;
}

.player-directory-account-meta .is-banned {
  background: rgba(255, 125, 125, 0.12);
  color: #ff9292;
}

@media (max-width: 760px) {
  .all-player-directory-card,
  .player-ranking-card {
    scroll-margin-top: 12.75rem;
  }

  .player-list-navigation,
  .player-directory-filterbar {
    align-items: stretch;
    flex-direction: column;
    gap: 0.35rem;
  }

  .player-list-navigation > div,
  .player-directory-filterbar > div {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  .player-list-navigation-button,
  .player-directory-filter {
    width: 100%;
    min-width: 0;
    border-right: 0;
    border-bottom: 0.0625rem solid var(--border);
  }

  .player-list-navigation-button:nth-last-child(-n + 2),
  .player-directory-filter:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .all-player-directory-card > .row-between {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.55rem;
  }

  .all-player-directory-card > .row-between .chip {
    width: auto;
    max-width: 100%;
    white-space: normal;
    text-align: left;
  }

  .player-directory-search {
    gap: 0.55rem;
    padding-left: 0.65rem;
  }

  .player-directory-search button span {
    display: none;
  }

  .player-directory-search button {
    min-width: 2.15rem;
    justify-content: center;
    padding-inline: 0.5rem;
  }

  .all-player-directory-scroll {
    overflow-x: hidden;
  }

  .all-player-directory-scroll > .table-head {
    display: none;
  }

  .all-player-directory-scroll > .table-row.all-player-directory-table {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem 0.75rem;
    min-width: 0;
    padding: 0.8rem 0.15rem;
    align-items: start;
  }

  .all-player-directory-scroll > .table-row.all-player-directory-table > div:first-child {
    grid-column: 1;
    grid-row: 1;
  }

  .all-player-directory-scroll > .table-row.all-player-directory-table > div:last-child {
    grid-column: 2;
    grid-row: 1;
  }

  .all-player-directory-scroll > .table-row.all-player-directory-table > div:nth-child(2),
  .all-player-directory-scroll > .table-row.all-player-directory-table > div:nth-child(3),
  .all-player-directory-scroll > .table-row.all-player-directory-table > div:nth-child(4) {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 5.7rem minmax(0, 1fr);
    gap: 0.12rem 0.55rem;
    align-items: start;
  }

  .all-player-directory-scroll > .table-row.all-player-directory-table > div:nth-child(2)::before,
  .all-player-directory-scroll > .table-row.all-player-directory-table > div:nth-child(3)::before,
  .all-player-directory-scroll > .table-row.all-player-directory-table > div:nth-child(4)::before {
    grid-column: 1;
    grid-row: 1 / span 2;
    color: #718094;
    font-size: 0.58rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .all-player-directory-scroll > .table-row.all-player-directory-table > div:nth-child(2)::before {
    content: "Characters";
  }

  .all-player-directory-scroll > .table-row.all-player-directory-table > div:nth-child(3)::before {
    content: "Role / time";
  }

  .all-player-directory-scroll > .table-row.all-player-directory-table > div:nth-child(4)::before {
    content: "Last seen";
  }

  .all-player-directory-scroll > .table-row.all-player-directory-table > div:nth-child(n + 2):nth-child(-n + 4) > * {
    grid-column: 2;
  }

  .all-player-directory-table strong,
  .all-player-directory-table .table-muted {
    overflow: visible;
    white-space: normal;
  }
}

/* Landing page: open editorial portal rather than a nested card grid. */
.app-shell.landing-shell {
  min-height: 100dvh;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  background: #07090c;
}

.landing-shell::before {
  z-index: 1;
  opacity: 1;
  background:
    linear-gradient(90deg, rgba(5, 7, 10, 0.98) 0%, rgba(5, 7, 10, 0.9) 38%, rgba(5, 7, 10, 0.74) 68%, rgba(5, 7, 10, 0.88) 100%),
    linear-gradient(180deg, rgba(5, 7, 10, 0.56) 0%, rgba(5, 7, 10, 0.46) 42%, rgba(5, 7, 10, 0.98) 100%);
}

.landing-shell::after {
  display: none;
}

.landing-shell .app-main,
.landing-shell .portal-home-shell {
  width: 100%;
  min-height: 100dvh;
}

.landing-shell .app-main {
  gap: 0;
}

.landing-shell .portal-home-shell {
  display: flex;
  flex-direction: column;
  align-content: initial;
  max-width: none;
  margin: 0;
  padding: 0;
}

.landing-bg-image {
  object-position: 56% center;
  filter: saturate(0.64) contrast(1.12) brightness(0.26);
}

.landing-masthead {
  position: relative;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  width: min(100%, 96rem);
  margin: 0 auto;
  padding: clamp(1.25rem, 2.6vw, 2.5rem) clamp(1.15rem, 4.2vw, 4rem) 0;
}

.landing-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  color: #f4f7fb;
  text-decoration: none;
}

.landing-brand img {
  width: clamp(2.35rem, 3vw, 3.25rem);
  height: clamp(2.35rem, 3vw, 3.25rem);
  object-fit: contain;
}

.landing-brand > span {
  display: grid;
  gap: 0.08rem;
}

.landing-brand strong {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.45vw, 1.55rem);
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.landing-brand small {
  color: #8c97a5;
  font-size: clamp(0.52rem, 0.58vw, 0.66rem);
  font-weight: 800;
  letter-spacing: 0.24em;
  line-height: 1.2;
  text-transform: uppercase;
}

.landing-login {
  position: static;
  width: auto;
  max-width: min(32rem, 55vw);
}

.landing-auth-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.08rem 1.05rem;
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.landing-auth-card span {
  color: #7f8a98;
  font-size: 0.61rem;
  letter-spacing: 0.16em;
}

.landing-auth-card strong {
  color: #eef3f9;
  font-size: 0.88rem;
  font-weight: 760;
}

.landing-auth-card .ghost-button {
  position: relative;
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 2.25rem;
  padding: 0.3rem 0 0.3rem 1rem;
  border: 0;
  border-left: 0.0625rem solid rgba(151, 164, 180, 0.28);
  border-radius: 0;
  background: transparent;
  color: #56a8ff;
  box-shadow: none;
}

.landing-auth-card .ghost-button:hover,
.landing-auth-card .ghost-button:focus-visible {
  background: transparent;
  color: #9ccfff;
  outline: none;
}

.landing-discord-login {
  gap: 0.65rem;
  width: auto;
  min-height: 2.8rem;
  padding: 0.42rem 0.72rem 0.42rem 0.48rem;
  border-color: rgba(76, 157, 247, 0.5);
  border-radius: 0.4rem;
  background: rgba(11, 18, 27, 0.82);
  box-shadow: none;
}

.landing-discord-login:hover,
.landing-discord-login:focus-visible {
  border-color: #4c9df7;
  background: rgba(18, 32, 48, 0.94);
  transform: none;
}

.landing-discord-icon {
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 0.32rem;
  background: rgba(88, 101, 242, 0.22);
}

.landing-portal-stage {
  position: relative;
  z-index: 7;
  display: grid;
  align-content: start;
  flex: 1 1 auto;
  width: min(100%, 96rem);
  margin: 0 auto;
  padding: clamp(2.4rem, 6.2vh, 4.75rem) clamp(1.15rem, 4.2vw, 4rem) clamp(1.25rem, 3vh, 2.5rem);
}

.landing-portal-intro {
  display: grid;
  gap: clamp(0.8rem, 1.5vh, 1.25rem);
  width: min(48rem, 70%);
  margin-bottom: clamp(1.8rem, 4vh, 3.5rem);
  animation: landingReveal 480ms ease both;
}

.landing-portal-intro h1 {
  max-width: 12ch;
  margin: 0;
  color: #f7f9fc;
  font-family: var(--font-display);
  font-size: clamp(3rem, 5.2vw, 5.6rem);
  font-weight: 900;
  letter-spacing: -0.065em;
  line-height: 0.88;
  text-wrap: balance;
}

.landing-portal-intro p {
  max-width: 37rem;
  margin: 0;
  color: #b1bdca;
  font-size: clamp(0.95rem, 1.25vw, 1.2rem);
  line-height: 1.52;
}

.landing-destination-list {
  display: grid;
  width: min(100%, 82rem);
  margin-left: auto;
  border-top: 0.0625rem solid rgba(148, 163, 181, 0.28);
  animation: landingReveal 560ms ease 80ms both;
}

.landing-destination {
  --landing-destination-tone: #d9a044;
  position: relative;
  display: grid;
  grid-template-columns: 3.9rem minmax(13.65rem, 19.5rem) minmax(18.2rem, 1fr) 1.95rem;
  align-items: center;
  gap: clamp(1.1rem, 2.05vw, 2.2rem);
  min-height: clamp(5.65rem, 9.4vh, 7.02rem);
  padding: 0.85rem 1.3rem 0.85rem 0.6rem;
  border-bottom: 0.0625rem solid rgba(148, 163, 181, 0.24);
  color: #eaf0f6;
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease;
}

.landing-destination:nth-child(1) {
  --landing-destination-tone: #e8b34f;
}

.landing-destination:nth-child(2) {
  --landing-destination-tone: #f18a52;
}

.landing-destination:nth-child(3) {
  --landing-destination-tone: #b28cff;
}

.landing-destination:nth-child(4) {
  --landing-destination-tone: #4fbdf3;
}

.landing-destination:nth-child(5) {
  --landing-destination-tone: #55d38f;
}

.landing-destination:nth-child(6) {
  --landing-destination-tone: #ec75bd;
}

.landing-destination::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.125rem;
  background: var(--landing-destination-tone);
  opacity: 0;
  transform: scaleY(0.35);
  transition: opacity 150ms ease, transform 150ms ease;
}

.landing-destination:hover,
.landing-destination:focus-visible {
  background: rgba(17, 24, 33, 0.66);
  color: #ffffff;
  outline: none;
}

.landing-destination:hover::before,
.landing-destination:focus-visible::before {
  opacity: 1;
  transform: scaleY(1);
}

.landing-destination-icon {
  display: grid;
  place-items: center;
  color: var(--landing-destination-tone);
  font-size: clamp(1.5rem, 1.7vw, 1.72rem);
}

.landing-destination strong {
  font-size: clamp(1.27rem, 1.5vw, 1.59rem);
  font-weight: 800;
  letter-spacing: -0.015em;
}

.landing-destination-copy {
  overflow: hidden;
  color: #a8b3c0;
  font-size: clamp(1.04rem, 1.17vw, 1.25rem);
  line-height: 1.42;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.landing-destination-arrow {
  color: var(--landing-destination-tone);
  font-size: 1.36rem;
  text-align: right;
  transition: transform 150ms ease;
}

.landing-destination:hover .landing-destination-arrow,
.landing-destination:focus-visible .landing-destination-arrow {
  transform: translateX(0.22rem);
}

@media (max-width: 760px) {
  .landing-masthead {
    align-items: flex-start;
    padding-top: 1rem;
  }

  .landing-brand small {
    letter-spacing: 0.14em;
  }

  .landing-login {
    max-width: 55vw;
  }

  .landing-auth-card {
    gap: 0.05rem 0.6rem;
  }

  .landing-auth-card .ghost-button {
    min-width: 2.25rem;
    padding-left: 0.65rem;
  }

  .landing-auth-card .ghost-button span {
    display: none;
  }

  .landing-portal-stage {
    align-content: start;
    padding-top: clamp(2rem, 6vh, 3.25rem);
  }

  .landing-portal-intro {
    width: 100%;
    margin-bottom: 2.2rem;
  }

  .landing-portal-intro h1 {
    max-width: 11ch;
    font-size: clamp(2.65rem, 12vw, 4.15rem);
  }

  .landing-destination-list {
    width: 100%;
  }

  .landing-destination {
    grid-template-columns: 2.8rem minmax(0, 1fr) 1.35rem;
    gap: 0.3rem 0.95rem;
    min-height: 6rem;
    padding: 0.9rem 0.45rem;
  }

  .landing-destination strong {
    grid-column: 2;
    font-size: 1.18rem;
  }

  .landing-destination-copy {
    grid-column: 2;
    font-size: 0.9rem;
    line-height: 1.38;
    white-space: normal;
  }

  .landing-destination-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    font-size: 1.35rem;
  }

  .landing-destination-arrow {
    grid-column: 3;
    grid-row: 1 / span 2;
    font-size: 1.1rem;
  }
}

@media (max-width: 420px) {
  .landing-brand > span {
    display: none;
  }

  .landing-auth-card strong {
    max-width: 8.5rem;
  }
}
.unified-permissions-page {
  width: min(100%, 1680px);
  margin: 0 auto;
  padding: 1.1rem 1.35rem 2rem;
  color: #edf4ff;
}

body.permission-overlay-open {
  overflow: hidden;
}

.unified-permissions-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding: .7rem .15rem 1.25rem;
  border-bottom: 1px solid #203144;
}

.unified-permissions-header h1 {
  margin: .12rem 0 .25rem;
  font-size: clamp(2.15rem, 3vw, 3.4rem);
  letter-spacing: -.055em;
  line-height: 1;
}

.unified-permissions-header p {
  max-width: 760px;
  margin: 0;
  color: #8298af;
  font-size: .93rem;
  line-height: 1.55;
}

.unified-permissions-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
  flex-wrap: wrap;
}

.unified-permissions-header-actions > label {
  display: flex;
  align-items: center;
  min-width: min(25rem, 42vw);
  height: 2.75rem;
  padding: 0 .85rem;
  border: 1px solid #263b50;
  border-radius: .55rem;
  background: #0c151e;
  color: #6f879f;
}

.unified-permissions-header-actions input {
  width: 100%;
  border: 0;
  outline: 0;
  padding: 0 .7rem;
  background: transparent;
  color: #edf4ff;
}

.permission-guidance {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1rem;
  margin: 1rem 0;
  padding: .85rem 1rem;
  border-block: 1px solid #21374b;
  background: linear-gradient(90deg, rgba(29, 119, 255, .11), rgba(16, 28, 39, .35) 66%, rgba(35, 196, 139, .07));
}

.permission-guidance > i {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: .55rem;
  background: rgba(57, 145, 255, .16);
  color: #5aa5ff;
  font-size: 1.05rem;
}

.permission-guidance > div { display: grid; gap: .14rem; }
.permission-guidance > div:nth-last-child(-n+2) {
  min-width: 5rem;
  padding-left: 1rem;
  border-left: 1px solid #24394e;
  text-align: right;
}
.permission-guidance strong { color: #f3f7fc; font-size: .82rem; }
.permission-guidance > div:nth-last-child(-n+2) strong { font-size: 1.1rem; }
.permission-guidance span { color: #7991a9; font-size: .72rem; line-height: 1.4; }

.unified-permissions-workspace {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  min-height: min(690px, calc(100vh - 245px));
  border-block: 1px solid #203144;
  background: #0a1219;
}

.permission-section-rail {
  padding: .8rem .65rem;
  border-right: 1px solid #203144;
  background: #0b141c;
}

.permission-section-rail button {
  position: relative;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-height: 3.9rem;
  gap: .55rem;
  padding: .65rem .7rem;
  border: 0;
  border-radius: .5rem;
  background: transparent;
  color: #8096ad;
  text-align: left;
  cursor: pointer;
}

.permission-section-rail button::before {
  content: '';
  position: absolute;
  inset: .45rem auto .45rem -.66rem;
  width: 2px;
  border-radius: 2px;
  background: transparent;
}

.permission-section-rail button:hover,
.permission-section-rail button.is-active { background: #112334; color: #ddecfb; }
.permission-section-rail button:focus-visible,
.permission-staff-row:focus-visible,
.permission-role-list button:focus-visible,
.permission-inspector-tabs button:focus-visible,
.permission-history-summary:focus-visible,
.ghost-icon-button:focus-visible,
.danger-icon-button:focus-visible,
.permission-inspector > header button:focus-visible,
.permission-modal header button:focus-visible {
  outline: 2px solid #63adff;
  outline-offset: -2px;
  box-shadow: 0 0 0 3px rgba(61, 155, 255, .14);
}
.permission-section-rail button.is-active::before { background: #3d9bff; }
.permission-section-rail button > i { color: #4f96dc; text-align: center; }
.permission-section-rail button > span { display: grid; gap: .15rem; }
.permission-section-rail strong { font-size: .78rem; }
.permission-section-rail small { color: #698099; font-size: .62rem; }
.permission-section-rail em {
  min-width: 1.6rem;
  padding: .22rem .42rem;
  border-radius: 999px;
  background: #162a3c;
  color: #a9c3db;
  font-size: .66rem;
  font-style: normal;
  text-align: center;
}

.permission-access-tabs {
  grid-column: 1 / -1;
  display: flex;
  min-width: 0;
  padding: 0 .85rem;
  border-bottom: 1px solid #203144;
  background: #0c161e;
}

.permission-access-tabs button {
  position: relative;
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr) auto;
  align-items: center;
  min-width: 240px;
  gap: .55rem;
  padding: .78rem .9rem .72rem;
  border: 0;
  background: transparent;
  color: #718ba3;
  text-align: left;
  cursor: pointer;
}

.permission-access-tabs button::after {
  content: '';
  position: absolute;
  inset: auto .8rem -1px;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: transparent;
}

.permission-access-tabs button:hover,
.permission-access-tabs button.is-active { color: #e5f1fd; }
.permission-access-tabs button.is-active::after { background: #3d9bff; }
.permission-access-tabs button:focus-visible {
  outline: 2px solid #63adff;
  outline-offset: -3px;
}
.permission-access-tabs button > i { color: #559de5; text-align: center; }
.permission-access-tabs button > span { display: grid; gap: .12rem; }
.permission-access-tabs strong { font-size: .75rem; }
.permission-access-tabs small { color: #6f879d; font-size: .61rem; }
.permission-access-tabs em {
  min-width: 1.55rem;
  padding: .2rem .4rem;
  border-radius: 999px;
  background: #162a3c;
  color: #a9c3db;
  font-size: .64rem;
  font-style: normal;
  text-align: center;
}

.permission-workspace-main { min-width: 0; min-height: 0; background: #0a1219; }
.permission-workspace-main.has-inspector {
  display: grid;
  grid-template-columns: minmax(620px, 1fr) minmax(310px, 380px);
}
.permission-directory { min-width: 0; overflow: auto; }

.permission-table-head,
.permission-staff-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.25fr) minmax(135px, .85fr) minmax(140px, .9fr) 78px minmax(100px, .7fr);
  align-items: center;
  min-width: 720px;
}
.permission-table-head {
  position: sticky;
  top: 0;
  z-index: 2;
  height: 2.6rem;
  padding: 0 .8rem;
  border-bottom: 1px solid #203144;
  background: #0d1821;
  color: #6f8ba3;
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.permission-staff-row {
  width: 100%;
  min-height: 4.45rem;
  padding: .45rem .8rem;
  border: 0;
  border-bottom: 1px solid #172635;
  background: transparent;
  color: #c9d7e5;
  text-align: left;
  cursor: pointer;
}
.permission-staff-row:hover,
.permission-staff-row.is-selected { background: #0e2030; box-shadow: inset 2px 0 #3b99ff; }

.permission-person,
.permission-inspector-person { display: flex; align-items: center; gap: .72rem; }
.permission-person > em,
.permission-inspector-person > em {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid #294660;
  border-radius: .58rem;
  background: #11283b;
  color: #6eb4ff;
  font-size: .7rem;
  font-style: normal;
  font-weight: 800;
}
.permission-person > span,
.permission-inspector-person > div,
.permission-link-row > span:first-child > span { display: grid; min-width: 0; gap: .18rem; }
.permission-person strong,
.permission-inspector-person h2 {
  overflow: hidden;
  margin: 0;
  color: #edf4fb;
  font-size: .78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.permission-person small,
.permission-inspector-person small,
.permission-link-row small {
  overflow: hidden;
  color: #6b8198;
  font-size: .63rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.permission-role-badge,
.permission-source {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  gap: .35rem;
  padding: .28rem .48rem;
  border: 1px solid #2a4055;
  border-radius: 999px;
  background: #101f2c;
  color: #9fc0de;
  font-size: .64rem;
  font-style: normal;
}
.permission-role-badge.owner { border-color: rgba(242, 181, 75, .36); background: rgba(183, 125, 31, .12); color: #efc36f; }
.permission-role-badge.discord,
.permission-source.discord { border-color: rgba(111, 130, 255, .35); color: #a7b3ff; }
.permission-status-dot {
  display: inline-block;
  width: .45rem;
  height: .45rem;
  margin-right: .35rem;
  border-radius: 999px;
  background: #738295;
  box-shadow: 0 0 0 3px rgba(115, 130, 149, .08);
}
.permission-status-dot.active { background: #35d39b; box-shadow: 0 0 0 3px rgba(53, 211, 155, .1); }
.permission-status-dot.disabled { background: #f26375; box-shadow: 0 0 0 3px rgba(242, 99, 117, .1); }

.permission-inspector { min-width: 0; border-left: 1px solid #203144; background: #0d171f; }
.permission-inspector > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 5.4rem;
  padding: 1rem;
  border-bottom: 1px solid #203144;
}
.permission-inspector > header button,
.permission-modal header button { border: 0; background: transparent; color: #70869b; cursor: pointer; }
.permission-inspector-person > div > span,
.permission-role-editor-head > div > span,
.permission-flat-section > header span,
.permission-section-heading span,
.permission-modal header span {
  color: #498fd1;
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.permission-inspector-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 0 .7rem;
  border-bottom: 1px solid #203144;
}
.permission-inspector-tabs button {
  padding: .7rem .4rem;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: #72889d;
  font-size: .7rem;
  cursor: pointer;
}
.permission-inspector-tabs button.is-active { border-bottom-color: #3b9cff; color: #e5f1fd; }
.permission-inspector-body {
  max-height: calc(100vh - 390px);
  min-height: 22rem;
  overflow: auto;
  padding: 1rem;
}
.permission-effective-card { display: grid; gap: .65rem; padding-bottom: 1rem; border-bottom: 1px solid #203144; }
.permission-effective-card > span { color: #6e859b; font-size: .65rem; font-weight: 700; text-transform: uppercase; }
.permission-effective-card p { margin: 0; color: #8399ae; font-size: .7rem; line-height: 1.55; }
.permission-facts { margin: 0; padding: .55rem 0; }
.permission-facts div { display: flex; justify-content: space-between; gap: 1rem; padding: .62rem 0; border-bottom: 1px solid #172737; }
.permission-facts dt,
.permission-facts dd { margin: 0; font-size: .7rem; }
.permission-facts dt { color: #6e859b; }
.permission-facts dd { color: #d9e6f1; text-align: right; }
.permission-inspector-actions { display: flex; align-items: center; gap: .55rem; padding-top: .75rem; }
.permission-inspector-list { display: grid; }
.permission-inspector-list > div { display: flex; align-items: center; gap: .65rem; padding: .65rem 0; border-bottom: 1px solid #172737; }
.permission-inspector-list > div > span { display: grid; gap: .15rem; }
.permission-inspector-list strong { color: #dce9f4; font-size: .7rem; }
.permission-inspector-list small { color: #6f879d; font-size: .62rem; }
.allowed { color: #3bd7a1 !important; }
.blocked { color: #e56878 !important; }

.permission-role-list {
  float: left;
  width: 230px;
  min-height: 100%;
  padding: .7rem;
  border-right: 1px solid #203144;
  background: #0c161f;
}
.permission-role-list button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 3.8rem;
  padding: .6rem;
  border: 0;
  border-radius: .45rem;
  background: transparent;
  color: #8399ad;
  text-align: left;
  cursor: pointer;
}
.permission-role-list button:hover,
.permission-role-list button.is-selected { background: #11283b; color: #e2edf7; }
.permission-role-list button > span { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.permission-role-list button > span > i { color: #4c9ff2; }
.permission-role-list button > span > span { display: grid; min-width: 0; gap: .18rem; }
.permission-role-list strong { font-size: .72rem; }
.permission-role-list small { color: #688197; font-size: .6rem; }
.permission-role-list em { color: #82a3bf; font-size: .65rem; font-style: normal; }
.permission-role-editor { margin-left: 230px; min-width: 0; }
.permission-role-editor-head,
.permission-flat-section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 5.8rem;
  padding: .9rem 1.15rem;
  border-bottom: 1px solid #203144;
}
.permission-role-editor-head > div:last-child { display: flex; align-items: center; gap: .45rem; }
.permission-role-editor-head h2,
.permission-flat-section h2,
.permission-section-heading h3 { margin: .15rem 0; color: #eef5fc; font-size: 1.05rem; }
.permission-role-editor-head p,
.permission-flat-section > header p { margin: 0; color: #71899f; font-size: .68rem; line-height: 1.45; }
.permission-capability-form { max-height: calc(100vh - 320px); overflow: auto; padding-bottom: 5rem; }
.permission-capability-section { padding: 1rem 1.15rem; border-bottom: 1px solid #203144; }
.permission-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.permission-lock-note { display: inline-flex; align-items: center; gap: .35rem; color: #e6b55e; font-size: .65rem; }
.permission-panel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); gap: .5rem; }
.permission-access-card {
  position: relative;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  align-items: center;
  min-height: 4rem;
  gap: .55rem;
  padding: .6rem .7rem;
  border: 1px solid #22384b;
  border-radius: .5rem;
  background: #0d1923;
  cursor: pointer;
}
.permission-access-card.is-on { border-color: rgba(56, 157, 255, .48); background: rgba(37, 114, 178, .12); }
.permission-access-card:focus-within {
  border-color: #63adff;
  box-shadow: 0 0 0 3px rgba(61, 155, 255, .14);
}
.permission-access-card > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.permission-access-card > i { color: #4b95d8; text-align: center; }
.permission-access-card > span { display: grid; min-width: 0; gap: .15rem; }
.permission-access-card strong { color: #dbe8f3; font-size: .7rem; }
.permission-access-card small { color: #6e8499; font-size: .59rem; line-height: 1.35; }
.permission-access-card em { color: #71879b; font-size: .58rem; font-style: normal; }
.permission-access-card.is-on em { color: #48cfa0; }
.permission-action-groups { display: grid; gap: .9rem; }
.permission-action-group h4 { margin: 0 0 .35rem; color: #7f9bb5; font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
.permission-action-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 92px 90px 100px;
  align-items: center;
  gap: .55rem;
  min-height: 3.8rem;
  padding: .45rem .6rem;
  border-bottom: 1px solid #192a3a;
}
.permission-action-main { display: flex; align-items: center; gap: .65rem; }
.permission-action-row input[type="checkbox"],
.permission-status-toggle input[type="checkbox"] { flex: 0 0 auto; width: 1rem; height: 1rem; }
.permission-action-main > span { display: grid; gap: .12rem; }
.permission-action-main strong { color: #d8e5f0; font-size: .69rem; text-transform: capitalize; }
.permission-action-main small { color: #637d94; font-size: .58rem; }
.permission-action-row > label:not(.permission-action-main) { display: grid; gap: .2rem; color: #668096; font-size: .55rem; }
.permission-action-row input[type="number"] {
  width: 100%;
  height: 2rem;
  border: 1px solid #263d51;
  border-radius: .35rem;
  background: #0a141c;
  color: #dbe9f5;
  padding: 0 .45rem;
}
.permission-policy-check { grid-template-columns: auto 1fr !important; align-items: center; }
.permission-sticky-save {
  position: sticky;
  bottom: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem 1.15rem;
  border-top: 1px solid #29445c;
  background: rgba(11, 22, 31, .97);
  backdrop-filter: blur(12px);
}
.permission-sticky-save span { color: #71889d; font-size: .64rem; }
.permission-flat-section { min-height: 100%; }
.permission-link-table { min-width: 760px; }
.permission-link-head,
.permission-link-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(170px, .8fr) 110px 140px 80px;
  align-items: center;
  gap: .7rem;
  padding: 0 1.1rem;
}
.permission-link-head {
  height: 2.5rem;
  border-bottom: 1px solid #203144;
  color: #6f879e;
  font-size: .6rem;
  font-weight: 800;
  text-transform: uppercase;
}
.permission-link-row { min-height: 4.3rem; border-bottom: 1px solid #182938; color: #b9cad9; font-size: .68rem; }
.permission-link-row > span:first-child { display: flex; align-items: center; gap: .7rem; }
.permission-link-row > span:first-child > i { color: #7289da; font-size: 1rem; }
.permission-link-row strong { color: #dce8f3; font-size: .7rem; }
.permission-row-actions { display: flex; justify-content: flex-end; gap: .3rem; }
.ghost-icon-button,
.danger-icon-button {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid #2a4053;
  border-radius: .4rem;
  background: #0e1b25;
  color: #8da7bd;
  cursor: pointer;
}
.danger-icon-button { border-color: rgba(236, 86, 107, .25); color: #e56c7c; }
.permission-history-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 0; }
.permission-history-list,
.permission-snapshot-list { padding: 1rem 1.15rem; }
.permission-snapshot-list { border-left: 1px solid #203144; }
.permission-history-layout h3 { margin: 0 0 .65rem; color: #7892a9; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.permission-history-list article,
.permission-snapshot-list article { display: flex; align-items: center; gap: .7rem; min-height: 3.9rem; border-bottom: 1px solid #182938; }
.permission-history-list .permission-history-entry { display: block; min-height: 0; }
.permission-history-summary {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr) 1rem;
  align-items: center;
  width: 100%;
  min-height: 3.9rem;
  gap: .7rem;
  padding: .35rem 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.permission-history-summary > span { display: grid; min-width: 0; gap: .15rem; }
.permission-history-summary > i:last-child { color: #66849d; font-size: .6rem; }
.permission-audit-detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  padding: .1rem 0 .9rem 1.95rem;
}
.permission-audit-detail > div { min-width: 0; }
.permission-audit-detail > div > strong { display: block; margin-bottom: .3rem; color: #7f9bb5; font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }
.permission-audit-detail p,
.permission-audit-detail pre,
.permission-audit-empty {
  margin: 0;
  color: #a9bed1;
  font: inherit;
  font-size: .62rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.permission-audit-detail pre {
  max-height: 14rem;
  padding: .6rem;
  border: 1px solid #21384b;
  border-radius: .4rem;
  background: #09131b;
  overflow: auto;
}
.permission-snapshot-list article > div small { color: #5f7b92; font-size: .56rem; line-height: 1.4; }
.permission-history-list article > div,
.permission-snapshot-list article > div { display: grid; flex: 1; gap: .15rem; }
.permission-history-list strong,
.permission-snapshot-list strong { color: #dbe7f2; font-size: .68rem; }
.permission-history-list span,
.permission-snapshot-list span,
.permission-history-list small { color: #6f879d; font-size: .6rem; }
.permission-compare { padding: 1rem 1.15rem 2rem; }
.permission-compare-selects { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: .8rem; margin-bottom: 1rem; }
.permission-compare-selects label { display: grid; gap: .3rem; color: #748da4; font-size: .62rem; }
.permission-compare-selects select { height: 2.45rem; border: 1px solid #2a4155; border-radius: .4rem; background: #0b171f; color: #dce9f4; padding: 0 .6rem; }
.permission-compare-table { border-top: 1px solid #203144; }
.permission-compare-table > div {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 120px 120px;
  align-items: center;
  min-height: 2.7rem;
  border-bottom: 1px solid #192a39;
  color: #89a0b4;
  font-size: .66rem;
}
.permission-compare-table > div > :not(:first-child) { text-align: center; }
.permission-compare-value { display: grid; justify-items: center; gap: .18rem; min-width: 0; }
.permission-compare-value small { color: #829bb0; font-size: .54rem; line-height: 1.35; overflow-wrap: anywhere; }
.permission-compare-value.is-blocked small { color: #b87882; }
.permission-empty { display: grid; place-items: center; gap: .4rem; min-height: 12rem; padding: 1.5rem; color: #688096; text-align: center; }
.permission-empty i { color: #3d8bd2; font-size: 1.5rem; }
.permission-empty strong { color: #c9d8e5; font-size: .8rem; }
.permission-empty span { max-width: 28rem; font-size: .68rem; line-height: 1.5; }

.permission-modal-backdrop {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));
  background: rgba(2, 7, 12, .76);
  backdrop-filter: blur(8px);
  overflow: auto;
}
.permission-modal {
  display: flex;
  flex-direction: column;
  width: min(540px, 100%);
  max-height: calc(100dvh - 2rem);
  border: 1px solid #2c465d;
  border-radius: .75rem;
  background: #0d1821;
  box-shadow: 0 24px 90px rgba(0, 0, 0, .55);
  overflow: hidden;
}
.permission-modal header,
.permission-modal footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex: 0 0 auto;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid #22374a;
}
.permission-modal header h2 { margin: .2rem 0 0; color: #edf5fc; font-size: 1.15rem; }
.permission-modal footer { justify-content: flex-end; border-top: 1px solid #22374a; border-bottom: 0; }
.permission-modal-notice {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  flex: 0 0 auto;
  margin: .85rem 1.1rem 0;
  padding: .72rem .8rem;
  border: 1px solid rgba(248, 113, 113, .42);
  border-radius: .5rem;
  background: rgba(127, 29, 29, .22);
  color: #fecaca;
  font-size: .78rem;
  line-height: 1.45;
}
.permission-modal-notice i { margin-top: .12rem; color: #fb7185; }
.permission-modal-body { display: grid; gap: .85rem; min-height: 0; padding: 1.1rem; overflow: auto; }
.permission-modal .field { display: grid; gap: .34rem; }
.permission-modal .field > span { color: #7891a7; font-size: .65rem; font-weight: 700; }
.permission-modal .field.is-disabled { opacity: .52; }
.permission-modal input,
.permission-modal select {
  width: 100%;
  min-height: 2.65rem;
  border: 1px solid #294157;
  border-radius: .45rem;
  background: #09131b;
  color: #e1edf7;
  padding: .55rem .7rem;
}
.permission-status-toggle { display: flex; align-items: flex-start; gap: .7rem; padding: .75rem; border: 1px solid #263e52; border-radius: .5rem; background: #101d27; }
.permission-status-toggle > span { display: grid; gap: .18rem; }
.permission-status-toggle strong { color: #d9e7f2; font-size: .72rem; }
.permission-status-toggle small { color: #71889e; font-size: .62rem; line-height: 1.4; }

[aria-busy="true"] {
  cursor: wait !important;
}

@media (max-width: 1220px) {
  .unified-permissions-header { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .unified-permissions-header-actions { width: 100%; justify-content: flex-start; }
  .unified-permissions-header-actions > label { flex: 1; min-width: 16rem; }
  .unified-permissions-workspace { grid-template-columns: 1fr; }
  .permission-section-rail { display: flex; gap: .35rem; overflow-x: auto; border-right: 0; border-bottom: 1px solid #203144; }
  .permission-section-rail button { flex: 0 0 185px; }
  .permission-section-rail button::before { inset: auto .5rem -.65rem; width: auto; height: 2px; }
  .permission-workspace-main.has-inspector { grid-template-columns: minmax(540px, 1fr) minmax(300px, 350px); }
}

@media (max-width: 900px) {
  .unified-permissions-page { padding-inline: .65rem; }
  .permission-guidance { grid-template-columns: auto minmax(0, 1fr); }
  .permission-guidance > div:nth-last-child(-n+2) { display: none; }
  .permission-workspace-main.has-inspector { display: block; }
  .permission-inspector:not(.is-open) { display: none; }
  .permission-inspector { position: fixed; z-index: 900; inset: 0; padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); border: 0; overflow: auto; }
  .permission-inspector-body { max-height: none; }
  .permission-role-list { float: none; width: 100%; min-height: auto; display: flex; gap: .35rem; overflow-x: auto; border-right: 0; border-bottom: 1px solid #203144; }
  .permission-role-list button { flex: 0 0 190px; }
  .permission-role-editor { margin-left: 0; }
  .permission-action-row { grid-template-columns: minmax(180px, 1fr) 82px 82px 92px; overflow-x: auto; }
  .permission-flat-section { overflow-x: auto; }
  .permission-history-layout { grid-template-columns: 1fr; }
  .permission-snapshot-list { border-top: 1px solid #203144; border-left: 0; }
}

@media (max-width: 640px) {
  .unified-permissions-page { padding: .5rem 0 1rem; }
  .unified-permissions-header { padding-inline: .75rem; }
  .unified-permissions-header-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .unified-permissions-header-actions > label { grid-column: 1 / -1; min-width: 0; width: 100%; }
  .permission-guidance { margin-inline: .75rem; }
  .permission-section-rail { padding-inline: .55rem; }
  .permission-section-rail button { flex-basis: 155px; }
  .permission-access-tabs { padding-inline: .35rem; }
  .permission-access-tabs button { flex: 1 1 50%; min-width: 0; padding-inline: .55rem; }
  .permission-access-tabs button > small,
  .permission-access-tabs small { display: none; }
  .permission-role-editor-head,
  .permission-flat-section > header { align-items: flex-start; flex-direction: column; }
  .permission-panel-grid { grid-template-columns: 1fr; }
  .permission-capability-section { padding-inline: .75rem; }
  .permission-action-row { grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; align-items: end; }
  .permission-action-main { grid-column: 1 / -1; min-height: 2rem; }
  .permission-capability-form { max-height: none; }
  .permission-sticky-save { align-items: stretch; flex-direction: column; }
  .permission-link-table { min-width: 720px; }
  .permission-flat-section { overflow-x: auto; }
  .permission-compare { padding-inline: .65rem; overflow-x: auto; }
  .permission-compare-table > div { grid-template-columns: minmax(120px, 1fr) minmax(105px, .8fr) minmax(105px, .8fr); }
  .permission-audit-detail { grid-template-columns: 1fr; padding-left: 0; }
  .permission-modal-backdrop { place-items: end center; padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom); }
  .permission-modal { width: 100%; max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); border-radius: .75rem .75rem 0 0; }
  .permission-modal footer { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
}

/* Full-width staff command header */
.app-shell:not(.landing-shell) {
  width: 100%;
  max-width: none;
  padding: 0 0 1rem;
}

.app-shell:not(.landing-shell) > .app-main {
  width: min(calc(100% - 2rem), 112rem);
  margin: 0 auto;
}

.app-shell:not(.landing-shell) .app-topbar {
  top: 0;
  width: 100%;
  border-width: 0 0 0.0625rem;
  border-color: #29323d;
  border-radius: 0 !important;
  background: rgba(12, 15, 19, 0.985);
  box-shadow: 0 0.7rem 1.8rem rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px);
}

.app-shell:not(.landing-shell) .app-topbar-head {
  width: min(100%, 112rem);
  min-height: 4.25rem;
  margin: 0 auto;
  padding: 0.72rem 1.25rem;
}

.app-shell:not(.landing-shell) .app-topbar-head .brand-mark {
  width: 3rem;
  height: 3rem;
  flex-basis: 3rem;
  border-radius: 0.35rem;
}

.app-shell:not(.landing-shell) .app-topbar-head .section-title {
  font-size: 1.12rem;
  letter-spacing: -0.015em;
}

.app-shell:not(.landing-shell) .app-topbar-head :where(
  .global-debug-toggle,
  .topbar-meta .top-nav-button,
  .topbar-signout
) {
  min-height: 2.65rem;
  padding: 0.58rem 0.82rem;
  border-radius: 0.38rem;
  font-size: 0.78rem;
}

.app-shell:not(.landing-shell) .app-topbar .topbar-actions {
  padding: 0;
  overflow: hidden;
  border-top-color: #26303b;
  background: #10151b;
}

.app-shell:not(.landing-shell) .app-topbar .top-nav-row {
  width: min(100%, 112rem);
  margin: 0 auto;
  padding: 0 1.25rem;
  gap: 0.28rem;
  justify-content: stretch;
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button {
  flex: 1 0 8.75rem;
  min-width: 8.75rem;
  min-height: 4.15rem;
  padding: 0.95rem 1rem;
  border-radius: 0.24rem !important;
  font-size: 1rem;
  font-weight: 780;
  letter-spacing: 0;
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button[data-primary-nav="home"] { --nav-accent: #d5dbe4; }
.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button[data-primary-nav="permissions"] { --nav-accent: #a98ce8; }

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button i {
  width: 1.35rem;
  font-size: 1.18rem;
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button::after {
  right: 0.55rem;
  bottom: 0;
  left: 0.55rem;
  height: 0.2rem;
  border-radius: 0;
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button:hover,
.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button:focus-visible {
  background: #1b232c !important;
}

.app-shell:not(.landing-shell) .top-nav-row > .top-nav-button.is-active {
  background: #202a34 !important;
  box-shadow: inset 0 0 0 0.0625rem #344252;
}

@media (max-width: 760px) {
  .app-shell:not(.landing-shell) > .app-main {
    width: calc(100% - 1rem);
  }

  .app-shell:not(.landing-shell) .app-topbar-head {
    align-items: stretch;
    flex-direction: column;
    gap: 0.58rem;
    padding: 0.65rem 0.75rem 0.58rem;
  }

  .app-shell:not(.landing-shell) .app-topbar-head .topbar-meta {
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
  }

  .app-shell:not(.landing-shell) .app-topbar .top-nav-row {
    padding-inline: 0.5rem;
  }

  .app-shell:not(.landing-shell) .top-nav-row > .top-nav-button {
    flex-basis: 8rem;
    min-width: 8rem;
    min-height: 3.65rem;
    padding: 0.82rem 0.9rem;
    font-size: 0.9rem;
  }

  .app-shell:not(.landing-shell) .top-nav-row > .top-nav-button i {
    font-size: 1.08rem;
  }
}

/* Wide staff canvas: keep small gutters while allowing Logs to use the monitor. */
.app-shell:has(.logs-v3-page) > .app-main {
  width: calc(100% - clamp(1rem, 2vw, 3rem));
  max-width: none;
}

.app-shell:not(.landing-shell) .app-topbar-head,
.app-shell:not(.landing-shell) .app-topbar .top-nav-row {
  width: 100%;
  max-width: none;
}

@media (min-width: 1600px) {
  .logs-v3-workspace {
    grid-template-columns: 14rem minmax(0, 1fr);
  }

  .logs-v3-workspace.has-inspector {
    grid-template-columns: 14rem minmax(0, 1fr) minmax(26rem, 29rem);
  }

  .log-table-row {
    min-height: 5.25rem;
  }

  .log-table-head .log-cell {
    font-size: 0.68rem;
  }

  .log-readable-copy strong {
    font-size: 1rem;
  }

  .log-readable-copy small {
    font-size: 0.76rem;
  }

  .log-readable-copy em {
    font-size: 0.67rem;
  }

  .log-resource-cell strong,
  .log-time-cell strong {
    font-size: 0.82rem;
  }

  .log-resource-cell small,
  .log-time-cell small,
  .log-tone-cell > span:last-child {
    font-size: 0.7rem;
  }

  .logs-v3-navigator .domain-list-button strong,
  .logs-v3-navigator .session-domain-card strong {
    font-size: 0.76rem;
  }
}

/* Punishments V3: full-width readable records with complete reasons. */
.app-shell:has(.punishment-v2-page) > .app-main {
  width: calc(100% - clamp(1rem, 2vw, 2.5rem));
  max-width: none;
}

.app-shell:has(.punishment-v2-page) .manager-content {
  gap: 0;
}

.punishment-v2-page {
  gap: 0.8rem;
}

.punishment-v2-review {
  grid-template-columns: minmax(16rem, 0.2fr) minmax(0, 1fr);
  min-height: min(48rem, calc(100dvh - 21rem));
}

.punishment-v2-history-list {
  max-height: min(52rem, calc(100dvh - 25rem));
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.punishment-v2-sanction {
  display: block;
  min-width: 0;
  min-height: 0;
  padding: 0;
  background: transparent;
}

.punishment-v2-sanction:hover {
  background: rgba(255, 255, 255, 0.018);
}

.punishment-v2-sanction-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.35rem;
  padding: 0.7rem 1rem 0.62rem 1.15rem;
  border-bottom: 0.0625rem solid rgba(38, 49, 61, 0.72);
}

.punishment-v2-sanction-identity,
.punishment-v2-record-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.55rem;
  min-width: 0;
}

.punishment-v2-record-id {
  color: #718191;
  font-size: 0.68rem;
  font-weight: 700;
}

.punishment-v2-record-actions {
  justify-content: flex-end;
}

.punishment-v2-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  min-height: 2.35rem;
  padding: 0.42rem 0.72rem;
  border: 0.0625rem solid #344252;
  border-radius: 0.38rem;
  background: #111923;
  color: #b9c8d6;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 780;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.punishment-v2-copy i {
  color: #73aaff;
}

.punishment-v2-copy:hover,
.punishment-v2-copy:focus-visible {
  border-color: #5b9eff;
  outline: 0;
  background: #172333;
  color: #f3f7fb;
}

.punishment-v2-copy.is-copied {
  border-color: rgba(87, 199, 122, 0.65);
  background: rgba(87, 199, 122, 0.12);
  color: #7be09a;
}

.punishment-v2-copy.is-copied i {
  color: #69d48b;
}

.punishment-v2-copy.copy-failed {
  border-color: rgba(255, 111, 105, 0.65);
  color: #ff8a85;
}

.punishment-v2-sanction-body {
  display: grid;
  grid-template-columns: minmax(20rem, 1.45fr) minmax(25rem, 1fr);
  gap: 1.4rem;
  padding: 1rem 1.1rem 1.15rem 1.25rem;
}

.punishment-v2-field-label {
  display: block;
  margin-bottom: 0.38rem;
  color: #7f90a1;
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.punishment-v2-reason p {
  margin: 0;
  color: #f0f4f8;
  font-size: 0.9rem;
  font-weight: 650;
  line-height: 1.55;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.punishment-v2-lift-reason {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.55rem;
  margin-top: 0.75rem;
  padding-top: 0.72rem;
  border-top: 0.0625rem solid #26313d;
  color: #9db7a5;
  font-size: 0.74rem;
  line-height: 1.5;
}

.punishment-v2-lift-reason strong {
  color: #69d48b;
}

.punishment-v2-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(8rem, 1fr));
  align-content: start;
  gap: 0;
  margin: 0;
  border-top: 0.0625rem solid #26313d;
  border-left: 0.0625rem solid #26313d;
}

.punishment-v2-facts > div {
  min-width: 0;
  padding: 0.65rem 0.75rem;
  border-right: 0.0625rem solid #26313d;
  border-bottom: 0.0625rem solid #26313d;
}

.punishment-v2-facts dt {
  margin: 0 0 0.24rem;
  color: #758696;
  font-size: 0.58rem;
  font-weight: 850;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.punishment-v2-facts dd {
  margin: 0;
  color: #d6e0e9;
  font-size: 0.72rem;
  font-weight: 650;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.punishment-v2-revoke-form {
  margin: 0 1rem 1rem 1.15rem;
}

.punishment-ban-registry-row {
  grid-template-columns: minmax(13rem, 0.8fr) 5.5rem minmax(22rem, 1.65fr) minmax(9rem, 0.58fr) auto;
  min-width: 65rem;
}

.punishment-audit-row {
  grid-template-columns: 2rem minmax(10rem, 0.7fr) minmax(11rem, 0.75fr) minmax(22rem, 1.65fr) minmax(8rem, 0.55fr) auto;
  min-width: 72rem;
}

.punishment-ban-registry-row .punishment-ban-reason strong,
.punishment-audit-row .punishment-audit-reason strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.punishment-ban-registry-row .punishment-v2-record-actions {
  flex-wrap: nowrap;
}

@media (min-width: 1500px) {
  .punishment-v2-command {
    grid-template-columns: minmax(24rem, 1.4fr) minmax(12rem, 0.48fr) auto auto minmax(26rem, 0.9fr);
  }
}

@media (max-width: 1180px) {
  .punishment-v2-sanction-body {
    grid-template-columns: 1fr;
  }

  .punishment-v2-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .app-shell:has(.punishment-v2-page) > .app-main {
    width: calc(100% - 1rem);
  }

  .punishment-v2-review {
    min-height: 0;
  }

  .punishment-v2-history-list {
    max-height: none;
  }

  .punishment-v2-sanction-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .punishment-v2-record-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .punishment-v2-sanction-body {
    gap: 0.9rem;
    padding: 0.85rem 0.8rem 1rem 1rem;
  }

  .punishment-v2-facts {
    grid-template-columns: 1fr;
  }

  .punishment-v2-record-actions > :where(button, span) {
    flex: 1 1 auto;
  }

  .punishment-v2-copy,
  .punishment-v2-unban {
    min-height: 2.7rem;
  }
}

/* Logs query dock: one open command surface instead of nested filter cards. */
.logs-v3-page {
  grid-template-rows: auto auto minmax(32rem, 1fr);
  gap: 0.65rem;
}

.logs-v3-query-dock {
  position: relative;
  z-index: 4;
  overflow: visible;
  border-top: 0.0625rem solid #263542;
  border-bottom: 0.0625rem solid #263542;
  background: #0c131a;
  box-shadow: inset 0 0.0625rem rgba(255, 255, 255, 0.015);
}

.logs-v3-query-dock .logs-v3-views .log-tabs-shell {
  min-height: 2.85rem;
  padding: 0.45rem 0.65rem;
  border: 0;
  border-bottom: 0.0625rem solid #202e3a;
  border-radius: 0;
  background: transparent;
}

.logs-v3-query-dock .log-tabs-row {
  gap: 0.4rem;
  scrollbar-width: thin;
}

.logs-v3-query-dock .log-tab-item,
.logs-v3-query-dock .log-tab-add {
  min-height: 2.1rem;
}

.logs-v3-query-dock .log-tab-item.is-active {
  box-shadow: inset 0 -0.13rem #4b9fff;
}

.logs-v3-query-dock .log-tab-button {
  min-height: 2.1rem;
  padding-inline: 0.65rem;
}

.logs-v3-query-dock .log-tab-text strong,
.logs-v3-query-dock .log-tab-add {
  font-size: 0.76rem;
}

.logs-v3-query-dock .logs-v3-commandbar {
  display: grid;
  grid-template-columns: minmax(20rem, 1fr) minmax(9.25rem, 0.34fr) minmax(9.25rem, 0.34fr) minmax(9.25rem, 0.34fr) auto;
  gap: 0;
  align-items: stretch;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.logs-v3-query-dock .logs-v3-control {
  align-content: center;
  gap: 0.3rem;
  min-height: 4rem;
  padding: 0.62rem 0.8rem;
  border: 0;
  border-right: 0.0625rem solid #202e3a;
  border-radius: 0;
  background: transparent;
  transition: background 140ms ease, box-shadow 140ms ease;
}

.logs-v3-query-dock .logs-v3-control:hover {
  background: #0f1922;
}

.logs-v3-query-dock .logs-v3-control:focus-within {
  background: #101e2a;
  box-shadow: inset 0 -0.13rem #4b9fff;
}

.logs-v3-query-dock .logs-v3-control > span {
  display: flex;
  align-items: center;
  gap: 0.38rem;
  color: #758a9d;
  font-size: 0.61rem;
  letter-spacing: 0.055em;
}

.logs-v3-query-dock .logs-v3-control > span i {
  width: 0.8rem;
  color: #5799db;
  font-size: 0.68rem;
  text-align: center;
}

.logs-v3-query-dock .logs-v3-control select,
.logs-v3-query-dock .logs-v3-control input,
.logs-v3-query-dock .logs-custom-select-trigger {
  min-height: 1.55rem;
  color: #e7eef5;
  font-size: 0.78rem;
  font-weight: 560;
}

.logs-v3-query-dock .logs-v3-search {
  padding-left: 1rem;
  background: #0e1821;
}

.logs-v3-query-dock .logs-v3-search > div {
  gap: 0;
}

.logs-v3-query-dock .logs-v3-search input {
  font-size: 0.84rem;
  font-weight: 520;
}

.logs-v3-query-dock .logs-v3-search input::placeholder {
  color: #607384;
  opacity: 1;
}

.logs-v3-command-actions {
  display: flex;
  align-items: stretch;
  min-width: max-content;
}

.logs-v3-query-dock .logs-v3-more summary,
.logs-v3-query-dock .logs-v3-icon-button,
.logs-v3-query-dock .logs-v3-refresh {
  min-height: 4rem;
  height: 100%;
  padding-inline: 0.85rem;
  border: 0;
  border-left: 0.0625rem solid #202e3a;
  border-radius: 0;
  background: transparent;
  font-size: 0.74rem;
}

.logs-v3-query-dock .logs-v3-more summary:hover,
.logs-v3-query-dock .logs-v3-icon-button:hover {
  border-color: #202e3a;
  background: #111e29;
  color: #ffffff;
}

.logs-v3-query-dock .logs-v3-more[open] summary {
  background: #122235;
  color: #8fc4ff;
  box-shadow: inset 0 -0.13rem #4b9fff;
}

.logs-v3-query-dock .logs-v3-refresh {
  color: #9dccff;
  background: rgba(63, 156, 255, 0.09);
}

.logs-v3-query-dock .logs-v3-refresh:hover {
  border-color: #202e3a;
  color: #ffffff;
  background: rgba(63, 156, 255, 0.18);
}

.logs-v3-query-dock .logs-v3-more-panel {
  top: calc(100% + 0.45rem);
  width: min(34rem, 86vw);
  padding: 0.85rem;
  border-color: #344b5e;
  border-radius: 0.35rem;
  background: #0f1821;
  box-shadow: 0 1.2rem 3.2rem rgba(0, 0, 0, 0.56);
}

.logs-v3-query-dock .logs-v3-more-panel label:not(.logs-v3-checkbox) {
  padding: 0.5rem 0.15rem 0.62rem;
  border: 0;
  border-bottom: 0.0625rem solid #253644;
  border-radius: 0;
}

.logs-v3-query-dock .logs-v3-more-panel .compact-button {
  justify-self: start;
  min-height: 2.35rem;
  padding-inline: 0.85rem;
  border-radius: 0.28rem;
  color: #9dccff;
  background: rgba(63, 156, 255, 0.08);
}

.logs-v3-query-dock .logs-v3-custom-range {
  grid-column: 1 / -1;
  margin: 0;
  border-top: 0.0625rem solid #263542;
  border-radius: 0;
}

@media (max-width: 1180px) {
  .logs-v3-query-dock .logs-v3-commandbar {
    grid-template-columns: minmax(17rem, 1.4fr) repeat(3, minmax(8rem, 0.55fr)) auto;
  }

  .logs-v3-query-dock .logs-v3-more summary span,
  .logs-v3-query-dock .logs-v3-refresh span {
    display: none;
  }
}

@media (max-width: 900px) {
  .logs-v3-query-dock .logs-v3-commandbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .logs-v3-query-dock .logs-v3-search {
    grid-column: 1 / -1;
  }

  .logs-v3-query-dock .logs-v3-status {
    border-top: 0.0625rem solid #202e3a;
  }

  .logs-v3-command-actions {
    border-top: 0.0625rem solid #202e3a;
  }

  .logs-v3-query-dock .logs-v3-more,
  .logs-v3-query-dock .logs-v3-more summary,
  .logs-v3-query-dock .logs-v3-refresh {
    flex: 1 1 auto;
  }
}

@media (max-width: 620px) {
  .logs-v3-query-dock .logs-v3-commandbar {
    grid-template-columns: 1fr;
  }

  .logs-v3-query-dock .logs-v3-search {
    grid-column: 1;
  }

  .logs-v3-query-dock .logs-v3-control {
    min-height: 3.65rem;
    border-right: 0;
    border-bottom: 0.0625rem solid #202e3a;
  }

  .logs-v3-command-actions {
    width: 100%;
    border-top: 0;
  }

  .logs-v3-query-dock .logs-v3-more summary span,
  .logs-v3-query-dock .logs-v3-refresh span {
    display: inline;
  }

  .logs-v3-query-dock .logs-v3-more-panel {
    position: fixed;
    inset: 4.8rem 0.65rem auto;
    width: auto;
    max-height: calc(100dvh - 5.45rem);
    grid-template-columns: 1fr;
    overflow: auto;
  }
}

/* Money direction colors remain distinct from severity and review status. */
.log-table-row.money-added {
  background: linear-gradient(90deg, rgba(51, 205, 128, 0.09), rgba(10, 18, 25, 0) 24%), #0a1219;
  box-shadow: inset 0.18rem 0 #34cb80;
}

.log-table-row.money-removed {
  background: linear-gradient(90deg, rgba(255, 92, 101, 0.09), rgba(10, 18, 25, 0) 24%), #0a1219;
  box-shadow: inset 0.18rem 0 #ff5c65;
}

.log-table-row.money-added:hover,
.log-table-row.money-added:focus-visible {
  background: linear-gradient(90deg, rgba(51, 205, 128, 0.15), rgba(16, 29, 39, 0) 28%), #101d27;
}

.log-table-row.money-removed:hover,
.log-table-row.money-removed:focus-visible {
  background: linear-gradient(90deg, rgba(255, 92, 101, 0.15), rgba(16, 29, 39, 0) 28%), #101d27;
}

.log-table-row.money-added.is-selected,
.log-table-row.money-removed.is-selected {
  background-color: #10243a;
}

.log-table-row.money-added .log-event-icon {
  background: rgba(51, 205, 128, 0.15);
  color: #55e39a;
}

.log-table-row.money-removed .log-event-icon {
  background: rgba(255, 92, 101, 0.15);
  color: #ff747c;
}

.log-table-row.money-added .log-readable-copy strong {
  color: #9af0bf;
}

.log-table-row.money-removed .log-readable-copy strong {
  color: #ffabb0;
}

.logs-v3-workspace .detail-drawer.money-added {
  border-left-color: #34cb80;
  box-shadow: inset 0.18rem 0 rgba(52, 203, 128, 0.75);
}

.logs-v3-workspace .detail-drawer.money-removed {
  border-left-color: #ff5c65;
  box-shadow: inset 0.18rem 0 rgba(255, 92, 101, 0.75);
}

.detail-drawer.money-added .detail-drawer-head .section-title {
  color: #9af0bf;
}

.detail-drawer.money-removed .detail-drawer-head .section-title {
  color: #ffabb0;
}

/* Compact review columns so Activity and Source retain more horizontal room. */
@media (min-width: 1401px) {
  .logs-v3-feed-head,
  .log-table-row {
    grid-template-columns: minmax(31rem, 1fr) minmax(8rem, 0.25fr) 5.75rem 5.75rem minmax(8rem, 0.23fr) 2.25rem;
  }
}

@media (min-width: 1051px) and (max-width: 1400px) {
  .logs-v3-feed-head,
  .log-table-row {
    grid-template-columns: minmax(27rem, 1fr) 5.5rem 5.5rem minmax(7.25rem, 0.22fr) 2.1rem;
  }
}

@media (min-width: 1051px) {
  .log-table-row > .log-tone-cell,
  .logs-v3-feed-head > span:nth-child(3),
  .logs-v3-feed-head > span:nth-child(4) {
    padding-inline: 0.35rem;
  }

  .log-tone-cell > span:last-child {
    padding: 0.18rem 0.38rem;
    font-size: 0.62rem;
  }
}

/* Live map: keep the online-player rail readable beside the map. */
.live-map-workspace { display: grid; gap: 0.9rem; min-width: 0; }

.live-map-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 0.15rem 0 0.9rem;
  border-bottom: 0.0625rem solid var(--border);
}

.live-map-heading { max-width: 46rem; }
.live-map-heading .body-copy { margin-top: 0.32rem; }
.live-map-toolbar-actions { justify-content: flex-end; }

.live-map-toolbar .compact-button,
.live-map-toolbar .chip {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.live-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 26rem);
  gap: 0;
  min-width: 0;
  overflow: hidden;
  border: 0.0625rem solid var(--border);
  border-radius: var(--radius-lg);
  background: #0d1014;
}

.live-map-card { min-width: 0; overflow: hidden; background: transparent; }

.live-map-canvas-bar {
  min-height: 3.2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem 1rem;
  border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.06);
  background: #111419;
}

.live-map-filter-bar {
  min-height: 3.2rem;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.8rem;
  border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.06);
  background: #0f1217;
}

.live-map-filter-search,
.live-map-filter-select {
  min-height: 2.15rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 0.0625rem solid rgba(148, 163, 184, 0.2);
  border-radius: 0.42rem;
  background: #0b0f14;
  color: #8fa0b2;
}

.live-map-filter-search {
  flex: 1 1 16rem;
  max-width: 28rem;
  padding: 0 0.65rem;
}

.live-map-filter-search:focus-within,
.live-map-filter-select:focus-within {
  border-color: rgba(110, 168, 255, 0.72);
  box-shadow: 0 0 0 0.15rem rgba(110, 168, 255, 0.1);
}

.live-map-filter-search input,
.live-map-filter-select select {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 0.75rem;
}

.live-map-filter-search input { width: 100%; }
.live-map-filter-search input::placeholder { color: #6f7d8c; }

.live-map-filter-select {
  flex: 0 0 auto;
  padding-left: 0.65rem;
}

.live-map-filter-select span {
  color: #8190a0;
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.live-map-filter-select select {
  min-height: 2.05rem;
  padding: 0 1.8rem 0 0.15rem;
  cursor: pointer;
}

.live-map-filter-select select option { background: #111820; color: var(--text); }

.live-map-filter-summary {
  margin-left: auto;
  color: #8fa0b2;
  font-size: 0.7rem;
  font-weight: 750;
  white-space: nowrap;
}

.live-map-filter-clear {
  min-height: 2.15rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0 0.65rem;
  border: 0;
  border-radius: 0.38rem;
  background: rgba(110, 168, 255, 0.09);
  color: #a9c8f7;
  font-size: 0.7rem;
  font-weight: 800;
  cursor: pointer;
}

.live-map-filter-clear:hover:not(:disabled) { background: rgba(110, 168, 255, 0.16); }
.live-map-filter-clear:disabled { opacity: 0.38; cursor: default; }

.live-map-online-count,
.live-map-side-count {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #a9b7c5;
  font-size: 0.7rem;
  font-weight: 750;
  white-space: nowrap;
}

.live-map-online-count::before {
  content: '';
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: var(--success);
  box-shadow: 0 0 0 0.18rem rgba(105, 184, 108, 0.12);
}

.live-map-side-card {
  min-width: 0;
  padding: 0;
  border-left: 0.0625rem solid var(--border);
  background: #101318;
}

.live-map-side-head {
  padding: 1rem 1.05rem 0.85rem;
  border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.07);
  background: #111419;
}

.live-map-side-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.live-map-side-count {
  min-width: 2.3rem;
  justify-content: center;
  padding: 0.28rem 0.48rem;
  border: 0.0625rem solid rgba(105, 184, 108, 0.2);
  border-radius: 999rem;
  color: #9be0b7;
  background: rgba(105, 184, 108, 0.08);
}

.live-map-side-head .table-muted {
  max-width: 25rem;
  margin-top: 0.3rem;
  font-size: 0.72rem;
  line-height: 1.45;
}

.live-map-shell {
  position: relative;
  width: 100%;
  aspect-ratio: 1.08 / 1;
  overflow: hidden;
  background: #101215;
}

.live-map-player-list {
  gap: 0;
  max-height: clamp(32rem, calc(100vh - 17rem), 52rem);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.35rem 0.65rem 0.75rem;
  scrollbar-gutter: stable;
  min-width: 0;
}

.live-map-player-list .live-map-player-row {
  grid-template-columns: minmax(0, 1fr) 2.25rem;
  gap: 0.8rem;
  min-height: 4.15rem;
  padding: 0.62rem 0.48rem;
  border: 0;
  border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.065);
  border-radius: 0;
  background: transparent;
}

.live-map-player-list .live-map-player-row:hover,
.live-map-player-list .live-map-player-row:focus-visible {
  background: rgba(110, 168, 255, 0.075);
  box-shadow: inset 0.16rem 0 #6ea8ff;
}

.live-map-player-copy { min-width: 0; overflow: visible; }
.live-map-player-row strong { font-size: 0.86rem; line-height: 1.25; }

.live-map-player-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem 0.55rem;
  margin-top: 0.24rem;
  color: #8392a5;
  font-size: 0.67rem;
  line-height: 1.3;
}

.live-map-player-meta span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-map-player-meta span + span { position: relative; padding-left: 0.58rem; }
.live-map-player-meta span + span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 0.2rem;
  height: 0.2rem;
  border-radius: 50%;
  background: #47566a;
  transform: translateY(-50%);
}

.live-map-player-meta i,
.map-player-vitals i {
  margin-right: 0.24rem;
}

.live-map-player-health,
.map-player-health {
  color: hsl(var(--player-health-hue, 120) 72% 58%);
}

.live-map-player-medical-state,
.map-player-medical-state {
  display: inline-flex;
  align-items: center;
  gap: 0.24rem;
  font-weight: 850;
}

.live-map-player-medical-state.is-dead,
.map-player-medical-state.is-dead {
  color: #ff6875;
}

.live-map-player-medical-state.is-last-stand,
.map-player-medical-state.is-last-stand {
  color: #ffb454;
}

.map-player-vitals {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.65rem;
  margin-top: 0.34rem;
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 700;
}

.live-map-trust-ring { width: 2rem; height: 2rem; font-size: 0.62rem; }

@media (max-width: 1380px) {
  .live-map-layout { grid-template-columns: minmax(0, 1fr); }
  .live-map-side-card { border-top: 0.0625rem solid var(--border); border-left: 0; }
  .live-map-player-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 24rem;
    gap: 0 1rem;
  }
}

@media (max-width: 1080px) {
  .live-map-toolbar { align-items: flex-start; flex-direction: column; }
  .live-map-toolbar-actions { width: 100%; justify-content: flex-start; }
}

@media (max-width: 720px) {
  .live-map-player-list { grid-template-columns: minmax(0, 1fr); max-height: 28rem; }
  .live-map-player-list .live-map-player-row { min-height: 3.9rem; }
}

/* Live Map staff tools: lightweight scroll zoom and audited area cleanup. */
.live-map-workspace {
  --live-map-canvas-height: clamp(39.0625rem, 87.5vh, 59.375rem);
}

.live-map-shell {
  height: var(--live-map-canvas-height);
  aspect-ratio: auto;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: #465468 #11161d;
  cursor: grab;
  touch-action: none;
}

.live-map-shell.is-dragging,
.live-map-shell.is-dragging :where(.live-map-surface, .live-map-layer) {
  cursor: grabbing;
  user-select: none;
}

.live-map-shell.is-dragging .live-map-image {
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.live-map-side-card {
  max-height: calc(var(--live-map-canvas-height) + 6.4rem);
  overflow: hidden;
}

.live-map-player-list {
  max-height: calc(var(--live-map-canvas-height) + 1.7rem);
}

.live-map-surface {
  position: relative;
  aspect-ratio: 1 / 1;
  min-width: 100%;
  min-height: 100%;
  transform-origin: top left;
}

.live-map-surface .live-map-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: fill;
}

.live-map-shell.is-selecting-cleanup,
.live-map-shell.is-selecting-cleanup :where(.live-map-surface, .live-map-layer) {
  cursor: crosshair;
}

.live-map-shell.is-selecting-cleanup.is-dragging,
.live-map-shell.is-selecting-cleanup.is-dragging :where(.live-map-surface, .live-map-layer) {
  cursor: grabbing;
}

.live-map-shell.is-selecting-cleanup :where(.map-marker, .map-vehicle-marker) {
  pointer-events: none;
  opacity: 0.72;
}

.live-map-canvas-tools {
  display: flex;
  align-items: center;
  gap: 0.42rem;
  color: var(--text-muted);
  font-size: 0.72rem;
}

.map-wheel-hint {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  color: #91a0b3;
  white-space: nowrap;
}

.map-wheel-hint i {
  color: #6ea8ff;
}

.live-map-canvas-tools button {
  min-width: 1.9rem;
  min-height: 1.8rem;
  padding: 0.2rem 0.5rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.35rem;
  background: #151a21;
  color: var(--text);
  cursor: pointer;
}

.live-map-canvas-tools button:hover,
.live-map-canvas-tools button:focus-visible {
  border-color: var(--accent);
  outline: none;
}

.map-cleanup-toggle.is-active {
  border-color: #ff4d5f;
  background: rgba(132, 24, 39, 0.48);
  color: #ffd7dc;
}

.map-cleanup-radius {
  position: absolute;
  z-index: 4;
  box-sizing: border-box;
  border: 0.12rem solid #ff364d;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(255, 54, 77, 0.08) 0 48%, rgba(222, 25, 48, 0.24) 49% 100%);
  box-shadow: 0 0 0 0.14rem rgba(255, 54, 77, 0.2), 0 0 1.2rem rgba(255, 37, 62, 0.55), inset 0 0 0.65rem rgba(255, 80, 99, 0.25);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.map-cleanup-radius::before {
  content: '';
  position: absolute;
  inset: 25%;
  border: 0.0625rem dashed rgba(255, 184, 193, 0.78);
  border-radius: 50%;
}

.map-cleanup-radius-center {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.38rem;
  height: 0.38rem;
  border: 0.1rem solid #ffe9ec;
  border-radius: 50%;
  background: #ff2f48;
  box-shadow: 0 0 0 0.15rem rgba(255, 47, 72, 0.35), 0 0 0.7rem rgba(255, 70, 92, 0.9);
  transform: translate(-50%, -50%);
}

.map-cleanup-radius-line {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 50%;
  border-top: 0.0625rem dashed rgba(255, 225, 230, 0.92);
  transform: translateY(-50%);
}

.map-cleanup-radius-line::after {
  content: '';
  position: absolute;
  right: -0.1rem;
  top: -0.16rem;
  width: 0.26rem;
  height: 0.26rem;
  border-radius: 50%;
  background: #ffe9ec;
  box-shadow: 0 0 0.35rem rgba(255, 54, 77, 0.95);
}

.map-cleanup-radius-label {
  position: absolute;
  left: calc(100% + 0.35rem);
  top: 50%;
  min-width: max-content;
  padding: 0.26rem 0.38rem;
  border: 0.0625rem solid rgba(255, 54, 77, 0.72);
  border-radius: 0.3rem;
  background: rgba(35, 8, 13, 0.95);
  color: #ffdce1;
  font-size: 0.58rem;
  line-height: 1.15;
  transform: translateY(-50%);
  box-shadow: 0 0.3rem 0.8rem rgba(0, 0, 0, 0.36);
}

.map-cleanup-radius-label strong,
.map-cleanup-radius-label small {
  display: block;
}

.map-cleanup-radius-label strong {
  font-weight: 900;
}

.map-cleanup-radius-label small {
  margin-top: 0.1rem;
  color: #e7a8b1;
  font-size: 0.5rem;
}

.map-cleanup-radius.is-near-right .map-cleanup-radius-label {
  right: calc(100% + 0.35rem);
  left: auto;
}

.map-cleanup-confirm {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  z-index: 240;
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 1.2fr) auto auto;
  align-items: center;
  gap: 0.65rem;
  width: min(78rem, calc(100vw - 2rem));
  margin: 0 auto;
  padding: 0.85rem;
  border: 0.0625rem solid rgba(255, 137, 100, 0.42);
  border-radius: 0.75rem;
  background: rgba(13, 17, 23, 0.97);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(14px);
}

.map-cleanup-confirm div,
.map-cleanup-confirm strong,
.map-cleanup-confirm small { display: block; }
.map-cleanup-confirm small { margin-top: 0.18rem; color: var(--text-muted); }
.map-cleanup-confirm input {
  min-height: 2.35rem;
  padding: 0.45rem 0.65rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.35rem;
  background: #11161c;
  color: var(--text);
}

.map-vehicle-marker {
  position: absolute;
  z-index: 2;
  display: inline-grid;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  place-items: center;
  border: 0.0625rem solid #63d3b9;
  border-radius: 0.35rem;
  background: rgba(10, 54, 47, 0.94);
  color: #d9fff6;
  transform: translate(-50%, -50%);
  cursor: pointer;
}

.map-vehicle-marker.is-occupied { border-color: #ffb95b; background: rgba(78, 49, 13, 0.95); }
.map-vehicle-marker.is-in-cleanup-radius {
  z-index: 6;
  border-color: #ff6b35;
  background: rgba(113, 35, 12, 0.98);
  color: #fff4e8;
  box-shadow: 0 0 0 0.15rem rgba(255, 107, 53, 0.28), 0 0 0.85rem rgba(255, 107, 53, 0.82);
}
.map-vehicle-marker.is-in-cleanup-radius.is-cleanup-protected {
  border-style: dashed;
  border-color: #ffd16f;
  background: rgba(75, 54, 13, 0.98);
  box-shadow: 0 0 0 0.12rem rgba(255, 209, 111, 0.22);
}
.map-vehicle-marker > span {
  position: absolute;
  bottom: calc(100% + 0.3rem);
  padding: 0.16rem 0.28rem;
  border-radius: 0.22rem;
  background: #0d1218;
  color: #fff;
  font-size: 0.56rem;
  opacity: 0;
  pointer-events: none;
}
.map-vehicle-marker:hover > span,
.map-vehicle-marker:focus-visible > span { opacity: 1; }

.map-vehicle-popover { min-width: 17rem; max-width: 20rem; }
.map-vehicle-remove-form { display: grid; gap: 0.45rem; margin-top: 0.55rem; }
.map-vehicle-reason { display: grid; gap: 0.22rem; }
.map-vehicle-reason span { color: var(--text-muted); font-size: 0.65rem; font-weight: 800; }
.map-vehicle-reason input { min-height: 2.2rem; padding: 0.42rem 0.55rem; border: 0.0625rem solid var(--border); border-radius: 0.3rem; background: #10161d; color: var(--text); }
.map-vehicle-occupied-note { margin-top: 0.5rem; color: #ffd59b; font-size: 0.68rem; }

@media (max-width: 900px) {
  .map-cleanup-confirm { grid-template-columns: minmax(0, 1fr); }
  .live-map-canvas-bar { align-items: flex-start; flex-direction: column; gap: 0.55rem; }
  .live-map-canvas-tools { flex-wrap: wrap; }
  .live-map-filter-bar { flex-wrap: wrap; }
  .live-map-filter-search { max-width: none; }
  .live-map-filter-summary { margin-left: 0; }
}

@media (max-width: 1380px) {
  .live-map-side-card { max-height: none; }
  .live-map-player-list { max-height: 24rem; }
}

@media (max-width: 720px) {
  .live-map-workspace { --live-map-canvas-height: clamp(34.375rem, 81.25vh, 46.875rem); }
  .live-map-filter-search,
  .live-map-filter-select { flex: 1 1 100%; max-width: none; }
  .live-map-filter-select select { flex: 1; }
}

/* Read-only staff reference for configured jobs, gangs, grades, and memberships. */
.information-page {
  --information-accent: #9b87f5;
  --information-accent-soft: rgba(155, 135, 245, 0.13);
  gap: 1rem;
}

.information-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.8rem;
  background: linear-gradient(115deg, rgba(155, 135, 245, 0.11), rgba(17, 17, 17, 0.4) 42%), #18191c;
}

.information-title {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-width: 0;
}

.information-title > span {
  display: grid;
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border: 0.0625rem solid rgba(155, 135, 245, 0.42);
  border-radius: 0.7rem;
  background: var(--information-accent-soft);
  color: #c8bbff;
  font-size: 1.05rem;
}

.information-title h2,
.information-title p,
.information-detail-section h3,
.information-detail-section p {
  margin: 0;
}

.information-title h2 {
  color: var(--text-strong);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  letter-spacing: -0.03em;
}

.information-title > div > p:last-child {
  margin-top: 0.25rem;
  color: var(--muted);
  font-size: 0.86rem;
}

.information-summary {
  display: flex;
  align-items: center;
  gap: 0;
  min-height: 4.25rem;
  padding: 0 1.1rem;
  border: 0.0625rem solid var(--border);
  border-radius: 0.8rem;
  background: #18191c;
}

.information-summary > div {
  display: grid;
  min-width: 7.5rem;
  padding: 0.55rem 1.15rem;
  border-right: 0.0625rem solid var(--border);
}

.information-summary > div:first-child { padding-left: 0.2rem; }
.information-summary strong { color: var(--text-strong); font-size: 1.18rem; line-height: 1.15; }
.information-summary span { margin-top: 0.18rem; color: var(--muted); font-size: 0.69rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.information-summary > small { margin-left: auto; color: var(--muted); font-size: 0.72rem; }

.information-directory {
  overflow: hidden;
  border: 0.0625rem solid var(--border);
  border-radius: 0.8rem;
  background: #17181b;
}

.information-controls {
  display: grid;
  grid-template-columns: auto minmax(18rem, 34rem);
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border-bottom: 0.0625rem solid var(--border);
}

.information-tabs {
  display: inline-flex;
  gap: 0.25rem;
  padding: 0.25rem;
  border-radius: 0.55rem;
  background: #111215;
}

.information-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 0.48rem;
  min-height: 2.35rem;
  padding: 0.4rem 0.72rem;
  border: 0;
  border-radius: 0.4rem;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

.information-tabs button:hover { color: var(--text-strong); }
.information-tabs button.is-active { background: var(--information-accent-soft); color: #d5ccff; }
.information-tabs button span { color: inherit; font-weight: 800; }
.information-tabs button em { min-width: 1.45rem; padding: 0.1rem 0.35rem; border-radius: 999px; background: rgba(255, 255, 255, 0.06); color: inherit; font-size: 0.68rem; font-style: normal; text-align: center; }

.information-search {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.65rem;
  padding: 0 0.72rem;
  border: 0.0625rem solid var(--border-strong);
  border-radius: 0.55rem;
  background: #111215;
  color: var(--muted);
}

.information-search:focus-within { border-color: rgba(155, 135, 245, 0.7); box-shadow: 0 0 0 0.18rem rgba(155, 135, 245, 0.1); }
.information-search input { min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text-strong); }
.information-search input::placeholder { color: #6f7480; }
.information-search kbd { padding: 0.12rem 0.4rem; border: 0.0625rem solid var(--border); border-radius: 0.25rem; color: var(--muted); font: 700 0.65rem/1.2 var(--font-ui); }

.information-list-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  border-bottom: 0.0625rem solid var(--border);
  background: #151619;
}

.information-list-heading > div { display: flex; align-items: baseline; gap: 0.65rem; }
.information-list-heading strong { color: var(--text-strong); font-size: 0.82rem; }
.information-list-heading span { color: var(--muted); font-size: 0.7rem; }
.information-list-heading > span { color: #b7a8f7; font-weight: 800; }

.information-organization-list { display: grid; }
.information-organization { border-bottom: 0.0625rem solid var(--border); }
.information-organization:last-child { border-bottom: 0; }
.information-organization[hidden] { display: none; }
.information-organization > summary { list-style: none; }
.information-organization > summary::-webkit-details-marker { display: none; }

.information-organization > summary {
  display: grid;
  grid-template-columns: auto minmax(13rem, 1fr) 5rem 5rem 6.5rem auto auto;
  align-items: center;
  gap: 0.8rem;
  min-height: 4.5rem;
  padding: 0.68rem 1rem;
  cursor: pointer;
  transition: background 120ms ease;
}

.information-organization > summary:hover { background: rgba(255, 255, 255, 0.022); }
.information-organization[open] > summary { background: rgba(155, 135, 245, 0.055); }

.information-org-icon {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border-radius: 0.55rem;
  background: var(--information-accent-soft);
  color: #b6a7f8;
}

.information-org-name,
.information-org-metric {
  display: grid;
  min-width: 0;
}

.information-org-name strong { overflow: hidden; color: var(--text-strong); font-size: 0.86rem; text-overflow: ellipsis; white-space: nowrap; }
.information-org-name small { overflow: hidden; margin-top: 0.2rem; color: var(--muted); font-size: 0.68rem; text-overflow: ellipsis; white-space: nowrap; }
.information-org-metric strong { color: #dddfe4; font-size: 0.82rem; }
.information-org-metric small { color: var(--muted); font-size: 0.63rem; text-transform: uppercase; }

.information-org-online,
.information-member-status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #77d9aa;
  font-size: 0.68rem;
  font-weight: 800;
}

.information-org-online i,
.information-member-status i {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: #49c88f;
  box-shadow: 0 0 0 0.2rem rgba(73, 200, 143, 0.09);
}

.information-stale-badge { padding: 0.22rem 0.42rem; border-radius: 0.3rem; background: rgba(232, 180, 93, 0.11); color: var(--warning); font-size: 0.62rem; font-weight: 800; }
.information-org-chevron { color: var(--muted); font-size: 0.7rem; transition: transform 150ms ease; }
.information-organization[open] .information-org-chevron { transform: rotate(180deg); }

.information-org-detail {
  display: grid;
  grid-template-columns: minmax(19rem, 0.85fr) minmax(28rem, 1.6fr);
  border-top: 0.0625rem solid rgba(155, 135, 245, 0.14);
  background: #141518;
}

.information-detail-section { min-width: 0; padding: 0.95rem 1rem 1rem; }
.information-detail-section + .information-detail-section { border-left: 0.0625rem solid var(--border); }
.information-detail-section > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.65rem; }
.information-detail-section h3 { color: var(--text-strong); font-size: 0.78rem; }
.information-detail-section p { margin-top: 0.12rem; color: var(--muted); font-size: 0.66rem; }
.information-detail-section > header > span { color: #b7a8f7; font-size: 0.72rem; font-weight: 800; }

.information-grade-list,
.information-member-list { display: grid; }
.information-grade-row {
  display: grid;
  grid-template-columns: 2rem minmax(7rem, 1fr) auto 4.25rem;
  align-items: center;
  gap: 0.6rem;
  min-height: 3rem;
  border-top: 0.0625rem solid #24262b;
}

.information-grade-row:first-child,
.information-member-row:first-child { border-top: 0; }
.information-grade-number { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; border-radius: 0.38rem; background: rgba(155, 135, 245, 0.1); color: #b8aaf8; font-size: 0.68rem; font-weight: 900; }
.information-grade-row > div,
.information-grade-pay,
.information-grade-members { display: grid; }
.information-grade-row strong { color: #dedfe4; font-size: 0.73rem; }
.information-grade-row small { color: var(--muted); font-size: 0.6rem; }
.information-grade-pay,
.information-grade-members { color: #d4d6dc; font-size: 0.7rem; font-weight: 800; text-align: right; }

.information-member-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  border-top: 0.0625rem solid #24262b;
}

.information-member-open {
  display: grid;
  grid-template-columns: auto minmax(10rem, 1fr) minmax(7rem, 0.65fr) 4.5rem auto;
  align-items: center;
  gap: 0.65rem;
  flex: 1 1 auto;
  width: 100%;
  min-height: 3.15rem;
  padding: 0.3rem 0.2rem;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.information-member-row:hover { background: rgba(255, 255, 255, 0.025); }
.information-member-open > .fa-chevron-right { color: #5d626d; font-size: 0.62rem; }
.information-member-remove {
  display: grid;
  flex: 0 0 auto;
  width: 1.8rem;
  height: 1.8rem;
  place-items: center;
  border: 0.0625rem solid rgba(239, 93, 111, 0.2);
  border-radius: 0.45rem;
  background: rgba(239, 93, 111, 0.06);
  color: #d7848f;
  cursor: pointer;
}
.information-member-remove:hover { border-color: rgba(239, 93, 111, 0.5); background: rgba(239, 93, 111, 0.13); color: #ffadba; }
.information-member-avatar { display: grid; width: 1.75rem; height: 1.75rem; place-items: center; border-radius: 50%; background: #26282e; color: #d8dbe2; font-size: 0.62rem; font-weight: 900; }
.information-member-identity,
.information-member-grade { display: grid; min-width: 0; }
.information-member-identity strong,
.information-member-grade strong { overflow: hidden; color: #dedfe4; font-size: 0.71rem; text-overflow: ellipsis; white-space: nowrap; }
.information-member-identity small,
.information-member-grade small { overflow: hidden; margin-top: 0.12rem; color: var(--muted); font-size: 0.61rem; text-overflow: ellipsis; white-space: nowrap; }
.information-member-status:not(.is-online) { color: var(--muted); }
.information-member-status:not(.is-online) i { background: #626873; box-shadow: none; }
.information-member-tools { display: flex; align-items: center; gap: 0.35rem; }
.information-member-tools button {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.32rem 0.48rem;
  border: 0.0625rem solid rgba(155, 135, 245, 0.25);
  border-radius: 0.45rem;
  background: rgba(155, 135, 245, 0.07);
  color: #c8bcff;
  font: 750 0.66rem/1 var(--font-ui);
  cursor: pointer;
}
.information-member-tools button:hover { border-color: rgba(155, 135, 245, 0.55); background: rgba(155, 135, 245, 0.14); }
.information-member-tools button.is-danger { border-color: rgba(239, 93, 111, 0.22); background: rgba(239, 93, 111, 0.06); color: #e99aa5; }
.information-member-tools button.is-danger:hover { border-color: rgba(239, 93, 111, 0.5); background: rgba(239, 93, 111, 0.13); }
.information-member-tools em { min-width: 1.6rem; color: #b7a8f7; font-size: 0.72rem; font-style: normal; font-weight: 800; text-align: right; }

.information-action-form {
  margin-bottom: 0.65rem;
  padding: 0.75rem;
  border: 0.0625rem solid rgba(155, 135, 245, 0.24);
  border-radius: 0.65rem;
  background: rgba(155, 135, 245, 0.055);
}
.information-action-form.is-danger { border-color: rgba(239, 93, 111, 0.27); background: rgba(239, 93, 111, 0.045); }
.information-action-heading { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.6rem; margin-bottom: 0.7rem; }
.information-action-heading > span { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 0.48rem; background: rgba(155, 135, 245, 0.12); color: #b9aaff; }
.information-action-form.is-danger .information-action-heading > span { background: rgba(239, 93, 111, 0.11); color: #f09ca8; }
.information-action-heading > div { display: grid; gap: 0.12rem; min-width: 0; }
.information-action-heading strong { color: var(--text-strong); font-size: 0.76rem; }
.information-action-heading small { color: var(--muted); font-size: 0.62rem; }
.information-action-heading > button { width: 1.7rem; height: 1.7rem; border: 0; border-radius: 0.4rem; background: transparent; color: var(--muted); cursor: pointer; }
.information-action-heading > button:hover { background: rgba(255, 255, 255, 0.05); color: var(--text-strong); }
.information-action-fields { display: grid; grid-template-columns: minmax(7rem, 0.8fr) minmax(8rem, 0.8fr) minmax(10rem, 1.4fr) auto; align-items: end; gap: 0.55rem; }
.information-action-fields > label { display: grid; gap: 0.28rem; min-width: 0; }
.information-action-fields > label > span { color: var(--muted); font-size: 0.61rem; font-weight: 750; }
.information-action-fields input,
.information-action-fields select { min-width: 0; width: 100%; padding: 0.52rem 0.58rem; border: 0.0625rem solid var(--border); border-radius: 0.48rem; outline: 0; background: #0f1013; color: var(--text-strong); font: inherit; font-size: 0.7rem; }
.information-action-fields input:focus,
.information-action-fields select:focus { border-color: rgba(155, 135, 245, 0.62); box-shadow: 0 0 0 0.15rem rgba(155, 135, 245, 0.09); }
.information-action-fields > button { min-height: 2.25rem; white-space: nowrap; }
.information-remove-fields { grid-template-columns: minmax(10rem, 1fr) auto; }
.information-wipe-form .information-action-fields { grid-template-columns: minmax(9rem, 0.8fr) minmax(11rem, 1.3fr) auto; }
.information-inline-empty { padding: 0.85rem 0; }
.information-empty { display: grid; justify-items: center; gap: 0.35rem; padding: 3rem 1rem; text-align: center; }
.information-empty i { color: #7569ae; font-size: 1.4rem; }
.information-empty strong { color: var(--text-strong); }
.information-empty p { margin: 0; color: var(--muted); font-size: 0.75rem; }

@media (max-width: 1050px) {
  .information-controls { grid-template-columns: 1fr; }
  .information-search { width: 100%; }
  .information-org-detail { grid-template-columns: 1fr; }
  .information-detail-section + .information-detail-section { border-top: 0.0625rem solid var(--border); border-left: 0; }
  .information-action-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .information-action-fields > button { justify-self: start; }
}

@media (max-width: 760px) {
  .information-header { align-items: flex-start; }
  .information-title > span { display: none; }
  .information-summary { display: grid; grid-template-columns: repeat(2, 1fr); padding: 0.55rem; }
  .information-summary > div { min-width: 0; border-right: 0; }
  .information-summary > small { grid-column: 1 / -1; margin: 0; padding: 0.55rem 1.15rem 0.25rem; }
  .information-organization > summary { grid-template-columns: auto minmax(0, 1fr) auto auto; }
  .information-org-metric { display: none; }
  .information-stale-badge { display: none; }
  .information-list-heading > div > span { display: none; }
  .information-member-open { grid-template-columns: auto minmax(0, 1fr) auto auto; }
  .information-member-grade { display: none; }
  .information-member-tools button span { display: none; }
  .information-action-fields,
  .information-wipe-form .information-action-fields,
  .information-remove-fields { grid-template-columns: 1fr; }
}

/* Staff log sharing: compact row actions, protected deep-link view, and context menu. */
.log-row-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
  padding-inline: 0.25rem;
}

.log-row-share,
.log-row-actions .log-row-open {
  display: inline-flex;
  width: 1.8rem;
  height: 1.8rem;
  flex: 0 0 1.8rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0.42rem;
  background: transparent;
  color: #71889b;
  cursor: pointer;
  transition: color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.log-row-share:hover,
.log-row-share:focus-visible,
.log-row-actions .log-row-open:hover,
.log-row-actions .log-row-open:focus-visible {
  background: rgba(79, 156, 255, 0.13);
  color: #9bc7ff;
  outline: none;
}

.log-row-share:active,
.log-row-actions .log-row-open:active { transform: scale(0.94); }
.log-row-share:disabled { cursor: wait; opacity: 0.58; }

.log-share-banner {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.78rem 1rem;
  border-block: 0.0625rem solid rgba(86, 161, 255, 0.28);
  background: linear-gradient(90deg, rgba(25, 78, 128, 0.24), rgba(11, 20, 28, 0.72));
}

.log-share-banner > span,
.log-share-banner > span > span { display: flex; min-width: 0; }
.log-share-banner > span { align-items: center; gap: 0.72rem; }
.log-share-banner > span > i { color: #70afff; }
.log-share-banner > span > span { flex-direction: column; gap: 0.13rem; }
.log-share-banner strong { color: #eef7ff; font-size: 0.78rem; }
.log-share-banner small { overflow: hidden; color: #89a0b5; font-size: 0.68rem; text-overflow: ellipsis; white-space: nowrap; }
.log-share-banner .compact-button { flex: 0 0 auto; }

.log-inspector-action.is-share {
  border-color: rgba(76, 153, 255, 0.32);
  background: rgba(50, 117, 205, 0.11);
  color: #9bc7ff;
}
.log-inspector-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.log-share-context-menu {
  position: fixed;
  z-index: 1400;
  display: grid;
  width: min(18rem, calc(100vw - 1rem));
  overflow: hidden;
  padding: 0.35rem;
  border: 0.0625rem solid #263849;
  border-radius: 0.68rem;
  background: #0c151e;
  box-shadow: 0 1rem 2.8rem rgba(0, 0, 0, 0.5);
}

.log-share-context-menu button {
  display: grid;
  grid-template-columns: 1.7rem minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  min-height: 3rem;
  padding: 0.48rem 0.58rem;
  border: 0;
  border-radius: 0.48rem;
  background: transparent;
  color: #dbe8f3;
  text-align: left;
  cursor: pointer;
}
.log-share-context-menu button:hover,
.log-share-context-menu button:focus-visible { background: #132536; outline: none; }
.log-share-context-menu button:disabled { cursor: wait; opacity: 0.62; }
.log-share-context-menu button > i { color: #70afff; text-align: center; }
.log-share-context-menu button > span { display: grid; gap: 0.08rem; min-width: 0; }
.log-share-context-menu strong { font-size: 0.73rem; font-weight: 700; }
.log-share-context-menu small { color: #7890a5; font-size: 0.62rem; }

@media (min-width: 1401px) {
  .logs-v3-feed-head,
  .log-table-row {
    grid-template-columns: minmax(31rem, 1fr) minmax(8rem, 0.25fr) 5.75rem 5.75rem minmax(8rem, 0.23fr) 4.35rem;
  }
}

@media (min-width: 1051px) and (max-width: 1400px) {
  .logs-v3-feed-head,
  .log-table-row {
    grid-template-columns: minmax(27rem, 1fr) 5.5rem 5.5rem minmax(7.25rem, 0.22fr) 4.15rem;
  }
}

@media (min-width: 1051px) {
  .logs-v3-workspace.is-shared { grid-template-columns: minmax(0, 1fr); }
  .logs-v3-workspace.is-shared.has-inspector { grid-template-columns: minmax(0, 1fr) minmax(22rem, 26rem); }
}

@media (max-width: 1050px) {
  .log-row-actions {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: stretch;
    justify-self: end;
  }
  .log-row-actions .log-row-open { display: none; }
}

@media (max-width: 640px) {
  .log-share-banner { align-items: flex-start; flex-direction: column; }
  .log-share-banner .compact-button { width: 100%; justify-content: center; }
}
