/* [project]/apps/web/app/styles/mafia-theme.css [app-client] (css) */
:root {
  --bg: #070b14;
  --surface: #0c1220c7;
  --surface2: #0a0e18b8;
  --border: #ffffff14;
  --borderStrong: #ffffff24;
  --text: #ffffffeb;
  --textMuted: #ffffff9e;
  --textFaint: #ffffff6b;
  --gold: #d2b06a;
  --moneyGreen: #2b8a5a;
  --moneyGreen2: #1f6e49;
  --riskRed: #8b3a35;
  --riskRed2: #6e2c29;
  --amber: #d9a45b;
  --ctaRed: #8e2f2a;
  --ctaRedHover: #a43a33;
  --neutralBtn: #ffffff0f;
  --neutralBtnHover: #ffffff1a;
  --barTrack: #ffffff1a;
  --barGreenA: #1f6e49;
  --barGreenB: #2b8a5a;
  --barRedA: #6e2c29;
  --barRedB: #8b3a35;
  --ui-scale: .82;
  --ui-font: calc(16px * var(--ui-scale));
  --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --r-lg: calc(18px * var(--ui-scale));
  --r-md: calc(14px * var(--ui-scale));
  --r-sm: calc(10px * var(--ui-scale));
  --pad-1: calc(12px * var(--ui-scale));
  --pad-2: calc(16px * var(--ui-scale));
  --pad-3: calc(20px * var(--ui-scale));
  --panel-pad-tight: calc(12px * var(--ui-scale));
  --hairline: #ffffff14;
  --chip-radius: 999px;
  --modal-footer-height: calc(64px * var(--ui-scale));
  --shadow-1: 0 10px 40px #00000073;
  --shadow-2: 0 6px 22px #00000059;
  --glow-blue: 0 0 0 1px #d2b06a40, 0 0 28px #d2b06a2e;
  --glow-green: 0 0 0 1px #22c55e38, 0 0 24px #22c55e1a;
  --glow-amber: 0 0 0 1px #f59e0b38, 0 0 24px #f59e0b1a;
  --glow-red: 0 0 0 1px #ef444438, 0 0 24px #ef44441a;
  --mafia-background-base: var(--bg);
  --mafia-background-gradient: linear-gradient(180deg, var(--bg-1) 0%, var(--bg) 60%);
  --mafia-surface-1: var(--surface);
  --mafia-surface-2: var(--surface2);
  --mafia-card-stroke: var(--border);
  --mafia-card-stroke-strong: var(--borderStrong);
  --mafia-text-primary: var(--text);
  --mafia-text-secondary: var(--textMuted);
  --mafia-text-muted: var(--textFaint);
  --mafia-accent-blue: var(--ctaRed);
  --accent-blue: var(--mafia-accent-blue);
  --mafia-accent-green: var(--moneyGreen);
  --mafia-accent-amber: var(--amber);
  --mafia-accent-red: var(--riskRed);
  --mafia-accent-gold: var(--gold);
  --mafia-font-stack: var(--font-sans);
  --mafia-mono-stack: var(--font-mono);
  --topbar-h: 72px;
  --world-ticker-height: 31px;
  --world-ticker-bg: linear-gradient(180deg, #101828ad, #0a101ebd);
  --world-ticker-muted: #e7eefca3;
  --world-ticker-text: #f4f8fff5;
  --risk-accent: var(--ctaRed);
  --risk-glow: #5078ff26;
  --risk-border: #5078ff33;
  --risk-vignette-opacity: 0;
  --risk-vignette-color: 0, 0, 0;
  --world-ticker-scope-city: #6caeff29;
  --world-ticker-scope-nation: #ffd57829;
  --world-ticker-scope-intl: #92eac529;
  --world-ticker-scope-personal: #ff888829;
  --space-xs: calc(6px * var(--ui-scale));
  --space-sm: calc(10px * var(--ui-scale));
  --space-md: calc(14px * var(--ui-scale));
  --space-lg: calc(20px * var(--ui-scale));
  --space-xl: calc(28px * var(--ui-scale));
  --radius-xs: calc(8px * var(--ui-scale));
  --radius-sm: calc(12px * var(--ui-scale));
  --radius-md: calc(16px * var(--ui-scale));
  --radius-lg: calc(20px * var(--ui-scale));
  --radius-xl: calc(28px * var(--ui-scale));
  --elev-1: 0 8px 24px #00000059;
  --elev-2: 0 16px 40px #00000073;
  --elev-3: 0 28px 70px #0000008c;
  --type-title: calc(20px * var(--ui-scale));
  --type-subtitle: calc(16px * var(--ui-scale));
  --type-body: calc(14px * var(--ui-scale));
  --type-micro: calc(12px * var(--ui-scale));
  --surface-0: #080c14eb;
  --surface-1: var(--surface);
  --surface-2: var(--surface2);
  --text-0: var(--text);
  --text-1: var(--textMuted);
  --text-2: var(--textFaint);
  --border-0: var(--border);
  --border-1: var(--borderStrong);
  --accent: var(--ctaRed);
  --accent-2: var(--gold);
  --ok: var(--moneyGreen);
  --warn: var(--amber);
  --danger: var(--riskRed);
  --legal: var(--moneyGreen);
  --illegal: var(--riskRed);
  --focus-ring: #d2b06a99;
  --anim-fast: .12s;
  --anim-med: .22s;
  --anim-slow: .36s;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
}

@media (max-width: 980px) {
  :root {
    --ui-scale: 1;
  }
}

@media (min-width: 1500px) {
  :root {
    --ui-scale: .78;
  }
}

[data-theme="mafia"] {
  --surface: #0c1220c7;
  --surface2: #0a0c12b8;
  --border: #ffffff14;
  --borderStrong: #ffffff24;
  --text: #ffffffeb;
  --textMuted: #ffffff9e;
  --textFaint: #ffffff6b;
  --gold: #d2b06a;
  --moneyGreen: #2b8a5a;
  --moneyGreen2: #1f6e49;
  --riskRed: #8b3a35;
  --riskRed2: #6e2c29;
  --amber: #d9a45b;
  --ctaRed: #8e2f2a;
  --ctaRedHover: #a43a33;
  --neutralBtn: #ffffff0f;
  --neutralBtnHover: #ffffff1a;
  --barTrack: #ffffff1a;
}

[data-theme="mafia"] *, [data-theme="mafia"] :before, [data-theme="mafia"] :after {
  color: var(--text) !important;
}

[data-theme="mafia"] a, [data-theme="mafia"] button {
  color: inherit !important;
}

html, body {
  min-height: 100%;
  margin: 0;
  padding: 0;
  background: var(--bg) !important;
  color: var(--text) !important;
}

html {
  font-size: var(--ui-font);
}

*, :before, :after {
  box-sizing: border-box;
}

* {
  scrollbar-color: #ffffff2e transparent;
}

a, button {
  color: inherit;
}

:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

body {
  color: var(--text);
  font-family: var(--font-sans);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  line-height: 1.35;
  position: relative;
  overflow-x: hidden;
}

body:before {
  content: "";
  opacity: .06;
  pointer-events: none;
  z-index: 0;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAADUlEQVR42mP8z8BQDwAEfwGQ2ZNj8wAAAABJRU5ErkJggg==");
  position: fixed;
  inset: 0;
}

body:after {
  content: "";
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle at top, #d2b06a14, #0000 60%), radial-gradient(circle at center, #0000 60%, rgba(var(--risk-vignette-color), var(--risk-vignette-opacity)) 100%);
  position: fixed;
  inset: 0;
}

body.risk-calm {
  --risk-accent: var(--accent-blue);
  --risk-glow: #5078ff26;
  --risk-border: #5078ff33;
  --risk-vignette-opacity: 0;
}

body.risk-warm {
  --risk-accent: #ffaa50e6;
  --risk-glow: #ffaa5033;
  --risk-border: #ffaa504d;
  --risk-vignette-opacity: 0;
}

body.risk-pressured {
  --risk-accent: #dc5a5ae6;
  --risk-glow: #dc5a5a40;
  --risk-border: #dc5a5a59;
  --risk-vignette-opacity: 0;
}

body.risk-critical {
  --risk-accent: #c83c3c;
  --risk-glow: #c83c3c59;
  --risk-border: #c83c3c73;
  --risk-vignette-opacity: .3;
}

body.risk-calm.risk-spike, body.risk-warm.risk-spike, body.risk-pressured.risk-spike {
  --risk-vignette-opacity: .05;
}

body.risk-critical.risk-spike {
  --risk-vignette-opacity: .35;
}

.mafiaGrain {
  position: relative;
}

.mafiaGrain:before {
  content: "";
  pointer-events: none;
  opacity: .06;
  mix-blend-mode: overlay;
  border-radius: inherit;
  background-image: repeating-linear-gradient(0deg, #ffffff0f 0 1px, #0000 1px 3px), repeating-linear-gradient(90deg, #0000000f 0 1px, #0000 1px 4px);
  position: absolute;
  inset: 0;
}

.mafia-shell {
  z-index: 1;
  gap: calc(18px * var(--ui-scale));
  min-height: 100vh;
  padding: calc(20px * var(--ui-scale));
  flex-direction: column;
  max-width: min(1400px, 96vw);
  margin: 0 auto;
  display: flex;
  position: relative;
}

.game-layout-shell {
  background: var(--mafia-background-gradient);
  min-height: 100vh;
}

.world-ticker-wrap {
  z-index: 4;
  width: 100%;
  margin-top: 2px;
  position: relative;
}

.world-ticker-bar, .worldTickerBar {
  min-height: var(--world-ticker-height);
  background: var(--world-ticker-bg);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  cursor: pointer;
  border: 1px solid #ffffff1f;
  border-top-color: #fff3;
  border-radius: 14px;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  display: flex;
  position: relative;
  box-shadow: 0 6px 18px #0003;
}

.worldTickerBar:before {
  content: "";
  background: linear-gradient(90deg, transparent, var(--risk-accent), transparent);
  opacity: .9;
  height: 1px;
  position: absolute;
  top: 0;
  left: 8px;
  right: 8px;
}

.world-ticker-bar__lineWrap {
  height: calc(var(--world-ticker-height)  - 2px);
  flex: 1;
  align-items: center;
  min-width: 0;
  display: flex;
  position: relative;
}

.world-ticker-bar__line, .worldTickerLine {
  line-height: calc(var(--world-ticker-height)  - 1px);
  color: var(--world-ticker-text);
  letter-spacing: .01em;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 11.5px;
  display: block;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.worldTickerLineLive {
  opacity: 1;
  transform: translateY(0);
}

.worldTickerLineExit {
  animation: .26s cubic-bezier(.16, 1, .3, 1) forwards worldTickerFadeOut;
}

.worldTickerLineEnter {
  animation: .26s cubic-bezier(.16, 1, .3, 1) forwards worldTickerFadeIn;
}

.worldTickerPrefix {
  color: var(--world-ticker-muted);
  opacity: .62;
  letter-spacing: .03em;
}

.worldTickerCategory {
  color: #f4f8ffed;
  margin-left: 7px;
  font-weight: 500;
}

.worldTickerMessage {
  color: var(--world-ticker-text);
  margin-left: 7px;
  font-weight: 510;
}

.worldTickerChevron {
  color: var(--world-ticker-muted);
  opacity: .56;
  font-size: 13px;
  line-height: 1;
  transition: opacity .14s, transform .14s;
  transform: translateY(1px);
}

.worldTickerChevron.is-faded {
  opacity: 0;
  transform: translateY(-1px);
}

.worldTickerActions {
  color: var(--world-ticker-muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: 0;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
  font-size: 10.5px;
  text-decoration: none;
  transition: opacity .12s, color .12s;
}

.worldTickerActions.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.worldTickerActions:hover, .worldTickerActions:focus-visible {
  color: #f4f8ffe6;
}

.world-ticker-history-shell {
  z-index: 30;
  width: 100%;
}

.world-ticker-history {
  background: #080c16f0;
  border: 1px solid #ffffff1f;
  border-radius: 14px;
  gap: 8px;
  padding: 10px;
  display: grid;
  box-shadow: 0 18px 40px #00000075;
}

.world-ticker-history__filters {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.world-ticker-filter-chip {
  color: var(--mafia-text-secondary);
  background: #ffffff0a;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 11px;
}

.world-ticker-filter-chip.is-active {
  color: var(--mafia-text-primary);
  background: #d2b06a1f;
  border-color: #d2b06a80;
}

.world-ticker-history__list {
  gap: 6px;
  max-height: 300px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  overflow: auto;
}

.world-ticker-history__row {
  grid-template-columns: 46px auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 26px;
  display: grid;
}

.world-ticker-history__time {
  color: var(--mafia-text-muted);
  font-size: 11px;
}

.world-ticker-scope-chip {
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 10px;
}

.world-ticker-scope-chip--city {
  background: var(--world-ticker-scope-city);
}

.world-ticker-scope-chip--nation {
  background: var(--world-ticker-scope-nation);
}

.world-ticker-scope-chip--intl {
  background: var(--world-ticker-scope-intl);
}

.world-ticker-scope-chip--personal {
  background: var(--world-ticker-scope-personal);
}

.world-ticker-history__line {
  min-width: 0;
  color: var(--mafia-text-primary);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
  overflow: hidden;
}

.world-ticker-history__empty {
  color: var(--mafia-text-muted);
  padding: 6px 0;
  font-size: 12px;
}

@keyframes worldTickerFadeOut {
  0% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    transform: translateY(-2px);
  }
}

@keyframes worldTickerFadeIn {
  0% {
    opacity: 0;
    transform: translateY(2px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 760px) {
  .world-ticker-history-shell {
    width: 100%;
    padding: 0 8px 8px;
    position: fixed;
    inset: auto 0 0;
  }

  .world-ticker-history {
    border-radius: 16px 16px 0 0;
    max-height: 52vh;
  }

  .world-ticker-history__list {
    max-height: calc(52vh - 54px);
  }
}

.awareness-wrap {
  width: 100%;
}

.awareness-bar {
  background: var(--mafia-surface-2);
  min-height: 60px;
  padding: calc(12px * var(--ui-scale)) calc(18px * var(--ui-scale));
  isolation: isolate;
  border-radius: 24px;
  grid-template-columns: minmax(160px, 1fr) minmax(260px, 2fr) minmax(200px, 1.2fr) minmax(160px, 1fr);
  align-items: center;
  gap: clamp(10px, 2vw, 18px);
  display: grid;
  position: relative;
  overflow: visible;
  box-shadow: 0 30px 70px #00000073;
}

.awareness-context {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.awareness-context__phase {
  letter-spacing: .5em;
  text-transform: uppercase;
  color: var(--mafia-text-muted);
  font-size: 12px;
}

.awareness-context__path {
  color: var(--mafia-text-primary);
  font-size: 14px;
  font-weight: 600;
}

.awareness-timeline {
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #0000;
  border-radius: 18px;
  align-items: center;
  gap: 12px;
  padding: 6px 12px;
  transition: transform .2s, box-shadow .2s;
  display: flex;
  position: relative;
  overflow: visible;
}

.awareness-timeline__items {
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.awareness-timeline__item {
  background: #ffffff0d;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 6px 8px;
  font-size: 13px;
  display: inline-flex;
}

.awareness-timeline__icon {
  font-size: 15px;
}

.awareness-timeline__panel {
  background: var(--mafia-surface-1);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  border-radius: 14px;
  max-height: 0;
  padding: 12px;
  transition: max-height .2s ease-out, opacity .2s ease-out;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  overflow: hidden;
  box-shadow: 0 30px 80px #00000080;
}

.awareness-timeline__panel.visible {
  opacity: 1;
  pointer-events: auto;
  max-height: 260px;
}

.awareness-timeline__panel-meta {
  color: var(--mafia-text-muted);
  margin: 0 0 6px;
  font-size: 12px;
}

.awareness-timeline__panel-item {
  border-top: 1px solid #ffffff0d;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  display: flex;
}

.awareness-timeline__panel-item:first-of-type {
  border-top: none;
}

.awareness-timeline__panel-icon {
  min-width: 22px;
  font-size: 16px;
}

.awareness-timeline__panel-item strong {
  color: var(--mafia-text-primary);
  margin-bottom: 2px;
  font-size: 14px;
  display: block;
}

.awareness-timeline__panel-item p {
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: 12px;
}

.awareness-timeline__panel-item time {
  color: var(--mafia-text-muted);
  margin-left: auto;
  font-size: 11px;
}

.awareness-timers {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.awareness-timer {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.awareness-timer__row {
  color: var(--mafia-text-muted);
  justify-content: space-between;
  font-size: 12px;
  display: flex;
}

.awareness-progress {
  background: #ffffff14;
  border-radius: 999px;
  height: 4px;
  overflow: hidden;
}

.awareness-progress__fill {
  border-radius: inherit;
  background: linear-gradient(90deg, #5cf9c4, #3ec3ff);
  height: 100%;
  transition: width .2s;
}

.awareness-placeholder {
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: 12px;
}

.awareness-pressure {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.awareness-pressure__row {
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  display: flex;
}

.awareness-pressure__track {
  background: #ffffff14;
  border-radius: 999px;
  width: 100%;
  height: 5px;
  overflow: hidden;
}

.awareness-pressure__fill {
  background: linear-gradient(90deg, #ffca3a, #ff5c5c);
  height: 100%;
  transition: width .2s;
}

.awareness-dock {
  opacity: 0;
  pointer-events: none;
  background: #060613f2;
  border-radius: 18px;
  max-height: 0;
  margin-top: 10px;
  transition: max-height .2s, opacity .2s;
  overflow: hidden;
  box-shadow: 0 30px 70px #0000008c;
}

.awareness-dock.open {
  opacity: 1;
  pointer-events: auto;
  max-height: 340px;
}

.awareness-dock__header {
  border-bottom: 1px solid #ffffff0d;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px 10px;
  display: flex;
}

.awareness-dock__header h3 {
  color: var(--mafia-text-primary);
  margin: 0;
  font-size: 14px;
}

.awareness-dock__close {
  color: var(--mafia-text-muted);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 6px;
  font-size: 12px;
}

.awareness-dock__list {
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 10px 18px 14px;
  list-style: none;
  display: flex;
}

.awareness-dock__item {
  color: var(--mafia-text-muted);
  align-items: center;
  gap: 12px;
  font-size: 12px;
  display: flex;
}

.awareness-dock__icon {
  min-width: 22px;
  font-size: 16px;
}

.awareness-dock__item strong {
  color: var(--mafia-text-primary);
  margin-bottom: 2px;
  font-size: 13px;
  display: block;
}

.awareness-dock__item p {
  margin: 0;
}

.awareness-dock__item time {
  color: var(--mafia-text-muted);
  margin-left: auto;
  font-size: 11px;
}

@media (prefers-reduced-motion: reduce) {
  .awareness-timeline, .awareness-progress__fill, .awareness-pressure__fill, .awareness-dock, .awareness-timeline__panel {
    transition: none;
  }
}

.firm-profile-hero {
  border: 1px solid var(--mafia-card-stroke);
  box-shadow: var(--shadow-1);
  background: linear-gradient(160deg, #ffffff08, #0000008c);
  border-radius: 20px;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 20px;
  padding: 18px 22px;
  display: flex;
}

.firm-profile-hero__main {
  flex: 1;
  min-width: 220px;
}

.firm-profile-badge {
  text-transform: uppercase;
  letter-spacing: .4px;
  background: #ffffff14;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  margin-bottom: 8px;
  padding: 4px 12px;
  font-size: 11px;
  display: inline-flex;
}

.firm-profile-hero__desc {
  color: var(--mafia-text-muted);
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.5;
}

.firm-profile-hero__meta {
  color: var(--mafia-text-muted);
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
  display: flex;
}

.firm-profile-hero__meta span {
  border-bottom: 1px solid #ffffff26;
  padding-bottom: 2px;
}

.firm-profile-hero__stats {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  min-width: 280px;
  display: grid;
}

.firm-profile-avatar {
  text-align: center;
  width: 90px;
  margin: 0;
}

.firm-profile-avatar img {
  background: #ffffff05;
  border: 1px solid #ffffff1f;
  border-radius: 18px;
  width: 100%;
  padding: 10px;
}

.firm-profile-avatar figcaption {
  color: var(--mafia-text-muted);
  letter-spacing: .4px;
  text-transform: uppercase;
  margin-top: 6px;
  font-size: 11px;
}

.firm-profile-card {
  background: #ffffff05;
  border: 1px solid #ffffff1f;
  border-radius: 14px;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  display: flex;
}

.firm-profile-card span {
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--mafia-text-muted);
  font-size: 11px;
}

.firm-profile-card strong {
  color: var(--mafia-text-primary);
  font-size: 20px;
  line-height: 1.2;
}

.firm-profile-card small {
  color: var(--mafia-text-muted);
  font-size: 12px;
}

.firm-profile-card--risk {
  border-color: #ff40404d;
}

.firm-profile-risk {
  font-weight: 600;
}

.firm-profile-hero__stats .firm-profile-card:nth-child(2) small, .firm-profile-hero__stats .firm-profile-card:nth-child(3) small {
  opacity: .8;
}

@media (max-width: 960px) {
  .firm-profile-hero {
    flex-direction: column;
  }

  .firm-profile-hero__stats {
    min-width: 100%;
  }
}

.mafia-switch-row {
  cursor: pointer;
  color: var(--mafia-text-secondary);
  align-items: flex-start;
  gap: 10px;
  margin-top: 10px;
  display: flex;
}

.mafia-switch-row small {
  color: var(--mafia-text-muted);
  margin-top: 4px;
  font-size: 12px;
  display: block;
}

.metal-pricing-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin-top: 12px;
  display: grid;
}

.metal-pricing-card {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  display: flex;
  box-shadow: 0 8px 24px #00000040;
}

.metal-pricing-card__header {
  color: var(--mafia-text-muted);
  letter-spacing: .3px;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  display: flex;
}

.metal-pricing-card__label {
  color: var(--mafia-text-primary);
  font-weight: 600;
}

.metal-pricing-card__desc {
  color: #ffffffb3;
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
}

.metal-pricing-card__row {
  align-items: center;
  gap: 8px;
  display: flex;
}

.metal-pricing-card__row .mafia-input {
  flex: 1;
}

.metal-pricing-card .mafia-input {
  color: var(--mafia-text);
  background: #ffffff14;
  border: 1px solid #ffffff2e;
  border-radius: 10px;
  padding: 8px 10px;
}

.metal-pricing-card__stock {
  color: var(--mafia-text-muted);
  font-size: 12px;
}

.scrap-catalog-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin-top: 12px;
  display: grid;
}

.admin-console-toggle-row {
  z-index: 10;
  pointer-events: auto;
  justify-content: flex-end;
  margin: 0;
  display: flex;
  position: absolute;
  top: 12px;
  right: 18px;
}

.scrap-catalog-card {
  background: #ffffff05;
  border: 1px solid #ffffff1a;
  border-radius: 14px;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  display: flex;
}

.scrap-catalog-card__header {
  color: var(--mafia-text-muted);
  letter-spacing: .3px;
  justify-content: space-between;
  font-size: 13px;
  display: flex;
}

.scrap-catalog-card__desc {
  color: #ffffffb3;
  margin: 0;
  font-size: 13px;
}

.scrap-catalog-card__meta {
  color: var(--mafia-text-muted);
  justify-content: space-between;
  font-size: 12px;
  display: flex;
}

.scrap-catalog-tier {
  text-transform: uppercase;
  letter-spacing: .3px;
}

.metal-inventory-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 12px;
  display: grid;
}

.metal-inventory-card {
  background: linear-gradient(#d2b06a0d, #ffffff05);
  border: 1px solid #ffffff1a;
  border-radius: 16px;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  display: flex;
}

.metal-inventory-card__header {
  color: var(--mafia-text-primary);
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  display: flex;
}

.metal-inventory-card__desc {
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: 12px;
}

.metal-inventory-card__meta {
  color: var(--mafia-text-muted);
  justify-content: space-between;
  font-size: 12px;
  display: flex;
}

.firmFinanceHero {
  background: linear-gradient(135deg, #ffffff0d, #ffffff03);
  border: 1px solid #ffffff14;
  border-radius: 20px;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
  padding: 18px;
  display: flex;
}

.firmFinanceHero__main {
  flex: 1;
  min-width: 220px;
}

.firmFinanceHero__label {
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--mafia-text-muted);
  font-size: 12px;
}

.firmFinanceHero__value {
  letter-spacing: .5px;
  margin: 6px 0;
  font-size: 32px;
}

.firmFinanceHero__hint {
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: 13px;
}

.firmFinanceHero__badges {
  flex: 1;
  gap: 10px;
  min-width: 260px;
  display: grid;
}

.firmFinanceHero__badge {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  padding: 10px 12px;
}

.firmFinanceHero__badge .label {
  color: var(--mafia-text-muted);
  text-transform: uppercase;
  letter-spacing: .3px;
  font-size: 11px;
}

.firmFinanceHero__badge strong {
  color: var(--mafia-text-primary);
  font-size: 18px;
  display: block;
}

.firmFinanceHero__badge small {
  color: var(--mafia-text-muted);
  font-size: 11px;
}

.firmFinanceActions {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  display: grid;
}

.firmFinanceAction {
  background: #ffffff03;
  border: 1px solid #ffffff0f;
  border-radius: 16px;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  display: flex;
}

.firmFinanceForm {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  display: grid;
}

.firmFinanceInput {
  color: var(--mafia-text);
  background: #ffffff14;
  border: 1px solid #fff3;
  border-radius: 12px;
  padding: 10px;
}

.firmFinancePayout {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.firmFinancePayout__label {
  color: var(--mafia-text-muted);
  font-size: 13px;
}

.mafia-cta--ghost {
  color: #fff;
  background: none;
  border: 1px solid #ffffff4d;
}

.firm-profile-section {
  border-top: 1px solid #ffffff14;
  margin-top: 18px;
  padding-top: 18px;
}

.firm-profile-description {
  color: #ffffffad;
  margin-top: 6px;
  margin-bottom: 14px;
  font-size: 14px;
  line-height: 1.6;
}

.firm-profile-details {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  display: grid;
}

.firm-profile-detail-value {
  color: var(--mafia-text-primary);
  margin: 4px 0 0;
  font-size: 15px;
}

.employee-list {
  gap: 8px;
  display: grid;
}

.employee-row {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  justify-content: space-between;
  padding: 10px 12px;
  font-size: 13px;
  display: flex;
}

.employee-name {
  color: var(--mafia-text-primary);
  font-weight: 600;
}

.employee-position {
  color: #ffffff94;
}

.ownership-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  display: grid;
}

.ownership-line {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  flex-direction: column;
  gap: 2px;
  padding: 12px 14px;
  display: flex;
}

.ownership-line span {
  color: var(--mafia-text-muted);
  letter-spacing: .3px;
  text-transform: uppercase;
  font-size: 11px;
}

.ownership-line strong {
  color: var(--mafia-text-primary);
  font-size: 18px;
}

.mafia-top-bar.compact {
  height: auto;
  min-height: 100px;
  max-height: 100px;
  padding-top: 0;
  padding-bottom: 0;
}

.top-bar-details {
  flex-direction: column;
  gap: 6px;
  min-width: 200px;
  display: flex;
}

.top-bar-meta {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.mafia-top-bar .label {
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mafia-text-secondary);
  margin-bottom: 6px;
  font-size: 12px;
}

.mafia-top-bar h1 {
  letter-spacing: 1px;
  margin: 0;
  font-size: 26px;
}

.top-bar-search {
  background: #0e0e0e;
  border: 1px solid #ffffff1a;
  border-radius: 14px;
  flex: 1;
  align-items: center;
  gap: 8px;
  max-width: 360px;
  padding: 6px 12px;
  display: flex;
  position: relative;
}

.top-bar-search input {
  color: #fff;
  background: none;
  border: none;
  flex: 1;
  font-size: 13px;
}

.top-bar-search input::placeholder {
  color: #fff9;
}

.top-bar-search input:focus {
  outline: none;
}

.top-bar-search button {
  text-transform: uppercase;
  letter-spacing: 1px;
  background: var(--mafia-accent-green);
  color: #010101;
  cursor: pointer;
  border: none;
  border-radius: 10px;
  padding: 6px 14px;
  font-size: 12px;
}

.top-bar-suggestions {
  z-index: 60;
  background: #121212f2;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  flex-direction: column;
  gap: 4px;
  padding: 8px 0;
  display: flex;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
}

.top-bar-suggestions button {
  color: #fff;
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  padding: 6px 16px;
  font-size: 13px;
}

.top-bar-suggestions button:hover {
  background: #ffffff14;
  border-radius: 10px;
}

.tooltip-wrapper {
  position: relative;
}

.top-bar-tooltip {
  z-index: 20;
  background: #0a0a0af2;
  border: 1px solid #fff3;
  border-radius: 14px;
  width: 220px;
  padding: 12px;
  font-size: 12px;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  box-shadow: 0 12px 30px #00000073;
}

.top-bar-tooltip p {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 600;
}

.top-bar-tooltip ul {
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.top-bar-tooltip li {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.top-bar-tooltip li strong {
  font-size: 12px;
  font-weight: 600;
}

.top-bar-tooltip li span {
  color: #fff9;
  font-size: 10px;
}

.top-bar-tooltip .invitation-list {
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.top-bar-tooltip .invitation-item {
  border-bottom: 1px solid #ffffff14;
  flex-direction: column;
  gap: 4px;
  padding-bottom: 4px;
  display: flex;
}

.top-bar-tooltip .invitation-actions {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.top-bar-tooltip .invitation-actions button {
  color: #fff;
  cursor: pointer;
  background: none;
  border: 1px solid #fff3;
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 11px;
  transition: border-color .2s, background .2s;
}

.top-bar-tooltip .invitation-actions button:hover {
  border-color: var(--mafia-accent-green);
  background: #84ee9914;
}

.top-bar-tooltip .wanted-list {
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.top-bar-tooltip .wanted-entry {
  border-bottom: 1px solid #ffffff14;
  padding-bottom: 6px;
}

.top-bar-tooltip .wanted-entry:last-child {
  border-bottom: none;
}

.top-bar-tooltip .wanted-entry__header {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  display: flex;
}

.top-bar-tooltip .wanted-entry small {
  color: #fff9;
  font-size: 11px;
}

.icon-badge.wanted-level-badge {
  background: var(--mafia-accent-amber, #f97316);
  min-width: 24px;
  padding: 0 4px;
  font-size: 10px;
}

.top-bar-actions {
  align-items: center;
  gap: 12px;
  display: flex;
}

.top-bar-icons {
  gap: 10px;
  display: flex;
}

.top-bar-icon-button {
  color: #fff;
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #fff3;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  font-size: 18px;
  display: flex;
  position: relative;
}

.top-bar-icon-button:hover {
  border-color: var(--mafia-accent-amber);
}

.icon-badge {
  background: var(--mafia-accent-red);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  font-size: 11px;
  display: flex;
  position: absolute;
  top: -4px;
  right: -4px;
}

.top-bar-networth {
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  display: flex;
}

.top-bar-networth .meta {
  text-transform: uppercase;
  letter-spacing: .8px;
  font-size: 10px;
}

.top-bar-networth .net-worth-amount {
  margin: 0;
  font-size: 16px;
}

.meta {
  color: var(--mafia-text-secondary);
  font-size: 12px;
}

.mafia-grid {
  align-items: start;
  gap: calc(20px * var(--ui-scale));
  grid-template-columns: 260px minmax(0, 1fr) 280px;
  display: grid;
  position: relative;
}

.mafia-left-nav, .mafia-right-sidebar, .mafia-center-column {
  z-index: 1;
  position: relative;
}

.mafia-left-nav {
  --dossier-panel-radius: 24px;
  --dossier-panel-pad: 18px;
  --dossier-row-h: 54px;
  --dossier-row-gap: 0;
  --dossier-rail-w: 3px;
  --dossier-search-h: 46px;
  box-shadow: none;
  min-width: min(340px, 100%);
  padding: 0;
  display: flex;
  overflow: visible;
}

.mafia-dossier-panel {
  background: var(--world-ticker-bg);
  border: 1px solid var(--risk-border);
  border-radius: var(--dossier-panel-radius);
  border-top-color: #ffffff38;
  flex-direction: column;
  gap: 0;
  width: 100%;
  min-height: 0;
  padding: 0;
  display: flex;
  box-shadow: 0 0 0 1px #ffffff0a, 0 12px 28px #00000052;
}

.dossier-panel-header {
  padding: var(--dossier-panel-pad);
  flex-direction: column;
  gap: 14px;
  margin: 0;
  display: flex;
}

.dossier-panel-header .label {
  text-transform: uppercase;
  letter-spacing: .34em;
  color: #ffffff8c;
  margin: 0;
  font-size: 12px;
}

.dossier-panel-header h3 {
  margin: 0;
  font-size: 40px;
  line-height: 1.02;
}

.dossier-section-subtitle {
  letter-spacing: .34em;
  text-transform: uppercase;
  color: #ffffff94;
  margin-top: 10px;
  font-size: 12px;
}

.dossier-search {
  height: var(--dossier-search-h);
  background: #ffffff0a;
  border: 1px solid #ffffff2e;
  border-radius: 14px;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  display: grid;
}

.dossier-search__icon {
  color: #ffffffa8;
  font-size: 17px;
  line-height: 1;
}

.dossier-search__input {
  width: 100%;
  color: var(--mafia-text);
  background: none;
  border: 0;
  outline: none;
  font-size: 16px;
}

.dossier-search__input::placeholder {
  color: #ffffff9e;
}

.dossier-search__hint {
  color: #ffffffa3;
  letter-spacing: .05em;
  font-size: 14px;
}

.dossier-search:focus-within {
  border-color: #ffffff57;
  box-shadow: 0 0 0 2px #ffffff14;
}

.dossier-group-label {
  text-transform: uppercase;
  letter-spacing: .26em;
  color: #ffffff94;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  display: flex;
}

.dossier-group-label:after {
  content: "";
  background: #ffffff21;
  flex: 1;
  height: 1px;
}

.dossier-panel-body {
  flex-direction: column;
  flex: auto;
  gap: 0;
  width: 100%;
  min-height: 0;
  padding: 0;
  display: flex;
  overflow: visible auto;
}

.dossier-nav-list {
  gap: var(--dossier-row-gap);
  flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  overflow: visible;
}

.dossier-nav-row, button.dossier-nav-row {
  min-height: var(--dossier-row-h);
  padding-left: var(--dossier-panel-pad, 16px);
  padding-right: var(--dossier-panel-pad, 16px);
  cursor: pointer;
  color: inherit;
  text-align: left;
  transition: background .18s var(--ease-out), border-color .18s var(--ease-out);
  background: #ffffff03;
  border: 0;
  border-top: 1px solid #ffffff17;
  border-radius: 0;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  text-decoration: none;
  display: flex;
  position: relative;
}

.dossier-nav-row:hover {
  background: #ffffff0d;
}

.dossier-nav-row.is-active {
  background: #ffffff14;
}

.dossier-nav-row:before {
  content: "";
  width: var(--dossier-rail-w);
  background: var(--mafia-accent-blue);
  opacity: .22;
  border-radius: 2px;
  transition: opacity .2s;
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 0;
}

.dossier-nav-row:hover:before {
  opacity: .46;
}

.dossier-nav-row.is-active:before {
  opacity: 1;
}

.dossier-nav-row:first-child {
  border-top: 1px solid #ffffff1f;
}

.dossier-nav-row__icon-chip {
  background: #ffffff0f;
  border: 1px solid #ffffff1f;
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  font-size: 18px;
  display: inline-flex;
}

.dossier-nav-row__text {
  flex-direction: column;
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.dossier-nav-row__label {
  font-size: 1x;
  letter-spacing: .01em;
  opacity: .92;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  overflow: hidden;
}

.dossier-nav-row__status {
  color: #ffffff8c;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
  overflow: hidden;
}

.dossier-nav-row__meta {
  align-items: center;
  gap: 12px;
  margin-left: 8px;
  display: flex;
}

.dossier-nav-row__dot.tone-good {
  background: var(--mafia-accent-green);
}

.dossier-nav-row__dot.tone-warning {
  background: var(--mafia-accent-amber);
}

.dossier-nav-row__dot.tone-danger {
  background: var(--mafia-accent-red);
}

.dossier-nav-row__chevron {
  opacity: .36;
  font-size: 30px;
  line-height: .8;
  transition: opacity .2s;
}

.dossier-nav-row:hover .dossier-nav-row__chevron {
  opacity: .72;
}

.dossier-nav-row.is-active .dossier-nav-row__label {
  opacity: 1;
}

.dossier-nav-row.is-disabled {
  opacity: .5;
  cursor: default;
}

.dossier-nav-row.is-disabled:hover {
  background: #ffffff03;
}

.dossier-nav-row:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px #ffffff3d;
}

.dossier-empty-search {
  margin: 12px var(--dossier-panel-pad) 18px;
  color: #ffffff9e;
  font-size: 13px;
}

.mafia-nav-progress-meta {
  color: #e7eefcbf;
  flex-direction: column;
  gap: 2px;
  font-size: 12px;
  display: flex;
}

.mafia-nav-progress-meta small {
  color: #e7eefc8c;
  font-size: 11px;
}

.territory-panel {
  border: 1px solid var(--mafia-card-stroke);
  border-radius: 18px;
  flex-direction: column;
  gap: 10px;
  height: calc(100vh - 120px);
  min-height: 0;
  padding: 16px;
  display: flex;
  overflow: hidden;
}

.territory-panel-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.territory-panel-actions {
  align-items: center;
  display: flex;
}

.territory-tactical-banner {
  background: #ffffff05;
  border: 1px solid #ffffff1a;
  border-radius: 14px;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  display: flex;
}

.territory-panel-media {
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  width: 170px;
  height: 96px;
  position: relative;
  overflow: hidden;
}

.territory-panel-media img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.territory-panel-media-label {
  letter-spacing: .5px;
  color: var(--mafia-accent-amber);
  background: #000000a6;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  position: absolute;
  bottom: 8px;
  left: 12px;
}

.territory-panel-media-actions {
  flex-direction: column;
  flex: 1;
  gap: 10px;
  min-width: 180px;
  display: flex;
}

.territory-panel-media-actions.territory-panel-media-actions--banner {
  justify-content: space-between;
}

.territory-panel-message {
  color: var(--mafia-text-secondary);
  min-height: auto;
  margin: 0;
}

.territory-panel-contest {
  background: var(--mafia-accent-amber);
  color: #0b0b0b;
  text-transform: uppercase;
  letter-spacing: .4px;
  cursor: pointer;
  border: 1px solid #0000;
  border-radius: 12px;
  min-height: 32px;
  padding: 8px 14px;
  font-size: 11px;
  font-weight: 600;
}

.territory-panel-contest:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.territory-panel-tabs {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
  display: flex;
}

.territory-panel-tab {
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--mafia-text-secondary);
  cursor: pointer;
  background: #ffffff08;
  border: 1px solid #0000;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 11px;
}

.territory-panel-tab--active {
  border-color: var(--mafia-accent-amber);
  color: var(--mafia-accent-amber);
  background: #ffffff0d;
}

.territory-bonuses-tab {
  border: 1px solid var(--mafia-card-stroke);
  background: #060810bf;
  border-radius: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 14px;
  min-height: 280px;
  padding: 12px;
  display: grid;
}

.territory-bonus-list {
  flex-direction: column;
  gap: 8px;
  max-height: 480px;
  display: flex;
  overflow: hidden;
}

.territory-bonus-rows {
  gap: 8px;
  padding-right: 4px;
  display: grid;
  overflow: auto;
}

.territory-bonus-row {
  text-align: left;
  color: var(--mafia-text-secondary);
  cursor: pointer;
  background: #0f172a99;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  transition: border .2s, box-shadow .2s;
  display: flex;
}

.territory-bonus-row:hover, .territory-bonus-row:focus-visible, .territory-bonus-row--active {
  border-color: var(--mafia-accent-amber);
  color: var(--mafia-text);
  box-shadow: 0 0 0 2px #10b98133;
}

.territory-bonus-row__header {
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  display: flex;
}

.territory-bonus-tags {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.territory-bonus-metrics {
  color: #e7eefcb3;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 11px;
  display: flex;
}

.territory-bonus-editor {
  background: #0a0e18d9;
  border: 1px solid #ffffff12;
  border-radius: 14px;
  flex-direction: column;
  gap: 12px;
  min-height: 280px;
  padding: 12px;
  display: flex;
}

.territory-bonus-editor__header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.territory-bonus-editor__meta {
  text-align: right;
  color: var(--mafia-text-secondary);
  font-size: 11px;
}

.territory-bonus-form {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.territory-bonus-form-field {
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  display: flex;
}

.territory-bonus-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.territory-bonus-form-actions {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.territory-panel-message.territory-panel-message {
  margin-top: 4px;
}

@media (max-width: 900px) {
  .territory-bonuses-tab {
    grid-template-columns: 1fr;
  }

  .territory-bonus-form-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }
}

@media (max-width: 600px) {
  .territory-panel-tabs {
    justify-content: flex-start;
    width: 100%;
  }

  .territory-panel-tab {
    text-align: center;
    flex: auto;
  }
}

.territory-refresh {
  border: 1px solid var(--mafia-card-stroke-strong);
  letter-spacing: .4px;
  text-transform: uppercase;
  cursor: pointer;
  background: #ffffff0d;
  border-radius: 12px;
  padding: 8px 16px;
  font-size: 12px;
}

.territory-refresh:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.territory-command-bar {
  border-bottom: 1px solid #ffffff14;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  display: flex;
}

.territory-switcher {
  flex: none;
  position: relative;
}

.territory-switcher__details {
  border: 1px solid var(--mafia-card-stroke);
  background: #0f172a80;
  border-radius: 999px;
  width: 220px;
  padding: 0;
}

.territory-switcher__summary {
  cursor: pointer;
  letter-spacing: .3px;
  text-transform: uppercase;
  border-radius: 999px;
  justify-content: space-between;
  align-items: center;
  padding: 6px 14px;
  font-size: 11px;
  list-style: none;
  display: flex;
}

.territory-switcher__summary::marker {
  display: none;
}

.territory-switcher__list {
  z-index: 5;
  background: #060810f2;
  border: 1px solid #ffffff1a;
  border-radius: 14px;
  width: 240px;
  max-height: 280px;
  margin-top: 8px;
  padding: 8px;
  position: absolute;
  top: 100%;
  right: 0;
  overflow: auto;
  box-shadow: 0 10px 30px #000000bf;
}

.territory-switcher__item {
  color: var(--mafia-text-primary);
  cursor: pointer;
  text-align: left;
  background: none;
  border: 1px solid #0000;
  border-radius: 12px;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  padding: 8px;
  display: flex;
}

.territory-switcher__item:hover, .territory-switcher__item.is-active {
  background: #ffffff0d;
  border-color: #ffffff26;
}

.territory-switcher__row {
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  display: flex;
}

.territory-switcher__heat {
  align-items: center;
  gap: 4px;
  display: flex;
}

.territory-switcher__current-pill {
  letter-spacing: .3px;
  text-transform: uppercase;
  color: var(--mafia-accent-green);
  border: 1px solid #ffffff4d;
  border-radius: 999px;
  align-self: flex-start;
  padding: 2px 8px;
  font-size: 10px;
}

.territory-command-bar__search {
  flex: 220px;
}

.territory-command-bar__search input {
  border: 1px solid var(--mafia-card-stroke);
  width: 100%;
  color: var(--mafia-text-primary);
  background: #ffffff08;
  border-radius: 12px;
  padding: 8px 12px;
  font-size: 13px;
}

.territory-command-bar__sort {
  flex: 0 0 180px;
}

.territory-command-bar__sort select {
  border: 1px solid var(--mafia-card-stroke);
  width: 100%;
  color: var(--mafia-text-primary);
  background: #ffffff08;
  border-radius: 12px;
  padding: 8px 12px;
}

.territory-filter-toggle {
  color: var(--mafia-text-primary);
  letter-spacing: .3px;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border: 1px solid #fff3;
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  font-size: 11px;
  display: none;
}

.territory-filter-row {
  border-bottom: 1px solid #ffffff14;
  gap: 16px;
  padding-bottom: 12px;
  display: none;
}

.territory-filter-row--open {
  display: flex;
}

.territory-filter-cell {
  flex: 1;
  min-width: 180px;
}

.territory-controls-label {
  letter-spacing: .3px;
  text-transform: uppercase;
  color: var(--mafia-text-secondary);
  margin-bottom: 4px;
  font-size: 10px;
}

.territory-filter-chip-row {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.territory-filter-chip {
  color: var(--mafia-text-primary);
  letter-spacing: .4px;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 10px;
  transition: background .2s, color .2s;
}

.territory-filter-chip--active {
  color: var(--mafia-accent-amber);
  background: #90b4f726;
  border-color: #90b4f780;
}

.territory-panel-location {
  margin: 6px 0 0;
}

.territory-panel-location-strong {
  color: var(--mafia-accent-amber);
  font-weight: 600;
}

.territory-panel-top {
  border-bottom: 1px solid #ffffff14;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 12px;
  display: flex;
}

.territory-panel-main {
  flex-direction: column;
  flex: 1;
  gap: 16px;
  min-height: 0;
  display: flex;
}

.territory-panel-list {
  flex: 1;
  min-height: 0;
  padding-right: 6px;
  position: relative;
  overflow: auto;
}

.territory-panel-list:before, .territory-panel-list:after {
  content: "";
  pointer-events: none;
  z-index: 1;
  height: 16px;
  position: sticky;
  left: 0;
  right: 0;
}

.territory-panel-list:before {
  background: linear-gradient(#0f172af2, #0000);
  top: 0;
}

.territory-panel-list:after {
  background: linear-gradient(#0000, #0f172af2);
  bottom: 0;
}

.territory-sidepanel {
  margin-top: 12px;
  display: block;
  position: relative;
}

.selected-territory-panel {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  display: flex;
}

.selected-territory-panel__command-row {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.selected-territory-panel__command-row strong {
  font-size: 16px;
}

.selected-territory-panel__bonus {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.selected-territory-panel__bonus-title {
  font-size: 14px;
  font-weight: 600;
}

.selected-territory-panel__directive {
  color: var(--mafia-text-secondary);
  letter-spacing: .2px;
  margin: 0;
  font-size: 12px;
}

.selected-territory-panel__controller-line {
  letter-spacing: .3px;
  color: var(--mafia-text-secondary);
  font-size: 12px;
}

.selected-territory-panel__heat {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.selected-territory-panel__heat-row {
  align-items: center;
  gap: 6px;
  font-size: 11px;
  display: flex;
}

.selected-territory-panel__heat-label {
  color: var(--mafia-text-secondary);
}

.selected-territory-panel__heat-value {
  letter-spacing: .3px;
  color: var(--mafia-text-secondary);
}

.territory-heat-bar {
  gap: 4px;
  height: 6px;
  display: flex;
}

.territory-heat-segment {
  background: #ffffff14;
  border-radius: 3px;
  flex: 1;
}

.territory-heat-segment--filled {
  background: var(--mafia-accent-amber);
}

.territory-heat-row {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.territory-panel-contest--panel {
  text-align: center;
  width: 100%;
}

.territory-card-heat {
  align-items: center;
  gap: 10px;
  display: flex;
}

.territory-heat-label {
  color: var(--mafia-text-secondary);
}

.territory-card-meta {
  justify-content: flex-start;
  margin-top: 6px;
  display: flex;
}

.territory-card-status {
  color: var(--mafia-text-secondary);
  letter-spacing: .2px;
  text-transform: uppercase;
}

.territory-card-footer {
  margin-top: 12px;
}

.territory-card-select-indicator {
  letter-spacing: .3px;
  text-transform: uppercase;
  color: var(--mafia-text-secondary);
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 11px;
}

.territory-panel-error {
  color: var(--mafia-accent-red);
}

.territory-panel-loading, .territory-panel-empty {
  color: var(--mafia-text-secondary);
}

.territory-card-grid-wrapper {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.territory-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  min-height: 0;
  margin-top: 6px;
  padding-right: 4px;
  display: grid;
}

.territory-card {
  background: var(--mafia-surface-2);
  border: 1px solid var(--mafia-card-stroke);
  cursor: pointer;
  border-radius: 16px;
  flex-direction: column;
  min-height: 230px;
  max-height: 260px;
  transition: transform .2s, box-shadow .2s;
  display: flex;
  overflow: hidden;
  box-shadow: 0 10px 30px #00000040;
}

.territory-card--cooldown {
  border-color: var(--mafia-accent-amber);
  box-shadow: 0 0 0 1px #f59e0b4d;
}

.territory-card--selected {
  border-color: var(--mafia-accent-green);
  box-shadow: 0 12px 35px #22c55e40;
}

.territory-card--current {
  border-color: #0ea5e999;
  box-shadow: 0 0 0 1px #0ea5e966, 0 12px 25px #0ea5e940;
}

.territory-card:focus-visible {
  outline: 2px solid var(--mafia-accent-amber);
  outline-offset: 4px;
}

.territory-card-banner {
  justify-content: center;
  align-items: center;
  height: 66px;
  padding: 8px;
  display: flex;
}

.territory-card-image {
  height: 90px;
  overflow: hidden;
}

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

.territory-card-banner img {
  object-fit: contain;
  max-width: 100%;
  max-height: 52px;
}

.territory-card-banner-placeholder {
  text-transform: uppercase;
  color: #ffffffbf;
  font-size: 28px;
  font-weight: 700;
}

.territory-card-body {
  flex-direction: column;
  flex: 1;
  gap: 8px;
  padding: 12px;
  display: flex;
}

.territory-card-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.territory-card-tier {
  letter-spacing: .3px;
  text-transform: uppercase;
  color: var(--mafia-text-secondary);
  font-size: 10px;
}

.territory-card-value-row {
  flex-direction: column;
  gap: 4px;
  min-height: 48px;
  display: flex;
}

.territory-card-bestfor {
  color: var(--mafia-text-secondary);
  letter-spacing: .2px;
  text-transform: uppercase;
  font-size: 11px;
}

.territory-card-bonus-title {
  color: var(--mafia-text-primary);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  overflow: hidden;
}

.territory-card-bonus-detail {
  color: var(--mafia-text-secondary);
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  font-size: 11px;
  display: -webkit-box;
  overflow: hidden;
}

.territory-card-chip {
  text-transform: uppercase;
  letter-spacing: .35px;
  background: #ffffff05;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 9px;
  font-weight: 600;
}

.territory-card-chip--warn {
  color: var(--mafia-accent-amber);
  background: #f59e0b1f;
  border-color: #f59e0b99;
}

.territory-card-chip--accent {
  color: var(--mafia-accent-amber);
  background: #f9731614;
  border-color: #f9731666;
}

.territory-card-chip--calm {
  color: var(--mafia-text-primary);
  background: #94a3b814;
  border-color: #94a3b880;
}

.territory-card-footer {
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  display: grid;
}

.territory-card-footer-left {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.territory-card-controller {
  color: var(--mafia-text-secondary);
  letter-spacing: .3px;
  font-size: 11px;
}

.territory-card-footer-actions {
  justify-content: flex-end;
  display: flex;
}

.territory-card-pill, .territory-card-select-button {
  letter-spacing: .3px;
  text-transform: uppercase;
  text-align: center;
  border: 1px solid #fff3;
  border-radius: 999px;
  min-width: 70px;
  padding: 4px 10px;
  font-size: 10px;
}

.territory-card-pill {
  color: var(--mafia-accent-green);
  background: #22c55e1f;
}

.territory-card-pill--view {
  color: var(--mafia-text-primary);
  background: #ffffff0a;
  border-color: #ffffff4d;
}

.territory-card-pill--current {
  color: var(--mafia-accent-amber);
  background: #0ea5e926;
  border-color: #0ea5e980;
}

.territory-card-select-button {
  color: var(--mafia-text-primary);
  cursor: pointer;
  background: none;
  transition: background .2s;
}

.territory-card-select-button:hover {
  background: #ffffff14;
}

.territory-chip-row {
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  display: flex;
}

.territory-chip-row--dense {
  gap: 4px;
  margin-top: 8px;
}

.territory-chip {
  letter-spacing: .2px;
  text-transform: uppercase;
  background: #ffffff0a;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
}

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

.territory-card-button {
  letter-spacing: .4px;
  text-transform: uppercase;
  cursor: pointer;
  background: var(--mafia-accent-green);
  color: #010101;
  border: none;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 12px;
  transition: transform .2s;
}

.territory-card-button--secondary {
  color: var(--mafia-text-primary);
  background: #ffffff14;
  border: 1px solid #fff3;
}

.territory-card-button--accent {
  background: var(--mafia-accent-amber);
  color: #010101;
}

.territory-card-button:hover {
  transform: translateY(-1px);
}

.territory-panel-sections {
  border-top: 1px solid #ffffff14;
  margin-top: 6px;
  padding-top: 14px;
}

.group-panel {
  background: #ffffff05;
  border: 1px solid #ffffff1a;
  border-radius: 18px;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  display: flex;
}

.group-panel__header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.group-panel__header-actions {
  gap: 8px;
  display: flex;
}

.group-panel__message {
  color: var(--mafia-text-primary);
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 13px;
}

.group-panel__controls {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.group-panel__secondary {
  color: var(--mafia-text-primary);
  letter-spacing: .4px;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 11px;
  transition: opacity .2s;
}

.group-panel__input {
  min-width: 180px;
  color: var(--mafia-text-primary);
  background: #ffffff08;
  border: 1px solid #fff3;
  border-radius: 999px;
  flex: 1;
  padding: 8px 12px;
}

.group-panel__button {
  letter-spacing: .4px;
  text-transform: uppercase;
  cursor: pointer;
  background: var(--mafia-accent-green);
  color: #101010;
  border: 1px solid #0000;
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 12px;
}

.group-panel__button--ghost {
  color: var(--mafia-text-primary);
  background: none;
  border-color: #fff3;
}

.group-panel__button--accent {
  background: var(--mafia-accent-amber);
  color: #101010;
}

.group-panel__members {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.group-member-row__label {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.group-member-row__meta {
  color: #fff9;
  gap: 6px;
  font-size: 10px;
  display: flex;
}

.group-member-row__badge {
  letter-spacing: .4px;
  text-transform: uppercase;
  background: #ffffff14;
  border-radius: 10px;
  padding: 0 6px;
  font-size: 10px;
}

.group-member-row__badge--self {
  color: var(--mafia-accent-green);
  background: #22c55e33;
}

.group-member-row__status {
  text-transform: uppercase;
  letter-spacing: .2px;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
}

.group-modal-overlay {
  z-index: 1000;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: radial-gradient(circle at 20% 10%, #e748561f, #0000 35%), radial-gradient(circle at 80% 20%, #f973161a, #0000 40%), #02020af2;
  justify-content: center;
  align-items: center;
  padding: 12px;
  display: flex;
  position: fixed;
  inset: 0;
}

.group-modal-overlay:after {
  content: "";
  opacity: .4;
  pointer-events: none;
  background-image: radial-gradient(#ffffff05 1px, #0000 1px);
  background-size: 3px 3px;
  position: absolute;
  inset: 0;
}

.group-modal {
  overscroll-behavior: contain;
  background: linear-gradient(#0c0f1ef2, #060810f2);
  border: 1px solid #ffffff14;
  border-radius: 26px;
  flex-direction: column;
  gap: 14px;
  width: min(720px, 100%);
  max-width: 720px;
  max-height: 92vh;
  padding: 24px;
  display: flex;
  position: relative;
  overflow-y: auto;
  box-shadow: 0 30px 60px #000c;
}

.group-modal__header {
  z-index: 2;
  background: linear-gradient(#060810f2, #06081000);
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
  position: sticky;
  top: 0;
}

.group-modal__header h3 {
  letter-spacing: .02em;
  margin: 4px 0 0;
  font-size: clamp(1.2rem, 1.5vw, 1.4rem);
}

.group-modal__subtitle {
  color: #ffffffa6;
  margin-top: 4px;
}

.group-modal__header-actions {
  align-items: center;
  gap: 8px;
  display: flex;
}

.group-modal__header-button {
  color: var(--mafia-text-primary);
  text-transform: uppercase;
  letter-spacing: .2px;
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #fff3;
  border-radius: 10px;
  padding: 6px 12px;
  font-size: 11px;
  transition: background .2s;
}

.group-modal__header-button:hover {
  background: #ffffff14;
}

.group-modal__close {
  color: #fff;
  cursor: pointer;
  background: #ffffff0d;
  border: none;
  border-radius: 14px;
  padding: 6px 10px;
  font-size: 22px;
  line-height: 1;
}

.group-modal__body {
  z-index: 1;
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.group-modal__section {
  background: #ffffff05;
  border: 1px solid #ffffff0a;
  border-radius: 18px;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  display: flex;
}

.group-modal__section--summary {
  background: #ffffff03;
}

.group-modal__section-head {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.group-modal__summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.group-modal__summary-grid strong {
  font-size: 1.1rem;
}

.group-modal__message {
  background: #ffffff0a;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  margin-bottom: 4px;
  padding: 10px 14px;
}

.group-modal__invite-row {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.group-modal__input {
  min-width: 160px;
  color: var(--mafia-text-primary);
  background: #ffffff08;
  border: 1px solid #fff3;
  border-radius: 999px;
  flex: 1;
  padding: 8px 14px;
}

.group-modal__loadout-summary {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.group-modal__chip {
  background: #ffffff14;
  border-radius: 999px;
  flex-direction: column;
  gap: 2px;
  padding: 6px 10px;
  font-size: 11px;
  display: flex;
}

.group-modal__chip--muted {
  opacity: .6;
}

.group-modal__button {
  letter-spacing: .3px;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 11px;
  transition: transform .2s;
}

.group-modal__button--accent {
  color: #101010;
  background: linear-gradient(120deg, #bc662df2, #d89850e6);
}

.group-modal__button--ghost {
  color: var(--mafia-text-primary);
  background: #ffffff14;
  border: 1px solid #ffffff2e;
}

.group-modal__button--sm {
  padding: 6px 14px;
  font-size: 10px;
}

.group-modal__button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.group-modal__loadout-sheet {
  z-index: 3;
  background: #080c20f2;
  border: 1px solid #ffffff1f;
  border-radius: 18px;
  flex-direction: column;
  gap: 16px;
  padding: 18px;
  display: flex;
  position: absolute;
  inset: 18px;
  box-shadow: 0 20px 40px #0009;
}

.group-modal__loadout-sheet__header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.group-modal__loadout-sheet__close {
  color: var(--mafia-text-primary);
  cursor: pointer;
  background: #ffffff0a;
  border: none;
  border-radius: 10px;
  padding: 6px 12px;
}

.group-modal__loadout-sheet__list {
  flex-direction: column;
  gap: 8px;
  max-height: 350px;
  display: flex;
  overflow-y: auto;
}

.group-modal__loadout-item {
  color: inherit;
  cursor: pointer;
  background: #ffffff08;
  border: 1px solid #ffffff1f;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  display: flex;
}

.group-modal__loadout-item.is-active {
  border-color: #f9731699;
  box-shadow: 0 10px 20px #f9731633;
}

.group-modal__empty-state {
  background: #ffffff03;
}

.group-modal__empty-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.group-modal__footer {
  border-top: 1px solid #ffffff14;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 12px;
  display: flex;
}

.group-modal__footer .group-modal__button {
  min-width: 140px;
}

.group-member-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.group-member-row {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  display: flex;
}

.group-member-row__identity {
  align-items: center;
  gap: 10px;
  display: flex;
}

.group-member-row__avatar {
  text-transform: uppercase;
  color: #fff;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  font-size: .85rem;
  display: inline-flex;
}

.group-member-row__avatar-img {
  object-fit: cover;
  border-radius: 12px;
  width: 38px;
  height: 38px;
}

.group-member-row__text {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.group-member-row__meta {
  flex-wrap: wrap;
  gap: 6px;
  font-size: 10px;
  display: flex;
}

.group-member-row__badge {
  border: 1px solid #fff3;
  border-radius: 8px;
  padding: 2px 6px;
  font-size: 10px;
}

.group-member-row__status {
  letter-spacing: .2px;
  text-transform: uppercase;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
}

.group-member-row__status--ready {
  color: #22c55ee6;
  border-color: #22c55ecc;
}

@media (max-width: 640px) {
  .group-modal {
    width: min(100%, 600px);
    padding: 18px;
  }

  .group-modal__summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .group-modal__footer {
    flex-direction: column;
    align-items: stretch;
  }

  .group-modal__invite-row {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .group-modal, .group-modal__loadout-sheet, .territory-filter-chip, .territory-panel-contest, .territory-card, .territory-card-select-indicator, .territory-command-bar__search input, .territory-command-bar__sort select, .territory-filter-toggle, .territory-filter-row {
    transition: none;
  }
}

@media (max-width: 720px) {
  .territory-panel-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .territory-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }

  .territory-panel-media-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (min-width: 768px) {
  .territory-filter-row, .territory-filter-row--open {
    display: flex !important;
  }

  .territory-filter-toggle {
    display: none;
  }
}

.mafia-panel {
  background: var(--mafia-surface-2);
  border: 1px solid var(--mafia-card-stroke);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 20px 40px #00000073;
}

.glass-panel {
  border: 1px solid var(--mafia-card-stroke);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #0f172acc;
}

.glass-panel-strong {
  border: 1px solid var(--mafia-card-stroke-strong);
}

.finance-preview {
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  display: flex;
}

.finance-preview-row {
  border-bottom: 1px solid #ffffff0d;
  padding-bottom: 12px;
}

.finance-preview-header {
  letter-spacing: .6px;
  color: var(--mafia-text-secondary);
  justify-content: space-between;
  align-items: baseline;
  font-size: 12px;
  display: flex;
}

.finance-preview-bar {
  background: #ffffff0d;
  border-radius: 999px;
  height: 16px;
  display: flex;
  overflow: hidden;
}

.finance-preview-segment {
  color: #0b0f16;
  justify-content: center;
  align-items: center;
  padding: 0 6px;
  font-size: 10px;
  font-weight: 600;
  display: flex;
}

.finance-observations {
  color: var(--mafia-text-secondary);
  border-top: 1px solid #ffffff14;
  flex-direction: column;
  gap: 4px;
  padding-top: 12px;
  display: flex;
}

.mafia-badge {
  letter-spacing: .6px;
  text-transform: uppercase;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 11px;
  display: inline-flex;
}

.badge-info {
  border-color: var(--gold);
  color: var(--gold);
}

.badge-danger {
  border-color: var(--mafia-accent-red);
  color: var(--mafia-accent-red);
}

.badge-success {
  border-color: var(--mafia-accent-green);
  color: var(--mafia-accent-green);
}

.operation-panel {
  border: 1px solid var(--mafia-card-stroke);
  background: #0e1626f2;
  border-radius: 18px;
  flex-direction: column;
  gap: 14px;
  padding: 20px;
  display: flex;
}

.operation-panel h3 {
  margin: 0;
  font-size: 20px;
}

.operation-panel .operation-header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.operation-progress-track {
  background: #ffffff14;
  border-radius: 999px;
  height: 12px;
  overflow: hidden;
}

.operation-progress-fill {
  background: var(--mafia-accent-green);
  border-radius: 999px;
  height: 100%;
  transition: width .3s;
}

.operation-action-row {
  color: var(--mafia-text-secondary);
  justify-content: space-between;
  align-items: baseline;
  font-size: 12px;
  display: flex;
}

.operation-countdown {
  color: var(--mafia-text-muted);
  border-bottom: 1px solid #ffffff14;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  font-size: 12px;
  display: flex;
}

.operation-countdown strong {
  color: var(--gold);
  font-size: 14px;
}

.operation-row {
  color: var(--mafia-text-secondary);
  border-top: 1px solid #ffffff0f;
  flex-direction: column;
  gap: 8px;
  padding-top: 12px;
  font-size: 13px;
  display: flex;
}

.operation-rows {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.operation-heat {
  color: var(--mafia-accent-red);
  align-items: center;
  gap: 8px;
  font-weight: 600;
  display: flex;
}

.operation-heat:before {
  content: "⚠";
  font-size: 14px;
}

.operation-notes {
  color: var(--mafia-text-muted);
  margin: 0;
  padding-left: 18px;
  list-style: outside;
}

.operation-completed {
  background: #ffffff05;
  border: 1px solid #ffffff1f;
  border-radius: 14px;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
  padding: 16px;
  display: flex;
}

.operation-test-row, .operation-actions {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.operation-error {
  color: var(--mafia-accent-amber);
  margin: 0;
  font-size: 13px;
}

.operation-alert {
  color: var(--mafia-accent-red);
  background: #ef444414;
  border: 1px solid #ef444466;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
}

.operation-panel .mafia-cta {
  font-weight: 600;
}

.crime-section {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

.operations-feed {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.operations-feed .label {
  letter-spacing: .8px;
}

.crime-launch-panel {
  border: 1px solid var(--mafia-card-stroke-strong);
  box-shadow: var(--shadow-1);
  background: #101622eb;
  border-radius: 20px;
  padding: 24px;
}

.crime-launch-header h3 {
  margin: 0;
  font-size: 24px;
}

.crime-launch-header .meta {
  margin-top: 6px;
}

.field-group {
  flex-direction: column;
  gap: 6px;
  margin-top: 14px;
  display: flex;
}

.field-label {
  letter-spacing: .6px;
  text-transform: uppercase;
  color: var(--mafia-text-muted);
  font-size: 11px;
}

.field-control {
  color: var(--mafia-text-primary);
  background: #ffffff0a;
  border: 1px solid #ffffff24;
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 13px;
  transition: border .2s, background .2s;
}

.field-control:focus {
  border-color: var(--gold);
  background: #d2b06a14;
  outline: none;
}

.duration-picker {
  flex-direction: column;
  gap: 10px;
  margin-top: 18px;
  display: flex;
}

.duration-option, .stakes-option {
  text-align: left;
  cursor: pointer;
  color: var(--mafia-text-primary);
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  font-size: 13px;
  transition: border .2s, transform .2s;
  display: flex;
}

.duration-option small, .stakes-option small {
  color: var(--mafia-text-muted);
  font-size: 11px;
}

.duration-option.active, .stakes-option.active {
  border-color: var(--mafia-accent-green);
  box-shadow: var(--glow-green);
  transform: translateY(-2px);
}

.stakes-grid {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-top: 12px;
  display: grid;
}

.crime-launch-actions {
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
  display: flex;
}

.mafia-cta {
  letter-spacing: .8px;
  text-transform: uppercase;
  cursor: pointer;
  background: var(--neutralBtn);
  color: var(--text);
  border: 1px solid #0000;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  min-height: 32px;
  padding: 6px 16px;
  font-size: 10px;
  font-weight: 600;
  transition: transform .2s, border-color .2s, background .2s, box-shadow .2s;
  display: inline-flex;
}

.mafia-cta-primary {
  background: linear-gradient(135deg, var(--ctaRed), var(--ctaRedHover));
  color: #fff;
  border-color: #0000;
  box-shadow: 0 15px 35px #8e2f2a59;
}

.mafia-cta-secondary {
  border-color: var(--border);
  color: var(--text);
  background: #ffffff05;
}

.mafia-cta:disabled {
  pointer-events: none;
  opacity: .5;
  transform: none;
}

.mafia-cta:hover:not(:disabled) {
  border-color: var(--ctaRed);
  transform: translateY(-2px);
}

.mafia-cta:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #8e2f2a80;
}

.admin-console {
  z-index: 9999;
  width: min(1200px, 100% - 30px);
  padding: 18px;
  padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  overscroll-behavior: contain;
  background: #0a0f1cf5;
  border: 1px solid #fff3;
  border-radius: 24px;
  flex-direction: column;
  gap: 12px;
  max-height: calc(100vh - 40px);
  display: flex;
  position: fixed;
  bottom: 18px;
  left: 50%;
  overflow: hidden auto;
  transform: translateX(-50%);
  box-shadow: 0 30px 60px #000000a6;
}

.admin-console.is-collapsed {
  max-height: none;
  overflow: visible;
}

.admin-console-header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.admin-console-header-title {
  font-family: var(--mafia-mono-stack);
  letter-spacing: .12em;
  color: var(--textMuted);
  text-transform: uppercase;
  font-size: .78rem;
}

.admin-console-header-actions {
  align-items: center;
  gap: 10px;
  display: flex;
}

.admin-console-body {
  flex-direction: column;
  flex: 1;
  gap: 12px;
  padding-right: 4px;
  display: flex;
  overflow-y: auto;
}

.admin-console-tabs {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.admin-console-tab {
  color: var(--textMuted);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 999px;
  padding: 6px 14px;
  transition: border-color .2s, background .2s;
}

.admin-console-tab.is-active {
  border-color: var(--ctaRed);
  color: #fff;
  background: #ffffff14;
}

.admin-console-main {
  flex: 1;
  grid-template-columns: minmax(260px, 320px) 1fr;
  gap: 12px;
  min-height: 0;
  display: grid;
  overflow-y: auto;
}

.admin-console-main.admin-console-main--police, .admin-console-main.admin-console-main--stores {
  grid-template-columns: 1fr;
}

.admin-console-main.admin-console-main--actions {
  flex: none;
  min-height: 360px;
}

.admin-store-panel {
  background: #0000008c;
  border: 1px solid #ffffff26;
  border-radius: 16px;
  min-height: 0;
  padding: 16px;
  overflow-y: auto;
  box-shadow: 0 20px 40px #00000059;
}

.admin-console-main--stores .admin-store-panel {
  max-height: calc(100vh - 220px);
}

.admin-store-panel__header {
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.admin-store-panel__actions {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.admin-store-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
  display: grid;
}

.admin-store-summary-grid strong {
  margin-top: 2px;
  font-size: 15px;
  display: block;
}

.admin-store-section {
  background: #ffffff05;
  border: 1px solid #ffffff1a;
  border-radius: 14px;
  margin-bottom: 16px;
  padding: 16px;
}

.admin-store-section__header {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 12px;
  display: flex;
}

.admin-store-roster {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.admin-store-roster-row {
  background: #0006;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  display: flex;
}

.admin-store-roster-meta strong {
  font-size: 14px;
}

.admin-store-roster-shift {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  display: grid;
}

.admin-store-roster-actions {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.admin-store-hire-sources {
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 12px;
  display: flex;
}

.admin-store-hire-source {
  color: var(--mafia-text-muted);
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.admin-store-search, .admin-store-admin-pool {
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
  display: flex;
}

.admin-store-hire-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
  display: grid;
}

.admin-store-capability-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: 10px;
  display: grid;
}

.admin-store-capability-actions {
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
  display: flex;
}

.admin-store-timeline {
  color: var(--mafia-text-muted);
  flex-direction: column;
  gap: 4px;
  margin-top: 12px;
  font-size: 12px;
  display: flex;
}

.admin-store-panel__actions .admin-console-link-button {
  align-self: flex-start;
}

.admin-console-main .admin-tab-panel--police {
  flex: auto;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 100%;
  min-height: 0;
  display: block;
}

.admin-console-cmd {
  background: #ffffff05;
  border-radius: 14px;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  display: flex;
}

.admin-console-cmd-empty {
  font-family: var(--mafia-mono-stack);
  color: var(--textMuted);
  margin: 0;
  font-size: .78rem;
}

.admin-console-cmd-prompt {
  font-family: var(--mafia-mono-stack);
  color: var(--textMuted);
  margin: 0;
  font-size: .82rem;
}

.admin-console-cmd-input-row {
  align-items: center;
  gap: 6px;
  display: flex;
}

.admin-console-cmd-input-symbol {
  font-family: var(--mafia-mono-stack);
  color: #f5f5f5;
  -webkit-user-select: none;
  user-select: none;
  padding-left: 2px;
}

.admin-console-cmd-input {
  font-family: var(--mafia-mono-stack);
  background: #ffffff0a;
  border: 1px solid #fff3;
  border-radius: 6px;
  flex: 1;
  padding: 8px 10px;
  font-size: .9rem;
}

.admin-console-cmd-input:focus {
  border-color: #fff9;
  outline: none;
}

.admin-console-cmd-button {
  color: #fff;
  letter-spacing: .05em;
  text-transform: uppercase;
  background: #ffffff14;
  border: 1px solid #ffffff59;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: .8rem;
}

.admin-console-cmd-button:disabled {
  opacity: .6;
}

.admin-console-list {
  flex-direction: column;
  gap: 12px;
  padding-right: 2px;
  display: flex;
  overflow-y: auto;
}

.admin-console-search {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.admin-console-error {
  color: var(--mafia-accent-red);
  font-size: 12px;
}

.admin-console-list .field-control {
  width: 100%;
}

.admin-console-feature-group {
  border-top: 1px solid #ffffff0a;
  flex-direction: column;
  gap: 6px;
  padding-top: 10px;
  display: flex;
}

.admin-console-feature-label {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.admin-console-action {
  color: inherit;
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px;
  transition: border-color .2s, background .2s;
  display: flex;
}

.admin-console-action.is-active {
  border-color: var(--ctaRed);
  background: #ffffff0d;
}

.admin-console-risk {
  text-transform: uppercase;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
}

.admin-console-risk.risk-low {
  color: #22c55e;
  background: #22c55e33;
}

.admin-console-risk.risk-medium {
  color: #f97316;
  background: #fdba7433;
}

.admin-console-risk.risk-high {
  color: #ef4444;
  background: #ef444433;
}

.admin-console-panel {
  background: #ffffff05;
  border: 1px solid #ffffff0d;
  border-radius: 16px;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  display: flex;
}

.admin-console-panel-header {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.admin-console-fields {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  display: grid;
}

.admin-console-field {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.admin-console-field .field-control {
  color: #fff;
  background: #ffffff0d;
  border: 1px solid #fff3;
  border-radius: 10px;
  padding: 8px 10px;
}

.admin-console-actions {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.admin-console-dryrun {
  color: var(--textMuted);
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.admin-console-response {
  border-top: 1px solid #ffffff1a;
  flex-direction: column;
  gap: 6px;
  padding-top: 10px;
  display: flex;
}

.admin-console-response-row {
  align-items: center;
  gap: 10px;
  display: flex;
}

.admin-console-chips {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.admin-console-events {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  margin-top: 12px;
  padding: 12px;
}

.admin-console-events-header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.admin-console-event-controls {
  align-items: center;
  gap: 6px;
  display: flex;
}

.admin-console-event-toggle {
  color: var(--text);
  cursor: pointer;
  background: none;
  border: 1px solid #ffffff1a;
  border-radius: 999px;
  padding: 4px 10px;
}

.admin-console-event-toggle.is-active {
  background: #ffffff1f;
}

.admin-console-event-list {
  flex-direction: column;
  gap: 6px;
  max-height: 220px;
  margin-top: 8px;
  display: flex;
  overflow-y: auto;
}

.admin-console-event {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  padding: 8px;
}

.admin-console-inspect {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  display: grid;
}

.admin-console-card {
  background: #ffffff05;
  border: 1px solid #ffffff0d;
  border-radius: 16px;
  padding: 12px 14px;
}

.admin-console-dev-state-card {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.admin-console-dev-state-input {
  font-family: var(--mafia-mono-stack);
}

.admin-console-dev-state-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  display: grid;
}

.admin-console-dev-state-checkbox {
  align-items: center;
  gap: 6px;
  display: flex;
}

.admin-console-dev-state-actions {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.admin-console-dev-state-btn {
  text-transform: none;
  letter-spacing: normal;
  min-width: 90px;
  font-size: .85rem;
}

.admin-console-dev-state-result {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  padding: 8px 10px;
}

.admin-console-dev-state-warnings, .admin-console-dev-state-reasons {
  margin: 6px 0 0;
  padding-left: 16px;
  font-size: .75rem;
}

.admin-console-pre {
  background: #ffffff0a;
  border-radius: 12px;
  max-height: 180px;
  padding: 10px;
  font-family: IBM Plex Mono, Fira Mono, monospace;
  font-size: 12px;
  overflow-y: auto;
}

.admin-console-link-button {
  color: var(--ctaRed);
  cursor: pointer;
  background: none;
  border: none;
}

.admin-console-location-wrapper {
  align-items: center;
  gap: 6px;
  display: flex;
}

.admin-console-asset-field {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.admin-console-asset-button {
  justify-content: space-between;
  width: 100%;
}

.admin-console-asset-meta {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.admin-console-asset-picker {
  z-index: 10005;
  width: min(900px, 90vw);
  max-height: 70vh;
  padding: 18px;
  position: fixed;
  top: 20px;
  left: 50%;
  overflow: hidden;
  transform: translateX(-50%);
}

.admin-console-asset-header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.admin-console-asset-search {
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
  display: flex;
}

.admin-console-chip-row {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.admin-console-asset-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  max-height: 50vh;
  margin-top: 12px;
  display: grid;
  overflow-y: auto;
}

.admin-asset-card {
  cursor: pointer;
  text-align: left;
  background: #ffffff05;
  border: 1px solid #ffffff1f;
  border-radius: 16px;
  align-items: center;
  gap: 10px;
  padding: 10px;
  display: flex;
}

.admin-asset-card.is-selected {
  border-color: var(--ctaRed);
  background: #ffffff0d;
}

.admin-asset-icon {
  background: #ffffff14;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
}

.chip {
  background: #ffffff1a;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
}

.chip-solid {
  background: #ffffff4d;
}

.bot-console-card {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.bot-console-card-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.bot-console-status {
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  display: flex;
}

.bot-console-targets {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.bot-console-target {
  color: var(--text);
  text-align: left;
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #ffffff1f;
  border-radius: 12px;
  flex-direction: column;
  gap: 4px;
  padding: 10px;
  transition: border-color .15s, background .15s, transform .15s;
  display: flex;
}

.bot-console-target:hover {
  border-color: #ffffff4d;
  transform: translateY(-1px);
}

.bot-console-target.is-active {
  border-color: var(--ctaRed);
  background: #ffffff12;
}

.bot-console-grid {
  gap: 10px;
  display: grid;
}

.bot-console-field-group {
  gap: 8px;
  display: grid;
}

.bot-console-suggestions {
  gap: 6px;
  display: grid;
}

.bot-console-summary {
  background: #ffffff08;
  border: 1px solid #ffffff1a;
  border-radius: 10px;
  margin: 0;
  padding: 9px 10px;
}

.bot-console-mode-picker {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.bot-console-actions {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.bot-progress-info {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  gap: 8px;
  padding: 10px;
  display: grid;
}

.bot-progress-meta {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.bot-progress-bar {
  background: #ffffff1a;
  border-radius: 999px;
  width: 100%;
  height: 8px;
  overflow: hidden;
}

.bot-progress-bar-inner {
  background: linear-gradient(90deg, #b73a23, #df8b2e);
  border-radius: 999px;
  height: 100%;
}

.bot-console-logs {
  background: #0003;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  gap: 10px;
  padding: 10px;
  display: grid;
}

.bot-console-logs-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.bot-console-log-list {
  gap: 8px;
  max-height: 210px;
  display: grid;
  overflow-y: auto;
}

.bot-console-log-entry {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  padding: 8px;
}

.bot-console-log-row {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

@media (max-width: 900px) {
  .admin-console-main {
    grid-template-columns: 1fr;
    max-height: none;
  }

  .admin-console-main.admin-console-main--actions {
    min-height: 300px;
  }

  .admin-console-main--stores .admin-store-panel {
    max-height: calc(100vh - 190px);
  }

  .admin-console {
    width: calc(100% - 24px);
    left: 50%;
    transform: translateX(-50%);
  }

  .bot-console-targets {
    grid-template-columns: 1fr;
  }

  .bot-console-card-header, .bot-console-logs-header, .bot-progress-meta {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (min-width: 1100px) {
  .territory-panel-main {
    grid-template-columns: minmax(0, 1fr) 320px;
    display: grid;
  }

  .territory-panel-list {
    overflow: auto;
  }

  .territory-sidepanel {
    align-self: start;
    display: block;
    position: sticky;
    top: 0;
  }
}

@media (max-width: 767px) {
  .territory-command-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .territory-filter-row {
    flex-direction: column;
    gap: 12px;
  }

  .territory-filter-toggle {
    display: flex;
  }

  .territory-card-grid {
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
    grid-template-columns: none;
    grid-auto-columns: minmax(240px, 82vw);
    grid-auto-flow: column;
    gap: 12px;
    padding: 6px 16px;
    scroll-padding: 16px;
    display: grid;
    overflow-x: auto;
  }

  .territory-card-grid::-webkit-scrollbar {
    display: none;
  }

  .territory-card {
    scroll-snap-align: start;
    min-width: 240px;
  }

  .territory-sidepanel {
    margin-top: 12px;
    display: block;
    position: relative;
  }

  .territory-switcher__details {
    width: 100%;
  }

  .territory-switcher__list {
    margin-top: 6px;
    position: relative;
  }
}

.operation-completed .rewards {
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
  display: flex;
}

.operation-actions {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.operation-test-row {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
  display: flex;
}

.operation-error {
  color: var(--mafia-accent-red);
  margin-top: 10px;
  font-size: 12px;
  font-weight: 600;
}

.crime-section {
  margin-bottom: 18px;
}

.crime-launch-panel {
  border: 1px solid var(--mafia-card-stroke);
  background: #111827f2;
  border-radius: 18px;
  flex-direction: column;
  gap: 16px;
  padding: 18px;
  display: flex;
  box-shadow: 0 10px 30px #0006;
}

.field-group {
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.field-label {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--mafia-text-secondary);
  font-size: 11px;
}

.field-control {
  border: 1px solid var(--mafia-card-stroke);
  color: var(--mafia-text-primary);
  background: #ffffff08;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
}

.field-control:focus-visible {
  border-color: var(--gold);
  outline: none;
  box-shadow: 0 0 0 2px #d2b06a73;
}

.duration-picker .field-label {
  margin-bottom: 4px;
}

.duration-options {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 10px;
  display: grid;
}

.duration-option, .stakes-option {
  border: 1px solid var(--mafia-card-stroke);
  text-align: left;
  cursor: pointer;
  background: #ffffff05;
  border-radius: 14px;
  flex-direction: column;
  gap: 4px;
  min-height: 72px;
  padding: 10px 12px;
  font-size: 12px;
  transition: border .2s, transform .2s;
  display: flex;
}

.duration-option.active, .stakes-option.active {
  border-color: #22c55ecc;
  box-shadow: 0 0 0 1px #22c55e66;
}

.stakes-grid {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
  display: grid;
}

.crime-launch-actions {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.crime-launch-actions .meta {
  color: var(--mafia-text-secondary);
  margin: 0;
  font-size: 11px;
}

.operations-feed {
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
  display: flex;
}

.operations-entry {
  background: #ffffff05;
  border: 1px solid #ffffff0d;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 14px;
  display: flex;
}

.operations-entry.info {
  border-color: #d2b06a73;
}

.operations-entry.warning {
  background: #f59e0b0d;
  border-color: #f59e0b66;
}

.operations-entry.danger {
  background: #ef44440f;
  border-color: #ef444473;
}

.operations-entry .mafia-badge {
  border-color: #ffffff4d;
}

.operations-entry .entry-meta {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.operations-entry .entry-meta span {
  color: var(--mafia-text-muted);
  font-size: 12px;
}

.alert-toast {
  color: var(--text-0);
  box-shadow: var(--shadow-2);
  background: #ef444414;
  border: 1px solid #ef444459;
  border-radius: 16px;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 8px;
  padding: 14px 18px;
  display: flex;
}

.alert-toast .label {
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mafia-accent-red);
  font-size: 11px;
}

.summary-row {
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 20px;
  display: flex;
}

.holdings-page-header {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.holdings-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin-top: 18px;
  display: grid;
}

.holdings-section {
  margin-top: 24px;
}

.holdingsPage {
  flex-direction: column;
  gap: 20px;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 18px 18px 170px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.holdingsPage:before {
  content: "";
  pointer-events: none;
  opacity: .8;
  mix-blend-mode: screen;
  z-index: 0;
  background: radial-gradient(circle at top, #ffd78c1f, #0000 50%), repeating-linear-gradient(45deg, #ffffff0a 0 1px, #0000 1px 12px), linear-gradient(#05070bd9, #05070b33);
  position: absolute;
  inset: 0;
}

.holdingsPage > * {
  z-index: 1;
  position: relative;
}

.holdingsHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  display: flex;
}

.holdingsTitle {
  letter-spacing: .3px;
  margin: 0;
  font-size: 32px;
}

.holdingsSub {
  color: var(--mafia-text-muted);
  margin: 4px 0 0;
  font-size: 13px;
}

.holdingsUpdatedChip {
  letter-spacing: 1px;
  background: #ffffff0f;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 12px;
}

.kpiGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.kpiCard {
  background: #070a12d9;
  border: 1px solid #ffffff1f;
  border-radius: 18px;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  display: flex;
  box-shadow: 0 20px 40px #0000008c, inset 0 1px #ffffff0d;
}

.kpiValue {
  letter-spacing: -.02em;
  margin: 0;
  font-size: 34px;
}

.kpiSub {
  color: var(--mafia-text-muted);
  font-size: 12px;
}

.bucketChips {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
  display: flex;
}

.bucketChip {
  letter-spacing: .5px;
  background: #ffffff05;
  border: 1px solid #fff3;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  font-size: 11px;
  display: flex;
}

.chipLegit {
  border-color: #22c55eb3;
}

.chipIllegal {
  border-color: #f59e0bcc;
}

.chipIllicit {
  border-color: #ef4444cc;
}

.holdingsMainGrid {
  grid-template-columns: minmax(0, 1.7fr) minmax(0, .9fr);
  align-items: start;
  gap: 16px;
  display: grid;
}

.panelCard {
  background: #0a0e16c7;
  border: 1px solid #ffffff29;
  border-radius: 20px;
  flex-direction: column;
  gap: 14px;
  padding: 20px;
  display: flex;
  box-shadow: 0 25px 60px #000000a6, inset 0 1px #ffffff0a;
}

.stashPanel {
  gap: 12px;
}

.sectionTitleRow {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.stashList {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.stashAccordion {
  background: #0a0c12a6;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  overflow: hidden;
}

.stashHeader {
  cursor: pointer;
  width: 100%;
  color: inherit;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  transition: background .2s;
  display: flex;
}

.stashHeader:hover {
  background: #ffffff08;
}

.stashHeaderLeft {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.stashName {
  font-size: 18px;
  font-weight: 600;
}

.stashMeta {
  color: var(--mafia-text-muted);
  flex-wrap: wrap;
  gap: 8px;
  font-size: 11px;
  display: flex;
}

.currencyBadge {
  background: #ffffff08;
  border: 1px solid #fff3;
  border-radius: 12px;
  padding: 2px 8px;
}

.stashTotalRight {
  text-align: right;
}

.stashTotalRight span {
  font-size: 20px;
  font-weight: 600;
  display: block;
}

.stashTotalRight small {
  color: var(--mafia-text-muted);
  font-size: 11px;
}

.stashBody {
  border-top: 1px solid #ffffff14;
  grid-template-columns: 1.1fr .9fr .9fr;
  gap: 16px;
  padding: 18px 16px;
  display: grid;
}

.stashBlockTitle {
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #ffffffa6;
  margin-bottom: 8px;
  font-size: 11px;
}

.stashTable {
  border-collapse: collapse;
  width: 100%;
  font-size: 12px;
}

.stashTable th, .stashTable td {
  text-align: left;
  border-bottom: 1px solid #ffffff14;
  padding: 6px 0;
}

.stashTable th {
  text-transform: uppercase;
  letter-spacing: .3em;
  color: var(--mafia-text-muted);
  font-size: 11px;
}

.stashChipRow {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.stashChip {
  background: #ffffff05;
  border: 1px solid #ffffff1f;
  border-radius: 12px;
  padding: 5px 12px;
  font-size: 12px;
}

.assetsPanel {
  background: #ffffff05;
  border-top: 1px solid #ffffff14;
  border-bottom-right-radius: 16px;
  border-bottom-left-radius: 16px;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px 16px;
  display: flex;
}

.assetGroup {
  background: #ffffff03;
  border: 1px solid #ffffff0a;
  border-radius: 12px;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  display: flex;
}

.assetGroupHeader {
  text-transform: uppercase;
  letter-spacing: .2em;
  color: #ffffffbf;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  display: flex;
}

.assetGroupList {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.tagChipWarning {
  color: #ffc76b;
  background: #ffa00026;
  border-color: #ffa00066;
}

.assetRow {
  border-bottom: 1px solid #ffffff12;
  align-items: flex-start;
  gap: 10px;
  padding: 6px 0;
  display: flex;
}

.assetRow:last-child {
  border-bottom: none;
}

.assetRowActions {
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  display: flex;
}

.assetActionBtn {
  color: #fff;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 4px 14px;
  font-size: 11px;
}

.assetActionBtn:disabled {
  opacity: .4;
  cursor: progress;
}

.assetActionError {
  color: #ffa000cc;
  font-size: 11px;
  display: block;
}

.assetIcon {
  background: #ffffff0a;
  border: 1px solid #ffffff1a;
  border-radius: 8px;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
}

.assetRowContent {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.assetPrimary {
  flex-direction: column;
  gap: 2px;
  margin: 0;
  display: flex;
}

.tagRow {
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
  display: flex;
}

.tagChip {
  letter-spacing: .5px;
  background: #ffffff0d;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 10px;
}

.assetMore {
  color: var(--mafia-text-muted);
  font-size: 12px;
}

.sidebarColumn {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.topStashesPanel, .reservationsPanel {
  min-height: 200px;
}

.equipmentPanel {
  flex-direction: column;
  gap: 10px;
  min-height: 180px;
  display: flex;
}

.equipmentSlotList {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.equipmentSlotCard {
  background: #ffffff05;
  border: 1px solid #ffffff1f;
  border-radius: 12px;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  display: flex;
}

.equipmentSlotHeader {
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  display: flex;
}

.equipmentSlotLabel {
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--mafia-text-secondary);
  font-size: 11px;
}

.equipmentSlotTitle {
  font-size: 15px;
  font-weight: 600;
  display: block;
}

.equipmentSlotMeta, .equipmentSlotId {
  color: var(--mafia-text-secondary);
  margin: 0;
  font-size: 11px;
}

.equipmentSlotId {
  font-family: var(--mafia-mono-stack);
  letter-spacing: .05em;
}

.topStashList {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.topStashRow {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.topStashRowHeader {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.topStashAmount {
  font-size: 16px;
  font-weight: 600;
}

.topStashLabel {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.topStashBar {
  background: #ffffff14;
  border-radius: 999px;
  width: 100%;
  height: 6px;
  overflow: hidden;
}

.topStashBarFill {
  border-radius: inherit;
  background: linear-gradient(135deg, #f5c66c, #d97c27);
  height: 100%;
  display: block;
}

.holdingsReservationList {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.holdingsReservationCard {
  background: #ffffff05;
  border: 1px solid #ffffff1f;
  border-radius: 12px;
  padding: 10px 12px;
}

.holdingsReservationRow {
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  display: flex;
}

.debugRow {
  justify-content: flex-end;
  display: flex;
}

.debugToggleBtn {
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 11px;
}

.debugPanel {
  font-family: var(--mafia-mono-stack);
  background: #00000073;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  max-height: 340px;
  margin-top: 12px;
  padding: 14px;
  overflow: auto;
}

.emptyStatePanel {
  text-align: center;
  background: #ffffff05;
  border: 1px dashed #ffffff40;
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
  padding: 22px;
  display: flex;
}

@media (max-width: 980px) {
  .kpiGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .holdingsMainGrid, .stashBody {
    grid-template-columns: 1fr;
  }

  .sidebarColumn {
    order: 3;
  }
}

.holdings-scope-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
  margin-top: 12px;
  display: grid;
}

.holdings-scope-card {
  flex-direction: column;
  gap: 10px;
  min-height: 220px;
  padding: 18px;
  display: flex;
}

.holdings-scope-heading {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.holdings-scope-section {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.holdings-scope-line {
  color: var(--mafia-text-secondary);
  margin: 0;
  font-size: 12px;
}

.holdings-scope-assets {
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
  display: flex;
}

.holdings-asset {
  border: 1px solid #ffffff14;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  display: flex;
}

.holdings-reservation-list {
  flex-direction: column;
  gap: 12px;
  margin-top: 12px;
  display: flex;
}

.holdings-reservation-card {
  background: #060910bf;
  border: 1px solid #ffffff1f;
  border-radius: 14px;
  padding: 12px 16px;
}

.holdings-reservation-row {
  justify-content: space-between;
  align-items: baseline;
  display: flex;
}

.holdings-error {
  color: var(--riskRed);
}

.holdings-unavailable-panel {
  background: #ffffff08;
  border: 1px dashed #ffffff2e;
  border-radius: 12px;
  margin-top: 8px;
  padding: 14px 16px;
}

.holdings-unavailable-panel .meta {
  margin-top: 4px;
}

.summary-card {
  background: #ffffff05;
  border: 1px solid #ffffff0d;
  border-radius: 14px;
  flex-direction: column;
  flex: 1;
  gap: 4px;
  min-width: 160px;
  padding: 14px 16px;
  display: flex;
}

.summary-card .label {
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--mafia-text-muted);
  font-size: 11px;
}

.summary-card .value {
  font-size: 20px;
  font-weight: 600;
}

.summary-card .mini {
  color: var(--mafia-text-secondary);
  font-size: 10px;
}

.mafia-right-sidebar {
  background: var(--mafia-surface-1);
  border: 1px solid var(--risk-border);
  gap: calc(20px * var(--ui-scale));
  padding: calc(22px * var(--ui-scale));
  box-shadow: 0 0 0 1px var(--risk-border), 0 14px 30px var(--risk-glow);
  transition: border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);
  border-radius: 20px;
  flex-direction: column;
  display: flex;
  position: relative;
  overflow: hidden;
}

.profile-portrait {
  aspect-ratio: 1;
  border: 1px solid #ffffff14;
  border-radius: 18px;
  width: 80%;
  max-width: 160px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.profile-portrait img {
  object-fit: cover;
}

.profile-meta {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.profile-status {
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
  display: flex;
}

.status-row {
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  display: flex;
}

.status-progress {
  background: #ffffff14;
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
}

.status-progress-fill {
  background: linear-gradient(90deg, var(--mafia-accent-green) 0%, var(--mafia-accent-amber) 60%, var(--mafia-accent-red) 100%);
  border-radius: 999px;
  width: 0;
  height: 100%;
  transition: width .2s;
  display: block;
}

.status-progress-label {
  text-align: center;
  margin-top: 4px;
  display: block;
}

.net-worth-label {
  text-align: center;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #ffffff8c;
  font-size: 11px;
  display: block;
}

.location-row span, .location-row strong {
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 11px;
}

.equipment-card {
  cursor: pointer;
}

.equipment-card:focus-visible {
  outline: 2px solid var(--mafia-accent-green);
  outline-offset: 2px;
}

.equipment-grid {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 12px;
  display: grid;
}

.equipment-card {
  text-align: center;
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 12px;
  font-size: 12px;
  display: flex;
}

.equipment-image {
  border-radius: 10px;
  width: 100%;
  overflow: hidden;
}

.firm-list {
  flex-direction: column;
  gap: 10px;
  margin-top: 6px;
  display: flex;
}

.firm-card {
  color: inherit;
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  text-decoration: none;
  transition: border .2s, transform .2s;
  display: flex;
}

.firm-card:hover, .firm-card:focus-visible {
  border-color: var(--mafia-accent-green);
  background: #22c55e26;
  outline: none;
  transform: translateY(-1px);
}

.firm-card-icon {
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: flex;
}

.firm-card-icon img {
  width: 28px;
  height: 28px;
}

.firm-card-meta {
  flex-direction: column;
  flex: 1;
  gap: 4px;
  display: flex;
}

.firm-card-label {
  font-size: 14px;
  font-weight: 600;
}

.firm-card-id {
  color: var(--mafia-text-secondary);
  letter-spacing: .2px;
  font-size: 11px;
}

.firm-card-cta {
  color: var(--mafia-accent-green);
  letter-spacing: .3px;
  font-size: 11px;
  font-weight: 600;
}

.risk-bar {
  background: #ffffff14;
  border-radius: 999px;
  height: 10px;
  margin-top: 6px;
  position: relative;
  overflow: hidden;
}

.risk-bar:before {
  content: "";
  background: linear-gradient(90deg, var(--mafia-accent-green) 0%, var(--mafia-accent-amber) 60%, var(--mafia-accent-red) 100%);
  position: absolute;
  inset: 0;
}

.mafia-quick-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.mafia-quick-link {
  cursor: pointer;
  color: var(--mafia-text-primary);
  background: #ffffff08;
  border: 1px solid #ffffff0d;
  border-radius: 13px;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  font-size: 13px;
  display: flex;
}

.mafia-quick-link span {
  color: var(--mafia-text-primary);
  font-size: 13px;
}

.mafia-quick-link small {
  color: var(--mafia-text-muted);
  font-size: 10px;
}

.selected-file-panel {
  background: #0b1320e6;
  border: 1px solid #ffffff14;
  border-radius: 18px;
  margin-top: 18px;
  padding: 18px;
}

.selected-file-panel h3 {
  margin: 0;
  font-size: 18px;
}

.selected-file-panel h4 {
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: 14px;
}

.identity-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 12px;
  display: grid;
}

.identity-card {
  background: linear-gradient(135deg, #ffffff0a, #ffffff03);
  border: 1px solid #ffffff1a;
  border-radius: 14px;
  flex-direction: column;
  gap: 6px;
  min-height: 140px;
  padding: 14px;
  transition: transform .25s, border-color .25s, box-shadow .25s;
  display: flex;
}

.identity-card:hover {
  transform: translateY(-2px);
}

.identity-card--active {
  border-color: var(--mafia-accent);
  box-shadow: 0 8px 24px #118fe240;
}

.identity-card__header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.identity-card__name {
  color: var(--mafia-text-primary);
  font-size: 16px;
  font-weight: 600;
}

.identity-card__detail {
  color: #e7eefcb3;
  font-size: 13px;
}

.identity-card__badge {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mafia-accent);
  background: #118fe226;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
}

.identity-card__status-row {
  letter-spacing: .15em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  display: flex;
}

.identity-card__status {
  color: #e7eefcb3;
}

.identity-card__quality {
  text-transform: uppercase;
  background: #ffffff0f;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
}

.identity-card__tag-list {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.identity-card__tag {
  color: #e7eefcbf;
  background: #ffffff0f;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
}

.identity-card__expiry {
  color: #e7eefcb3;
  margin-top: 6px;
  font-size: 12px;
}

.identity-card__note {
  color: #e7eefc8c;
  margin-top: auto;
  font-size: 11px;
}

.crime-test-page {
  flex-direction: column;
  gap: 20px;
  width: min(1200px, 100%);
  margin: 0 auto;
  display: flex;
}

.crime-test-header h1 {
  letter-spacing: 1px;
  margin: 0;
  font-size: 24px;
}

.crime-test-header p {
  color: var(--mafia-text-secondary);
  margin: 4px 0 0;
  font-size: 14px;
}

.crime-test-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
  display: grid;
}

.crime-test-controls {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.crime-panel-tabs {
  gap: 8px;
  display: flex;
}

.crime-panel-tab {
  color: var(--mafia-text-secondary);
  cursor: pointer;
  background: #ffffff08;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
}

.crime-panel-tab.active {
  color: #f8fafc;
  background: #1d4ed833;
  border-color: #60a5fa;
}

.ops-mission-panel {
  color: var(--mafia-text-primary);
  background: radial-gradient(circle at top, #1b2a4d40, #0000 58%), linear-gradient(170deg, #091222f2, #101826f5 60%, #0f172af0);
  border-color: #233048;
  box-shadow: inset 0 1px #ffffff1a, inset 0 -12px 26px #00000040;
}

.ops-mission-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.ops-mission-head-main {
  flex: 1;
}

.ops-eyebrow {
  color: #94a3b8;
  letter-spacing: .8px;
  text-transform: uppercase;
  margin: 0 0 2px;
  font-size: 10px;
  font-weight: 800;
}

.ops-title {
  margin: 0;
  font-size: 34px;
  font-weight: 900;
  line-height: 1.02;
}

.ops-title-glow {
  background: linear-gradient(90deg, #0000, #93c5fd66, #0000);
  border-radius: 999px;
  width: 100%;
  height: 1px;
  margin-top: 6px;
}

.ops-chip-col {
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  display: flex;
}

.ops-chip {
  color: #cbd5e1;
  letter-spacing: .4px;
  text-transform: uppercase;
  background: #0b1220cc;
  border: 1px solid #334155;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 800;
}

.ops-heat-wrap {
  background: #0c1422b3;
  border: 1px solid #33415570;
  border-radius: 12px;
  padding: 10px;
}

.ops-heat-head {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
  display: flex;
}

.ops-heat-label {
  color: #94a3b8;
  letter-spacing: .4px;
  font-size: 11px;
  font-weight: 800;
}

.ops-heat-risk {
  font-size: 11px;
  font-weight: 700;
}

.ops-heat-track {
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 4px;
  display: grid;
}

.ops-heat-seg {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 999px;
  height: 6px;
  display: block;
}

.ops-heat-seg.on {
  box-shadow: 0 0 8px #00000020;
}

.ops-heat-accent-low {
  color: #60a5fa;
  background: #60a5fa;
  border-color: #60a5fa;
}

.ops-heat-accent-mid {
  color: #f59e0b;
  background: #f59e0b;
  border-color: #f59e0b;
}

.ops-heat-accent-high {
  color: #f97316;
  background: #f97316;
  border-color: #f97316;
}

.ops-heat-accent-danger {
  color: #ef4444;
  background: #ef4444;
  border-color: #ef4444;
}

.ops-divider {
  background: #94a3b84a;
  border-radius: 999px;
  height: 1px;
}

.ops-status-banner {
  border: 1px solid #33415599;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 12px;
  display: flex;
}

.ops-status-banner.running {
  background: linear-gradient(120deg, #0f172a, #13203b);
}

.ops-status-banner.resolved {
  background: linear-gradient(120deg, #0f1b14, #13301f);
  border-color: #22c55e66;
}

.ops-status-dot {
  background: #60a5fa;
  border-radius: 999px;
  width: 8px;
  height: 8px;
}

.ops-status-banner.resolved .ops-status-dot {
  background: #22c55e;
}

.ops-status-title {
  letter-spacing: .5px;
  text-transform: uppercase;
  margin: 0;
  font-size: 12px;
  font-weight: 900;
}

.ops-status-sub {
  color: var(--mafia-text-secondary);
  margin: 2px 0 0;
  font-size: 12px;
}

.ops-phase-strip {
  background: #0b1322a6;
  border: 1px solid #33415580;
  border-radius: 12px;
  padding: 10px;
}

.ops-phase-top {
  justify-content: space-between;
  margin-bottom: 8px;
  display: flex;
}

.ops-phase-label {
  letter-spacing: .4px;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
}

.ops-phase-eta {
  color: #94a3b8;
  font-size: 11px;
  font-weight: 700;
}

.ops-loot-wrap {
  background: #0d1524b3;
  border: 1px solid #33415580;
  border-radius: 12px;
  padding: 10px;
}

.ops-section-title {
  letter-spacing: .6px;
  text-transform: uppercase;
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 900;
}

.ops-loot-row {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  display: grid;
}

.ops-loot-card {
  background: #0b1220f2;
  border: 1px solid #334155a6;
  border-radius: 12px;
  padding: 10px;
}

.ops-loot-amount {
  margin: 0;
  font-size: 18px;
  font-weight: 900;
}

.ops-loot-label {
  color: #cbd5e1;
  margin: 4px 0 0;
  font-size: 12px;
  font-weight: 700;
}

.ops-log-wrap {
  background: #0c1422b3;
  border: 1px solid #3341556b;
  border-radius: 12px;
  padding: 10px;
}

.ops-log-list {
  flex-direction: column;
  gap: 10px;
  max-height: 380px;
  padding-right: 4px;
  display: flex;
  overflow-y: auto;
}

.ops-log-item {
  gap: 10px;
  display: flex;
}

.ops-log-rail {
  flex-direction: column;
  align-items: center;
  width: 14px;
  display: flex;
}

.ops-log-line {
  background: #33415599;
  flex: 1;
  width: 1px;
}

.ops-log-dot {
  border-radius: 999px;
  width: 10px;
  height: 10px;
  margin-top: 2px;
  display: block;
}

.ops-log-dot.success {
  background: #22c55e;
}

.ops-log-dot.warning {
  background: #f59e0b;
}

.ops-log-dot.police {
  background: #ef4444;
}

.ops-log-dot.neutral {
  background: #60a5fa;
}

.ops-log-body {
  border-bottom: 1px solid #3341555e;
  flex: 1;
  padding-bottom: 8px;
}

.ops-log-text {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}

.ops-log-meta {
  color: #94a3b8;
  margin: 2px 0 0;
  font-size: 11px;
}

.ops-log-response {
  color: #fdba74;
  margin: 2px 0 0;
  font-size: 11px;
  font-weight: 700;
}

.ops-side-panel {
  min-height: 300px;
}

.ops-side-row {
  color: var(--mafia-text-primary);
  text-align: left;
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  margin-bottom: 8px;
  padding: 10px;
  display: flex;
}

.ops-side-row.selected {
  background: #1e3a8a2b;
  border-color: #60a5fa;
}

.firm-test-page {
  flex-direction: column;
  gap: 20px;
  width: min(1200px, 100%);
  margin: 0 auto;
  display: flex;
}

.firm-test-header h1 {
  letter-spacing: 1px;
  margin: 0;
  font-size: 24px;
}

.firm-test-header p {
  color: var(--mafia-text-secondary);
  margin: 4px 0 0;
  font-size: 14px;
}

.firm-test-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  display: grid;
}

.firm-test-panel {
  background: var(--mafia-surface-1);
  border: 1px solid var(--mafia-card-stroke);
  border-radius: 20px;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  display: flex;
}

.firm-test-brief {
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.firm-test-brief div {
  justify-content: space-between;
  font-size: 13px;
  display: flex;
}

.firm-state-grid {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  margin-top: 8px;
  display: grid;
}

.firm-state-cell {
  background: #ffffff05;
  border: 1px solid #ffffff0a;
  border-radius: 12px;
  flex-direction: column;
  gap: 4px;
  padding: 10px;
  display: flex;
}

.owned-firm-row {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.owned-firm-card {
  color: inherit;
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  flex-direction: column;
  gap: 4px;
  padding: 10px 14px;
  transition: border .2s, transform .2s;
  display: flex;
}

.owned-firm-card:hover, .owned-firm-card:focus-visible {
  border-color: var(--mafia-accent-amber);
  outline: none;
  transform: translateY(-2px);
}

.owned-firm-card.active {
  border-color: var(--mafia-accent-green);
  background: #22c55e26;
}

.owned-firm-type {
  font-size: 14px;
  font-weight: 600;
}

.firm-test-actions {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
  display: grid;
}

.firm-action-group {
  border-bottom: 1px solid #ffffff12;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  display: flex;
}

.firm-action-group:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.firm-events {
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.firm-events li {
  background: #ffffff05;
  border: 1px solid #ffffff0d;
  border-radius: 12px;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  display: flex;
}

.firm-events strong {
  font-size: 13px;
}

.firm-log {
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.firm-briefing {
  margin-top: 20px;
}

.potential-firm-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 10px;
  display: grid;
}

.potential-firm-card {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  flex-direction: column;
  gap: 10px;
  min-height: 220px;
  padding: 16px;
  display: flex;
}

.potential-firm-image {
  background: #ffffff0a;
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  display: flex;
}

.potential-firm-image img {
  max-width: 36px;
  max-height: 36px;
}

.potential-firm-content h3 {
  margin: 0;
  font-size: 16px;
}

.potential-firm-metrics {
  color: var(--mafia-text-muted);
  flex-direction: column;
  gap: 4px;
  margin-top: 6px;
  font-size: 12px;
  display: flex;
}

.potential-firm-card-footer {
  justify-content: flex-end;
  margin-top: auto;
  display: flex;
}

.firm-success {
  color: var(--gold);
  margin: 0;
  font-size: 12px;
}

@media (max-width: 1100px) {
  .mafia-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .mafia-right-sidebar {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .mafia-grid {
    grid-template-columns: 1fr;
  }

  .mafia-left-nav, .mafia-right-sidebar {
    order: unset;
  }
}

@media (max-width: 600px) {
  .mafia-left-nav {
    order: -1;
    margin-bottom: 12px;
    padding: 16px;
  }

  .mafia-right-sidebar {
    order: 2;
  }
}

.crew-section {
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
  display: flex;
}

.crew-header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.crew-options {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.crew-option {
  min-width: 140px;
  color: var(--mafia-text-primary);
  cursor: pointer;
  text-align: left;
  background: #ffffff05;
  border: 1px solid #ffffff1a;
  border-radius: 14px;
  flex-direction: column;
  flex: 1;
  gap: 4px;
  padding: 12px;
  display: flex;
}

.crew-option small {
  color: var(--mafia-text-muted);
  font-size: 11px;
}

.crew-option.active {
  border-color: #22c55ee6;
  box-shadow: 0 0 0 1px #22c55e4d;
}

.finance-wallet-header {
  color: var(--mafia-text-secondary);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  display: flex;
}

.finance-wallet-split {
  letter-spacing: .5px;
}

.finance-manage-envelopes {
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--mafia-text-secondary);
  cursor: not-allowed;
  background: none;
  border: 1px solid #ffffff4d;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 10px;
}

.spend-modal-overlay {
  z-index: 10000;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: #070b14;
  justify-content: center;
  align-items: center;
  padding: 16px;
  display: flex;
  position: fixed;
  inset: 0;
}

.spend-modal {
  --spend-bg: #0a0e18b8;
  --spend-border: #ffffff1a;
  --spend-border-strong: #ffffff24;
  --spend-text: #ffffffeb;
  --spend-text-muted: #ffffff9e;
  --spend-text-faint: #ffffff6b;
  --money-green: #2b8a5a;
  --money-green-2: #1f6e49;
  --risk-red: #8b3a35;
  --risk-red-2: #6e2c29;
  --selected-tint: #2b8a5a1a;
  --focus-ring: #2b8a5a59;
  --cta-red: #8e2f2a;
  --cta-red-hover: #a43a33;
  --cancel-bg: #ffffff0f;
  --cancel-hover: #ffffff1a;
  background: var(--spend-bg);
  border: 1px solid var(--spend-border);
  width: min(520px, 100%);
  color: var(--spend-text);
  border-radius: 24px;
  flex-direction: column;
  max-height: 92vh;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 80px #000000d9, inset 0 0 40px #000000a6;
}

.spend-modal:before, .spend-modal:after {
  content: "";
  pointer-events: none;
  border-radius: inherit;
  z-index: 0;
  position: absolute;
  inset: 0;
}

.spend-modal:before {
  mix-blend-mode: screen;
  opacity: .45;
  background: radial-gradient(circle at top, #ffffff14, #0000 40%), radial-gradient(circle at bottom, #0009, #0000 55%);
}

.spend-modal:after {
  opacity: .03;
  background-image: radial-gradient(#ffffff05 1px, #0000 1px);
  background-size: 3px 3px;
}

.spend-modal > * {
  z-index: 1;
  position: relative;
}

.spend-modal-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 24px 8px;
  display: flex;
}

.spend-close-button {
  opacity: .55;
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  transition: opacity .2s;
  display: inline-flex;
}

.spend-close-button:hover {
  opacity: .9;
}

.spend-close-button span {
  color: var(--spend-text);
  font-size: 16px;
  line-height: 1;
}

.spend-headline {
  text-align: center;
  flex: 1;
}

.spend-head-label {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--spend-text-faint);
  margin: 0;
  font-size: 11px;
}

.spend-headline h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
}

.spend-modal-content {
  flex-direction: column;
  gap: 14px;
  padding: 0 24px 16px;
  display: flex;
  overflow-y: auto;
}

.spend-cost-section {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.spend-cost-label {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--spend-text-faint);
  font-size: 11px;
}

.spend-cost-row {
  background: none;
  border: none;
  border-radius: 0;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 0;
  display: flex;
}

.spend-cost-text {
  color: var(--spend-text);
  font-size: 16px;
  font-weight: 600;
}

.spend-section + .spend-section {
  border-top: 1px solid #ffffff0f;
  margin-top: 10px;
  padding-top: 12px;
}

.spend-section {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.spend-section .field-label {
  color: var(--spend-text-faint);
  letter-spacing: .6px;
  text-transform: uppercase;
  margin: 0;
  font-size: 11px;
}

.spend-cost-row + .spend-section {
  border-top: 1px solid #ffffff0f;
  margin-top: 10px;
  padding-top: 10px;
}

.spend-source-list {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.spend-source {
  cursor: pointer;
  background: none;
  border: none;
  border-bottom: 1px solid #ffffff0f;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  transition: border .2s;
  display: flex;
}

.spend-source:last-child {
  border-bottom: none;
}

.spend-source:hover {
  border-color: var(--spend-border-strong);
}

.spend-source.selected .spend-source-label {
  color: var(--spend-text);
  font-weight: 600;
}

.spend-source.disabled {
  opacity: .6;
  cursor: not-allowed;
  border-color: #ffffff0a;
}

.spend-source input {
  accent-color: var(--money-green);
  flex-shrink: 0;
  margin: 0;
}

.spend-source input:focus-visible {
  box-shadow: 0 0 0 2px var(--focus-ring);
  outline: none;
}

.spend-source-content {
  flex-direction: column;
  flex: 1;
  gap: 4px;
  display: flex;
}

.spend-source-main {
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.spend-source-label {
  color: var(--spend-text-muted);
  font-size: 13px;
}

.spend-source-total {
  color: var(--spend-text-muted);
  font-size: 12px;
}

.spend-source-bar-row {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.spend-source-bar {
  background: #ffffff1a;
  border-radius: 999px;
  width: 100%;
  height: 5px;
  display: flex;
  overflow: hidden;
}

.spend-source-bar-segment {
  height: 100%;
  transition: width .25s;
  display: block;
}

.spend-source-bar-clean {
  background: linear-gradient(90deg, var(--money-green-2), var(--money-green));
}

.spend-source-bar-dirty {
  background: linear-gradient(90deg, var(--risk-red-2), var(--risk-red));
}

.spend-source-bar-label {
  color: var(--spend-text-faint);
  text-align: right;
  font-size: 10px;
}

.spend-source-reason {
  color: var(--risk-red);
  margin-top: 4px;
  font-size: 12px;
}

.spend-funds-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  display: flex;
}

.spend-fund {
  cursor: pointer;
  color: var(--spend-text-muted);
  background: none;
  border: none;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  font-size: 13px;
  transition: color .2s;
  display: inline-flex;
}

.spend-fund-inline.active {
  color: var(--spend-text);
  font-weight: 600;
}

.spend-fund input {
  accent-color: var(--money-green);
  margin: 0;
}

.spend-funds-helper {
  color: var(--spend-text-faint);
  margin-top: -4px;
  font-size: 11px;
}

.spend-impact-heading {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.spend-impact ul {
  color: #ffffffb3;
  margin: 6px 0;
  padding-left: 18px;
}

.spend-traceability-line {
  color: #d9a45bd9;
  text-transform: none;
  letter-spacing: .3px;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  display: inline-flex;
}

.spend-traceability-line strong {
  text-transform: none;
  color: #d9a45b;
  margin-left: 2px;
  font-size: 12px;
}

.spend-traceability-icon {
  color: #d9a45be6;
  font-size: 12px;
  line-height: 1;
}

.spend-hint {
  color: #ffffffa6;
  margin-top: 4px;
  font-size: 12px;
}

.spend-error {
  color: #ef4444e6;
  margin-top: 10px;
  font-size: 12px;
}

.spend-modal-footer {
  border-top: 1px solid var(--spend-border);
  z-index: 1;
  background: #060812f2;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 24px;
  display: flex;
  position: sticky;
  bottom: 0;
}

.spend-modal-confirm {
  color: #fff;
  background: linear-gradient(#8e2f2a, #6e221e);
  border: none;
  border-radius: 8px;
  min-height: 34px;
  padding: 8px 20px;
  font-size: 14px;
  transition: transform .15s, box-shadow .15s;
  box-shadow: 0 10px 24px #00000059, inset 0 1px #ffffff1a;
}

.spend-modal-confirm:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px #00000059, inset 0 1px #ffffff1a;
}

.spend-modal-cancel {
  color: var(--spend-text);
  background: linear-gradient(#ffffff1a, #ffffff0d);
  border: none;
  border-radius: 8px;
  min-height: 34px;
  padding: 8px 20px;
  font-size: 14px;
  transition: transform .15s;
  box-shadow: 0 10px 24px #0000004d, inset 0 1px #ffffff14;
}

.spend-modal-cancel:hover:not(:disabled) {
  transform: translateY(-1px);
}

.spend-confidence {
  letter-spacing: .6px;
  color: #bfe7d2;
  background: #2b8a5a2e;
  border: 1px solid #2b8a5a59;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  font-size: 12px;
  display: inline-flex;
}

.spend-modal button.mafia-cta {
  min-width: 130px;
}

@media (max-width: 768px) {
  .spend-modal-overlay {
    align-items: flex-end;
    padding: 0;
  }

  .spend-modal {
    border-radius: 18px 18px 0 0;
    width: 100%;
    max-height: 85vh;
  }
}

[data-theme="mafia"] .firm-panel {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

[data-theme="mafia"] .firm-panel-header {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

[data-theme="mafia"] .file-title {
  letter-spacing: .6px;
  margin: 0;
  font-size: 22px;
}

[data-theme="mafia"] .file-subtitle {
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: 14px;
}

[data-theme="mafia"] .firm-panel-section {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .section-card {
  border: 1px solid var(--mafia-card-stroke);
  background: #080c14eb;
  border-radius: 18px;
  flex-direction: column;
  gap: 12px;
  padding: 14px;
  display: flex;
  box-shadow: 0 20px 40px #00000073;
}

[data-theme="mafia"] .section-card__header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .section-card__title {
  letter-spacing: .35px;
  text-transform: uppercase;
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: .9rem;
  font-weight: 600;
}

[data-theme="mafia"] .section-card__subtitle {
  color: var(--mafia-text-secondary);
  text-transform: none;
  margin: 0;
  font-size: .85rem;
}

[data-theme="mafia"] .section-card__actions {
  gap: 8px;
  display: flex;
}

[data-theme="mafia"] .section-card__content {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.stat-tile-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  display: grid;
}

.stat-tile {
  border: 1px solid var(--mafia-card-stroke);
  background: #ffffff05;
  border-radius: 12px;
  flex-direction: column;
  gap: 6px;
  padding: 12px;
  display: flex;
}

.stat-tile__label {
  color: var(--mafia-text-muted);
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: .75rem;
}

.stat-tile__value {
  font-size: 1rem;
  font-weight: 600;
}

.stat-tile__hint {
  color: var(--mafia-text-secondary);
  font-size: .75rem;
}

.stat-tile--accent {
  border-color: var(--mafia-accent-red);
  box-shadow: 0 0 20px #ff737326;
}

.pill {
  text-transform: uppercase;
  letter-spacing: .4px;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  font-size: .8rem;
  display: inline-flex;
}

.pill--neutral {
  color: var(--mafia-text);
  border: 1px solid #ffffff4d;
}

.pill--primary {
  border: 1px solid var(--mafia-accent-amber);
  color: var(--mafia-accent-amber);
}

.pill--danger {
  border: 1px solid var(--mafia-accent-red);
  color: var(--mafia-accent-red);
}

.pill__icon {
  font-size: .85rem;
}

.money-value {
  font-variant-numeric: tabular-nums;
  font-size: 1rem;
  font-weight: 600;
}

.money-value__suffix {
  color: var(--mafia-text-muted);
  margin-left: 6px;
  font-size: .85rem;
}

.action-row {
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  display: grid;
}

.action-row__label {
  color: var(--mafia-text-muted);
  font-size: .85rem;
}

.action-row__content {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.action-row__helper {
  color: var(--mafia-text-secondary);
  font-size: .75rem;
}

.druglab-dashboard {
  scroll-behavior: smooth;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  display: flex;
}

.druglab-header {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 0;
  display: flex;
}

.druglab-header__title {
  flex: 280px;
  min-width: 220px;
}

.druglab-header__name {
  letter-spacing: .4px;
  margin: 0;
  font-size: 1.4rem;
}

.druglab-header__tagline {
  color: var(--mafia-text-secondary);
  margin: 2px 0;
  font-size: .85rem;
}

.druglab-header__meta {
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: .85rem;
}

.druglab-header__chips {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.druglab-chip {
  background: #ffffff08;
  border: 1px solid #ffffff12;
  border-radius: 999px;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  display: flex;
}

.druglab-chip__label {
  letter-spacing: .4px;
  font-size: .7rem;
}

.druglab-chip__value {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 140px;
  font-family: var(--mafia-mono);
  font-size: .8rem;
  overflow: hidden;
}

.druglab-chip__copy {
  color: var(--mafia-text);
  letter-spacing: .4px;
  text-transform: uppercase;
  cursor: pointer;
  background: #ffffff0d;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .65rem;
}

.druglab-chip__toast {
  color: var(--mafia-accent-green);
  font-size: .75rem;
}

.druglab-header__actions {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.druglab-status-bar {
  flex-wrap: wrap;
  gap: 8px;
  padding: 2px 0 8px;
  display: flex;
}

.druglab-status-chip {
  color: var(--mafia-text);
  background: #ffffff0a;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  font-size: .75rem;
  text-decoration: none;
  display: inline-flex;
}

.druglab-status-chip:hover {
  border-color: var(--mafia-accent-amber);
}

.druglab-status-chip__label {
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--mafia-text-muted);
  font-size: .62rem;
}

.druglab-status-chip__value {
  font-weight: 600;
}

.druglab-action {
  border-radius: 999px;
}

.druglab-action--primary {
  border-color: var(--mafia-accent-amber);
  color: var(--mafia-text-primary);
  box-shadow: var(--glow-amber);
  background: #d9a45b2e;
}

.druglab-action--secondary {
  color: var(--mafia-text);
  background: #ffffff08;
  border-color: #fff3;
}

.druglab-anchor {
  scroll-margin-top: 90px;
}

.druglab-risk-list {
  color: var(--mafia-text-secondary);
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  display: grid;
}

.druglab-empty {
  color: var(--mafia-text-secondary);
  gap: 4px;
  display: grid;
}

.druglab-empty__reason {
  color: var(--mafia-text-muted);
  font-size: .85rem;
}

.druglab-empty__cta {
  color: var(--mafia-accent-amber);
  font-size: .8rem;
}

.druglab-feed {
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.druglab-feed__item {
  background: #ffffff08;
  border: 1px solid #ffffff0f;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  display: flex;
}

.druglab-feed__label {
  font-weight: 600;
}

.druglab-feed__time {
  color: var(--mafia-text-muted);
  font-size: .75rem;
  display: block;
}

.druglab-feed__chip {
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--mafia-text);
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: .65rem;
}

.druglab-feed__chip--warning {
  border-color: var(--mafia-accent-amber);
  color: var(--mafia-accent-amber);
}

.druglab-feed__chip--critical {
  border-color: var(--mafia-accent-red);
  color: var(--mafia-accent-red);
}

.druglab-batch-health {
  gap: 10px;
  margin-bottom: 12px;
  display: grid;
}

.druglab-batch-card {
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  display: flex;
}

.druglab-batch-card__stats {
  text-align: right;
  gap: 4px;
  display: grid;
}

.druglab-simulator {
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  gap: 8px;
  margin-top: 8px;
  padding: 10px 12px;
  display: grid;
}

.druglab-simulator__stats {
  gap: 4px;
  display: grid;
}

.druglab-crew-select {
  gap: 8px;
  margin-top: 8px;
  display: grid;
}

.druglab-crew-options {
  gap: 6px;
  display: grid;
}

.druglab-crew-option {
  color: var(--mafia-text);
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  display: grid;
}

.druglab-crew-option.is-disabled {
  opacity: .55;
}

.druglab-crew-option__content {
  gap: 2px;
  display: grid;
}

.druglab-crew-select--inline {
  margin-top: 0;
}

.druglab-transport-grid {
  gap: 10px;
  display: grid;
}

.druglab-modal-overlay {
  z-index: 12000;
  background: #050609b8;
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  position: fixed;
  inset: 0;
}

.druglab-modal {
  width: min(860px, 100%);
  max-height: min(86vh, 760px);
  color: var(--mafia-text);
  background: #0a0c14fa;
  border: 1px solid #ffffff1a;
  border-radius: 20px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  display: grid;
  overflow: hidden;
  box-shadow: 0 30px 70px #0000008c;
}

.druglab-planner .eyebrow {
  margin: 0;
}

.druglab-modal__header {
  padding: var(--panel-pad-tight) var(--pad-2);
  border-bottom: 1px solid var(--hairline);
  background: #06080ee6;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.druglab-statusline {
  color: var(--mafia-text-muted);
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: min(560px, 70vw);
  margin: 6px 0 0;
  font-size: .75rem;
  overflow: hidden;
}

.druglab-modal__close {
  color: var(--mafia-text);
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #ffffff2e;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  font-size: 20px;
  transition: border-color .2s, background .2s;
  display: inline-flex;
}

.druglab-modal__close:hover, .druglab-modal__close:focus-visible {
  border-color: var(--mafia-accent-amber);
  background: #ffffff14;
}

.druglab-modal__content {
  padding: var(--pad-2);
  gap: 12px;
  min-height: 0;
  display: grid;
  overflow: hidden;
}

.druglab-modal__footer {
  padding: 12px var(--pad-2);
  border-top: 1px solid var(--hairline);
  min-height: var(--modal-footer-height);
  z-index: 2;
  background: #06080eeb;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
  position: sticky;
  bottom: 0;
}

.druglab-modal__footer-actions {
  align-items: center;
  gap: 10px;
  display: flex;
}

.druglab-modal__footer-meta {
  text-align: right;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  max-width: 52%;
  margin-left: auto;
  display: flex;
  overflow: hidden;
}

.druglab-modal__grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 16px;
  display: grid;
}

.druglab-modal__panel {
  padding: var(--panel-pad-tight);
  background: #ffffff05;
  border: 1px solid #ffffff0f;
  border-radius: 16px;
  gap: 8px;
  display: grid;
}

.druglab-modal__panel--summary {
  background: linear-gradient(160deg, #ffffff0a, #0006);
}

.druglab-field {
  gap: 6px;
  display: grid;
}

.druglab-field__row {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.druglab-field label {
  text-transform: uppercase;
  letter-spacing: .3em;
  color: var(--mafia-text-muted);
  font-size: .75rem;
}

.druglab-field__hint {
  color: var(--mafia-text-muted);
  font-size: .75rem;
}

.druglab-field__status {
  color: var(--mafia-accent-amber);
  margin: 0;
  font-size: .8rem;
}

.druglab-product-filters {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.druglab-filter-pill {
  color: var(--mafia-text-muted);
  text-transform: uppercase;
  letter-spacing: .18em;
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .65rem;
}

.druglab-filter-pill.is-active {
  border-color: var(--mafia-accent-amber);
  color: var(--mafia-accent-amber);
  background: #d9a45b1f;
}

.druglab-filter-pill:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.druglab-product-toggle {
  background: #ffffff05;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  align-items: center;
  gap: 2px;
  padding: 2px;
  display: inline-flex;
}

.druglab-product-toggle__button {
  color: var(--mafia-text);
  text-transform: uppercase;
  letter-spacing: .2em;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: .7rem;
}

.druglab-product-toggle__button.is-active {
  border-color: var(--mafia-accent-amber);
  color: var(--mafia-accent-amber);
  background: #d9a45b1f;
}

.druglab-product-select {
  gap: 8px;
  display: grid;
}

.druglab-product-select--grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.druglab-product-select--list {
  grid-template-columns: 1fr;
}

.druglab-product-card {
  text-align: left;
  cursor: pointer;
  appearance: none;
  background: #ffffff05;
  border: 1px solid #ffffff1a;
  border-radius: 14px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 60px;
  padding: 10px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  display: flex;
  position: relative;
}

.druglab-product-pagination {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.druglab-pagination__button {
  color: var(--mafia-text);
  text-transform: uppercase;
  letter-spacing: .18em;
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .7rem;
}

.druglab-pagination__button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.druglab-pagination__meta {
  color: var(--mafia-text-muted);
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: .7rem;
}

.druglab-product-card:hover, .druglab-product-card:focus-visible {
  border-color: var(--mafia-accent-amber);
  transform: translateY(-1px);
}

.sidebar-live-value {
  transition: color .16s var(--ease-out), opacity .16s var(--ease-out);
  position: relative;
}

.sidebar-live--pending .sidebar-live-value {
  color: #e7eefc73;
}

.sidebar-live--pending:after {
  content: "";
  pointer-events: none;
  animation: sidebarLiveSweep 1.1s var(--ease-out) infinite;
  background: linear-gradient(110deg, #fff0 0%, #ffffff14 35%, #ffffff2e 48%, #ffffff14 61%, #fff0 100%);
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
}

.sidebar-live--settled-a, .sidebar-live--settled-b {
  box-shadow: 0 0 0 1px #22c55e38, 0 14px 30px var(--risk-glow);
  animation: sidebarSettledFlash .22s var(--ease-out) 1;
}

@keyframes sidebarLiveSweep {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(100%);
  }
}

@keyframes sidebarSettledFlash {
  0% {
    box-shadow: 0 0 0 1px #22c55e00, 0 14px 30px var(--risk-glow);
  }

  100% {
    box-shadow: 0 0 0 1px #22c55e38, 0 14px 30px var(--risk-glow);
  }
}

.druglab-product-card:active {
  transform: translateY(0);
}

.druglab-product-card.is-active {
  border-color: var(--mafia-accent-amber);
  box-shadow: var(--glow-amber);
  background: #d9a45b14;
}

.druglab-product-card.is-active:before {
  content: "";
  background: var(--mafia-accent-amber);
  border-radius: 999px;
  width: 3px;
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 0;
}

.druglab-product-card.is-locked {
  opacity: .5;
  cursor: not-allowed;
  border-style: dashed;
}

.druglab-product-badge {
  text-transform: uppercase;
  letter-spacing: .2em;
  background: #ffffff14;
  border: 1px solid #ffffff3d;
  border-radius: 999px;
  padding: 2px 6px;
  font-size: .6rem;
  position: absolute;
  top: 8px;
  right: 10px;
}

.druglab-product-lock {
  text-transform: uppercase;
  letter-spacing: .2em;
  color: var(--mafia-text-muted);
  font-size: .65rem;
}

.druglab-product-icon {
  letter-spacing: .1em;
  width: 34px;
  height: 34px;
  color: var(--mafia-text-secondary);
  background: #ffffff14;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  font-size: .75rem;
  display: inline-flex;
}

.druglab-product-icon svg {
  fill: currentColor;
  width: 20px;
  height: 20px;
}

.druglab-product-info {
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.druglab-product-name {
  font-size: .9rem;
  font-weight: 600;
}

.druglab-product-meta {
  color: var(--mafia-text-muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: .7rem;
}

.druglab-duration-pill {
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--mafia-text);
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: .7rem;
}

.druglab-input {
  min-height: 36px;
  padding: 8px 10px;
}

.druglab-duration {
  gap: 10px;
  display: grid;
}

.druglab-duration__row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  display: grid;
}

.druglab-duration__slider {
  width: 100%;
  accent-color: var(--mafia-accent-amber);
}

.druglab-duration.is-snap .druglab-duration__slider {
  box-shadow: 0 0 0 2px #d9a45b26;
}

.druglab-duration__value {
  text-align: right;
  min-width: 64px;
  font-weight: 600;
}

.druglab-duration__ticks {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 6px;
  margin-top: -2px;
  display: grid;
}

.druglab-duration__tick {
  background: #ffffff14;
  border-radius: 999px;
  height: 6px;
}

.druglab-duration__presets {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.druglab-duration__preset {
  color: var(--mafia-text);
  text-transform: uppercase;
  letter-spacing: .16em;
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .7rem;
}

.druglab-duration__preset.is-active {
  border-color: var(--mafia-accent-amber);
  color: var(--mafia-accent-amber);
  background: #d9a45b1f;
}

.druglab-crew-impact {
  flex-wrap: wrap;
  gap: 6px;
  margin-left: auto;
  display: flex;
}

.druglab-crew-impact__chip {
  text-transform: uppercase;
  letter-spacing: .2em;
  color: var(--mafia-text-muted);
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  padding: 2px 6px;
  font-size: .6rem;
}

.druglab-forecast__meters, .druglab-meter {
  gap: 6px;
  display: grid;
}

.druglab-meter__label {
  color: var(--mafia-text-muted);
  justify-content: space-between;
  align-items: center;
  font-size: .75rem;
  display: flex;
}

.druglab-meter__label strong {
  color: var(--mafia-text);
}

.druglab-meter__track {
  background: #ffffff14;
  border-radius: 999px;
  height: 6px;
  overflow: hidden;
}

.druglab-meter__fill {
  border-radius: inherit;
  background: linear-gradient(90deg, #d9a45bb3, #d9a45b4d);
  height: 100%;
}

.druglab-meter__fill--low {
  background: linear-gradient(90deg, #24c785b3, #24c7854d);
}

.druglab-meter__fill--moderate {
  background: linear-gradient(90deg, #d9a45bb3, #d9a45b4d);
}

.druglab-meter__fill--high {
  background: linear-gradient(90deg, #f44e4eb3, #f44e4e4d);
}

.druglab-forecast__rate {
  color: var(--mafia-text-muted);
  font-size: .75rem;
}

.druglab-callout {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
  display: flex;
}

.druglab-callout__icon {
  background: #ffffff14;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  font-size: .8rem;
  display: inline-flex;
}

.druglab-callout p {
  color: var(--mafia-text-muted);
  margin: 2px 0 0;
  font-size: .75rem;
}

.druglab-callout strong {
  font-size: .85rem;
}

.druglab-callout--warning {
  background: #f44e4e14;
  border-color: #f44e4e66;
}

.druglab-callout--ready {
  background: #24c78514;
  border-color: #24c78559;
}

.druglab-footer-reason {
  color: var(--mafia-text-muted);
  font-size: .7rem;
}

.druglab-stepper {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  display: grid;
}

.druglab-stepper__button {
  width: 36px;
  height: 36px;
  color: var(--mafia-text);
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #fff3;
  border-radius: 10px;
  font-size: 16px;
}

.druglab-stepper__button:hover, .druglab-stepper__button:focus-visible {
  border-color: var(--mafia-accent-amber);
}

.druglab-crew-list {
  gap: 8px;
  display: grid;
}

.druglab-crew-row {
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  grid-template-columns: auto auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  padding: 8px;
  display: grid;
}

.druglab-crew-avatar {
  letter-spacing: .1em;
  text-transform: uppercase;
  width: 28px;
  height: 28px;
  color: var(--mafia-text-secondary);
  background: #ffffff14;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  font-size: .7rem;
  display: inline-flex;
}

.druglab-crew-name {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-size: .9rem;
  font-weight: 600;
  overflow: hidden;
}

.druglab-crew-role {
  text-transform: uppercase;
  letter-spacing: .2em;
  border-radius: var(--chip-radius);
  color: var(--mafia-text-muted);
  border: 1px solid #fff3;
  padding: 2px 8px;
  font-size: .65rem;
}

.druglab-crew-empty {
  background: #ffffff05;
  border: 1px dashed #fff3;
  border-radius: 12px;
  padding: 10px;
}

.druglab-crew-empty p {
  margin: 0;
}

.druglab-forecast {
  gap: 8px;
  display: grid;
}

.druglab-forecast__header .label {
  text-transform: uppercase;
  letter-spacing: .3em;
  color: var(--mafia-text-muted);
  font-size: .7rem;
}

.druglab-forecast__top {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  display: grid;
}

.druglab-forecast__top strong {
  font-size: 1.2rem;
  font-weight: 700;
  display: block;
}

.druglab-forecast__label {
  color: var(--mafia-text-muted);
  font-size: .75rem;
}

.druglab-forecast__kpis {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.druglab-forecast__chip {
  border-radius: var(--chip-radius);
  text-transform: uppercase;
  letter-spacing: .14em;
  background: #ffffff08;
  border: 1px solid #ffffff2e;
  padding: 4px 10px;
  font-size: .72rem;
}

.druglab-forecast__chip--low {
  color: #74e8aaf2;
  border-color: #2ecc7173;
}

.druglab-forecast__chip--moderate {
  color: #d9a45bf2;
  border-color: #d9a45b73;
}

.druglab-forecast__chip--high {
  color: #ff8484f2;
  border-color: #f44e4e8c;
}

.druglab-forecast__payout {
  gap: 4px;
  display: grid;
}

.druglab-forecast__payout strong {
  letter-spacing: .4px;
  font-size: 1.4rem;
}

.druglab-modal .mafia-input:focus-visible, .druglab-modal button:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #d9a45bb3;
}

@media (max-width: 720px) {
  .druglab-modal {
    width: 100%;
    max-height: 92vh;
  }

  .druglab-modal__grid {
    grid-template-columns: 1fr;
  }

  .druglab-product-select--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .druglab-modal__footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

.druglab-tabs {
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
  display: flex;
}

.druglab-tab {
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--mafia-text-secondary);
  cursor: pointer;
  background: #ffffff08;
  border: 1px solid #0000;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 11px;
}

.druglab-tab--active {
  border-color: var(--mafia-accent-amber);
  color: var(--mafia-accent-amber);
  background: #ffffff0d;
}

.druglab-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 12px;
  display: grid;
}

.druglab-column {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.druglab-production-card {
  border: 1px solid var(--mafia-card-stroke);
  border-radius: 12px;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  display: flex;
}

.druglab-production-progress {
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  width: 120px;
  display: flex;
}

.druglab-production-progress__bar {
  background: #ffffff1a;
  border-radius: 4px;
  width: 100%;
  height: 6px;
}

.druglab-production-progress__bar > div {
  background: var(--mafia-accent-red);
  border-radius: 4px;
  height: 100%;
  transition: width .25s;
}

.druglab-production-controls {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.druglab-subsection {
  border-top: 1px solid #ffffff0f;
  flex-direction: column;
  gap: 10px;
  padding-top: 10px;
  display: flex;
}

.druglab-subsection h4 {
  margin: 0;
  font-size: .95rem;
}

.druglab-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.druglab-list__row {
  border: 1px solid var(--mafia-card-stroke);
  border-radius: 12px;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  display: flex;
}

.druglab-list__actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.druglab-list__split {
  align-items: center;
  gap: 4px;
  display: flex;
}

.druglab-subsection__footer {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.holdings-summary {
  flex-direction: column;
  gap: 4px;
  font-size: 1.2rem;
  font-weight: 600;
  display: flex;
}

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

.holdings-panel-wrapper {
  margin-top: 10px;
}

.druglab-logs {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.druglab-logs__row {
  border: 1px solid var(--mafia-card-stroke);
  background: #ffffff05;
  border-radius: 12px;
  justify-content: space-between;
  gap: 8px;
  padding: 12px;
  display: flex;
}

.druglab-logs__payload {
  background: #ffffff0a;
  border-radius: 8px;
  max-width: 220px;
  margin: 0;
  padding: 8px;
  font-size: .75rem;
  overflow-x: auto;
}

.druglab-mobile-actions {
  display: none;
}

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

  .druglab-mobile-actions {
    z-index: 100;
    background: #06080ce6;
    justify-content: center;
    gap: 10px;
    padding: 10px 0;
    display: flex;
    position: sticky;
    bottom: 0;
  }
}

.druglab-control-room {
  gap: 20px;
}

.druglab-control-strip {
  top: calc(var(--topbar-h)  + 8px);
  z-index: 20;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: linear-gradient(120deg, #0a0e14f5, #11141eeb);
  border: 1px solid #ffffff14;
  border-radius: 16px;
  gap: 10px;
  padding: 12px 14px;
  display: grid;
  position: sticky;
}

.druglab-control-strip__title h3 {
  margin: 0;
  font-size: 1.2rem;
}

.druglab-control-strip__eyebrow {
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--mafia-text-muted);
  font-size: .65rem;
}

.druglab-control-strip__metrics {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.druglab-metric-pill {
  background: #ffffff0a;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  font-size: .75rem;
  display: inline-flex;
}

.druglab-metric-pill__trend {
  font-family: var(--mafia-mono);
  color: var(--mafia-accent-amber);
  font-size: .7rem;
}

.druglab-gate-banner {
  border-left: 3px solid var(--mafia-accent-red);
  color: var(--mafia-text);
  background: #94262a33;
  border-radius: 10px;
  padding: 8px 10px;
  font-size: .85rem;
}

.druglab-blockers {
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.druglab-blockers li {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  gap: 4px;
  padding: 8px 10px;
  display: grid;
}

.druglab-blockers__code {
  font-family: var(--mafia-mono);
  text-transform: uppercase;
  color: var(--mafia-accent-amber);
  font-size: .7rem;
}

.druglab-blockers__message {
  color: var(--mafia-text-secondary);
  font-size: .85rem;
}

.druglab-control-grid {
  gap: 16px;
  display: grid;
}

.druglab-ops-stack {
  gap: 12px;
  display: grid;
}

.druglab-ops-card {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  gap: 10px;
  padding: 12px;
  display: grid;
}

.druglab-ops-card__header {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.druglab-queue {
  gap: 10px;
  display: grid;
}

.druglab-queue__row {
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  gap: 8px;
  padding: 10px;
  display: grid;
}

.druglab-queue__crew {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.druglab-crew-badge {
  background: #ffffff0f;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: .7rem;
}

.druglab-progress {
  appearance: none;
  border-radius: 999px;
  width: 100%;
  height: 8px;
  overflow: hidden;
}

.druglab-progress::-webkit-progress-bar {
  background: #ffffff1a;
}

.druglab-progress::-webkit-progress-value {
  background: var(--mafia-accent-amber);
}

.druglab-progress::-moz-progress-bar {
  background: var(--mafia-accent-amber);
}

.druglab-form-grid {
  gap: 10px;
  display: grid;
}

.druglab-form-grid .druglab-field:last-child {
  grid-column: 1 / -1;
}

.druglab-duration-slider {
  width: 100%;
}

.druglab-inline-status {
  background: #ffffff0d;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  font-size: .75rem;
  display: inline-flex;
}

.druglab-inline-status.is-warning {
  border-color: var(--mafia-accent-red);
  color: var(--mafia-accent-red);
}

.druglab-cta-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.druglab-inline-reason {
  color: var(--mafia-text-muted);
  font-size: .8rem;
}

.druglab-output-list {
  gap: 12px;
  display: grid;
}

.druglab-output-group {
  background: #0003;
  border: 1px solid #ffffff0f;
  border-radius: 14px;
  gap: 8px;
  padding: 10px;
  display: grid;
}

.druglab-output-group__header {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.druglab-output-group__items {
  gap: 8px;
  display: grid;
}

.druglab-output-row {
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  gap: 10px;
  padding: 10px;
  display: grid;
}

.druglab-output-actions {
  gap: 8px;
  display: grid;
}

.druglab-output-actions__row {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.druglab-ship-controls {
  border-top: 1px solid #ffffff0f;
  gap: 8px;
  padding-top: 6px;
  display: grid;
}

.druglab-ship-controls__row, .druglab-shipments {
  gap: 8px;
  display: grid;
}

.druglab-shipments__row {
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  justify-content: space-between;
  gap: 12px;
  padding: 10px;
  display: flex;
}

.druglab-shipments__row.is-pending {
  border-color: var(--mafia-accent-amber);
}

.druglab-vehicles {
  gap: 10px;
  display: grid;
}

.druglab-vehicles__row {
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  justify-content: space-between;
  gap: 12px;
  padding: 10px;
  display: flex;
}

.druglab-vehicles__stats {
  text-align: right;
  gap: 4px;
  display: grid;
}

.druglab-error-modal {
  max-width: 460px;
}

@media (min-width: 980px) {
  .druglab-control-grid, .druglab-form-grid, .druglab-ship-controls__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .druglab-control-strip {
    position: static;
  }

  .druglab-vehicles__stats {
    text-align: left;
  }

  .druglab-shipments__row {
    flex-direction: column;
  }
}

[data-theme="mafia"] .section-title {
  text-transform: uppercase;
  letter-spacing: .3px;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

[data-theme="mafia"] .section-hint {
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: 12px;
}

[data-theme="mafia"] .firmMeta {
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: 13px;
}

[data-theme="mafia"] .firmError {
  color: #8b3a35d9;
  margin: 0;
  font-size: 13px;
}

[data-theme="mafia"] .firmSuccess {
  color: var(--gold);
  margin: 0;
  font-size: 13px;
}

[data-theme="mafia"] .empty-hint {
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: 13px;
}

[data-theme="mafia"] .firmRowList {
  flex-direction: column;
  gap: 0;
  display: flex;
}

[data-theme="mafia"] .firmRow {
  border-bottom: 1px solid #ffffff14;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  display: flex;
}

[data-theme="mafia"] .firmRow:last-child {
  border-bottom: none;
}

[data-theme="mafia"] .firmRow__thumb {
  background: #ffffff0f;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 54px;
  display: flex;
}

[data-theme="mafia"] .firmRow__thumb img {
  max-width: 40px;
  max-height: 40px;
}

[data-theme="mafia"] .firmRow__main {
  flex: 1;
  min-width: 0;
}

[data-theme="mafia"] .firmRow__name {
  margin: 0;
  font-weight: 700;
}

[data-theme="mafia"] .firmRow__desc, [data-theme="mafia"] .firmRow__meta {
  color: var(--mafia-text-muted);
  margin: 2px 0 0;
  font-size: 13px;
}

[data-theme="mafia"] .firmRow__actions {
  flex: none;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .firmRow__acquire {
  color: var(--text);
  letter-spacing: .3px;
  text-transform: uppercase;
  cursor: pointer;
  background: #ffffff0f;
  border: 1px solid #ffffff1a;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 12px;
  transition: background .2s, border .2s;
}

[data-theme="mafia"] .firmRow__acquire:hover:not(:disabled) {
  background: #ffffff1a;
  border-color: #ffffff40;
}

[data-theme="mafia"] .firmRow__acquire:disabled {
  opacity: .6;
  cursor: not-allowed;
}

[data-theme="mafia"] .riskBadge {
  letter-spacing: .3px;
  text-transform: uppercase;
  border: 1px solid #0000;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 3px 10px;
  font-size: 11px;
  display: inline-flex;
}

[data-theme="mafia"] .riskNone {
  color: #7ee7a8;
  background: #7ee7a81f;
  border-color: #7ee7a873;
}

[data-theme="mafia"] .riskLow {
  color: var(--moneyGreen);
  background: #2b8a5a1f;
  border-color: #2b8a5a73;
}

[data-theme="mafia"] .riskMed {
  color: var(--amber);
  background: #d9a45b1f;
  border-color: #d9a45b73;
}

[data-theme="mafia"] .riskHigh {
  color: var(--riskRed);
  background: #8b3a351f;
  border-color: #8b3a3573;
}

[data-theme="mafia"] .muted {
  color: var(--mafia-text-muted);
}

[data-theme="mafia"] .firm-wallet-summary {
  border-top: 1px solid #ffffff14;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  display: flex;
}

[data-theme="mafia"] .firmFooterDetail {
  color: var(--mafia-text-muted);
  margin: 0;
  font-size: 13px;
}

[data-theme="mafia"] .airport-panel {
  background: #0b0e14e6;
  border: 1px solid #ffffff14;
  border-radius: 18px;
  flex-direction: column;
  gap: 24px;
  padding: 28px;
  display: flex;
  box-shadow: 0 40px 80px #000000a6;
}

[data-theme="mafia"] .airport-tab {
  color: var(--text);
  letter-spacing: .3px;
  text-transform: uppercase;
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #ffffff26;
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 13px;
  transition: background .2s, border .2s;
}

[data-theme="mafia"] .airport-tab.active {
  background: #ffffff1f;
  border-color: #fff6;
}

[data-theme="mafia"] .airport-section {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

[data-theme="mafia"] .airport-meta {
  color: #fff9;
  font-size: 12px;
}

[data-theme="mafia"] .airport-section-heading {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

[data-theme="mafia"] .airport-start-panel .airport-section-heading {
  gap: 4px;
}

[data-theme="mafia"] .airport-subhead {
  letter-spacing: .3px;
  text-transform: uppercase;
  color: #ffffff73;
  font-size: 12px;
}

[data-theme="mafia"] .airport-active-grid, [data-theme="mafia"] .airport-history-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  display: grid;
}

[data-theme="mafia"] .airport-empty-state {
  text-align: center;
  color: #fff9;
  border: 1px dashed #ffffff26;
  border-radius: 12px;
  padding: 18px;
}

[data-theme="mafia"] .airport-card {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  display: flex;
}

[data-theme="mafia"] .airport-card-header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-badge {
  letter-spacing: .4px;
  background: #ffffff14;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 11px;
}

[data-theme="mafia"] .airport-progress-bar {
  background: #ffffff0f;
  border-radius: 6px;
  height: 6px;
  overflow: hidden;
}

[data-theme="mafia"] .airport-progress-fill {
  border-radius: 6px;
  height: 100%;
  transition: width .4s, background .3s;
}

[data-theme="mafia"] .airport-card-row {
  color: #ffffffbf;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-card-meta {
  letter-spacing: .3px;
  text-transform: uppercase;
  gap: 10px;
  font-size: 11px;
  display: flex;
}

[data-theme="mafia"] .airport-events {
  color: #fffc;
  flex-direction: column;
  gap: 6px;
  display: flex;
}

[data-theme="mafia"] .airport-event-row p {
  color: #fffc;
  margin: 0;
  font-size: 12px;
}

[data-theme="mafia"] .airport-event-pill {
  letter-spacing: .4px;
  text-transform: uppercase;
  background: #ffffff14;
  border: 1px solid #ffffff26;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 10px;
  display: inline-flex;
}

[data-theme="mafia"] .airport-actions {
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .airport-action {
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--text);
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #ffffff26;
  border-radius: 10px;
  padding: 8px 16px;
  font-size: 12px;
  transition: border .2s, background .2s;
}

[data-theme="mafia"] .airport-action:hover:not(:disabled) {
  background: #ffffff14;
  border-color: #ffffff59;
}

[data-theme="mafia"] .airport-action:disabled {
  opacity: .5;
  cursor: not-allowed;
}

[data-theme="mafia"] .airport-action-primary {
  color: #f8fbff;
  background: #6d28d933;
  border-color: #6d28d966;
}

[data-theme="mafia"] .airport-start-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
  display: grid;
}

[data-theme="mafia"] .airport-form-block {
  background: #ffffff05;
  border: 1px solid #ffffff0d;
  border-radius: 14px;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  display: flex;
}

[data-theme="mafia"] .airport-form-label {
  letter-spacing: .4px;
  text-transform: uppercase;
  color: #ffffff8c;
  font-size: 12px;
}

[data-theme="mafia"] .airport-route-grid, [data-theme="mafia"] .airport-choice-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  display: grid;
}

[data-theme="mafia"] .airport-choice-card {
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 12px;
  transition: border .2s, background .2s;
  display: flex;
}

[data-theme="mafia"] .airport-choice-card.selected {
  background: #3b82f626;
  border-color: #3b82f6b3;
}

[data-theme="mafia"] .airport-choice-card small {
  color: #ffffff8c;
  font-size: 11px;
}

[data-theme="mafia"] .airport-duration-grid {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

[data-theme="mafia"] .airport-summary ul {
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  font-size: 13px;
  list-style: none;
  display: flex;
}

[data-theme="mafia"] .airport-note {
  color: #ffffff80;
  letter-spacing: .2px;
  font-size: 11px;
}

[data-theme="mafia"] .airport-feedback {
  color: #38bdf8;
  font-size: 12px;
}

[data-theme="mafia"] .airport-error {
  color: #f87171;
  font-size: 12px;
}

[data-theme="mafia"] .airport-history-card {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  padding: 14px;
}

[data-theme="mafia"] .airport-history-summary {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .airport-history-detail {
  color: #ffffffbf;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
  font-size: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-modal {
  background: #000000bf;
  justify-content: center;
  align-items: center;
  padding: 24px;
  display: flex;
  position: fixed;
  inset: 0;
}

[data-theme="mafia"] .airport-modal-card {
  background: #0b0f17;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  max-width: 500px;
  padding: 24px;
  display: flex;
}

[data-theme="mafia"] .airport-incidentModal {
  z-index: 1200;
  background: #020305d9;
  justify-content: center;
  align-items: center;
  padding: 28px;
  display: flex;
  position: fixed;
  inset: 0;
}

[data-theme="mafia"] .airport-incidentModal__card {
  background: #06090ff2;
  border: 1px solid #ffffff14;
  border-radius: 22px;
  flex-direction: column;
  gap: 16px;
  width: min(480px, 100%);
  padding: 32px;
  display: flex;
  box-shadow: 0 30px 70px #000c;
}

[data-theme="mafia"] .airport-incidentModal__head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-incidentModal__kicker {
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff9;
  margin: 0;
  font-size: 11px;
}

[data-theme="mafia"] .airport-incidentModal__close {
  color: #ffffffb3;
  cursor: pointer;
  background: none;
  border: none;
  font-size: 18px;
}

[data-theme="mafia"] .airport-incidentModal__message {
  color: #ffffffd9;
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}

[data-theme="mafia"] .airport-incidentModal__choices {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .airport-choiceBtn {
  color: #fff;
  cursor: pointer;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: #ffffff08;
  border: 1px solid #fff3;
  border-radius: 12px;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  padding: 14px 18px;
  transition: border-color .2s, background .2s;
  display: flex;
}

[data-theme="mafia"] .airport-choiceBtn:hover:not(:disabled) {
  border-color: #ffffff80;
}

[data-theme="mafia"] .airport-choiceBtn--ghost {
  background: none;
  border-color: #ffffff4d;
}

[data-theme="mafia"] .airport-choiceBtn__detail {
  color: #fff9;
  text-transform: none;
  letter-spacing: normal;
  font-size: 11px;
}

[data-theme="mafia"] .airport-choiceBtn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

[data-theme="mafia"] .airport-incidentModal__footer {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-incidentModal__error {
  color: #fca5a5;
  letter-spacing: .5px;
  margin: 0;
  font-size: 12px;
}

[data-theme="mafia"] .airport-shell {
  background: linear-gradient(#05070b, #080a0e 70%);
  border: 1px solid #ffffff1a;
  border-radius: 22px;
  flex-direction: column;
  gap: 24px;
  padding: 32px 32px 120px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 40px #0009, 0 20px 60px #000000b3;
}

[data-theme="mafia"] .airport-header {
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  display: flex;
}

[data-theme="mafia"] .airport-tabs {
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .airport-tab {
  color: #ffffffe6;
  letter-spacing: 1px;
  background: #ffffff05;
  border: 1px solid #ffffff26;
  border-radius: 999px;
  padding: 8px 20px;
  font-size: 12px;
  transition: border .2s, background .2s;
}

[data-theme="mafia"] .airport-planner {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  display: grid;
  position: relative;
}

[data-theme="mafia"] .airport-planner[data-active-picker="route"] .airport-column:not(.airport-column--left), [data-theme="mafia"] .airport-planner[data-active-picker="duration"] .airport-column:not(.airport-column--left), [data-theme="mafia"] .airport-planner[data-active-picker="identity"] .airport-column:not(.airport-column--center), [data-theme="mafia"] .airport-planner[data-active-picker="cargo"] .airport-column:not(.airport-column--center) {
  opacity: .4;
  filter: blur(.5px);
}

[data-theme="mafia"] .airport-planner[data-active-picker=""] .airport-column {
  opacity: 1;
}

[data-theme="mafia"] .airport-section-title {
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ffffff80;
  margin-bottom: 12px;
  font-size: 11px;
}

[data-theme="mafia"] .airport-lock-label {
  margin: 0;
  font-size: 14px;
}

[data-theme="mafia"] .airport-lock-detail {
  color: #ffffff8c;
  margin: 0;
  font-size: 12px;
}

[data-theme="mafia"] .airport-terminal {
  background: #0009;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  padding: 22px;
}

[data-theme="mafia"] .airport-terminal-row {
  justify-content: space-between;
  margin-bottom: 10px;
  font-size: 13px;
  display: flex;
}

[data-theme="mafia"] .airport-risk-chip {
  letter-spacing: 1px;
  border: 1px solid #0000;
  border-radius: 999px;
  padding: 2px 12px;
  font-size: 11px;
}

[data-theme="mafia"] .airport-risk-chip--low {
  color: #34d399;
  background: #34d39926;
  border-color: #34d39973;
}

[data-theme="mafia"] .airport-risk-chip--medium {
  color: #fbbf24;
  background: #fbbf2426;
  border-color: #fbbf2473;
}

[data-theme="mafia"] .airport-risk-chip--high {
  color: #f87171;
  background: #f8717126;
  border-color: #f8717173;
}

[data-theme="mafia"] .airport-terminal-cta {
  color: #fff;
  letter-spacing: 1px;
  background: linear-gradient(135deg, #9b4a17, #5c1f0f);
  border: none;
  border-radius: 12px;
  width: 100%;
  margin-top: 12px;
  padding: 14px;
  font-size: 14px;
  transition: transform .2s;
}

[data-theme="mafia"] .airport-terminal-cta:disabled {
  opacity: .4;
  cursor: not-allowed;
}

[data-theme="mafia"] .airport-terminal-cta:not(:disabled):hover {
  transform: translateY(-2px);
}

[data-theme="mafia"] .airport-active {
  flex-direction: column;
  display: flex;
}

[data-theme="mafia"] .airport-active__card {
  background: #0a0c10cc;
  border: 1px solid #ffffff1a;
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 25px 60px #000000a6;
}

[data-theme="mafia"] .airport-active__head {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-progress-bar {
  background: #ffffff14;
  border-radius: 999px;
  height: 8px;
  margin-bottom: 10px;
  overflow: hidden;
}

[data-theme="mafia"] .airport-card-meta {
  color: #fff9;
  justify-content: space-between;
  margin-bottom: 12px;
  font-size: 11px;
  display: flex;
}

[data-theme="mafia"] .airport-events {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

[data-theme="mafia"] .airport-event-row {
  align-items: center;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .airport-event-pill {
  letter-spacing: 1px;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 10px;
}

[data-theme="mafia"] .airport-actions {
  gap: 10px;
  margin-top: 16px;
  display: flex;
}

[data-theme="mafia"] .airport-action {
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #ffffff40;
  border-radius: 10px;
  padding: 8px 16px;
  font-size: 11px;
}

[data-theme="mafia"] .airport-action__callout {
  background: #f8717133;
  border-color: #f8717166;
}

[data-theme="mafia"] .airport-activeCard {
  background: linear-gradient(135deg, #0c0e13f2, #030306e6);
  border: 1px solid #ffffff14;
  border-radius: 24px;
  flex-direction: column;
  gap: 16px;
  padding: 22px;
  display: flex;
  box-shadow: 0 30px 70px #000000b3;
}

[data-theme="mafia"] .airport-activeCard__statusLabel {
  letter-spacing: 2px;
  color: #fff9;
  text-transform: uppercase;
  margin: 0;
  font-size: 11px;
}

[data-theme="mafia"] .airport-activeCard__risk {
  color: #fff9;
  font-size: 10px;
}

[data-theme="mafia"] .airport-incidentBadge {
  letter-spacing: 1px;
  background: #f871712e;
  border: 1px solid #f8717173;
  border-radius: 12px;
  padding: 4px 12px;
  font-size: 10px;
}

[data-theme="mafia"] .airport-activeCard__chip {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  flex-direction: column;
  flex: 1;
  gap: 4px;
  min-width: 120px;
  padding: 10px 14px;
  display: flex;
}

[data-theme="mafia"] .airport-controlBtn {
  color: inherit;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  background: #ffffff0d;
  border: 1px solid #ffffff4d;
  border-radius: 12px;
  padding: 10px 20px;
  font-size: 12px;
  transition: background .2s;
}

[data-theme="mafia"] .airport-controlBtn--primary {
  color: #05070b;
  background: linear-gradient(135deg, #ff7e5f, #feb47b);
  border-color: #0000;
}

[data-theme="mafia"] .airport-controlBtn:hover:not(:disabled) {
  background: #ffffff1f;
}

[data-theme="mafia"] .airport-controlBtn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

[data-theme="mafia"] .airportOpCard {
  position: relative;
}

[data-theme="mafia"] .airportRiskChips {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

[data-theme="mafia"] .airportProgressBar {
  background: #ffffff0d;
  border: 1px solid #ffffff24;
  border-radius: 999px;
}

[data-theme="mafia"] .airportEtaChip {
  color: #34d399;
  background: linear-gradient(135deg, #22c55e2e, #22c55e0d);
  border-color: #22c55e73;
}

[data-theme="mafia"] .airportGlowBtn {
  box-shadow: var(--glow-amber);
  color: #fff;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: linear-gradient(135deg, #a23a14, #56170a);
  border: none;
  border-radius: 24px;
  padding: 12px 26px;
  font-weight: 600;
  transition: transform .2s, box-shadow .2s;
}

[data-theme="mafia"] .airportGlowBtn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 0 25px #ffa24d8c;
}

[data-theme="mafia"] .airportDim {
  filter: saturate(.85);
  opacity: .95;
}

[data-theme="mafia"] .airportIncidentInline {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  box-shadow: inset 0 0 15px #00000040;
}

[data-theme="mafia"] .airportIncidentSide {
  background: #06080cf2;
  border: 1px solid #ffffff14;
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 18px 45px #0000008c;
}

[data-theme="mafia"] .airportIncidentModal {
  border-radius: 18px;
}

[data-theme="mafia"] .airportPulse {
  animation: 1.2s infinite airportPulse;
}

[data-theme="mafia"] .airport-activeCard__footer {
  color: #ffffffa6;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-history {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-history-grid {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
  display: grid;
}

[data-theme="mafia"] .airport-history-card {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 10px 30px #00000080;
}

[data-theme="mafia"] .airport-history-title {
  justify-content: space-between;
  margin-bottom: 6px;
  font-size: 14px;
  display: flex;
}

[data-theme="mafia"] .airport-modal {
  z-index: 100;
  background: #000c;
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  position: fixed;
  inset: 0;
}

[data-theme="mafia"] .airport-modal-card {
  background: #0b0f15;
  border: 1px solid #ffffff1a;
  border-radius: 16px;
  flex-direction: column;
  gap: 12px;
  width: min(480px, 100%);
  padding: 24px;
  display: flex;
}

[data-theme="mafia"] .airport-modal-actions {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .airport-option--modal {
  justify-content: flex-start;
  width: 100%;
}

[data-theme="mafia"] .airport-note {
  color: #fff9;
  letter-spacing: .5px;
  margin: 0;
  font-size: 11px;
}

[data-theme="mafia"] .airport-note--error {
  color: #f87171;
}

[data-theme="mafia"] .airport-note--success {
  color: #34d399;
}

[data-theme="mafia"] .airport-note--muted {
  color: #ffffff73;
}

[data-theme="mafia"] .airport-exchange {
  grid-template-columns: minmax(280px, 1.5fr) minmax(220px, 1fr);
  gap: 24px;
  display: grid;
}

[data-theme="mafia"] .airport-exchange-card, [data-theme="mafia"] .airport-exchange-ratecard {
  min-height: 100%;
}

[data-theme="mafia"] .airport-exchange-meta {
  letter-spacing: .6px;
  color: #fff9;
  margin: 6px 0 12px;
  font-size: 11px;
}

[data-theme="mafia"] .airport-exchange-note {
  color: #ffffffb3;
  margin: 0 0 12px;
  font-size: 12px;
}

[data-theme="mafia"] .airport-exchange-form {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
  display: grid;
}

[data-theme="mafia"] .airport-exchange-field {
  letter-spacing: .6px;
  text-transform: uppercase;
  color: #fff9;
  flex-direction: column;
  gap: 6px;
  font-size: 11px;
  display: flex;
}

[data-theme="mafia"] .airport-exchange-input {
  color: #f8f6f2;
  background: #0a0a0a73;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
}

[data-theme="mafia"] .airport-exchange-summary {
  background: #0a0a0a59;
  border-radius: 16px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
  padding: 12px;
  display: grid;
}

[data-theme="mafia"] .airport-exchange-summary span {
  letter-spacing: .5px;
  color: #fff9;
  font-size: 11px;
  display: block;
}

[data-theme="mafia"] .airport-exchange-summary strong {
  color: #fff8eb;
  font-size: 16px;
}

[data-theme="mafia"] .airport-exchange-rategrid {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 12px;
  margin-top: 12px;
  display: grid;
}

[data-theme="mafia"] .airport-exchange-rate {
  color: #ffffffbf;
  background: #09090b66;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  font-size: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-exchange-rate strong {
  color: #fef2c0;
  font-weight: 600;
}

[data-theme="mafia"] .airport-exchange-footnote {
  letter-spacing: .5px;
  color: #ffffff73;
  margin-top: 12px;
  font-size: 11px;
}

[data-theme="mafia"] .airport-exchange .airport-terminal-cta {
  width: 100%;
}

@media (max-width: 900px) {
  [data-theme="mafia"] .airport-exchange {
    grid-template-columns: 1fr;
  }
}

[data-theme="mafia"] .airportPanel {
  z-index: 0;
  width: 100%;
  min-width: 0;
  padding: 32px 32px 140px;
  position: relative;
}

[data-theme="mafia"] .airportGrid {
  grid-template-columns: 1fr 1.6fr .9fr;
  gap: 26px;
  width: 100%;
  min-width: 0;
  display: grid;
}

[data-theme="mafia"] .airportPanel:before {
  content: "";
  pointer-events: none;
  border-radius: inherit;
  opacity: .9;
  background: radial-gradient(900px 450px at 40% -10%, #ffbe782e, #0000 60%), radial-gradient(800px 420px at 80% 10%, #5a96ff1a, #0000 55%), radial-gradient(1200px 700px at 50% 100%, #00000073, #0000 60%);
  position: absolute;
  inset: 0;
}

[data-theme="mafia"] .airportCard {
  z-index: 1;
  background: linear-gradient(#12161ee0, #0a0c10db);
  border: 1px solid #ffffff14;
  border-radius: 20px;
  flex-direction: column;
  gap: 16px;
  padding: 22px;
  display: flex;
  position: relative;
  box-shadow: 0 20px 60px #0000008c, inset 0 1px #ffffff0d;
}

[data-theme="mafia"] .airportZone {
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  display: flex;
  position: relative;
}

[data-theme="mafia"] .airportZoneRight {
  padding-bottom: 70px;
}

[data-theme="mafia"] .airportZoneCenter {
  min-width: 0;
}

[data-theme="mafia"] .airportChangeBtn {
  color: #f8efdf;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #00000059;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: .8rem;
  display: inline-flex;
}

[data-theme="mafia"] .airportConfirmInset {
  background: #00000047;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
  padding: 12px;
  display: flex;
}

[data-theme="mafia"] .airportConfirmRow {
  letter-spacing: .05em;
  color: #d3c6b8;
  justify-content: space-between;
  align-items: center;
  font-size: .85rem;
  display: flex;
}

[data-theme="mafia"] .airportConfirmRow strong {
  color: #fff8e7;
  font-size: .9rem;
}

[data-theme="mafia"] .airport-risk-chip {
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .75rem;
  font-weight: 600;
}

[data-theme="mafia"] .airportCTA {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: linear-gradient(#ff8c38e6, #ff5a2de6);
  border: 1px solid #ffbe7840;
  border-radius: 14px;
  width: 100%;
  margin-top: 10px;
  padding: 12px 0;
  font-weight: 600;
  box-shadow: 0 18px 60px #0000008c;
}

[data-theme="mafia"] .airportCTA:disabled {
  opacity: .45;
  cursor: not-allowed;
  box-shadow: none;
}

[data-theme="mafia"] .airportFocusRoute .airportZoneCenter, [data-theme="mafia"] .airportFocusRoute .airportZoneRight, [data-theme="mafia"] .airportFocusIdentity .airportZoneLeft, [data-theme="mafia"] .airportFocusIdentity .airportZoneRight, [data-theme="mafia"] .airportFocusCargo .airportZoneLeft, [data-theme="mafia"] .airportFocusCargo .airportZoneRight {
  opacity: .65;
  transition: opacity .18s;
}

@media (prefers-reduced-motion: reduce) {
  [data-theme="mafia"] .airport-option, [data-theme="mafia"] .airport-option:hover, [data-theme="mafia"] .airport-option__selected {
    transition: none;
    transform: none;
  }
}

[data-theme="mafia"] .airport-shell {
  isolation: isolate;
  background: linear-gradient(135deg, #03050d, #0a1424 75%);
  border: 1px solid #ffffff26;
  border-radius: 26px;
  width: 100%;
  min-width: 0;
  padding: 32px 32px 160px;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 70px #000000e6, 0 35px 90px #000000d9;
  container: airport-ops / inline-size;
}

[data-theme="mafia"] .airport-shell:before {
  content: "";
  pointer-events: none;
  mix-blend-mode: screen;
  background: radial-gradient(900px 450px at 35% -15%, #ffaf5f40, #0000 55%), radial-gradient(800px 420px at 85% 0, #5a96ff14, #0000 55%);
  position: absolute;
  inset: 0;
}

[data-theme="mafia"] .airport-shell:after {
  content: "";
  pointer-events: none;
  opacity: .12;
  background-image: radial-gradient(#ffffff0d 1px, #0000 1px);
  background-size: 3px 3px;
  position: absolute;
  inset: 0;
}

[data-theme="mafia"] .airport-header {
  z-index: 1;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  display: flex;
  position: relative;
}

[data-theme="mafia"] .airport-header-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px 12px;
  display: flex;
}

[data-theme="mafia"] .airport-label {
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #ffffff9e;
  font-size: 12px;
}

[data-theme="mafia"] .airport-tabs {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  max-width: 100%;
  display: flex;
}

[data-theme="mafia"] .airport-tab {
  color: #ffffffeb;
  letter-spacing: 1px;
  text-transform: uppercase;
  white-space: nowrap;
  background: #ffffff05;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  min-width: 0;
  padding: 8px 20px;
  font-size: 12px;
  transition: border .2s, background .2s, transform .2s;
}

[data-theme="mafia"] .airport-modeToggle {
  background: #00000059;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  gap: 4px;
  padding: 4px;
  display: inline-flex;
}

[data-theme="mafia"] .airport-modeToggle__btn {
  color: #ffffffbf;
  letter-spacing: .8px;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 11px;
  transition: background .2s, color .2s, transform .2s;
}

[data-theme="mafia"] .airport-modeToggle__btn:hover {
  transform: translateY(-1px);
}

[data-theme="mafia"] .airport-modeToggle__btn:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #ffffff80;
}

[data-theme="mafia"] .airport-modeToggle__btn.is-active {
  color: #fff;
  background: #ffffff29;
  box-shadow: 0 10px 24px #00000073;
}

[data-theme="mafia"] .airport-tab:hover {
  transform: translateY(-1px);
}

[data-theme="mafia"] .airport-tab:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #ffffff73;
}

[data-theme="mafia"] .airport-tab__active {
  background: #ffffff26;
  border-color: #ffffff80;
  box-shadow: 0 10px 24px #0000008c;
}

[data-theme="mafia"] .airport-planner {
  z-index: 1;
  grid-template-columns: minmax(240px, 1.05fr) minmax(240px, 1fr) minmax(240px, .9fr);
  grid-template-areas: "route identity confirm"
                       "duration cargo confirm";
  align-items: start;
  gap: clamp(10px, 1.2vw, 16px);
  width: 100%;
  min-width: 0;
  margin-top: 18px;
  display: grid;
  position: relative;
}

[data-theme="mafia"] .airport-ops-block {
  min-width: 0;
}

[data-theme="mafia"] .airport-ops-block--route {
  grid-area: route;
}

[data-theme="mafia"] .airport-ops-block--identity {
  grid-area: identity;
}

[data-theme="mafia"] .airport-ops-block--duration {
  grid-area: duration;
}

[data-theme="mafia"] .airport-ops-block--cargo {
  grid-area: cargo;
}

[data-theme="mafia"] .airport-ops-block--confirm {
  grid-area: confirm;
}

[data-theme="mafia"] .airport-ops--wizard {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "wizard";
}

[data-theme="mafia"] .airport-wizard-head {
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-wizard-title {
  margin: 6px 0 0;
  font-size: 18px;
}

[data-theme="mafia"] .airport-wizard-steps {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff9;
  font-size: 12px;
}

[data-theme="mafia"] .airport-wizard-body {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-wizard-nav {
  justify-content: flex-end;
  gap: 12px;
  margin-top: 14px;
  display: flex;
}

[data-theme="mafia"] .airport-column {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

[data-theme="mafia"] .airport-panel {
  background: #04050ae6;
  border: 1px solid #ffffff12;
  border-radius: 18px;
  padding: 20px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 36px #0000008c;
}

[data-theme="mafia"] .airport-panel:after {
  content: "";
  pointer-events: none;
  border: 1px solid #ffffff06;
  border-radius: 14px;
  position: absolute;
  inset: 14px;
}

[data-theme="mafia"] .airport-section-title {
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ffffff73;
  margin: 0 0 12px;
  font-size: 11px;
}

[data-theme="mafia"] .airport-option-grid {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .airport-ops-block--identity .airport-option-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  display: grid;
}

[data-theme="mafia"] .airport-option {
  color: #ffffffeb;
  background: #ffffff04;
  border: 1px solid #ffffff0f;
  border-radius: 16px;
  width: 100%;
  padding: 14px 15px;
  transition: transform .18s, border-color .18s, box-shadow .18s, opacity .18s;
  box-shadow: inset 0 1px #ffffff0d;
}

[data-theme="mafia"] .airport-option:hover {
  border-color: #ffffff24;
  transform: translateY(-1px);
}

[data-theme="mafia"] .airport-option__dim {
  opacity: .55;
  filter: saturate(.85);
}

[data-theme="mafia"] .airport-option__selected {
  background: #ffffff08;
  border-color: #ffb46e4d;
  box-shadow: inset 0 1px #ffffff14, 0 10px 26px #00000073;
}

[data-theme="mafia"] .airport-option__title {
  color: #fff8eb;
  text-wrap: balance;
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
}

[data-theme="mafia"] .airport-option__detail {
  color: #ffffffad;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 12px;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
}

[data-theme="mafia"] .airport-option__meta {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffffff7a;
  overflow-wrap: anywhere;
  margin-top: 6px;
  font-size: clamp(10px, .9vw, 11px);
}

[data-theme="mafia"] .airport-activeStack {
  flex-direction: column;
  gap: 22px;
  width: 100%;
  display: flex;
}

[data-theme="mafia"] .airport-activeCard {
  background: linear-gradient(135deg, #08090ef7, #020307f2);
  border: 1px solid #ffffff14;
  border-radius: 26px;
  padding: 26px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 35px 90px #000000e6;
}

[data-theme="mafia"] .airport-activeCard__header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-activeCard__statusLabel {
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff9;
  margin: 0;
  font-size: 11px;
}

[data-theme="mafia"] .airport-activeCard__headerTags {
  align-items: center;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .airport-activeCard__badge {
  letter-spacing: 1px;
  background: #ffffff14;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 10px;
}

[data-theme="mafia"] .airport-activeCard__risk {
  color: #ffffffb3;
  letter-spacing: 1px;
  font-size: 11px;
}

[data-theme="mafia"] .airport-activeCard__debug {
  color: #ffffffe6;
  z-index: 2;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #000000a6;
  border: 1px solid #ffffff40;
  border-radius: 16px;
  flex-direction: column;
  gap: 6px;
  padding: 10px 14px;
  font-size: 11px;
  display: flex;
  position: absolute;
  top: 16px;
  right: 16px;
}

[data-theme="mafia"] .airport-activeCard__debug [data-theme="mafia"] .airport-activeCard__debugRisk {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

[data-theme="mafia"] .airport-activeCard__debug [data-theme="mafia"] .airport-activeCard__debugRiskEntry {
  letter-spacing: .4px;
  text-transform: uppercase;
  color: #ffffffc7;
  font-size: 10px;
}

[data-theme="mafia"] .airport-activeCard__debug [data-theme="mafia"] .airport-activeCard__debugTotal {
  letter-spacing: .3px;
  color: #fcd57a;
  font-size: 10px;
}

[data-theme="mafia"] .airport-activeCard__debugIncident {
  letter-spacing: 1px;
  color: #fcd581;
  font-size: 10px;
}

[data-theme="mafia"] .airport-activeCard__debugHint {
  color: #ffffff8c;
  letter-spacing: .8px;
  font-size: 9px;
}

[data-theme="mafia"] .airport-incidentBadge {
  background: #f871712e;
  border: 1px solid #f8717173;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 10px;
}

[data-theme="mafia"] .airport-activeCard__progress {
  background: #ffffff14;
  border-radius: 999px;
  height: 14px;
  overflow: hidden;
  box-shadow: inset 0 2px 8px #00000059;
}

[data-theme="mafia"] .airport-progress-fill {
  background: linear-gradient(90deg, #fbcf8f, #da5b28 70%);
  border-radius: 999px;
  height: 100%;
  transition: width .35s, background .35s;
}

[data-theme="mafia"] .airport-activeCard__info {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  display: grid;
}

[data-theme="mafia"] .airport-activeCard__info span {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ffffff8c;
  font-size: 11px;
}

[data-theme="mafia"] .airport-activeCard__info strong {
  color: #fff;
  font-size: 14px;
  display: block;
}

[data-theme="mafia"] .airport-activeCard__chipRow {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-activeCard__chip {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 18px;
  flex: 1;
  min-width: 140px;
  padding: 10px 14px;
}

[data-theme="mafia"] .airport-activeCard__chip strong {
  font-size: 16px;
}

[data-theme="mafia"] .airport-activeCard__chipLabel {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ffffff8c;
  font-size: 10px;
}

[data-theme="mafia"] .airport-activeCard__actions {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-controlBtn {
  color: #fff;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #ffffff4d;
  border-radius: 14px;
  flex: 1;
  padding: 12px 20px;
  font-size: 12px;
  transition: background .2s, transform .2s, border .2s;
}

[data-theme="mafia"] .airport-controlBtn--primary {
  color: #05070b;
  background: linear-gradient(135deg, #f7945c, #e74c3c);
  border-color: #0000;
  box-shadow: 0 12px 40px #e74c3c73;
}

[data-theme="mafia"] .airport-controlBtn--ghost {
  background: #ffffff05;
  border-color: #ffffff4d;
}

[data-theme="mafia"] .airport-controlBtn:hover:not(:disabled) {
  background: #ffffff1f;
  transform: translateY(-1px);
}

[data-theme="mafia"] .airport-controlBtn:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #ffffff80;
}

[data-theme="mafia"] .airport-controlBtn:disabled {
  opacity: .45;
  cursor: not-allowed;
  transform: none;
}

[data-theme="mafia"] .airport-activeCard__footer {
  color: #ffffffa6;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-activeCard__incidentText {
  color: #fff;
  margin: 0;
}

[data-theme="mafia"] .airport-reconnectHint {
  color: #93c5fd;
  letter-spacing: .5px;
  background: #3b82f626;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
}

[data-theme="mafia"] .airport-incidentInline, [data-theme="mafia"] .airport-incidentPanel {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 20px;
  padding: 16px;
  box-shadow: 0 25px 50px #00000073;
}

[data-theme="mafia"] .airport-incidentInline__head, [data-theme="mafia"] .airport-incidentPanel__head {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .airport-incidentInline__label, [data-theme="mafia"] .airport-incidentPanel__title {
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #ffffffb3;
  font-size: 12px;
}

[data-theme="mafia"] .airport-incidentPanel__phase {
  letter-spacing: 1px;
  color: #ffffff8c;
  font-size: 11px;
}

[data-theme="mafia"] .airport-incidentPanel__meta {
  align-items: center;
  gap: 8px;
  display: flex;
}

[data-theme="mafia"] .airport-incidentPanel__message {
  color: #fffc;
  margin: 12px 0;
}

[data-theme="mafia"] .airport-incidentPanel__footer {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ffffff8c;
  justify-content: space-between;
  font-size: 11px;
  display: flex;
}

[data-theme="mafia"] .airport-incidentInline__timer {
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 10px;
}

[data-theme="mafia"] .airport-incidentInline__timer--urgent {
  border-color: #f8717199;
  animation: 1.2s infinite airportPulse;
}

[data-theme="mafia"] .airport-incidentInline__message {
  color: #ffffffd6;
  margin: 10px 0;
}

[data-theme="mafia"] .airport-incidentActions {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
  display: flex;
}

[data-theme="mafia"] .airport-choiceBtn {
  color: #fff;
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #fff3;
  border-radius: 12px;
  flex-direction: column;
  flex: 1;
  align-items: flex-start;
  gap: 4px;
  min-width: 140px;
  padding: 12px 14px;
  transition: transform .2s, border-color .2s, background .2s;
  display: flex;
}

[data-theme="mafia"] .airport-choiceBtn:hover:not(:disabled) {
  border-color: #ffffff59;
  transform: translateY(-1px);
}

[data-theme="mafia"] .airport-choiceBtn:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #ffffff73;
}

[data-theme="mafia"] .airport-choiceBtn__label {
  font-size: 13px;
  font-weight: 600;
}

[data-theme="mafia"] .airport-choiceBtn__detail {
  color: #ffffff9e;
  font-size: 11px;
}

[data-theme="mafia"] .airport-choiceBtn:disabled {
  opacity: .45;
  cursor: not-allowed;
  transform: none;
}

[data-theme="mafia"] .airport-incidentHistory {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-incidentHistory-grid {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  display: grid;
}

[data-theme="mafia"] .airport-incidentHistory-card {
  background: #00000080;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 12px 32px #00000073;
}

[data-theme="mafia"] .airport-incidentHistory-title {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
  font-size: 13px;
  display: flex;
}

[data-theme="mafia"] .airport-incidentHistory-meta {
  letter-spacing: 1px;
  color: #ffffff8c;
  font-size: 11px;
}

[data-theme="mafia"] .airport-incidentSeverity {
  letter-spacing: .8px;
  text-transform: uppercase;
  border: 1px solid #0000;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 10px;
}

[data-theme="mafia"] .airport-incidentSeverity--low {
  color: #34d399;
  background: #34d3992e;
  border-color: #34d39966;
}

[data-theme="mafia"] .airport-incidentSeverity--medium {
  color: #fbbf24;
  background: #fbbf242e;
  border-color: #fbbf2466;
}

[data-theme="mafia"] .airport-incidentSeverity--high {
  color: #ef4444;
  background: #ef44442e;
  border-color: #ef444480;
}

[data-theme="mafia"] .airport-incidentSeverity--critical {
  color: #ec4899;
  background: #be185d33;
  border-color: #be185d80;
}

[data-theme="mafia"] .airport-planner[data-focus="route"] .airport-ops-block:not(.airport-ops-block--route):not(.airport-ops-block--duration), [data-theme="mafia"] .airport-planner[data-focus="duration"] .airport-ops-block:not(.airport-ops-block--route):not(.airport-ops-block--duration), [data-theme="mafia"] .airport-planner[data-focus="identity"] .airport-ops-block:not(.airport-ops-block--identity):not(.airport-ops-block--cargo), [data-theme="mafia"] .airport-planner[data-focus="cargo"] .airport-ops-block:not(.airport-ops-block--identity):not(.airport-ops-block--cargo), [data-theme="mafia"] .airport-planner[data-focus="confirm"] .airport-ops-block:not(.airport-ops-block--confirm) {
  opacity: .45;
  filter: saturate(.9);
  transition: opacity .18s, filter .18s;
}

[data-theme="mafia"] .airport-planner[data-focus="route"] .airport-ops-block--route, [data-theme="mafia"] .airport-planner[data-focus="duration"] .airport-ops-block--duration, [data-theme="mafia"] .airport-planner[data-focus="identity"] .airport-ops-block--identity, [data-theme="mafia"] .airport-planner[data-focus="cargo"] .airport-ops-block--cargo, [data-theme="mafia"] .airport-planner[data-focus="confirm"] .airport-ops-block--confirm {
  opacity: 1;
  filter: none;
}

[data-theme="mafia"] .airport-planner[data-focus="route"] .airport-ops-block--route .airport-panel, [data-theme="mafia"] .airport-planner[data-focus="duration"] .airport-ops-block--duration .airport-panel, [data-theme="mafia"] .airport-planner[data-focus="identity"] .airport-ops-block--identity .airport-panel, [data-theme="mafia"] .airport-planner[data-focus="cargo"] .airport-ops-block--cargo .airport-panel, [data-theme="mafia"] .airport-planner[data-focus="confirm"] .airport-ops-block--confirm .airport-panel {
  box-shadow: 0 18px 55px #0009, inset 0 1px #ffffff0f;
}

[data-theme="mafia"] .airportPanel, [data-theme="mafia"] .airportGrid, [data-theme="mafia"] .airportCard, [data-theme="mafia"] .airportZone, [data-theme="mafia"] .airportZoneLeft, [data-theme="mafia"] .airportZoneCenter, [data-theme="mafia"] .airportZoneRight {
  all: unset;
}

@keyframes airportPulse {
  0% {
    box-shadow: 0 0 #f8717173;
  }

  60% {
    box-shadow: 0 0 0 12px #f8717100;
  }

  100% {
    box-shadow: 0 0 #f8717100;
  }
}

@container airport-ops (max-width: 1080px) {
  [data-theme="mafia"] .airport-planner.airport-ops {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "route identity"
                         "duration cargo"
                         "confirm confirm";
  }

  [data-theme="mafia"] .airport-panel {
    padding: 18px;
  }

  [data-theme="mafia"] .airport-panel:after {
    inset: 12px;
  }

  [data-theme="mafia"] .airport-option {
    padding: 12px 13px;
  }

  [data-theme="mafia"] .airport-section-title {
    margin-bottom: 8px;
  }

  [data-theme="mafia"] .airport-tabs {
    gap: 6px;
  }

  [data-theme="mafia"] .airport-tab {
    padding: 7px 14px;
    font-size: 11px;
  }

  [data-theme="mafia"] .cargoPanel {
    padding: 18px;
  }

  [data-theme="mafia"] .cargoPanel-slots {
    gap: 10px;
  }

  [data-theme="mafia"] .cargoSlotCard {
    padding: 12px;
  }

  [data-theme="mafia"] .cargoMeta-title {
    font-size: 14px;
  }

  [data-theme="mafia"] .airport-modeToggle__btn {
    padding: 6px 12px;
  }
}

@container airport-ops (max-width: 760px) {
  [data-theme="mafia"] .airport-planner.airport-ops {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "route"
                         "identity"
                         "duration"
                         "cargo"
                         "confirm";
  }

  [data-theme="mafia"] .airport-tabs {
    justify-content: flex-start;
  }
}

@media (max-width: 1100px) {
  [data-theme="mafia"] .airport-planner.airport-ops {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "route"
                         "identity"
                         "duration"
                         "cargo"
                         "confirm";
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-theme="mafia"] .airport-option, [data-theme="mafia"] .airport-controlBtn, [data-theme="mafia"] .airport-progress-fill, [data-theme="mafia"] .airport-choiceBtn {
    transition: none;
  }
}

[data-theme="mafia"] .idPick-overlay {
  z-index: 10010;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #030508b8;
  justify-content: center;
  align-items: center;
  padding: 16px;
  display: flex;
  position: fixed;
  inset: 0;
}

[data-theme="mafia"] .idPick-modal {
  background: linear-gradient(#0f131bf5, #07090df5);
  border: 1px solid #ffffff24;
  border-radius: 18px;
  flex-direction: column;
  width: min(760px, 100%);
  max-height: min(88vh, 760px);
  display: flex;
  overflow: hidden;
  box-shadow: 0 28px 80px #0000009e;
}

[data-theme="mafia"] .idPick-head {
  border-bottom: 1px solid #ffffff14;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  display: flex;
}

[data-theme="mafia"] .idPick-kicker {
  letter-spacing: 2px;
  color: #ffffffc2;
  font-size: 11px;
}

[data-theme="mafia"] .idPick-close {
  color: #fff;
  cursor: pointer;
  background: #ffffff08;
  border: 1px solid #ffffff29;
  border-radius: 8px;
  width: 28px;
  height: 28px;
}

[data-theme="mafia"] .idPick-controls {
  border-bottom: 1px solid #ffffff0f;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  display: flex;
}

[data-theme="mafia"] .idPick-sort {
  color: #ffffffdb;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 11px;
}

[data-theme="mafia"] .idPick-chips {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

[data-theme="mafia"] .idPick-chip {
  color: #ffffffc2;
  letter-spacing: 1.1px;
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
}

[data-theme="mafia"] .idPick-chip.isActive {
  color: #e9ecff;
  background: #6366f12b;
  border-color: #6366f194;
}

[data-theme="mafia"] .idPick-list {
  max-height: 320px;
  padding: 2px 10px 10px;
  overflow: hidden auto;
}

[data-theme="mafia"] .idPick-row {
  text-align: left;
  color: #eef1f7;
  cursor: pointer;
  background: #0000001a;
  border: 1px solid #ffffff12;
  border-radius: 8px;
  align-items: center;
  gap: 12px;
  width: calc(100% - 12px);
  margin: 8px 6px;
  padding: 12px;
  display: flex;
  position: relative;
}

[data-theme="mafia"] .idPick-row.isSelected {
  border-color: #22c55e8c;
  box-shadow: 0 0 0 1px #22c55e4d;
}

[data-theme="mafia"] .idPick-row.isDisabled {
  opacity: .48;
  cursor: not-allowed;
}

[data-theme="mafia"] .idPick-row:after {
  content: "";
  background: #ffffff0f;
  height: 1px;
  position: absolute;
  bottom: -6px;
  left: 46px;
  right: 12px;
}

[data-theme="mafia"] .idPick-row:last-child:after {
  display: none;
}

[data-theme="mafia"] .idPick-icon {
  background: linear-gradient(#ffffff14, #0000002e);
  border: 1px solid #ffffff1f;
  border-radius: 6px;
  width: 22px;
  height: 22px;
  box-shadow: inset 0 1px #ffffff1a;
}

[data-theme="mafia"] .idPick-main {
  min-width: 0;
}

[data-theme="mafia"] .idPick-name, [data-theme="mafia"] .idPick-sub {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

[data-theme="mafia"] .idPick-name {
  font-size: 14px;
  font-weight: 600;
}

[data-theme="mafia"] .idPick-sub {
  color: #ffffff9e;
  margin-top: 2px;
  font-size: 11px;
}

[data-theme="mafia"] .idPick-risk {
  letter-spacing: 1.1px;
  border: 1px solid #fff3;
  border-radius: 999px;
  margin-left: auto;
  padding: 4px 8px;
  font-size: 10px;
}

[data-theme="mafia"] .idPick-foot {
  border-top: 1px solid #ffffff14;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 14px 12px;
  display: flex;
}

[data-theme="mafia"] .idPick-earnings {
  min-width: 0;
}

[data-theme="mafia"] .idPick-earningsLabel {
  letter-spacing: 2.8px;
  color: #ffffff94;
  font-size: 10px;
}

[data-theme="mafia"] .idPick-earningsValue {
  margin-top: 2px;
  font-size: 16px;
  font-weight: 600;
}

[data-theme="mafia"] .idPick-continue {
  color: #e6ffef;
  letter-spacing: 1.2px;
  cursor: pointer;
  background: linear-gradient(#22c55e38, #14834638);
  border: 1px solid #22c55e99;
  border-radius: 10px;
  padding: 9px 14px;
  font-size: 11px;
}

[data-theme="mafia"] .idPick-continue:disabled {
  opacity: .45;
  cursor: not-allowed;
}

@media (max-width: 720px) {
  [data-theme="mafia"] .idPick-controls {
    flex-direction: column;
    align-items: flex-start;
  }

  [data-theme="mafia"] .idPick-chips {
    justify-content: flex-start;
  }

  [data-theme="mafia"] .idPick-foot {
    flex-direction: column;
    align-items: stretch;
  }
}

[data-theme="mafia"] .cargoPanel {
  background: linear-gradient(#0d1117eb, #07080ae0);
  border: 1px solid #ffffff14;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 20px 50px #0009;
}

[data-theme="mafia"] .cargoPanel-head {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  display: flex;
}

[data-theme="mafia"] .cargoPanel-slotIndicator {
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #ffffffa6;
  font-size: 11px;
}

[data-theme="mafia"] .cargoPanel-slots {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .cargoPanel-note {
  color: var(--textMuted);
  letter-spacing: .5px;
  margin-top: 12px;
  font-size: 12px;
}

[data-theme="mafia"] .cargoPanel-note--error {
  color: var(--ctaRed);
}

[data-theme="mafia"] .cargoSlotCard {
  background: #ffffff05;
  border: 1px solid #ffffff0f;
  border-radius: 14px;
  padding: 14px;
  transition: transform .18s, border-color .18s, box-shadow .18s;
}

[data-theme="mafia"] .cargoSlotCard:hover {
  border-color: #ffffff29;
  transform: translateY(-1px);
  box-shadow: 0 15px 40px #00000073;
}

[data-theme="mafia"] .cargoSlotTop {
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #ffffffa6;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  font-size: 12px;
  display: flex;
}

[data-theme="mafia"] .cargoSlotBody {
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .cargoIcon {
  background: radial-gradient(circle at 30% 30%, #ffcd8c59, #0006);
  border: 1px solid #ffffff1f;
  border-radius: 10px;
  flex: none;
  width: 36px;
  height: 36px;
  box-shadow: inset 0 1px 2px #ffffff14;
}

[data-theme="mafia"] .cargoMeta {
  flex: 1;
  min-width: 0;
}

[data-theme="mafia"] .cargoMeta-title {
  color: #fff6e7;
  font-size: 15px;
  font-weight: 600;
}

[data-theme="mafia"] .cargoMeta-desc {
  color: #ffffffab;
  margin-top: 2px;
  font-size: 12px;
}

[data-theme="mafia"] .cargoMeta-detail {
  color: #ffffff8c;
  margin-top: 4px;
  font-size: 11px;
}

[data-theme="mafia"] .cargoTags {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ffffffa6;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  font-size: 10px;
  display: flex;
}

[data-theme="mafia"] .cargoRisk {
  letter-spacing: 1px;
  text-transform: uppercase;
  border: 1px solid #ffffff14;
  border-radius: 999px;
  flex: none;
  padding: 4px 12px;
  font-size: 10px;
}

[data-theme="mafia"] .cargoRisk.risk-low {
  color: #34d399;
  background: #34d3991f;
  border-color: #34d39966;
}

[data-theme="mafia"] .cargoRisk.risk-medium {
  color: #fbbf24;
  background: #fbbf241f;
  border-color: #fbbf2466;
}

[data-theme="mafia"] .cargoRisk.risk-high {
  color: #f87171;
  background: #f871711f;
  border-color: #f8717173;
}

[data-theme="mafia"] .people-panel {
  background: linear-gradient(#0a0b0cf2, #050607e0);
  border: 1px solid #ffffff14;
  border-radius: 20px;
  flex-direction: column;
  gap: 16px;
  padding: 28px;
  display: flex;
  box-shadow: 0 25px 70px #000000a6;
}

[data-theme="mafia"] .people-header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .people-header > div:first-child h2 {
  margin: 4px 0 2px;
  font-size: 20px;
}

[data-theme="mafia"] .people-header-badge {
  text-align: right;
}

[data-theme="mafia"] .people-header-badge strong {
  letter-spacing: 1px;
  font-size: 16px;
  display: block;
}

[data-theme="mafia"] .people-grid {
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  display: grid;
}

[data-theme="mafia"] .people-search {
  background: #ffffff05;
  border-radius: 16px;
  padding: 16px;
  position: relative;
}

[data-theme="mafia"] .people-search-input {
  color: #fff;
  background: #0003;
  border: 1px solid #ffffff26;
  border-radius: 10px;
  width: 100%;
  margin-bottom: 12px;
  padding: 10px 14px;
}

[data-theme="mafia"] .people-search-field {
  flex-direction: column;
  gap: 6px;
  margin-bottom: 8px;
  display: flex;
}

[data-theme="mafia"] .people-search-dropdown {
  background: #0000004d;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  flex-direction: column;
  gap: 6px;
  max-height: 260px;
  padding: 8px 0;
  display: flex;
  position: relative;
  overflow: auto;
}

[data-theme="mafia"] .people-search-row {
  color: #fff;
  cursor: pointer;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 16px;
  transition: background .2s;
  display: flex;
}

[data-theme="mafia"] .people-search-row:hover, [data-theme="mafia"] .people-search-row.isSelected {
  background: #ffffff14;
}

[data-theme="mafia"] .people-search-row-left, [data-theme="mafia"] .people-search-row-right {
  align-items: center;
  gap: 8px;
  display: flex;
}

[data-theme="mafia"] .people-search-avatar {
  border: 1px solid #ffffff26;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  overflow: hidden;
}

[data-theme="mafia"] .people-search-avatar img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

[data-theme="mafia"] .people-search-info {
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  display: flex;
}

[data-theme="mafia"] .people-search-meta {
  color: #ffffffa6;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 10px;
  display: flex;
}

[data-theme="mafia"] .people-search-row-right {
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

[data-theme="mafia"] .people-search-row-right .people-search-attention {
  align-self: flex-end;
}

[data-theme="mafia"] .people-search-hint {
  color: #ffffff8c;
  text-transform: uppercase;
  letter-spacing: 1px;
}

[data-theme="mafia"] .people-search-attention {
  border: 1px solid #ffffff26;
  border-radius: 999px;
  padding: 1px 6px;
  font-size: 10px;
}

[data-theme="mafia"] .people-search-attention-info {
  color: #38bdf8;
}

[data-theme="mafia"] .people-search-attention-warning {
  color: #fbbf24;
}

[data-theme="mafia"] .people-search-attention-danger {
  color: #f87171;
}

[data-theme="mafia"] .people-search-detail {
  color: #ffffffa6;
  margin-top: 6px;
}

[data-theme="mafia"] .people-minions-footer {
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  display: flex;
}

[data-theme="mafia"] .people-method-select {
  color: #fff;
  background: #0003;
  border: 1px solid #ffffff26;
  border-radius: 10px;
  padding: 6px 10px;
}

[data-theme="mafia"] .people-history {
  background: #ffffff05;
  border: 1px solid #ffffff0f;
  border-radius: 16px;
  padding: 16px;
}

[data-theme="mafia"] .people-history-head {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  display: flex;
}

[data-theme="mafia"] .people-history-list {
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

[data-theme="mafia"] .people-history-row {
  border-bottom: 1px solid #ffffff0a;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding-bottom: 8px;
  display: flex;
}

[data-theme="mafia"] .people-history-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

[data-theme="mafia"] .people-history-status {
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  display: flex;
}

[data-theme="mafia"] .people-history-outcome {
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 12px;
}

[data-theme="mafia"] .people-history-outcome-detected {
  color: #f87171;
}

[data-theme="mafia"] .people-history-outcome-pending {
  color: #fbbf24;
}

[data-theme="mafia"] .people-history-outcome-success {
  color: #22c55e;
}

[data-theme="mafia"] .people-mission-status {
  letter-spacing: .8px;
  border: 1px solid #0000;
  border-radius: 10px;
  margin-top: 12px;
  padding: 10px 12px;
  font-size: 12px;
}

[data-theme="mafia"] .people-mission-status.success {
  color: #34d399;
  border-color: #34d399;
}

[data-theme="mafia"] .people-mission-status.error {
  color: #f87272;
  border-color: #f87272;
}

[data-theme="mafia"] .people-minion-xp {
  color: #fff9;
  margin-top: 4px;
}

[data-theme="mafia"] .people-sections {
  margin-top: 10px;
}

[data-theme="mafia"] .people-grid button {
  text-align: left;
}

[data-theme="mafia"] .people-grid .cargoPanel {
  padding: 18px;
}

[data-theme="mafia"] .people-grid .cargoPanel .cargoPanel-head {
  margin-bottom: 12px;
}

[data-theme="mafia"] .people-grid .cargoPanel .cargoPanel-slots {
  gap: 10px;
}

[data-theme="mafia"] .people-hire {
  background: #ffffff03;
  border: 1px solid #ffffff0f;
  border-radius: 16px;
  padding: 16px;
}

[data-theme="mafia"] .people-hire-head {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  display: flex;
}

[data-theme="mafia"] .people-hire-options {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .people-hire-option {
  background: #00000040;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  display: flex;
}

[data-theme="mafia"] .people-hire-option-title {
  color: #fff;
  font-weight: 600;
}

[data-theme="mafia"] .people-hire-message {
  letter-spacing: .7px;
  border: 1px solid #0000;
  border-radius: 10px;
  margin-top: 12px;
  padding: 10px 12px;
  font-size: 12px;
}

[data-theme="mafia"] .people-hire-message.success {
  color: #34d399;
  border-color: #34d399;
}

[data-theme="mafia"] .people-hire-message.error {
  color: #f87272;
  border-color: #f87272;
}

[data-theme="mafia"] .people-minion-card {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .people-minion-avatar {
  justify-content: center;
  width: 100%;
  display: flex;
}

[data-theme="mafia"] .people-minion-avatar img {
  border: 1px solid #ffffff26;
  border-radius: 12px;
  width: 100%;
  max-width: 80px;
  height: auto;
  margin-bottom: 6px;
}

[data-theme="mafia"] .people-minion-body {
  flex-direction: column;
  gap: 6px;
}

[data-theme="mafia"] .people-minion-hp {
  font-weight: 600;
}

[data-theme="mafia"] .people-minion-note {
  color: #ffffffa6;
}

[data-theme="mafia"] .people-minion-quote {
  background: #070707d9;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  padding: 16px;
  font-style: italic;
}

[data-theme="mafia"] .people-minion-row {
  align-items: center;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .people-minion-summary {
  flex: 1;
  min-width: 0;
}

[data-theme="mafia"] .people-minion-summary .cargoMeta-title {
  font-size: 16px;
}

[data-theme="mafia"] .people-minion-body {
  flex-direction: column;
  gap: 6px;
  margin-top: 6px;
  display: flex;
}

[data-theme="mafia"] .people-minion-card {
  gap: 8px;
}

[data-theme="mafia"] .people-search-label {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ffffffa6;
  margin-bottom: 6px;
  font-size: 10px;
  display: block;
}

[data-theme="mafia"] .people-minions-footer .button {
  letter-spacing: 1px;
  padding: 8px 16px;
  font-size: 12px;
}

[data-theme="mafia"] .people-grid .mini {
  opacity: .7;
}

@media (max-width: 1024px) {
  [data-theme="mafia"] .people-grid {
    grid-template-columns: 1fr;
  }
}

[data-theme="mafia"] .people-minion-row {
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  display: flex;
}

[data-theme="mafia"] .people-minion-avatar {
  flex: none;
  width: 48px;
  height: 48px;
}

[data-theme="mafia"] .people-minion-avatar img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

[data-theme="mafia"] .people-minion-summary {
  flex-direction: column;
  flex: 1;
  gap: 4px;
  min-width: 0;
  display: flex;
}

[data-theme="mafia"] .people-minion-summary .cargoMeta-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 16px;
  font-weight: 600;
  overflow: hidden;
}

[data-theme="mafia"] .people-minion-summary .cargoMeta-desc {
  color: #fff9;
  font-size: 12px;
}

[data-theme="mafia"] .people-minion-card {
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
}

[data-theme="mafia"] .cargoCapacity {
  margin-top: 16px;
}

[data-theme="mafia"] .cargoCapacityBar {
  background: #ffffff14;
  border: 1px solid #ffffff0a;
  border-radius: 999px;
  width: 100%;
  height: 6px;
  overflow: hidden;
  box-shadow: inset 0 1px 2px #ffffff1a;
}

[data-theme="mafia"] .cargoCapacityFill {
  background: linear-gradient(90deg, #f6c16c, #d97c27);
  border-radius: 999px;
  height: 100%;
  transition: width .2s;
}

[data-theme="mafia"] .cargoCapacityText {
  color: #fff9;
  letter-spacing: 1px;
  text-transform: uppercase;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 12px;
  display: flex;
}

[data-theme="mafia"] .pillChange {
  color: #ffffffd9;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  background: #00000059;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 11px;
  transition: transform .18s, border-color .18s;
}

[data-theme="mafia"] .pillChange:hover {
  border-color: #ffffff52;
  transform: translateY(-1px);
}

[data-theme="mafia"] .people-action-panel {
  background: #070707e6;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  display: flex;
}

[data-theme="mafia"] .people-action-helper {
  color: #fff9;
  margin: 0;
  font-size: 12px;
}

[data-theme="mafia"] .people-action-row {
  background: #ffffff05;
  border: 1px solid #ffffff0a;
  border-radius: 12px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px;
  display: flex;
}

[data-theme="mafia"] .people-action-meta {
  flex-direction: column;
  flex: 1;
  gap: 4px;
  min-width: 0;
  display: flex;
}

[data-theme="mafia"] .people-action-label {
  font-size: 14px;
  font-weight: 600;
}

[data-theme="mafia"] .people-action-description {
  color: #ffffffa6;
  font-size: 12px;
}

[data-theme="mafia"] .people-action-success {
  color: #34d399;
  font-size: 12px;
}

[data-theme="mafia"] .people-action-error {
  color: #f87272;
  font-size: 12px;
}

[data-theme="mafia"] .people-action-disabled {
  color: #ffffff80;
  font-size: 12px;
}

[data-theme="mafia"] .people-action-button {
  color: #0a0b0c;
  cursor: pointer;
  background: linear-gradient(90deg, #f6c16c, #d97c27);
  border: 1px solid #fff3;
  border-radius: 999px;
  min-width: 100px;
  padding: 6px 18px;
  font-weight: 600;
  transition: opacity .2s;
}

[data-theme="mafia"] .people-action-button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

[data-theme="mafia"] .cargoPick-overlay {
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  z-index: 10000;
  background: #0000009e;
  justify-content: center;
  align-items: center;
  padding: 24px;
  display: flex;
  position: fixed;
  inset: 0;
}

[data-theme="mafia"] .cargoPick-modal {
  background: radial-gradient(900px 320px at 10% -20%, #ffa04659, #0000 60%), radial-gradient(900px 320px at 90% 0, #ffdc962e, #0000 50%), linear-gradient(#1c120ceb, #08080aeb);
  border: 1px solid #ffffff24;
  border-radius: 14px;
  width: min(580px, 96vw);
  position: relative;
  overflow: hidden;
  box-shadow: 0 35px 90px #000000bf;
}

[data-theme="mafia"] .cargoPick-modal:before {
  content: "";
  pointer-events: none;
  opacity: .1;
  mix-blend-mode: screen;
  background-image: radial-gradient(#ffd28c38 1px, #0000 1px);
  background-size: 4px 4px;
  position: absolute;
  inset: 0;
}

[data-theme="mafia"] .cargoPick-head {
  justify-content: space-between;
  align-items: center;
  padding: 14px 16px 8px;
  display: flex;
}

[data-theme="mafia"] .cargoPick-kicker {
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #ffdcb4bf;
  font-size: 11px;
}

[data-theme="mafia"] .cargoPick-close {
  color: #ffffffd9;
  background: #00000040;
  border: 1px solid #ffffff24;
  border-radius: 10px;
  width: 32px;
  height: 32px;
}

[data-theme="mafia"] .cargoPick-controls {
  align-items: center;
  gap: 10px;
  padding: 0 16px 12px;
  display: flex;
}

[data-theme="mafia"] .cargoPick-noneRow {
  justify-content: flex-end;
  padding: 0 16px 8px;
  display: flex;
}

[data-theme="mafia"] .cargoPick-noneButton {
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #ffffff29;
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 11px;
  transition: border .15s, transform .15s;
}

[data-theme="mafia"] .cargoPick-noneButton:hover {
  border-color: #fff6;
  transform: translateY(-1px);
}

[data-theme="mafia"] .cargoPick-sort {
  color: #ffffffe0;
  background: #00000038;
  border: 1px solid #ffffff24;
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 12px;
}

[data-theme="mafia"] .cargoPick-chip {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ffffffbf;
  background: #0000002e;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 11px;
}

[data-theme="mafia"] .cargoPick-chip.isActive {
  color: #fff0dcf2;
  background: #ffc37829;
  border-color: #ffc37859;
}

[data-theme="mafia"] .cargoPick-list {
  max-height: 320px;
  padding: 0 10px 10px;
  overflow: hidden auto;
}

[data-theme="mafia"] .cargoPick-row {
  background: #00000026;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 8px 6px;
  padding: 10px 12px;
  transition: border .15s, background .15s, transform .15s, opacity .15s;
  display: flex;
  position: relative;
}

[data-theme="mafia"] .cargoPick-row:hover {
  border-color: #ffffff24;
  transform: translateY(-1px);
}

[data-theme="mafia"] .cargoPick-row:after {
  content: "";
  background: #ffffff0f;
  height: 1px;
  position: absolute;
  bottom: -6px;
  left: 46px;
  right: 12px;
}

[data-theme="mafia"] .cargoPick-row:last-child:after {
  display: none;
}

[data-theme="mafia"] .cargoPick-icon {
  background: url("/images/cargo.jpeg") 0 0 / 800px 533px no-repeat;
  border: 1px solid #ffffff1f;
  border-radius: 7px;
  flex: none;
  width: 28px;
  height: 28px;
  transition: border .18s, box-shadow .18s;
  position: relative;
  box-shadow: inset 0 1px #ffffff1a;
}

[data-theme="mafia"] .cargoPick-main {
  flex: 1;
  min-width: 0;
}

[data-theme="mafia"] .cargoPick-name {
  color: #ffffffeb;
  font-size: 13px;
  font-weight: 650;
}

[data-theme="mafia"] .cargoPick-sub {
  color: #ffffff94;
  margin-top: 2px;
  font-size: 11px;
}

[data-theme="mafia"] .cargoPick-tags {
  color: #ffffff94;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 4px;
  font-size: 10px;
}

[data-theme="mafia"] .cargoPick-risk {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fffc;
  background: #0003;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  flex: none;
  padding: 6px 12px;
  font-size: 11px;
}

[data-theme="mafia"] .cargoPick-risk.risk-low {
  color: #34d399;
  background: #34d3991a;
  border-color: #34d39973;
}

[data-theme="mafia"] .cargoPick-risk.risk-medium {
  color: #fbbf24;
  background: #fbbf241f;
  border-color: #fbbf2473;
}

[data-theme="mafia"] .cargoPick-risk.risk-high {
  color: #f87171;
  background: #f871711f;
  border-color: #f8717173;
}

[data-theme="mafia"] .cargoPick-row.isSelected {
  background: #ffc37814;
  border-color: #ffc37859;
  box-shadow: 0 10px 30px #0000008c;
}

[data-theme="mafia"] .cargoPick-row.isDisabled {
  opacity: .45;
  cursor: not-allowed;
}

[data-theme="mafia"] .cargoPick-row.isSelected .cargoPick-icon {
  border-color: #ffc37873;
  box-shadow: 0 0 0 1px #ffc37840, inset 0 1px #ffffff1f;
}

[data-theme="mafia"] .cargoPick-row.isDisabled .cargoPick-icon {
  opacity: .35;
}

[data-theme="mafia"] .cargoPick-row.isSelected .cargoPick-icon:after {
  content: "";
  background: #ffc37826;
  border-radius: 4px;
  position: absolute;
  inset: 4px;
}

[data-theme="mafia"] .cargoPick-icon[data-type="cash"] {
  background-position: 0 0;
}

[data-theme="mafia"] .cargoPick-icon[data-type="scrap"] {
  background-position: 33% 0;
}

[data-theme="mafia"] .cargoPick-icon[data-type="goods"] {
  background-position: 66% 0;
}

[data-theme="mafia"] .cargoPick-icon[data-type="arms"] {
  background-position: 20%;
}

[data-theme="mafia"] .cargoPick-icon[data-type="docs"] {
  background-position: 55%;
}

[data-theme="mafia"] .cargoPick-list {
  overflow-x: hidden;
}

[data-theme="mafia"] .cargoPick-note {
  color: var(--textMuted);
  letter-spacing: .5px;
  margin-top: 10px;
  font-size: 12px;
}

[data-theme="mafia"] .cargoPick-foot {
  background: #0000002e;
  border-top: 1px solid #ffffff14;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 16px 16px;
  display: flex;
}

[data-theme="mafia"] .cargoPick-footLabel {
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ffffff73;
  font-size: 11px;
}

[data-theme="mafia"] .cargoPick-footValue {
  color: #ffffffc7;
  margin-top: 2px;
  font-size: 12px;
}

[data-theme="mafia"] .cargoPick-continue {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, #a23a14, #56170a);
  border: none;
  border-radius: 10px;
  padding: 10px 18px;
  font-weight: 650;
  box-shadow: 0 14px 40px #000000a6;
}

[data-theme="mafia"] .cargoPick-continue:disabled {
  opacity: .4;
  cursor: not-allowed;
}

[data-theme="mafia"] .cargoPick-list::-webkit-scrollbar {
  width: 10px;
}

[data-theme="mafia"] .cargoPick-list::-webkit-scrollbar-thumb {
  background: #ffffff14;
  border-radius: 999px;
}

[data-theme="mafia"] .cargoPick-footActions {
  align-items: center;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .cargoPick-clear {
  color: #ffffffd9;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: #0003;
  border: 1px solid #ffffff1f;
  border-radius: 10px;
  padding: 6px 12px;
  font-size: 11px;
  transition: border .15s, transform .15s;
}

[data-theme="mafia"] .cargoPick-clear:hover:not(:disabled) {
  border-color: #ffffff4d;
  transform: translateY(-1px);
}

[data-theme="mafia"] .cargoPick-clear:disabled {
  opacity: .45;
  cursor: not-allowed;
}

[data-theme="mafia"] .airport-tools-card {
  background: linear-gradient(#090c14f2, #03060cf2);
  border: 1px solid #ffffff26;
  border-radius: 22px;
  margin-top: 20px;
  padding: 24px;
  box-shadow: 0 25px 60px #000000a6;
}

[data-theme="mafia"] .airport-tools-header {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  display: flex;
}

[data-theme="mafia"] .airport-tools-header-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

[data-theme="mafia"] .airport-dev-toggle {
  color: #fff;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  background: #ffffff0f;
  border: 1px solid #ffffff40;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 11px;
  transition: border-color .2s, transform .2s;
}

[data-theme="mafia"] .airport-dev-toggle:hover:not(:disabled), [data-theme="mafia"] .airport-dev-toggle:focus-visible {
  border-color: var(--ctaRed);
  transform: translateY(-1px);
}

[data-theme="mafia"] .airport-tools-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin-bottom: 16px;
  display: grid;
}

[data-theme="mafia"] .airport-tools-block {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

[data-theme="mafia"] .airport-tools-label {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff9;
  font-size: 11px;
}

[data-theme="mafia"] .airport-tools-phase {
  align-items: center;
  gap: 8px;
  display: flex;
}

[data-theme="mafia"] .airport-tools-phase select {
  flex: 1;
}

[data-theme="mafia"] .airport-tools-inline {
  letter-spacing: .4px;
  color: #ffffffb3;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-tools-slider {
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: grid;
}

[data-theme="mafia"] .airport-tools-slider strong {
  font-size: 12px;
}

[data-theme="mafia"] .airport-tools-slider input[type="range"] {
  width: 100%;
  accent-color: var(--ctaRed);
}

[data-theme="mafia"] .airport-tools-check {
  color: #ffffffb3;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  display: flex;
}

[data-theme="mafia"] .airport-tools-fixer-row {
  align-items: center;
  gap: 8px;
  display: flex;
}

[data-theme="mafia"] .airport-tools-actions {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-tools-message {
  letter-spacing: .5px;
  color: #fcd57a;
  margin-top: 14px;
  font-size: 12px;
}

[data-theme="mafia"] .airport-dev-overlay {
  background: #0000008c;
  border: 1px solid #ffffff26;
  border-radius: 16px;
  flex-direction: column;
  gap: 10px;
  margin-top: 18px;
  padding: 16px;
  display: flex;
}

[data-theme="mafia"] .airport-dev-overlay__header {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-dev-overlay__grid {
  letter-spacing: .3px;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-dev-overlay__meta, [data-theme="mafia"] .airport-dev-overlay__incident {
  letter-spacing: .4px;
  color: #ffffffbf;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  display: flex;
}

[data-theme="mafia"] .airport-dev-overlay__incident span:first-child {
  color: #fcd57a;
  font-weight: 600;
}

[data-theme="mafia"] .airport-tools-card .mafia-cta {
  box-shadow: var(--glow-amber);
}

[data-theme="mafia"] .airport-tools-card .mafia-cta:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #ffffff80;
}

@media (max-width: 900px) {
  [data-theme="mafia"] .airport-tools-grid {
    grid-template-columns: 1fr;
  }
}

[data-theme="mafia"] .mafia-app-shell {
  min-height: 100vh;
  position: relative;
}

[data-theme="mafia"] .notification-bar {
  z-index: 9000;
  pointer-events: none;
  flex-direction: column;
  gap: .85rem;
  width: min(360px, 100vw - 32px);
  display: flex;
  position: fixed;
  top: 96px;
  right: 20px;
}

[data-theme="mafia"] .notification-card {
  --toast-accent: #f8d68480;
  --toast-accent-strong: #f8d684d9;
  --toast-accent-glow: #f8d68433;
  pointer-events: auto;
  background: linear-gradient(180deg, #121318f2, #08090ceb) padding-box, linear-gradient(135deg, #fff3, #ffffff0a, var(--toast-accent-strong)) border-box;
  box-shadow: 0 20px 48px #000000c7, 0 0 24px var(--toast-accent-glow);
  will-change: transform, opacity;
  border: 1px solid #0000;
  border-radius: 18px;
  flex-direction: column;
  gap: .65rem;
  padding: 14px;
  animation: .18s ease-out both notification-in;
  display: flex;
}

[data-theme="mafia"] .notification-card.severity-info {
  --toast-accent: #70c3ff73;
  --toast-accent-strong: #70c3ffcc;
  --toast-accent-glow: #70c3ff2e;
}

[data-theme="mafia"] .notification-card.severity-success {
  --toast-accent: #76dd9c73;
  --toast-accent-strong: #76dd9cc7;
  --toast-accent-glow: #76dd9c33;
}

[data-theme="mafia"] .notification-card.severity-warning {
  --toast-accent: #ffb83873;
  --toast-accent-strong: #ffb838d9;
  --toast-accent-glow: #ffb83838;
}

[data-theme="mafia"] .notification-card.severity-danger {
  --toast-accent: #ff686873;
  --toast-accent-strong: #ff6868d9;
  --toast-accent-glow: #ff686838;
}

[data-theme="mafia"] .notification-card[data-state="exiting"] {
  pointer-events: none;
  animation: .12s ease-in forwards notification-out;
}

[data-theme="mafia"] .notification-row {
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

[data-theme="mafia"] .notification-avatar {
  width: 46px;
  height: 46px;
  box-shadow: 0 10px 22px #0000008c, 0 0 12px var(--toast-accent-glow);
  background: linear-gradient(135deg, #ffffff14, #ffffff05);
  border: 1px solid #ffffff24;
  border-radius: 14px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  overflow: hidden;
}

[data-theme="mafia"] .notification-avatar img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

[data-theme="mafia"] .notification-body {
  flex: 1;
  min-width: 0;
}

[data-theme="mafia"] .notification-headline {
  color: #f8f5ef;
  letter-spacing: .2px;
  margin: 0;
  font-size: 15px;
  font-weight: 600;
}

[data-theme="mafia"] .notification-reward {
  color: #ffffffad;
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.4;
}

[data-theme="mafia"] .notification-actions {
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: .65rem;
  display: flex;
}

[data-theme="mafia"] .notification-button {
  color: #ffffffbf;
  letter-spacing: .2px;
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  flex: none;
  min-width: 92px;
  padding: 6px 18px;
  font-size: 12px;
  font-weight: 600;
  transition: background .15s, border-color .15s, color .15s, transform .15s;
}

[data-theme="mafia"] .notification-button.primary {
  color: #24170a;
  background: linear-gradient(#ffe7a8fa, #c6913ef2);
  border-color: #f8d684e6;
  box-shadow: 0 8px 18px #f8d68447, 0 0 16px #f8d68438;
}

[data-theme="mafia"] .notification-button.secondary {
  color: #fff9;
  background: #ffffff05;
  border-color: #ffffff1f;
}

[data-theme="mafia"] .notification-button:hover {
  border-color: #ffffff61;
  transform: translateY(-1px);
}

[data-theme="mafia"] .notification-button.primary:hover {
  border-color: #ffecb9f2;
  transform: translateY(-1px);
}

@keyframes notification-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes notification-out {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(.95);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-theme="mafia"] .notification-card, [data-theme="mafia"] .notification-card[data-state="exiting"] {
    animation: none;
  }
}

@media (max-width: 1024px) {
  [data-theme="mafia"] .notification-bar {
    display: none;
  }
}

[data-theme="mafia"] .mafia-input {
  color: var(--mafia-text);
  min-height: 32px;
  font-size: 12px;
  font-family: var(--mafia-font-stack);
  background: #ffffff0a;
  border: 1px solid #ffffff2e;
  border-radius: 10px;
  width: 100%;
  padding: 6px 10px;
}

.aw-topbar {
  z-index: 50;
  background: var(--world-ticker-bg);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid var(--risk-border);
  min-height: 56px;
  box-shadow: 0 0 0 1px #ffffff0a, 0 10px 20px var(--risk-glow);
  border-top-color: #fff3;
  border-radius: 14px;
  flex-direction: column;
  display: flex;
  position: sticky;
  top: 0;
  overflow: visible;
}

.aw-topbar__inner {
  grid-template-columns: 260px 1fr 380px 320px;
  align-items: center;
  gap: 14px;
  width: 100%;
  height: 56px;
  padding: 0 14px;
  display: grid;
}

.aw-topbar__ticker {
  border-top: 1px solid #ffffff0f;
  width: 100%;
  padding: 8px 12px 10px;
}

.aw-topbar__masterProgress {
  border-top: 1px solid #ffffff0f;
  gap: 4px;
  width: 100%;
  padding: 6px 12px 8px;
  display: grid;
}

.aw-topbar__masterProgressTrack {
  background: #94a3b833;
  border-radius: 999px;
  width: 100%;
  height: 4px;
  overflow: hidden;
}

.aw-topbar__masterProgressFill {
  background: linear-gradient(90deg, #1d4ed8, #3b82f6);
  border-radius: 999px;
  height: 100%;
  display: block;
}

.aw-topbar__masterProgressMeta {
  color: #e7eefceb;
  letter-spacing: .03em;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  display: flex;
}

.aw-topbar__masterProgressMeta small {
  color: #e7eefcb8;
  font-size: 11px;
}

.aw-topbar__masterProgressDetail {
  color: #e7eefca3;
  gap: 10px;
  font-size: 11px;
  display: flex;
}

.aw-topbar__ticker .world-ticker-wrap {
  margin-top: 0;
}

.aw-zone {
  align-items: center;
  min-width: 0;
  height: 100%;
  display: flex;
}

.aw-zone + .aw-zone {
  border-left: 1px solid #ffffff0f;
  padding-left: 14px;
}

.aw-zone--context {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 3px;
  line-height: 1.1;
  position: relative;
}

.aw-context__phase {
  letter-spacing: .24em;
  text-transform: uppercase;
  opacity: .85;
  font-size: 11px;
}

.aw-context__path {
  opacity: .92;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 13px;
  overflow: hidden;
}

.aw-alert {
  color: #fff6f0;
  letter-spacing: .2em;
  text-transform: uppercase;
  cursor: pointer;
  background: #d1502329;
  border: 1px solid #ffffff4d;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 38px;
  height: 38px;
  padding: 8px 12px;
  font-size: 11px;
  display: inline-flex;
  position: relative;
}

.aw-context__alert {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.aw-alert__icon {
  font-size: 16px;
}

.aw-alert__icon--pulse {
  animation: aw-alert-glow .24s var(--ease-out) 1;
}

.aw-alert__hover {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 12;
  background: #000000d9;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  width: 240px;
  padding: 10px 12px;
  transition: opacity .15s, visibility .15s;
  position: absolute;
  bottom: -120%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 12px 24px #00000080;
}

.aw-alert__hover.visible {
  opacity: 1;
  visibility: visible;
}

.aw-alert__detail {
  color: #fff;
  margin: 0;
  font-size: 12px;
  line-height: 1.3;
}

.aw-alert__systems {
  color: #fffc;
  margin-top: 6px;
  font-size: 11px;
}

@keyframes aw-alert-glow {
  0%, 100% {
    opacity: 1;
    transform: translateY(0);
  }

  50% {
    opacity: .78;
    transform: translateY(-1px)scale(1.05);
  }
}

.aw-pulse {
  text-align: left;
  background: none;
  border: 0;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  padding: 0;
  display: flex;
  position: relative;
}

.aw-pulse__chips {
  gap: 10px;
  min-width: 0;
  display: flex;
  overflow: hidden;
}

.aw-chip {
  white-space: nowrap;
  background: #ffffff0d;
  border: 1px solid #ffffff14;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  height: 26px;
  padding: 0 10px;
  font-size: 12px;
  display: inline-flex;
}

.aw-chip__icon {
  opacity: .9;
  width: 16px;
  height: 16px;
}

.aw-chip__label {
  opacity: .92;
}

.aw-hoverpanel {
  opacity: 0;
  pointer-events: none;
  background: #0c0e12fa;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  width: min(620px, 90vw);
  padding: 10px;
  transition: opacity .2s ease-out, transform .2s ease-out;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  transform: translateY(-4px);
  box-shadow: 0 18px 40px #00000073;
}

.aw-hoverpanel.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.aw-hoverpanel__meta {
  opacity: .75;
  padding: 4px 8px 8px;
  font-size: 12px;
}

.aw-hoverpanel__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.aw-hoverpanel__item {
  border-radius: 10px;
  grid-template-columns: 24px 1fr 64px;
  align-items: start;
  gap: 10px;
  padding: 8px;
  display: grid;
}

.aw-hoverpanel__item:hover {
  background: #ffffff0a;
}

.aw-hoverpanel__icon {
  opacity: .9;
}

.aw-hoverpanel__body strong {
  font-size: 12px;
}

.aw-hoverpanel__body p {
  opacity: .75;
  margin: 2px 0 0;
  font-size: 12px;
}

.aw-hoverpanel__time {
  opacity: .65;
  text-align: right;
  font-size: 11px;
}

.aw-timers {
  gap: 10px;
  width: 100%;
  min-width: 0;
  display: flex;
}

.aw-timer {
  background: #ffffff0a;
  border: 1px solid #ffffff0f;
  border-radius: 10px;
  flex: 1;
  grid-template-columns: 1fr 56px;
  align-items: center;
  gap: 6px 10px;
  min-width: 0;
  padding: 8px 10px;
  display: grid;
}

.aw-timer__label {
  opacity: .92;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
  overflow: hidden;
}

.aw-timer__time {
  opacity: .85;
  text-align: right;
  font-size: 12px;
}

.aw-timer__bar {
  background: #ffffff14;
  border-radius: 999px;
  grid-column: 1 / -1;
  height: 6px;
  overflow: hidden;
}

.aw-timer__bar > i {
  height: 100%;
  width: var(--p, 0%);
  background: #ffffff47;
  display: block;
}

.aw-pressure {
  gap: 14px;
  width: 100%;
  display: flex;
}

.aw-meter {
  flex: 1;
  gap: 6px;
  min-width: 0;
  display: grid;
}

.aw-meter__label {
  opacity: .85;
  font-size: 12px;
}

.aw-meter__track {
  background: #ffffff14;
  border-radius: 999px;
  height: 7px;
  overflow: hidden;
}

.aw-meter__fill {
  height: 100%;
  width: var(--p, 0%);
  background: #ffffff42;
}

.aw-pill {
  white-space: nowrap;
  opacity: .78;
  background: #ffffff0d;
  border: 1px solid #ffffff14;
  border-radius: 999px;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  font-size: 12px;
  display: inline-flex;
}

.aw-zone--pulse {
  position: relative;
}

.aw-zone--pulse:after {
  content: "";
  background: linear-gradient(#0000, #ffffff14, #0000);
  width: 1px;
  position: absolute;
  top: 10px;
  bottom: 10px;
  right: -7px;
}

.aw-chip__label {
  font-weight: 500;
}

.aw-chip--idle {
  opacity: .8;
}

.aw-chip--idle .aw-chip__icon {
  opacity: .9;
}

.aw-chip--idle .aw-chip__label {
  font-style: italic;
}

.aw-dock {
  z-index: 80;
  opacity: 0;
  pointer-events: none;
  background: #0c0e12fa;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  max-height: 46vh;
  transition: opacity .2s ease-out, transform .2s ease-out;
  position: fixed;
  top: 60px;
  left: 12px;
  right: 12px;
  overflow: hidden;
  transform: translateY(-8px);
  box-shadow: 0 18px 50px #0000008c;
}

.aw-dock.open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.aw-dock__header {
  border-bottom: 1px solid #ffffff14;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 12px 10px;
  display: flex;
}

.aw-dock__header h3 {
  opacity: .92;
  margin: 0;
  font-size: 14px;
}

.aw-dock__close {
  color: #ffffffdb;
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: 999px;
  height: 30px;
  padding: 0 12px;
  font-size: 12px;
}

.aw-dock__close:hover {
  background: #ffffff14;
}

.aw-dock__list {
  max-height: calc(46vh - 52px);
  margin: 0;
  padding: 8px;
  list-style: none;
  overflow: auto;
}

.aw-dock__item {
  border-radius: 12px;
  grid-template-columns: 24px 1fr 70px;
  align-items: start;
  gap: 10px;
  padding: 10px;
  display: grid;
}

.aw-dock__item:hover {
  background: #ffffff0a;
}

.aw-dock__icon {
  opacity: .9;
}

.aw-dock__item strong {
  margin: 0;
  font-size: 12px;
  display: block;
}

.aw-dock__item p {
  opacity: .75;
  margin: 2px 0 0;
  font-size: 12px;
}

.aw-dock__item time {
  opacity: .65;
  text-align: right;
  white-space: nowrap;
  font-size: 11px;
}

.aw-context__phase {
  opacity: .75;
  font-size: 10.5px;
}

.aw-context__path {
  opacity: .85;
  font-size: 12.5px;
}

.aw-pulse {
  cursor: pointer;
}

.aw-pulse:focus-visible {
  outline-offset: 3px;
  border-radius: 12px;
  outline: 2px solid #ffffff2e;
}

.aw-chip {
  transition: background .2s ease-out, border-color .2s ease-out;
}

.aw-pulse:hover .aw-chip {
  background: #ffffff12;
  border-color: #ffffff1f;
}

@media (prefers-reduced-motion: reduce) {
  .aw-hoverpanel {
    transition: none;
  }

  .sidebar-live--pending:after, .aw-alert__icon--pulse, .sidebar-live--settled-a, .sidebar-live--settled-b {
    animation: none;
  }
}

@media (max-width: 1100px) {
  .aw-topbar__inner {
    grid-template-columns: 240px 1fr 320px;
  }

  .aw-zone--pressure {
    display: none;
  }
}

@media (max-width: 900px) {
  .aw-topbar__inner {
    grid-template-columns: 1fr;
    gap: 8px;
    height: auto;
    padding: 8px 12px;
  }

  .aw-topbar {
    height: auto;
  }

  .aw-topbar__masterProgressDetail {
    flex-wrap: wrap;
  }
}

.threat-widget {
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
  display: flex;
}

.threat-banner {
  color: #fff;
  background: linear-gradient(135deg, #2e1c1f, #1a0d12);
  border: 1px solid #ffffff26;
  border-radius: 12px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  display: flex;
  box-shadow: 0 0 20px #da3e4c40;
}

.threat-banner__info {
  flex: 1;
  min-width: 180px;
}

.threat-banner__label {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #ffa8a8;
  margin-bottom: 4px;
  font-size: .8rem;
}

.threat-banner__timer {
  margin-bottom: 4px;
  font-size: 1.1rem;
  font-weight: 600;
}

.threat-banner__note {
  color: #fffc;
  margin-bottom: 6px;
  font-size: .85rem;
}

.threat-banner__status {
  color: #ffd2d2;
  margin-bottom: 4px;
  font-size: .75rem;
}

.threat-banner__progress {
  margin-top: 6px;
}

.threat-banner__progress-bar {
  background: #ffffff1f;
  border-radius: 999px;
  width: 100%;
  height: 4px;
  display: block;
  overflow: hidden;
}

.threat-banner__progress-fill {
  background: linear-gradient(135deg, #ff6b6b, #ff8af2);
  height: 100%;
  display: block;
}

.threat-banner__actions {
  flex-wrap: wrap;
  gap: 8px;
  margin-left: 16px;
  display: flex;
}

.threat-banner__action {
  color: #fff;
  cursor: pointer;
  background: #ffffff1f;
  border: none;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: .85rem;
  font-weight: 600;
  transition: background .2s;
}

.threat-banner__action:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.threat-banner__action:not(:disabled):hover {
  background: #ffffff40;
}

.threat-banner__error {
  color: #ff9b9b;
  margin: 4px 0 0;
  font-size: .75rem;
}

.threat-banner__cooldown {
  color: #fffc;
  margin-bottom: 4px;
  font-size: .75rem;
}

.threat-banner__transport {
  color: #ffffffd9;
  justify-content: space-between;
  align-items: center;
  margin-top: 4px;
  font-size: .75rem;
  display: flex;
}

.threat-banner__transport-eta {
  font-weight: 600;
}

.threat-banner__modal {
  z-index: 1000;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.threat-banner__modal-backdrop {
  background: #00000080;
  position: fixed;
  inset: 0;
}

.threat-banner__modal-content {
  z-index: 1;
  background: #1b1b1b;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  min-width: 280px;
  padding: 16px;
  position: relative;
}

.threat-banner__modal-content h4 {
  color: #ffdcdc;
  margin: 0 0 8px;
  font-size: 1rem;
}

.threat-banner__modal-content input {
  color: #fff;
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: 8px;
  width: 100%;
  margin-bottom: 8px;
  padding: 6px 10px;
}

.threat-banner__modal-actions {
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

.threat-banner__modal-actions button {
  cursor: pointer;
  color: #fff;
  background: #ffffff1a;
  border: none;
  border-radius: 8px;
  padding: 6px 12px;
  font-weight: 600;
}

.raid-report-panel {
  background: #28222eb3;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  flex-direction: column;
  gap: 8px;
  padding: 12px 16px;
  display: flex;
}

.raid-report-panel__player {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.raid-report-panel__title {
  color: #ffdbb5;
  font-size: 1rem;
  font-weight: 600;
}

.raid-report-panel__body {
  color: #fffc;
  margin: 0;
  font-size: .85rem;
}

.raid-report-panel__consequences {
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.raid-report-panel__consequences li {
  color: #ffffffb3;
  font-size: .8rem;
}

.raid-report-panel__toggle {
  color: #fff;
  cursor: pointer;
  background: #ffffff1a;
  border: none;
  border-radius: 8px;
  align-self: flex-start;
  padding: 4px 10px;
  font-size: .75rem;
  font-weight: 600;
}

.raid-report-panel__admin {
  border-top: 1px solid #ffffff1a;
  flex-direction: column;
  gap: 8px;
  padding-top: 8px;
  display: flex;
}

.raid-report-panel__admin-item {
  color: #ffffffe6;
  font-size: .8rem;
}

.raid-report-panel__admin-item ul {
  margin: 4px 0 0;
  padding-left: 18px;
}

.raid-report-panel__band-chips {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.raid-report-panel__band-chips span {
  color: #fff9;
  font-size: .75rem;
}

.threat-outcome {
  border-radius: 8px;
  padding: 8px 12px;
  font-size: .85rem;
}

.threat-outcome--success {
  color: #a0f5a5;
  background: #66bb6a33;
}

.threat-outcome--failed {
  color: #ff9494;
  background: #f4433633;
}

.police-panel {
  background: linear-gradient(#07070bf2, #12121cf2);
  border: 1px solid #ffffff14;
  border-radius: 20px;
  flex-direction: column;
  gap: 18px;
  padding: 20px;
  display: flex;
}

.police-panel-header {
  z-index: 10;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: #060609e6;
  border-bottom: 1px solid #ffffff14;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  display: flex;
  position: sticky;
  top: 0;
}

.police-panel-title {
  letter-spacing: .08em;
  margin: 0;
  font-size: 1.2rem;
}

.police-panel-meta {
  color: #ffffffb3;
  margin: 4px 0;
  font-size: .85rem;
}

.police-panel-meta .police-status-chip {
  margin-left: 4px;
}

.police-location-picker {
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
  font-size: .8rem;
  display: inline-flex;
}

.police-panel-header-icons {
  align-items: center;
  gap: 10px;
  display: flex;
}

.police-icon-btn {
  cursor: pointer;
  color: #fff;
  background: #ffffff0a;
  border: 1px solid #fff3;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  display: inline-flex;
}

.police-sse-indicator {
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: .8rem;
  display: inline-flex;
}

.police-sse-dot {
  background: currentColor;
  border-radius: 50%;
  width: 10px;
  height: 10px;
}

.police-sse-ok {
  color: #5ded90;
}

.police-sse-warn {
  color: #fbbf24;
}

.police-sse-error {
  color: #f87171;
}

.police-header-menu, .police-ops-overflow {
  position: relative;
}

.police-menu {
  background: #0c0c12f2;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  flex-direction: column;
  gap: 4px;
  min-width: 180px;
  padding: 6px 0;
  display: flex;
  position: absolute;
  top: 46px;
  right: 0;
  box-shadow: 0 20px 45px #00000073;
}

.police-menu--right {
  right: 0;
}

.police-menu-item {
  color: #fff;
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  padding: 8px 16px;
  font-size: .85rem;
}

.police-menu-item:hover {
  background: #ffffff14;
}

.police-operations {
  background: #10101acc;
  border: 1px solid #ffffff14;
  border-radius: 18px;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  display: flex;
}

.police-section-heading {
  text-transform: uppercase;
  letter-spacing: .2em;
  color: #fff9;
  align-items: center;
  gap: 10px;
  font-size: .85rem;
  display: flex;
}

.police-section-icon {
  font-size: 1rem;
}

.police-operations-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.police-op-btn {
  color: #fff;
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #ffffff1a;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 18px;
  font-size: .9rem;
  transition: border .2s, background .2s;
  display: inline-flex;
}

.police-op-btn:hover:not(:disabled) {
  border-color: #fff6;
}

.police-op-btn--primary:hover:not(:disabled) {
  opacity: .95;
}

.police-op-icon {
  font-size: 1.1rem;
}

.police-call-status {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-size: .85rem;
  display: flex;
}

.police-call-status-chip {
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: .82rem;
}

.police-call-status-chip--idle {
  background: #ffffff0d;
}

.police-call-status-chip--running {
  background: #4f46e540;
  border-color: #4f46e5b3;
}

.police-call-status-chip--ok {
  background: #34d39933;
  border-color: #34d39999;
}

.police-call-status-chip--error {
  background: #ef444433;
  border-color: #ef444499;
}

.police-call-status-meta {
  color: #ffffffa6;
  gap: 12px;
  margin: 0;
  display: flex;
}

.police-call-error {
  color: #ff7f7f;
  margin: 0;
  font-size: .82rem;
}

.police-dashboard-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  display: grid;
}

.police-card--gate-board {
  gap: 12px;
}

.gate-board__rows {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.gate-board__body {
  max-height: 280px;
  padding-right: 4px;
  overflow-y: auto;
}

@media (max-width: 640px) {
  .gate-board__body {
    max-height: 220px;
  }
}

.gate-board__footer {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.gate-board__more {
  color: #ffffffa6;
  margin: 0;
  font-size: .75rem;
}

.gate-board__footer-main {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.gate-board__footer-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.gate-board__status-row {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.gate-row {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  flex-direction: column;
  gap: 6px;
  padding: 12px;
  display: flex;
}

.gate-row__head {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.gate-row__detail {
  color: #ffffffa6;
  margin: 0;
  font-size: .75rem;
}

.gate-flag {
  letter-spacing: .25em;
  text-transform: uppercase;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: .7rem;
}

.gate-flag--pass {
  color: var(--moneyGreen);
  border-color: #2b8a5a99;
}

.gate-flag--warn {
  color: var(--amber);
  border-color: #d9a45b99;
}

.gate-flag--fail {
  color: var(--riskRed);
  border-color: #8b3a3599;
}

.gate-progress {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.gate-progress__track {
  background: #ffffff14;
  border-radius: 999px;
  height: 6px;
  overflow: hidden;
}

.gate-progress__fill {
  border-radius: inherit;
  background: linear-gradient(90deg, #27ae60e6, #ffd648cc);
  height: 100%;
  transition: width .2s;
}

.gate-progress__label {
  color: #ffffffb3;
  font-size: .7rem;
}

.gate-board__explain {
  color: #fffc;
  border-top: 1px solid #ffffff14;
  padding-top: 10px;
  font-size: .8rem;
}

.gate-board__explain strong {
  margin-bottom: 4px;
  display: block;
}

.gate-board__explain--warning {
  color: var(--amber);
  margin: 0;
  font-size: .75rem;
}

.police-diagnostics-summary {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  display: grid;
}

.police-diagnostics-label {
  text-transform: uppercase;
  letter-spacing: .2em;
  color: #fff9;
  font-size: .75rem;
  display: block;
}

.police-diagnostics-value {
  font-size: 1.1rem;
  font-weight: 600;
}

.police-diagnostics-value--fail {
  color: #f87171;
}

.police-diagnostics-value--muted {
  color: #fff9;
}

.police-diagnostics-meta {
  flex-direction: column;
  gap: 6px;
  font-size: .85rem;
  display: flex;
}

.police-diagnostics-detail {
  color: #5dade0cc;
}

.police-diagnostics-details summary {
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .3em;
  color: #ffffffb3;
  font-size: .75rem;
}

.police-diagnostics-details-actions {
  justify-content: flex-end;
  display: flex;
}

.police-diagnostics-pre {
  font-size: .8rem;
  font-family: var(--mafia-mono-stack);
  background: #ffffff0a;
  border-radius: 10px;
  max-height: 180px;
  margin: 10px 0 0;
  padding: 8px;
  overflow: auto;
}

.police-kpi-submeta {
  color: #ffffffa6;
  font-size: .75rem;
}

.police-decisions-list {
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.police-decision-row {
  border: 1px solid #ffffff14;
  border-radius: 12px;
  grid-template-columns: 70px 16px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  font-size: .85rem;
  display: grid;
}

.police-decision-row--latest {
  background: #4f46e533;
  border-color: #6366f1e6;
}

.police-decision-time {
  font-family: var(--mafia-mono-stack);
  color: #fffc;
}

.police-decision-arrow {
  color: #ffffff80;
}

.police-decision-action {
  font-weight: 600;
}

.police-decision-tag {
  background: #ffffff14;
  border-radius: 8px;
  padding: 2px 8px;
  font-size: .75rem;
}

.police-budgets-panel table {
  border-collapse: collapse;
  width: 100%;
  margin-top: 8px;
  font-size: .8rem;
}

.police-budgets-panel th, .police-budgets-panel td {
  text-align: left;
  border-bottom: 1px solid #ffffff14;
  padding: 6px;
}

.police-budgets-location {
  background: #12121ccc;
  border: 1px solid #ffffff1a;
  border-radius: 14px;
  padding: 12px;
}

.police-budgets-meta {
  color: #ffffffa6;
  font-size: .75rem;
}

.police-budgets-summary {
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
  display: flex;
}

.police-budgets-summary strong {
  font-size: 1rem;
  font-weight: 600;
}

.police-budgets-summary-spent, .police-budgets-meta-spent {
  color: #ffffff80;
  font-size: .75rem;
}

.police-empty-state {
  background: #ffffff05;
  border: 1px dashed #ffffff40;
  border-radius: 14px;
  align-items: center;
  gap: 12px;
  padding: 14px;
  display: flex;
}

.police-empty-state-icon {
  font-size: 1.4rem;
}

.police-empty-state-message {
  margin: 0;
  font-weight: 600;
}

.police-empty-state-helper {
  color: #fff9;
  margin: 4px 0;
  font-size: .8rem;
}

.police-empty-state-cta {
  color: #fff;
  cursor: pointer;
  background: #ffffff1a;
  border: none;
  border-radius: 10px;
  margin-top: 6px;
  padding: 6px 14px;
  font-size: .8rem;
}

.police-meta {
  color: #ffffffa6;
  margin: 0;
  font-size: .8rem;
}

.police-error {
  color: #ff8a8a;
  margin: 0;
  font-size: .8rem;
}

.police-status-chip {
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: .8rem;
}

.police-status-chip--ok {
  color: #5ded90;
  border-color: #5ded9080;
}

.police-status-chip--warn {
  color: #fbbf24;
  border-color: #fbbf2480;
}

.police-status-chip--error {
  color: #f87171;
  border-color: #f8717180;
}

.police-sse-inline {
  border: 1px solid #fff3;
  border-radius: 8px;
  padding: 2px 8px;
}

:root {
  --police-header-height: 72px;
  --police-panel-gap: clamp(12px, 1.4vw, 16px);
  --police-kpi-cols: 4;
}

.police-hq-wrap {
  gap: var(--police-panel-gap);
  grid-template-rows: auto minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 100%;
  min-height: 0;
  display: grid;
}

.police-hq {
  gap: var(--police-panel-gap);
  grid-template-columns: clamp(340px, 28vw, 460px) minmax(0, 1fr);
  align-items: start;
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 100%;
  min-height: 0;
  display: grid;
}

.police-hq__header {
  z-index: 15;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  min-height: var(--police-header-height);
  background: #050508f2;
  border: 1px solid #ffffff14;
  border-radius: 18px;
  justify-content: space-between;
  align-items: flex-end;
  padding: 14px 18px;
  display: flex;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 10px 35px #00000080;
}

.police-hq__header-actions {
  align-items: center;
  gap: 8px;
  display: flex;
}

.police-hq__left {
  gap: var(--police-panel-gap);
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.police-hq__right {
  gap: var(--police-panel-gap);
  grid-auto-rows: min-content;
  min-width: 0;
  display: grid;
}

.police-card {
  background: #0c0c14cc;
  border: 1px solid #ffffff14;
  border-radius: 18px;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  display: flex;
  box-shadow: 0 18px 40px #00000073;
}

.police-card__title {
  letter-spacing: .25em;
  text-transform: uppercase;
  color: #fff9;
  font-size: .85rem;
}

.police-control-rack {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.police-control-button {
  color: #fff;
  cursor: pointer;
  background: #ffffff08;
  border: 1px solid #ffffff26;
  border-radius: 12px;
  min-height: 44px;
  padding: 0 18px;
  font-weight: 600;
  transition: border .2s, transform .2s, background .2s;
}

.police-card__debug-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 12px;
  display: grid;
}

.police-card__debug-action {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.police-control-button--primary {
  background: linear-gradient(140deg, #1844ff, #8f5cf7);
  border-color: #0000;
  box-shadow: 0 12px 30px #1844ff59;
}

.police-control-button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.police-field {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.police-field-label {
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #fff9;
  font-size: .7rem;
}

.police-field select {
  color: #fff;
  background: #040408b3;
  border: 1px solid #fff3;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: .95rem;
}

.police-field select:focus {
  border-color: #5ded90b3;
  outline: none;
}

.police-link-button {
  color: #9cafff;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 8px;
  padding: 4px 8px;
  font-size: .85rem;
}

.police-link-button:hover:not(:disabled) {
  background: #ffffff14;
}

.police-link-button:disabled {
  cursor: not-allowed;
  color: #ffffff59;
}

.police-diag-actions {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.police-raw-payload {
  color: #e6e6e6;
  background: #020204b3;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  max-height: 180px;
  padding: 12px;
  font-family: SFMono-Regular, Consolas, Liberation Mono, monospace;
  font-size: .8rem;
  overflow-y: auto;
}

.police-diag-row {
  color: #ffffffb3;
  justify-content: space-between;
  font-size: .8rem;
  display: flex;
}

.police-card__helper-row {
  justify-content: space-between;
  align-items: center;
  font-size: .8rem;
  display: flex;
}

.police-card__helper-label {
  color: #ffffffb3;
}

.police-card__helper-status {
  color: #fff;
}

.police-card__helper {
  color: #ffffffa6;
  margin: 0;
  font-size: .8rem;
}

.police-card__helper-muted {
  color: #ffffff73;
}

.police-kpi-tier {
  color: #ffffff8c;
  font-size: .75rem;
  display: inline-block;
}

.police-panel-meta--muted {
  color: #ffffff73;
  margin: 2px 0 0;
}

.police-status-chip--sse {
  background: #ffffff08;
  border-color: #ffffff40;
  padding: 4px 12px;
}

.police-menu-wrapper {
  position: relative;
}

@media (max-width: 640px) {
  .police-control-rack {
    flex-direction: column;
  }
}

.police-card__actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.police-sep {
  background: #ffffff14;
  width: 100%;
  height: 1px;
}

.police-card__actions .police-op-btn {
  color: #fff;
  cursor: pointer;
  background: #ffffff05;
  border: 1px solid #ffffff1a;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 18px;
  font-size: .9rem;
  transition: border .2s, background .2s;
  display: inline-flex;
}

.police-card__actions .police-op-btn:hover:not(:disabled) {
  border-color: #fff6;
}

.police-op-btn--primary {
  background: linear-gradient(135deg, #0e4cf7, #8a5cff);
  border-color: #0000;
  box-shadow: 0 10px 30px #0e4cf74d;
}

.police-op-btn--icon {
  border-radius: 14px;
  justify-content: center;
  width: 44px;
  padding: 0;
}

.police-kpis {
  grid-template-columns: repeat(var(--police-kpi-cols, 4), minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  min-width: 0;
  display: grid;
}

.police-kpi {
  background: #12121ed9;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  flex-direction: column;
  gap: 6px;
  min-height: 120px;
  padding: 12px;
  display: flex;
}

.police-kpi-label {
  letter-spacing: .3em;
  text-transform: uppercase;
  color: #fff9;
  font-size: .75rem;
}

.police-kpi-main {
  align-items: center;
  gap: 10px;
  display: flex;
}

.police-kpi-trend {
  font-size: 1.1rem;
}

.police-decision-row {
  cursor: default;
  transition: border-color .2s, background .2s;
}

.police-decision-row:hover, .police-decision-row:focus-within {
  border-color: #ffffff4d;
}

.police-kpi--heat.police-kpi--low {
  border-color: #22c55e66;
  box-shadow: 0 0 18px #22c55e26;
}

.police-kpi--heat.police-kpi--mid {
  border-color: #facc1566;
  box-shadow: 0 0 18px #facc1540;
}

.police-kpi--heat.police-kpi--high {
  border-color: #f8717166;
  box-shadow: 0 0 18px #f8717159;
}

.police-card--budgets table {
  width: 100%;
  font-size: .8rem;
}

.police-card--budgets thead th, .police-card--budgets td {
  border-bottom: 1px solid #ffffff14;
  padding: 6px;
}

.police-card--decisions .police-empty-state, .police-card--budgets .police-empty-state {
  background: #ffffff05;
}

@media (max-width: 980px) {
  .police-hq {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .police-hq__header {
    flex-direction: column;
    align-items: flex-start;
  }

  .police-kpis {
    grid-template-columns: 1fr;
  }
}

.surface-card {
  background: var(--surface-1);
  border: 1px solid var(--border-0);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  box-shadow: var(--elev-1);
  transition: transform var(--anim-fast) var(--ease-out), box-shadow var(--anim-fast) var(--ease-out), border-color var(--anim-fast) var(--ease-out);
}

.surface-card:hover {
  border-color: var(--border-1);
  box-shadow: var(--elev-2);
  transform: translateY(-1px);
}

.surface-card:active {
  box-shadow: var(--elev-1);
  transform: translateY(0);
}

.surface-skeleton {
  min-height: 140px;
  animation: skeletonShift 1.2s var(--ease-out) infinite;
  background: linear-gradient(110deg, #ffffff0a, #ffffff1a, #ffffff0a) 0 0 / 200% 100%;
}

@keyframes skeletonShift {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: 0 0;
  }
}

.panel-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
  display: flex;
}

.panel-header__titles {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.panel-header__eyebrow {
  font-size: var(--type-micro);
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--text-2);
  margin: 0;
}

.panel-header__title {
  font-size: var(--type-title);
  color: var(--text-0);
  margin: 0;
  font-weight: 600;
}

.panel-header__subtitle {
  font-size: var(--type-body);
  color: var(--text-1);
  max-width: 60ch;
  margin: 0;
}

.panel-header__actions {
  align-items: center;
  gap: var(--space-sm);
  display: inline-flex;
}

.kpi-chip {
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-md);
  border: 1px solid var(--border-0);
  color: var(--text-0);
  font-size: var(--type-micro);
  text-transform: uppercase;
  letter-spacing: .18em;
  background: #ffffff0a;
  border-radius: 999px;
  display: inline-flex;
}

.kpi-chip__label {
  opacity: .7;
}

.kpi-chip__value {
  font-size: var(--type-subtitle);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
}

.kpi-chip__trend {
  font-size: var(--type-micro);
  color: var(--text-1);
  letter-spacing: .12em;
}

.kpi-chip--ok {
  color: var(--ok);
  border-color: #2b8a5a8c;
}

.kpi-chip--warn {
  color: var(--warn);
  border-color: #d9a45b99;
}

.kpi-chip--danger {
  color: var(--danger);
  border-color: #8b3a35b3;
}

.kpi-chip--neutral {
  border-color: var(--border-0);
  color: var(--text-0);
}

.risk-badge {
  align-items: center;
  gap: var(--space-xs);
  border: 1px solid var(--border-0);
  font-size: var(--type-micro);
  text-transform: uppercase;
  letter-spacing: .16em;
  background: #ffffff0a;
  border-radius: 999px;
  padding: 4px 10px;
  display: inline-flex;
}

.risk-badge__icon {
  font-size: 12px;
}

.risk-badge--none, .risk-badge--low {
  color: var(--ok);
  border-color: #2b8a5a99;
}

.risk-badge--med {
  color: var(--warn);
  border-color: #d9a45b99;
}

.risk-badge--high, .risk-badge--critical {
  color: var(--danger);
  border-color: #8b3a35b3;
}

.risk-badge--legal {
  color: var(--legal);
}

.risk-badge--illegal {
  color: var(--illegal);
}

.threat-strip {
  gap: var(--space-md);
  grid-auto-columns: minmax(170px, 1fr);
  grid-auto-flow: column;
  padding-bottom: 6px;
  display: grid;
  overflow-x: auto;
}

.threat-strip__item {
  gap: var(--space-xs);
  padding: var(--space-sm);
  border-radius: var(--radius-md);
  border: 1px solid var(--risk-border);
  background: #ffffff0a;
  flex-direction: column;
  display: flex;
}

.threat-strip__row {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--type-micro);
  text-transform: uppercase;
  letter-spacing: .2em;
  display: flex;
}

.threat-strip__value {
  font-size: var(--type-subtitle);
  letter-spacing: 0;
  font-weight: 600;
}

.threat-strip__trend {
  font-size: var(--type-micro);
  color: var(--text-1);
}

.threat-strip__track {
  background: #ffffff14;
  border-radius: 999px;
  width: 100%;
  height: 6px;
  overflow: hidden;
}

.threat-strip__fill {
  border-radius: inherit;
  height: 100%;
  transition: width var(--anim-fast) var(--ease-out);
  background: linear-gradient(90deg, #5ad1ffe6, #ffa54ce6);
}

.threat-strip__item--ok .threat-strip__fill {
  background: linear-gradient(90deg, #3cd68de6, #60f5aee6);
}

.threat-strip__item--warn .threat-strip__fill {
  background: linear-gradient(90deg, #ffbb5ce6, #ff7a5ce6);
}

.threat-strip__item--danger .threat-strip__fill {
  background: linear-gradient(90deg, #ff716ae6, #ff4444e6);
}

@media (min-width: 960px) {
  .threat-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    overflow: visible;
  }
}

.action-banner {
  background: linear-gradient(140deg, #ffffff0a, #0006);
  border-color: #d2b06a4d;
}

.action-banner__header {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.action-banner__title {
  font-size: var(--type-subtitle);
  margin: 0;
  font-weight: 600;
}

.action-banner__subtitle {
  color: var(--text-1);
  font-size: var(--type-body);
  margin: 6px 0 0;
}

.action-banner__grid {
  gap: var(--space-md);
  margin-top: var(--space-md);
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  display: grid;
}

.action-banner__section {
  padding: var(--space-sm);
  border-radius: var(--radius-md);
  border: 1px solid var(--border-0);
  background: #ffffff08;
}

.action-banner__section-title {
  font-size: var(--type-micro);
  text-transform: uppercase;
  letter-spacing: .25em;
  margin-bottom: var(--space-xs);
}

.action-banner__section--danger {
  color: #ffb4b4;
  border-color: #8b3a3580;
}

.action-banner__section--warn {
  color: #ffd6a0;
  border-color: #d9a45b80;
}

.action-banner__section--ok {
  color: #b5f2d0;
  border-color: #2b8a5a80;
}

.action-banner__list {
  gap: var(--space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.action-banner__item {
  font-size: var(--type-body);
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.action-banner__item-label {
  font-weight: 600;
}

.action-banner__item-detail {
  color: var(--text-1);
  font-size: var(--type-body);
}

.empty-state {
  gap: var(--space-lg);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.empty-state__body {
  gap: var(--space-sm);
  flex-direction: column;
  min-width: 220px;
  display: flex;
}

.empty-state__title {
  font-size: var(--type-subtitle);
  margin: 0;
  font-weight: 600;
}

.empty-state__description {
  color: var(--text-1);
  margin: 0;
  line-height: 1.6;
}

.empty-state__actions {
  gap: var(--space-sm);
  flex-wrap: wrap;
  display: flex;
}

.empty-state__recommendations {
  gap: var(--space-sm);
  margin-top: var(--space-sm);
  display: grid;
}

.empty-state__recommendation {
  font-size: var(--type-body);
  color: var(--text-1);
  justify-content: space-between;
  display: flex;
}

.timeline {
  gap: var(--space-sm);
  flex-direction: column;
  display: flex;
}

.timeline-item {
  justify-content: space-between;
  gap: var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid var(--border-0);
  padding: var(--space-sm) var(--space-md);
  background: #ffffff08;
  display: flex;
}

.timeline-item__title {
  font-weight: 600;
}

.timeline-item__detail {
  color: var(--text-1);
  font-size: var(--type-body);
}

.timeline-item__meta {
  font-size: var(--type-micro);
  color: var(--text-2);
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  display: flex;
}

.timeline-item__status {
  text-transform: uppercase;
  letter-spacing: .16em;
}

.timeline-item--ok {
  border-color: #2b8a5a80;
}

.timeline-item--warn {
  border-color: #d9a45b80;
}

.timeline-item--danger {
  border-color: #8b3a3599;
}

.work-feed-panel, .staffing-panel, .capabilities-panel, .ui-hints-panel {
  gap: var(--space-md);
  flex-direction: column;
  display: flex;
}

.firm-dashboard-shell {
  gap: var(--space-lg);
  display: grid;
}

.dashboard-skeletons {
  gap: var(--space-md);
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  display: grid;
}

.staffing-list {
  gap: var(--space-sm);
  flex-direction: column;
  display: flex;
}

.staffing-row {
  gap: var(--space-sm);
  padding: var(--space-sm);
  border-radius: var(--radius-md);
  border: 1px solid var(--border-0);
  background: #ffffff05;
  grid-template-columns: minmax(0, 1fr);
  display: grid;
}

.staffing-row__main {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.staffing-row__role {
  color: var(--text-1);
  font-size: var(--type-body);
}

.staffing-row__chips {
  gap: var(--space-sm);
  flex-wrap: wrap;
  display: flex;
}

@media (min-width: 860px) {
  .staffing-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    align-items: center;
  }
}

.capability-list {
  gap: var(--space-sm);
  flex-direction: column;
  display: flex;
}

.capability-row {
  justify-content: space-between;
  gap: var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid var(--border-0);
  padding: var(--space-sm) var(--space-md);
  background: #ffffff05;
  display: flex;
}

.capability-row.is-enabled {
  border-color: #2b8a5a80;
}

.capability-row.is-disabled {
  border-color: #8b3a3566;
}

.capability-config {
  color: var(--text-2);
  font-size: var(--type-micro);
  max-width: 50ch;
}

.ui-hints-panel__grid {
  gap: var(--space-md);
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  display: grid;
}

.ui-hints-panel__section {
  border-radius: var(--radius-md);
  border: 1px solid var(--border-0);
  padding: var(--space-sm);
  background: #ffffff08;
}

.ui-hints-panel__section--danger {
  border-color: #8b3a3599;
}

.ui-hints-panel__section--warn {
  border-color: #d9a45b99;
}

.ui-hints-panel__section--ok {
  border-color: #2b8a5a99;
}

.ui-hints-panel__section ul {
  margin: var(--space-xs) 0 0;
  gap: var(--space-xs);
  padding: 0;
  list-style: none;
  display: grid;
}

.ui-hints-panel__code {
  font-weight: 600;
}

.ui-hints-panel__message {
  color: var(--text-1);
  font-size: var(--type-body);
}

.value-pulse {
  animation: valuePulse .7s var(--ease-out);
}

@keyframes valuePulse {
  0% {
    text-shadow: 0 0 #d2b06a00;
  }

  40% {
    text-shadow: 0 0 12px #d2b06ab3;
  }

  100% {
    text-shadow: 0 0 #d2b06a00;
  }
}

[data-tooltip] {
  position: relative;
}

[data-tooltip]:after {
  content: attr(data-tooltip);
  border: 1px solid var(--border-0);
  border-radius: var(--radius-sm);
  color: var(--text-0);
  font-size: var(--type-micro);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--anim-fast) var(--ease-out), transform var(--anim-fast) var(--ease-out);
  z-index: 10;
  background: #090c14f5;
  padding: 6px 10px;
  transition-delay: .14s;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%)translateY(6px);
}

[data-tooltip]:hover:after, [data-tooltip]:focus-visible:after {
  opacity: 1;
  transform: translateX(-50%)translateY(0);
}

.dossier-section {
  padding: var(--space-lg);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-0);
  margin-bottom: var(--space-lg);
  background: #ffffff05;
}

.dossier-section__body {
  gap: var(--space-sm);
  flex-direction: column;
  display: flex;
}

.dossier-body-paragraph {
  color: var(--text-1);
  max-width: 70ch;
  margin: 0;
  line-height: 1.6;
}

.dossier-body-list {
  color: var(--text-1);
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  display: grid;
}

.dossier-body-list__item {
  line-height: 1.5;
}

.casino-slot-panel {
  gap: var(--space-md);
  flex-direction: column;
  display: flex;
}

.casino-slot-toolbar {
  gap: var(--space-sm);
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  display: grid;
}

.casino-slot-field {
  font-size: var(--type-micro);
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--text-2);
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.casino-slot-field input {
  border: 1px solid var(--border-0);
  border-radius: var(--radius-sm);
  color: var(--text-0);
  background: #ffffff0a;
  padding: 8px 10px;
}

.casino-slot-machine {
  gap: var(--space-md);
  flex-direction: column;
  display: flex;
}

.casino-slot-betrow {
  gap: var(--space-sm);
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  display: grid;
}

.casino-slot-bet {
  color: var(--text-1);
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.casino-slot-bet small {
  color: var(--text-2);
  font-size: var(--type-micro);
}

.casino-slot-bet-input {
  border: 1px solid var(--border-0);
  border-radius: var(--radius-sm);
  color: var(--text-0);
  background: #ffffff0a;
  max-width: 220px;
  margin-top: 6px;
  padding: 8px 10px;
}

.casino-slot-grid {
  gap: var(--space-sm);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.casino-slot-grid-wrap {
  position: relative;
}

.casino-slot-cell {
  border-radius: var(--radius-md);
  border: 1px solid var(--border-0);
  min-height: 56px;
  font-size: var(--type-subtitle);
  text-transform: uppercase;
  background: #ffffff0a;
  justify-content: center;
  align-items: center;
  padding: 4px;
  font-weight: 700;
  display: flex;
}

.casino-slot-cell.is-winning {
  border-color: #d2b06aa6;
  box-shadow: 0 0 14px #d2b06a40;
}

.casino-slot-cell__icon {
  object-fit: contain;
  image-rendering: auto;
  width: 42px;
  height: 42px;
}

.casino-slot-payline-layer {
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.casino-slot-payline {
  background: linear-gradient(90deg, #d2b06a00, #d2b06af2, #d2b06a00);
  border-radius: 999px;
  height: 3px;
  position: absolute;
  left: 3%;
  right: 3%;
  box-shadow: 0 0 10px #d2b06a73;
}

.casino-slot-payline--row0 {
  top: calc(16.666% - 1px);
}

.casino-slot-payline--row1 {
  top: calc(50% - 1px);
}

.casino-slot-payline--row2 {
  top: calc(83.333% - 1px);
}

.casino-slot-payline-label {
  color: #f6dfad;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: #080c14db;
  border: 1px solid #d2b06a8c;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 700;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 10px #d2b06a4d;
}

.casino-slot-payline-label--row0 {
  top: calc(16.666% - 12px);
}

.casino-slot-payline-label--row1 {
  top: calc(50% - 12px);
}

.casino-slot-payline-label--row2 {
  top: calc(83.333% - 12px);
}

.casino-slot-results {
  gap: var(--space-sm);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.casino-slot-kpi {
  border: 1px solid var(--border-0);
  border-radius: var(--radius-md);
  padding: var(--space-sm);
  background: #ffffff08;
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.casino-slot-kpi span {
  color: var(--text-2);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: var(--type-micro);
}

.casino-slot-lines h4, .casino-slot-ledger h4 {
  margin: 0 0 var(--space-xs);
}

.casino-slot-lines ul {
  gap: var(--space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.casino-slot-lines li {
  gap: var(--space-sm);
  border: 1px solid var(--border-0);
  border-radius: var(--radius-sm);
  background: #ffffff05;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  padding: 8px 10px;
  display: grid;
}

.casino-slot-line-icons {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.casino-slot-line-icon {
  object-fit: contain;
  width: 22px;
  height: 22px;
}

.casino-slot-ledger-table {
  border: 1px solid var(--border-0);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.casino-slot-ledger-head, .casino-slot-ledger-row {
  gap: var(--space-sm);
  grid-template-columns: minmax(92px, 1fr) 74px 1fr 1fr 1fr;
  align-items: center;
  padding: 8px 10px;
  display: grid;
}

.casino-slot-ledger-head {
  color: var(--text-2);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: var(--type-micro);
  background: #ffffff0d;
}

.casino-slot-ledger-row {
  border-top: 1px solid var(--border-0);
}

.net-positive {
  color: #8de3b6;
}

.net-negative {
  color: #f19f97;
}

.casino-slot-error {
  color: #f19f97;
  margin: 0;
}

@media (max-width: 840px) {
  .casino-slot-toolbar {
    grid-template-columns: 1fr;
  }

  .casino-slot-betrow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .casino-slot-results, .casino-slot-lines li {
    grid-template-columns: 1fr;
  }

  .casino-slot-ledger-head, .casino-slot-ledger-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.dossier-section-stack {
  gap: var(--space-md);
  flex-direction: column;
  display: flex;
}

.dossier-summary {
  margin-top: var(--space-md);
  gap: var(--space-xs);
  flex-direction: column;
  display: flex;
}

.dossier-summary__text {
  color: var(--text-1);
  margin: 0;
  line-height: 1.6;
}

.dossier-summary__text.is-collapsed {
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.dossier-inline-note {
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  color: var(--text-1);
  background: #d2b06a14;
  border: 1px solid #d2b06a4d;
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.dossier-inline-note a {
  color: var(--accent-2) !important;
}

.dossier-nav-row {
  transition: border-color var(--anim-fast) var(--ease-out), background var(--anim-fast) var(--ease-out), transform var(--anim-fast) var(--ease-out);
}

.dossier-nav-row:hover {
  transform: none;
}

.dossier-nav-row__dot {
  background: #ffffff57;
  border-radius: 999px;
  width: 10px;
  height: 10px;
}

.dossier-nav-row__dot.is-updated {
  box-shadow: 0 0 8px #ffffff3d;
}

.dossier-nav-row__dot.is-active {
  background: var(--accent);
}

.firmRow {
  gap: var(--space-md);
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-0);
  transition: border-color var(--anim-fast) var(--ease-out), transform var(--anim-fast) var(--ease-out), box-shadow var(--anim-fast) var(--ease-out);
  background: #ffffff05;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  display: grid;
}

.firmRow:hover {
  border-color: var(--border-1);
  box-shadow: var(--elev-1);
  transform: translateY(-1px);
}

.firmRow__thumb img {
  border-radius: var(--radius-md);
  border: 1px solid var(--border-0);
  background: #ffffff0a;
  width: 56px;
  height: 56px;
  padding: 8px;
}

.firmRow__name {
  font-weight: 600;
  font-size: var(--type-subtitle);
}

.firmRow__desc {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  max-width: 70ch;
  margin-top: 4px;
  display: -webkit-box;
  overflow: hidden;
}

.firmRow__meta {
  font-size: var(--type-micro);
  text-transform: uppercase;
  letter-spacing: .2em;
  margin-top: 6px;
}

.firmRow__effect {
  gap: var(--space-sm);
  margin-top: var(--space-sm);
  flex-wrap: wrap;
  display: flex;
}

.firmRow__caps {
  gap: var(--space-xs);
  margin-top: var(--space-sm);
  flex-wrap: wrap;
  display: flex;
}

.firmRow__cap {
  border: 1px solid var(--border-0);
  font-size: var(--type-micro);
  text-transform: uppercase;
  letter-spacing: .2em;
  color: var(--text-1);
  border-radius: 999px;
  padding: 4px 10px;
}

.firmRow__warning {
  margin-top: var(--space-xs);
  color: #ffc1b0;
  font-size: var(--type-body);
}

.firmRow__actions {
  gap: var(--space-sm);
  flex-direction: column;
  align-items: flex-end;
  display: flex;
}

.firm-tab-row {
  gap: var(--space-sm);
  flex-wrap: wrap;
  display: flex;
}

.firm-tab-button {
  color: var(--text-1);
  font-size: var(--type-micro);
  text-transform: uppercase;
  letter-spacing: .3px;
  cursor: pointer;
  transition: background var(--anim-fast) var(--ease-out), border var(--anim-fast) var(--ease-out);
  background: none;
  border: 1px solid #ffffff40;
  border-radius: 999px;
  padding: 6px 14px;
}

.firm-tab-button.active {
  color: var(--text-0);
  background: #ffffff14;
  border-color: #fff9;
}

.firm-tab-button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.firmRow__acquire {
  color: var(--text-0);
  font-size: var(--type-micro);
  text-transform: uppercase;
  letter-spacing: .2em;
  cursor: pointer;
  transition: border-color var(--anim-fast) var(--ease-out), background var(--anim-fast) var(--ease-out), transform var(--anim-fast) var(--ease-out);
  background: #ffffff0f;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 8px 16px;
}

.firmRow__acquire:hover:not(:disabled) {
  background: #ffffff1f;
  border-color: #ffffff80;
}

.firmRow__acquire:disabled {
  cursor: not-allowed;
  opacity: .6;
}

.firm-panel-notes__text {
  color: var(--text-1);
  line-height: 1.6;
}

.firm-panel-notes__text.is-collapsed {
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

@media (max-width: 720px) {
  .firmRow {
    grid-template-columns: 1fr;
    align-items: flex-start;
  }

  .firmRow__actions {
    flex-direction: row;
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .surface-card, .firmRow, .value-pulse, .surface-skeleton {
    transition: none;
    animation: none;
  }
}

/* [project]/apps/web/app/globals.css [app-client] (css) */
.state-banner {
  color: #f7f8fa;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
  background-color: #ffffff0a;
  border-bottom: 1px solid #ffffff1a;
  padding: .35rem .75rem;
  font-size: .85rem;
  font-weight: 600;
}

/*# sourceMappingURL=apps_web_app_edbdf8c9._.css.map*/