:root {
  --bg: #050607;
  --bg-2: #090b0e;
  --bg-3: #0d1115;
  --panel: #0e1318;
  --panel-2: #090d11;
  --panel-3: #131920;
  --line: #2a3037;
  --line-soft: #1d232a;
  --line-bright: #858c96;
  --shadow: rgba(0, 0, 0, 0.5);
  --text: #e6e8eb;
  --muted: #9ca3ad;
  --accent: #d6bf73;
  --accent-2: #ead68e;
  --accent-text: #f54e00;
  --accent-dim: #2a2414;
  --tab-active-bg: #d4bf73;
  --tab-active-bg-hover: #e0ca82;
  --tab-active-text: #11100a;
  --tab-active-muted: #2a2413;
  --tab-active-border: #f0da8a;
  --ok: #7fc46a;
  --ok-dim: #152a1c;
  --danger: #d36d62;
  --danger-dim: #341a1d;
  --surface-panel: #0d1217;
  --surface-elevated: #10161c;
  --surface-inset: rgba(4, 6, 9, 0.62);
  --surface-note: rgba(11, 15, 20, 0.72);
  --shadow-panel: none;
  --shadow-card: none;
  --font:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI Variable",
    "Segoe UI",
    "Helvetica Neue",
    Arial,
    sans-serif;
  --mono: var(--font);
  --text-2xs: 8px;
  --text-xs: 9px;
  --text-sm: 10px;
  --text-md: 11px;
  --text-lg: 12px;
  --text-xl: 13px;
  --weight-regular: 500;
  --weight-medium: 600;
  --weight-strong: 700;
  --tracking-tight: 0;
  --tracking-label: 0;
  --tracking-caps: 0;
  --line-tight: 1.12;
  --line-body: 1.28;
  --line-copy: 1.42;
  --gap: 5px;
  --app-max-width: 1340px;
  --compact-app-max-width: 448px;
  --top-strip-height: 92px;
  --top-strip-side-width: 360px;
  --bot-tab-width-regular: 184px;
  --bot-tab-width-condensed: 102px;
  --bot-tab-min-width-regular: 148px;
  --bot-tab-min-width-condensed: 84px;
  --bot-tab-toggle-width-regular: 44px;
  --bot-tab-toggle-width-condensed: 34px;
  --frame-padding: 0;
  --window-control-size: 18px;
  --focus-ring: 0 0 0 1px #050607, 0 0 0 3px rgba(214, 191, 115, 0.34);
  --control-shadow: none;
  --control-shadow-hover: none;
  --control-shadow-pressed: inset 0 0 0 999px rgba(0, 0, 0, 0.08);
  --control-lift-hover: translateY(0);
  --control-lift-pressed: translateY(1px);
  --toggle-width: 38px;
  --toggle-height: 20px;
  --toggle-pad: 2px;
  --toggle-thumb-size: calc(var(--toggle-height) - (var(--toggle-pad) * 2));
  --toggle-thumb-shift: calc(var(--toggle-width) - var(--toggle-thumb-size) - (var(--toggle-pad) * 2));
  --toggle-surface-radius: 10px;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

html,
body {
  min-height: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: transparent;
  color: var(--text);
  font-family: var(--font);
  font-size: var(--text-md);
  font-weight: var(--weight-regular);
  line-height: var(--line-body);
  letter-spacing: var(--tracking-tight);
  font-feature-settings: "zero" 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
}

body.modal-open {
  overflow: hidden;
}

.hover-tooltip {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1600;
  max-width: min(280px, calc(100vw - 24px));
  max-height: 8.4em;
  padding: 6px 8px;
  border: 1px solid rgba(142, 153, 166, 0.58);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 42%),
    #10161c;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.045),
    0 10px 22px rgba(0, 0, 0, 0.34);
  color: var(--text);
  font-size: var(--text-md);
  font-weight: var(--weight-medium);
  line-height: 1.32;
  letter-spacing: var(--tracking-tight);
  overflow: hidden;
  overflow-wrap: break-word;
  pointer-events: none;
  text-wrap: pretty;
  white-space: normal;
  opacity: 0;
  transform: translateY(3px) scale(0.98);
  transform-origin: 14px top;
  transition: opacity 115ms ease, transform 115ms ease;
}

.hover-tooltip[hidden] {
  display: none !important;
}

.hover-tooltip[data-placement="top"] {
  transform: translateY(-3px) scale(0.98);
  transform-origin: 14px bottom;
}

.hover-tooltip[data-visible="true"] {
  opacity: 1;
  transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {

  .hover-tooltip {
    transition: none;
  }
}

button,
input,
textarea,
select,
a {
  font: inherit;
  font-feature-settings: inherit;
  accent-color: var(--accent);
  -webkit-app-region: no-drag;
}

button {
  user-select: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.window-frame {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  height: 100vh;
  height: 100dvh;
  padding: var(--frame-padding);
  display: flex;
  justify-content: center;
  align-items: stretch;
  overflow: hidden;
  resize: none;
  -webkit-app-region: drag;
}

.app {
  position: relative;
  width: 100%;
  margin: 0;
  min-height: 0;
  height: 100%;
  padding: 6px 8px 8px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 12%),
    linear-gradient(180deg, var(--bg-3), var(--bg));
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.68),
    0 24px 56px rgba(0, 0, 0, 0.42);
  -webkit-app-region: no-drag;
  overflow: hidden;
  resize: none;
}

.bot-strip,
.panel-card,
.module-card,
.quick-module-card,
.sub-card,
.modal-panel {
  border: 1px solid var(--line);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

.panel-card,
.bot-strip {
  animation: none;
}

.bot-strip {
  min-width: 0;
  padding: 3px 4px;
  display: block;
}

/* Subscription banner. Sits above the tab strip so a blocked engine is stated
   once, at the top, without covering or disabling the rest of the app. */
.subscription-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
  margin-bottom: 3px;
  padding: 5px 7px;
  border: 1px solid var(--accent);
  background: var(--accent-dim);
  color: var(--text);
}

.subscription-banner.is-blocked {
  border-color: var(--danger);
  background: var(--danger-dim);
}

.subscription-banner[hidden] {
  display: none;
}

.subscription-banner-text {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
  font-size: 11px;
  line-height: 1.35;
}

.subscription-banner-text strong {
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.subscription-banner-text code {
  padding: 0 4px;
  border: 1px solid var(--line);
  font-size: 12px;
  letter-spacing: 0.12em;
}

.subscription-banner-actions {
  display: flex;
  gap: 4px;
}

.subscription-banner-actions button[hidden] {
  display: none;
}

.top-strip {
  min-width: 0;
  min-height: var(--top-strip-height);
  height: var(--top-strip-height);
  padding: 2px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(336px, var(--top-strip-side-width));
  gap: 3px;
  align-items: stretch;
  overflow: hidden;
  -webkit-app-region: drag;
}

.top-strip-main,
.top-strip-side,
.top-strip-status {
  min-width: 0;
  min-height: 0;
}

.top-strip-main,
.top-strip-status {
  display: grid;
  gap: 4px;
  align-content: stretch;
}

.top-strip-main {
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
}

.top-strip-side {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  overflow: hidden;
}

.desk-status-cluster {
  min-width: 0;
  padding: 6px;
  display: grid;
  gap: 6px;
  align-content: start;
  border: 1px solid var(--line-soft);
  background: var(--surface-elevated);
  box-shadow: var(--shadow-card);
}

.top-strip-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.desk-strip {
  min-width: 0;
  padding: 5px 6px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.desk-strip-main {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.desk-heading {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

#desk-title {
  min-width: 0;
  color: var(--accent-text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.1;
}

.desk-tag {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 0 6px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.desk-status {
  min-width: 0;
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.desk-status[data-tone="live"] {
  color: #dff6c6;
}

.desk-status[data-tone="ready"] {
  color: #dff0ff;
}

.desk-status[data-tone="warn"] {
  color: #f4dfa7;
}

.desk-status[data-tone="error"] {
  color: #ffcabf;
}

.desk-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 5px;
}

.desk-metric,
.summary-cell,
.route-library-meta,
.route-type-help,
.target-set-card,
.target-source-column,
.waypoint-chip,
.feed-row,
.waypoint-row {
  min-width: 0;
  border: 1px solid var(--line-soft);
  background: var(--surface-elevated);
  box-shadow: var(--shadow-card);
}

.desk-metric,
.summary-cell {
  padding: 5px 6px;
  display: grid;
  gap: 2px;
}

.desk-metric span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.desk-metric strong {
  min-width: 0;
  color: var(--text);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.desk-actions {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 3px;
  align-content: stretch;
  align-items: stretch;
}

.desk-action-group {
  min-width: 0;
  padding: 6px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 5px;
  border: 1px solid var(--line-soft);
  background: var(--surface-elevated);
  box-shadow: var(--shadow-card);
}

.desk-action-group-label {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.desk-action-group-safety {
  border-color: rgba(161, 95, 79, 0.54);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 50%),
    rgba(67, 35, 26, 0.42);
}

.desk-actions .btn {
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: 0 6px;
  font-size: 9px;
  line-height: 1.08;
  white-space: normal;
  text-align: center;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.desk-actions .desk-action-primary,
.desk-actions .desk-action-secondary {
  min-height: 0;
}

.language-control {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 4px;
  padding: 0 5px;
  border: 1px solid var(--line-soft);
  background: var(--surface-elevated);
  color: var(--muted);
}

.language-control-label {
  min-width: 0;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.language-control select {
  width: 100%;
  min-width: 0;
  height: 24px;
  padding: 0 3px;
  border: 1px solid var(--line-soft);
  border-radius: 2px;
  background: var(--surface-panel);
  color: var(--text);
  font: inherit;
  font-size: 9px;
}

.client-language-setting {
  grid-column: 1 / -1;
  min-height: 34px;
  height: auto;
  padding: 5px 6px;
}

.client-language-setting select {
  max-width: 220px;
}

.section-meta-left {
  text-align: left;
  white-space: normal;
}

.console-head-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.danger-title {
  color: #ffc0b0;
}

.actions,
.checks,
.inline-actions,
.route-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.section-head {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

.bot-tabs {
  --bot-tab-width: var(--bot-tab-width-regular);
  --bot-tab-min-width: var(--bot-tab-min-width-regular);
  --bot-tab-toggle-width: var(--bot-tab-toggle-width-regular);
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-wrap: nowrap;
  gap: 3px;
  align-items: stretch;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 1px 0 0;
  scrollbar-gutter: stable both-edges;
}

.bot-tabs[data-density="regular"] {
  --bot-tab-width: var(--bot-tab-width-regular);
  --bot-tab-min-width: var(--bot-tab-min-width-regular);
  --bot-tab-toggle-width: var(--bot-tab-toggle-width-regular);
}

.bot-tabs[data-density="condensed"] {
  --bot-tab-width: var(--bot-tab-width-condensed);
  --bot-tab-min-width: var(--bot-tab-min-width-condensed);
  --bot-tab-toggle-width: var(--bot-tab-toggle-width-condensed);
}

.bot-tabs>.empty-state {
  flex: 1 0 100%;
}

.bot-tab {
  --bot-tab-offset-x: 0px;
  --bot-tab-offset-y: 0px;
  --bot-tab-lift: 0px;
  position: relative;
  flex: 1 1 var(--bot-tab-width);
  min-width: min(100%, var(--bot-tab-min-width));
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--bot-tab-toggle-width);
  gap: 2px;
  padding: 1px;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    #15110c;
  outline: 1px solid transparent;
  outline-offset: -1px;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.04),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42);
  transform: translate3d(var(--bot-tab-offset-x), calc(var(--bot-tab-offset-y) + var(--bot-tab-lift)), 0);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.bot-tab::before {
  content: "";
  position: absolute;
  inset: 2px auto 2px 2px;
  width: 2px;
  border-radius: 999px;
  background: transparent;
  opacity: 0;
  transition: opacity 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.bot-tab:hover,
.bot-tab:focus-within {
  --bot-tab-lift: -1px;
  border-color: rgba(169, 141, 99, 0.62);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 46%),
    linear-gradient(135deg, rgba(169, 141, 99, 0.08), rgba(0, 0, 0, 0)),
    #19130d;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.05),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 10px 24px rgba(0, 0, 0, 0.12);
}

.bot-tab.active,
.bot-tab.active:hover,
.bot-tab.active:focus-within {
  --bot-tab-lift: -1px;
  border-color: var(--accent-2);
  outline-color: rgba(247, 213, 138, 0.78);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 46%),
    linear-gradient(135deg, rgba(247, 213, 138, 0.24), rgba(200, 153, 71, 0.07) 54%, rgba(0, 0, 0, 0)),
    #2a2015;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    0 0 0 2px rgba(247, 213, 138, 0.28),
    0 12px 26px rgba(0, 0, 0, 0.2);
}

.bot-tab.active::before,
.bot-tab.active:hover::before,
.bot-tab.active:focus-within::before {
  opacity: 1;
  background: linear-gradient(180deg, #f7d58a, #c89947);
  box-shadow: 0 0 14px rgba(247, 213, 138, 0.34);
  width: 4px;
}

.bot-tab.active:not(.drop-before):not(.drop-after)::after {
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: 2px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(247, 213, 138, 0.14), rgba(247, 213, 138, 0.96), rgba(247, 213, 138, 0.14));
  box-shadow: 0 0 10px rgba(247, 213, 138, 0.28);
  pointer-events: none;
}

.bot-tab.running {
  border-color: #8cbb60;
}

.bot-tab.stale-alert {
  border-color: #d49d4a;
  box-shadow: 0 0 0 1px rgba(212, 157, 74, 0.2);
}

.bot-tab.health-alert {
  border-color: #cf7564;
}

.bot-tab.player-alert {
  border-color: #d4a54a;
}

.bot-tab.hostile-alert {
  border-color: #d56d40;
  box-shadow: 0 0 0 1px rgba(213, 109, 64, 0.2);
}

.bot-tab.staff-alert {
  border-color: #d98b3f;
  box-shadow: 0 0 0 1px rgba(217, 139, 63, 0.18);
}

.bot-tab.death-alert {
  border-color: #d24e4e;
  box-shadow: 0 0 0 1px rgba(210, 78, 78, 0.22);
}

.bot-tab.locked {
  opacity: 0.84;
}

.bot-tab.dragging {
  z-index: 2;
  opacity: 0.9;
  border-color: rgba(247, 213, 138, 0.78);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 18px 34px rgba(0, 0, 0, 0.24);
}

.bot-tab.drop-before::after,
.bot-tab.drop-after::after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(247, 213, 138, 0.2), rgba(247, 213, 138, 0.96), rgba(247, 213, 138, 0.2));
  box-shadow: 0 0 12px rgba(247, 213, 138, 0.24);
  pointer-events: none;
}

.bot-tab.drop-before::after {
  left: -2px;
}

.bot-tab.drop-after::after {
  right: -2px;
}

.bot-tab-select {
  min-width: 0;
  min-height: 0;
  height: 100%;
  position: relative;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 40%),
    #19140f;
  color: var(--text);
  padding: 2px 4px 2px 6px;
  display: grid;
  grid-template-rows: auto auto;
  align-content: center;
  gap: 1px;
  text-align: left;
  cursor: crosshair;
  user-select: none;
  -webkit-user-drag: element;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.04),
    inset -1px -1px 0 rgba(0, 0, 0, 0.4);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, color 140ms ease, opacity 140ms ease;
}

.bot-tab.dragging .bot-tab-select {
  cursor: grabbing;
}

.bot-tab-head {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(13px, auto) auto;
  gap: 2px;
  align-items: center;
  align-content: center;
}

.bot-tab-route-row {
  min-width: 0;
  min-height: 13px;
  padding: 0 4px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px max-content;
  gap: 4px;
  align-items: center;
  border: 1px solid rgba(169, 141, 99, 0.22);
  background: rgba(255, 255, 255, 0.025);
  overflow: hidden;
}

.bot-tab-route-divider {
  width: 1px;
  height: 9px;
  justify-self: center;
  background: rgba(169, 141, 99, 0.34);
}

.bot-tab-select strong,
.bot-tab-session-name {
  min-width: 0;
  width: 100%;
  justify-self: center;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.02;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bot-tab-state {
  min-width: 0;
  display: block;
  min-height: 11px;
  padding: 0;
  border: 0;
  background: transparent;
  justify-self: stretch;
  color: var(--muted);
  font-size: 6px;
  font-weight: 700;
  line-height: 11px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bot-tab-waypoint {
  min-width: max-content;
  justify-self: end;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.bot-tab-state.route {
  color: #f6e4bc;
  font-size: 9px;
  font-weight: 600;
  line-height: 11px;
  letter-spacing: 0;
  text-transform: none;
}

.bot-tab-metrics {
  min-width: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 2px;
  overflow: visible;
}

.bot-tab-vitals {
  flex: 0 0 auto;
  min-width: 0;
  min-height: 13px;
  padding: 0 3px;
  display: grid;
  grid-template-columns: minmax(24px, max-content) minmax(24px, max-content) minmax(24px, max-content);
  gap: 2px;
  align-items: center;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  white-space: nowrap;
}

.bot-tab-vitals-divider {
  width: 1px;
  height: 8px;
  justify-self: center;
  background: rgba(148, 163, 184, 0.24);
}

.bot-tab-vitals .bot-tab-metric {
  min-width: 0;
  min-height: 11px;
  padding: 0;
  border: 0;
  background: transparent;
}

.bot-tab-metric {
  flex: 0 0 auto;
  min-width: max-content;
  display: inline-flex;
  align-items: center;
  min-height: 13px;
  padding: 0 3px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}

.bot-tab-metric-label,
.bot-tab-metric-value {
  flex: 0 0 auto;
}

.bot-tab-metric.health .bot-tab-metric-value {
  color: #f06d64;
}

.bot-tab-metric.mana .bot-tab-metric-value {
  color: #67a8ff;
}

.bot-tab-metric.xp-rate .bot-tab-metric-value {
  color: #f3c84b;
}

@keyframes bot-tab-uh-blink {
  0%, 100% {
    color: #5aa2ff;
  }
  50% {
    color: #ff5a5a;
  }
}

.bot-tab-metric.uh {
  text-transform: none;
}

.bot-tab-metric.uh .bot-tab-metric-value {
  color: #5aa2ff;
  font-weight: 800;
}

.bot-tab-metric.uh.muted .bot-tab-metric-value {
  color: var(--muted);
}

.bot-tab-metric.uh.alert {
  animation: bot-tab-uh-blink 1s step-start infinite;
}

.bot-tab-metric.uh.alert .bot-tab-metric-value {
  color: inherit;
}

.bot-tab-metric.hunger {
  min-width: 12px;
  width: 12px;
  justify-content: center;
  padding: 0;
  color: #cbd5e1;
  border-color: rgba(148, 163, 184, 0.34);
  background: rgba(148, 163, 184, 0.08);
  font-size: 9px;
  letter-spacing: 0;
  text-transform: none;
}

.bot-tab-metric.hunger-starving {
  color: #d09a62;
  border-color: rgba(185, 126, 73, 0.5);
  background: rgba(185, 126, 73, 0.12);
}

.bot-tab-metric.hunger-unknown {
  opacity: 0.72;
}

.bot-tab-metric.live {
  border-color: rgba(123, 216, 107, 0.38);
  color: #bfe89d;
}

.bot-tab-metric.warn {
  border-color: rgba(212, 165, 74, 0.42);
  color: #efd69b;
}

.bot-tab-metric.alert {
  border-color: rgba(227, 128, 108, 0.5);
  background: rgba(227, 128, 108, 0.1);
  color: #ffc0b0;
}

.bot-tab-metric.staff {
  border-color: rgba(217, 139, 63, 0.5);
  background: rgba(217, 139, 63, 0.12);
  color: #ffd6a1;
}

.bot-tab-metric.muted {
  opacity: 0.72;
}

.bot-tab-metric.waypoint {
  justify-content: flex-start;
  color: var(--text);
}

.bot-tab.active .bot-tab-select {
  border-color: var(--accent-2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent 42%),
    linear-gradient(135deg, rgba(247, 213, 138, 0.18), rgba(0, 0, 0, 0)),
    #2b2116;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(247, 213, 138, 0.36);
}

.bot-tab.active .bot-tab-select strong {
  color: #fff3d6;
}

.bot-tab.active .bot-tab-state {
  color: #f3dfb4;
}

.bot-tab.active .bot-tab-metric {
  border-color: rgba(247, 213, 138, 0.3);
  background: rgba(247, 213, 138, 0.07);
  color: #ead8b3;
}

.bot-tab.active .bot-tab-vitals {
  border-color: rgba(247, 213, 138, 0.3);
  background: rgba(247, 213, 138, 0.07);
  color: #ead8b3;
}

.bot-tab.running .bot-tab-state {
  color: #eff8d3;
}

.bot-tab.stale-alert .bot-tab-state {
  color: #f4dca2;
}

.bot-tab-select:hover:not(:disabled) {
  border-color: rgba(169, 141, 99, 0.7);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 40%),
    #1b150f;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.05),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    inset 0 0 0 1px rgba(247, 213, 138, 0.06);
}

.bot-tab-select:active:not(:disabled),
.bot-tab-select[data-pressed="true"]:not(:disabled) {
  border-color: rgba(169, 141, 99, 0.82);
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.3),
    inset 0 0 0 999px rgba(0, 0, 0, 0.06);
}

.bot-tab-select:disabled {
  cursor: wait;
  opacity: 0.62;
}

.bot-tab-toggle {
  min-width: var(--bot-tab-toggle-width);
  width: var(--bot-tab-toggle-width);
  min-height: 0;
  height: 100%;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2px;
  font-size: 8px;
  line-height: 1.02;
  transform: none;
  will-change: auto;
}

.bot-tabs[data-density="condensed"] .bot-tab-select {
  padding: 2px 3px 2px 4px;
}

.bot-tabs[data-density="condensed"] .bot-tab-select strong {
  font-size: 9px;
}

.bot-tabs[data-density="condensed"] .bot-tab-state {
  min-height: 10px;
  padding: 0 2px;
  font-size: 5px;
  letter-spacing: 0.08em;
}

.bot-tabs[data-density="condensed"] .bot-tab-state.route {
  font-size: 8px;
  letter-spacing: 0;
}

.bot-tabs[data-density="condensed"] .bot-tab-waypoint {
  font-size: 8px;
}

.bot-tabs[data-density="condensed"] .bot-tab-metrics {
  gap: 1px;
}

.bot-tabs[data-density="condensed"] .bot-tab-vitals {
  min-height: 11px;
  padding: 0 2px;
  grid-template-columns: minmax(22px, max-content) minmax(22px, max-content) minmax(22px, max-content);
  gap: 2px;
}

.bot-tabs[data-density="condensed"] .bot-tab-metric {
  min-height: 11px;
  padding: 0 2px;
  font-size: 6px;
}

.bot-tabs[data-density="condensed"] .bot-tab-metric.hunger {
  min-width: 10px;
  width: 10px;
  padding: 0;
  font-size: 8px;
}

.bot-tabs[data-density="condensed"] .bot-tab-toggle {
  font-size: 7px;
}

.bot-tab-toggle:hover:not(:disabled),
.bot-tab-toggle:active:not(:disabled),
.bot-tab-toggle[data-pressed="true"]:not(:disabled) {
  transform: none;
}

.dashboard,
.dashboard-shell,
.console-layout,
.compact-layout {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.dashboard-shell {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}

.console-layout {
  display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(208px, 1fr);
  grid-template-areas: "left right";
  gap: var(--gap);
  align-items: stretch;
}

.console-column {
  min-width: 0;
  min-height: 0;
  display: grid;
  gap: var(--gap);
  overflow: hidden;
}

.left-column {
  grid-area: left;
  width: 100%;
  justify-self: start;
  grid-template-rows: minmax(0, 1fr);
}

.center-column {
  grid-area: center;
  grid-template-rows: minmax(0, 1fr);
}

.right-column {
  position: relative;
  grid-area: right;
  grid-template-rows: minmax(0, 1fr);
}

.feed-card {
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.05), transparent 22%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.04), transparent 58%),
    var(--surface-panel);
}

.logs-column-toggle {
  position: absolute;
  z-index: 4;
  top: 6px;
  right: 6px;
  min-width: 64px;
  min-height: 24px;
  padding: 3px 7px;
  border-color: rgba(132, 143, 156, 0.52);
  background: rgba(8, 11, 15, 0.9);
  color: var(--text);
}

.logs-column-toggle:hover:not(:disabled),
.logs-column-toggle:focus-visible {
  border-color: rgba(214, 191, 115, 0.72);
  background: rgba(17, 21, 27, 0.96);
}

.app[data-logs-column="hidden"] .console-layout {
  grid-template-columns: minmax(280px, 35%) 34px;
}

.app[data-logs-column="hidden"] .right-column {
  grid-template-rows: minmax(0, 1fr);
}

.app[data-logs-column="hidden"] .feed-card {
  display: none;
}

.app[data-logs-column="hidden"] .logs-column-toggle {
  position: static;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 5px 3px;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.compact-layout {
  display: none;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 4px;
}

.app[data-view-mode="compact"] {
  width: 100%;
  margin: 0;
  padding: 2px;
  gap: 2px;
}

.app[data-view-mode="compact"] .top-strip {
  min-height: 0;
  height: auto;
  padding: 2px;
  grid-template-columns: 1fr;
  gap: 2px;
}

.app[data-view-mode="compact"] .top-strip-main,
.app[data-view-mode="compact"] .top-strip-side {
  min-height: 0;
}

.app[data-view-mode="compact"] .desk-actions {
  height: auto;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(30px, auto);
  gap: 2px;
  align-content: start;
}

.app[data-view-mode="compact"] .desk-actions .btn {
  min-height: 0;
  height: auto;
  min-height: 30px;
  padding: 4px 5px;
  font-size: 8px;
  line-height: 1.08;
  letter-spacing: 0.01em;
  white-space: normal;
  text-align: center;
  text-wrap: balance;
}

.app[data-view-mode="compact"] .language-control {
  min-height: 30px;
  height: auto;
  padding: 4px 5px;
}

.app[data-view-mode="compact"] .client-language-setting {
  grid-column: 1 / -1;
}

.app[data-view-mode="compact"] .bot-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 3px;
  max-height: none;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0;
  scrollbar-gutter: auto;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
}

.app[data-view-mode="compact"] .bot-tab,
.app[data-view-mode="compact"] .bot-tab-select {
  min-height: 42px;
}

.app[data-view-mode="compact"] .bot-tab {
  --bot-tab-toggle-width: 44px;
  flex: 0 0 min(180px, calc((100% - 3px) / 2));
  gap: 2px;
  scroll-snap-align: start;
}

.app[data-view-mode="compact"] .bot-tabs[data-session-count="1"] .bot-tab,
.app[data-view-mode="compact"] .bot-tabs[data-session-count="2"] .bot-tab {
  flex: 1 1 0;
}

.app[data-view-mode="compact"] .bot-tabs[data-session-count="3"] .bot-tab,
.app[data-view-mode="compact"] .bot-tabs[data-session-count="4"] .bot-tab,
.app[data-view-mode="compact"] .bot-tabs[data-session-count="5"] .bot-tab,
.app[data-view-mode="compact"] .bot-tabs[data-density="condensed"] .bot-tab {
  --bot-tab-toggle-width: 40px;
  flex-basis: min(146px, calc((100% - 6px) / 3));
}

.app[data-view-mode="compact"] .bot-tab-select {
  padding: 3px 4px 3px 5px;
}

.app[data-view-mode="compact"] .bot-tab-select strong {
  font-size: 9px;
}

.app[data-view-mode="compact"] .bot-tab-toggle {
  min-width: var(--bot-tab-toggle-width);
  width: var(--bot-tab-toggle-width);
  padding: 0 1px;
  font-size: 7px;
}

.app[data-view-mode="compact"] .bot-tab-state {
  min-height: 10px;
  padding: 0 2px;
  font-size: 5px;
  letter-spacing: 0.08em;
}

.app[data-view-mode="compact"] .bot-tab-state.route {
  font-size: 6px;
  letter-spacing: 0.02em;
}

.app[data-view-mode="compact"] .bot-tab-waypoint {
  font-size: 6px;
}

.app[data-view-mode="compact"] .bot-tab-metrics {
  gap: 1px;
}

.app[data-view-mode="compact"] .bot-tab-vitals {
  min-height: 11px;
  padding: 0 2px;
  grid-template-columns: minmax(22px, max-content) minmax(22px, max-content) minmax(22px, max-content);
  gap: 2px;
}

.app[data-view-mode="compact"] .bot-tab-metric {
  min-height: 11px;
  padding: 0 2px;
  justify-content: center;
  font-size: 6px;
}

.app[data-view-mode="compact"] .bot-tab-metric.route {
  display: inline-flex;
}

.app[data-view-mode="compact"] .console-layout {
  display: none;
}

.app[data-view-mode="compact"] .compact-layout {
  display: grid;
}

.compact-hero,
.compact-split-card {
  min-width: 0;
  min-height: 0;
}

.compact-hero {
  padding: 3px;
  display: grid;
  gap: 2px;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(247, 213, 138, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 36%),
    linear-gradient(180deg, #241b13, #130f0c);
}

.compact-hero-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
}

.compact-hero-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.compact-hero-title {
  min-width: 0;
  color: var(--accent-text);
  font-size: 15px;
  font-weight: var(--weight-strong);
  line-height: 1.04;
}

.compact-hero-tag {
  flex: 0 0 auto;
}

.compact-hero-status {
  white-space: normal;
}

.compact-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2px;
}

.compact-summary-cell {
  min-height: 40px;
  padding: 4px 5px;
  gap: 1px;
}

.compact-summary-cell strong {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.compact-board {
  min-width: 0;
  min-height: 0;
  padding: 3px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 3px;
  overflow: auto;
  align-content: start;
  background:
    radial-gradient(circle at top left, rgba(247, 213, 138, 0.09), transparent 32%),
    radial-gradient(circle at bottom right, rgba(143, 190, 100, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 32%),
    linear-gradient(180deg, #18130e, #0f0b08);
}

.compact-grid {
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  align-content: start;
}

.compact-command-button,
.compact-card-open,
.compact-card-toggle {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1px;
  text-align: left;
  text-wrap: balance;
}

.compact-card-open,
.compact-card-toggle {
  appearance: none;
}

.compact-command-button {
  min-height: 68px;
  padding: 5px 6px;
  border-color: rgba(169, 141, 99, 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 42%),
    linear-gradient(180deg, rgba(24, 18, 12, 0.94), rgba(13, 10, 7, 0.98));
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    var(--control-shadow);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.compact-command-button:hover:not(:disabled) {
  border-color: rgba(247, 213, 138, 0.44);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.5),
    var(--control-shadow-hover);
  transform: var(--control-lift-hover);
}

.compact-command-button:active:not(:disabled),
.compact-command-button[data-pressed="true"]:not(:disabled) {
  border-color: rgba(247, 213, 138, 0.6);
  box-shadow:
    inset 0 1px 1px rgba(0, 0, 0, 0.36),
    var(--control-shadow-pressed);
  transform: var(--control-lift-pressed);
}

.compact-command-button span,
.compact-card-open span,
.compact-card-toggle span {
  font-size: 7px;
  font-weight: var(--weight-strong);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.compact-command-button strong,
.compact-card-open strong,
.compact-card-toggle strong {
  font-size: 9px;
  line-height: 1.12;
  overflow-wrap: anywhere;
  white-space: normal;
}

.compact-command-button strong {
  color: var(--text);
}

.compact-command-button.active strong,
.compact-card-toggle.active strong {
  color: #eff8d3;
}

.compact-command-button-accent {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 42%),
    linear-gradient(180deg, rgba(45, 62, 45, 0.88), rgba(13, 17, 12, 0.96));
}

.compact-command-button-route {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 42%),
    linear-gradient(180deg, rgba(78, 52, 22, 0.9), rgba(18, 13, 9, 0.97));
}

.compact-command-button-secondary {
  min-height: 64px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 44%),
    linear-gradient(180deg, rgba(19, 15, 11, 0.92), rgba(11, 9, 7, 0.98));
}

.compact-split-card {
  position: relative;
  display: grid;
  min-height: 0;
  aspect-ratio: 1 / 1;
  padding: 0;
  border: 1px solid rgba(112, 93, 64, 0.7);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 44%),
    linear-gradient(180deg, rgba(25, 19, 13, 0.96), rgba(11, 8, 6, 0.98));
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.compact-split-card-route {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 44%),
    linear-gradient(180deg, rgba(58, 39, 18, 0.9), rgba(15, 11, 8, 0.96));
}

.compact-split-card-single {
  display: grid;
}

.compact-card-open {
  grid-area: 1 / 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 8px;
  border: 0;
  background: transparent;
  color: var(--text);
  box-shadow: none;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.compact-split-card:not(.compact-split-card-single) .compact-card-open {
  z-index: 2;
  pointer-events: none;
}

.compact-card-open span {
  color: #f4e7ca;
  font-size: 8px;
  font-weight: var(--weight-strong);
  line-height: 1.08;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.compact-card-open strong {
  display: none;
}

.compact-split-card:has(.compact-card-open:hover:not(:disabled)),
.compact-split-card:has(.compact-card-toggle:hover:not(:disabled)) {
  border-color: rgba(247, 213, 138, 0.54);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(247, 213, 138, 0.1);
  transform: var(--control-lift-hover);
}

.compact-split-card:has(.compact-card-open:active:not(:disabled)),
.compact-split-card:has(.compact-card-toggle:active:not(:disabled)) {
  box-shadow:
    inset 0 1px 1px rgba(0, 0, 0, 0.42),
    inset 0 0 0 999px rgba(0, 0, 0, 0.08);
  transform: var(--control-lift-pressed);
}

.compact-card-open:focus-visible,
.compact-command-button:focus-visible,
.compact-card-toggle:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.compact-card-toggle {
  grid-area: 1 / 1;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: transparent;
  text-align: center;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.compact-split-card .btn.compact-card-toggle,
.compact-split-card .btn.compact-card-toggle.active,
.compact-split-card .btn.compact-card-toggle:hover:not(:disabled),
.compact-split-card .btn.compact-card-toggle:active:not(:disabled),
.compact-split-card .btn.compact-card-toggle[data-pressed="true"]:not(:disabled) {
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: transparent;
  transform: none;
}

.compact-card-toggle span,
.compact-card-toggle strong {
  display: none;
}

.compact-split-card-single .compact-card-open {
  z-index: 1;
  justify-content: center;
}

.compact-card-open.danger span {
  color: #fff0ec;
}

#compact-close-window {
  grid-column: auto;
}

.panel-card,
.module-card,
.sub-card,
.modal-panel {
  min-width: 0;
  margin: 0;
}

.desk-panel {
  min-height: 0;
  padding: 5px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  overflow: hidden;
}

.desk-panel legend {
  padding: 0 8px;
  color: #d2c3a3;
  font-size: 7px !important;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.section-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 16px;
  padding: 0 1px;
}

.section-line.compact {
  min-height: 0;
  padding: 0;
  align-items: flex-start;
}

.section-title,
.module-title {
  color: var(--accent-text);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.section-meta {
  max-width: 100%;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.btn {
  min-height: 26px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  overflow: hidden;
  border: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 45%),
    linear-gradient(180deg, #43311c, #251b10);
  color: var(--text);
  padding: 5px 10px;
  cursor: pointer;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transform: translateY(0);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, color 140ms ease, opacity 140ms ease, transform 140ms ease;
  box-shadow: var(--control-shadow);
  will-change: auto;
}

.btn::before,
.btn::after {
  position: absolute;
  pointer-events: none;
}

.btn::before {
  content: "";
  inset: 0;
  opacity: 0;
  transform: translateX(-101%);
  background: linear-gradient(90deg, transparent, rgba(247, 213, 138, 0.18), transparent);
}

.btn::after {
  content: "";
  inset: 0;
  opacity: 0;
}

.btn:hover:not(:disabled) {
  border-color: var(--line-bright);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 45%),
    linear-gradient(180deg, #493621, #2a1f13);
  box-shadow: var(--control-shadow-hover);
  transform: var(--control-lift-hover);
}

.btn:active:not(:disabled),
.btn[data-pressed="true"]:not(:disabled) {
  border-color: rgba(247, 213, 138, 0.76);
  box-shadow: var(--control-shadow-pressed);
  transform: var(--control-lift-pressed);
}

.btn:disabled {
  cursor: not-allowed;
  opacity: 0.56;
  transform: none;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.04),
    inset -1px -1px 0 rgba(0, 0, 0, 0.52);
}

.btn[data-busy="true"],
.bot-tab-select[data-busy="true"] {
  cursor: wait;
  transform: none;
}

.btn[data-pending="true"] {
  cursor: progress;
}

.btn.primary,
.btn.active,
.tile-btn.active {
  border-color: #8cbb60;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 45%),
    linear-gradient(180deg, #48662a, #2d4018);
  color: #f5fde7;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.1),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    0 0 0 1px rgba(143, 190, 100, 0.12);
}

.btn.primary:hover:not(:disabled),
.btn.active:hover:not(:disabled),
.tile-btn.active:hover:not(:disabled) {
  border-color: #a7d678;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.12),
    inset -1px -1px 0 rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(143, 190, 100, 0.18),
    0 8px 18px rgba(0, 0, 0, 0.16);
}

.btn.primary:active:not(:disabled),
.btn.primary[data-pressed="true"]:not(:disabled),
.btn.active:active:not(:disabled),
.btn.active[data-pressed="true"]:not(:disabled),
.tile-btn.active:active:not(:disabled),
.tile-btn.active[data-pressed="true"]:not(:disabled) {
  border-color: #bfe48a;
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.32),
    inset 0 0 0 999px rgba(0, 0, 0, 0.07),
    0 0 0 1px rgba(143, 190, 100, 0.18);
}

.btn.danger {
  border-color: #a15f4f;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 45%),
    linear-gradient(180deg, #633629, #422118);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    0 0 0 1px rgba(187, 109, 88, 0.12);
}

.btn.danger:hover:not(:disabled) {
  border-color: #c07d6b;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    0 0 0 1px rgba(187, 109, 88, 0.18),
    0 8px 18px rgba(0, 0, 0, 0.16);
}

.btn.danger:active:not(:disabled),
.btn.danger[data-pressed="true"]:not(:disabled) {
  border-color: #d99988;
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.32),
    inset 0 0 0 999px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(187, 109, 88, 0.18);
}

.btn.danger.active {
  border-color: #d47964;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 45%),
    linear-gradient(180deg, #874535, #5a281d);
  color: #fff0ec;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.1),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(187, 109, 88, 0.2);
}

.btn.danger.active:hover:not(:disabled) {
  border-color: #ee9f8c;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.12),
    inset -1px -1px 0 rgba(0, 0, 0, 0.38),
    0 0 0 1px rgba(187, 109, 88, 0.24),
    0 8px 18px rgba(0, 0, 0, 0.18);
}

.btn.compact {
  min-height: 22px;
  padding: 4px 7px;
  font-size: 10px;
}

.btn.primary.solid {
  min-width: 74px;
}

#new-session {
  border-color: #8cbb60;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 45%),
    linear-gradient(180deg, #48662a, #2d4018);
  color: #f5fde7;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.1),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    0 0 0 1px rgba(143, 190, 100, 0.12);
}

#new-session:hover:not(:disabled) {
  border-color: #a7d678;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 45%),
    linear-gradient(180deg, #527532, #33491b);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.12),
    inset -1px -1px 0 rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(143, 190, 100, 0.18),
    0 8px 18px rgba(0, 0, 0, 0.16);
}

#new-session:active:not(:disabled),
#new-session[data-pressed="true"]:not(:disabled) {
  border-color: #bfe48a;
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.32),
    inset 0 0 0 999px rgba(0, 0, 0, 0.07),
    0 0 0 1px rgba(143, 190, 100, 0.18);
}

#new-route {
  border-color: #8d78b8;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 45%),
    linear-gradient(180deg, #5e4a85, #3d2f58);
  color: #f0e8ff;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    0 0 0 1px rgba(167, 144, 220, 0.14);
}

#new-route:hover:not(:disabled) {
  border-color: #a68ed3;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 45%),
    linear-gradient(180deg, #6a5494, #473666);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.1),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(167, 144, 220, 0.2),
    0 8px 18px rgba(0, 0, 0, 0.16);
}

#new-route:active:not(:disabled),
#new-route[data-pressed="true"]:not(:disabled) {
  border-color: #beabdf;
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.32),
    inset 0 0 0 999px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(167, 144, 220, 0.22);
}

#window-close {
  border-color: #a15f4f;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 45%),
    linear-gradient(180deg, #633629, #422118);
  color: #fff0ec;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    0 0 0 1px rgba(187, 109, 88, 0.12);
}

#window-close:hover:not(:disabled) {
  border-color: #c07d6b;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 45%),
    linear-gradient(180deg, #754033, #4d261c);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    0 0 0 1px rgba(187, 109, 88, 0.18),
    0 8px 18px rgba(0, 0, 0, 0.16);
}

#window-close:active:not(:disabled),
#window-close[data-pressed="true"]:not(:disabled) {
  border-color: #d99988;
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.32),
    inset 0 0 0 999px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(187, 109, 88, 0.18);
}

#refresh {
  border-color: #4f9693;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 45%),
    linear-gradient(180deg, #2f6d6c, #1d4948);
  color: #ddfffb;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    0 0 0 1px rgba(92, 184, 180, 0.14);
}

#refresh:hover:not(:disabled) {
  border-color: #65b2ae;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 45%),
    linear-gradient(180deg, #377e7c, #225353);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.1),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(92, 184, 180, 0.2),
    0 8px 18px rgba(0, 0, 0, 0.16);
}

#refresh:active:not(:disabled),
#refresh[data-pressed="true"]:not(:disabled) {
  border-color: #84cbc7;
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.32),
    inset 0 0 0 999px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(92, 184, 180, 0.22);
}

#compact-view {
  border-color: #43a49e;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 45%),
    linear-gradient(180deg, #2a5a57, #193836);
  color: #e5fffd;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    0 0 0 1px rgba(92, 184, 180, 0.14);
}

#compact-view:hover:not(:disabled) {
  border-color: #63d1cb;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 45%),
    linear-gradient(180deg, #326e69, #204743);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.1),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(92, 184, 180, 0.18),
    0 8px 18px rgba(0, 0, 0, 0.16);
}

#compact-view:active:not(:disabled),
#compact-view[data-pressed="true"]:not(:disabled),
#compact-view.active:not(:disabled) {
  border-color: #84cbc7;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 45%),
    linear-gradient(180deg, #377d78, #2a5a57);
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.32),
    inset 0 0 0 999px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(92, 184, 180, 0.22);
}

#window-pin {
  border-color: #61769f;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 45%),
    linear-gradient(180deg, #455878, #2a3349);
  color: #eef4ff;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    0 0 0 1px rgba(123, 151, 207, 0.14);
}

#window-pin:hover:not(:disabled) {
  border-color: #8096bf;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 45%),
    linear-gradient(180deg, #516686, #323d56);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.1),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(123, 151, 207, 0.2),
    0 8px 18px rgba(0, 0, 0, 0.16);
}

#window-pin:active:not(:disabled),
#window-pin[data-pressed="true"]:not(:disabled),
#window-pin[aria-pressed="true"]:not(:disabled),
#window-pin.active:not(:disabled) {
  border-color: #a9bbe0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 45%),
    linear-gradient(180deg, #5c7193, #384460);
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.32),
    inset 0 0 0 999px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(123, 151, 207, 0.22);
}

#desk-presets {
  border-color: #5674b7;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 45%),
    linear-gradient(180deg, #3b5693, #24355d);
  color: #eef4ff;
}

#compact-window-pin.active {
  border-color: rgba(123, 151, 207, 0.52);
  box-shadow: 0 0 0 1px rgba(123, 151, 207, 0.16);
}

.btn[data-busy="true"]::before {
  opacity: 0.16;
  transform: none;
  animation: none;
}

.btn[data-pending="true"]::before {
  opacity: 0.12;
  transform: none;
}

.btn[data-feedback="success"] {
  animation: button-confirm 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.btn[data-feedback="success"]::after {
  background:
    linear-gradient(110deg, transparent 18%, rgba(216, 239, 183, 0.18) 42%, rgba(216, 239, 183, 0.05) 62%, transparent 84%);
  transform: translateX(-34%);
  animation: button-confirm-sheen 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.btn[data-feedback="error"] {
  animation: button-reject 260ms ease-out both;
}

select[data-feedback="success"] {
  border-color: rgba(143, 190, 100, 0.72);
  box-shadow: 0 0 0 1px rgba(143, 190, 100, 0.14);
}

select[data-feedback="error"] {
  border-color: rgba(223, 141, 118, 0.78);
  box-shadow: 0 0 0 1px rgba(223, 141, 118, 0.14);
}

.control-group {
  min-width: 0;
  padding: 5px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  border: 1px solid var(--line-soft);
  background: var(--surface-inset);
}

.control-card .control-group {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding-right: 1px;
}

.button-grid {
  display: grid;
  gap: 4px;
  align-content: start;
}

.quick-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
}

.quick-utility-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
}

.route-toggle-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(84px, max-content));
  gap: 3px;
  justify-content: start;
}

.route-waypoint-actions-cluster {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 3px;
  align-items: stretch;
}

.route-action-grid {
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
}

.tile-btn {
  min-height: 46px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  padding: 5px 7px;
}

.tile-btn.compact {
  min-height: 34px;
}

.tile-btn span {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tile-btn strong {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.05;
}

.tile-btn.active strong {
  color: #eff8d3;
}

.quick-module-card {
  min-height: 50px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px;
  gap: 4px;
  padding: 3px;
  border: 1px solid var(--line-soft);
  background: var(--surface-elevated);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
  will-change: auto;
}

.quick-module-card-single {
  grid-template-columns: minmax(0, 1fr);
}

.quick-module-card-session-save[data-save-mode="choice"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quick-module-card-session-save[data-save-mode="choice"] .quick-module-toggle {
  min-width: 0;
}

.quick-module-card-session-save[data-save-mode="choice"] .quick-module-toggle span {
  font-size: 7px;
  letter-spacing: 0.05em;
}

.quick-module-card-placeholder {
  visibility: hidden;
  pointer-events: none;
}

.quick-module-slot-placeholder,
.quick-module-global-placeholder {
  visibility: visible;
  grid-template-columns: minmax(0, 1fr);
  border-style: dashed;
  border-color: rgba(128, 138, 150, 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 48%),
    rgba(13, 17, 22, 0.54);
  box-shadow: none;
}

.quick-module-slot-placeholder:hover,
.quick-module-slot-placeholder:focus-within,
.quick-module-global-placeholder:hover,
.quick-module-global-placeholder:focus-within {
  transform: none;
  border-color: rgba(128, 138, 150, 0.34);
  box-shadow: none;
}

.quick-module-placeholder-body {
  grid-column: 1 / -1;
  min-width: 0;
  min-height: 38px;
  padding: 5px 7px;
  display: grid;
  align-content: center;
  gap: 2px;
  color: rgba(226, 230, 234, 0.58);
}

.quick-module-placeholder-body span {
  min-width: 0;
  color: rgba(226, 230, 234, 0.64);
  font-size: 8px;
  font-weight: var(--weight-strong);
  line-height: 1.05;
  text-transform: uppercase;
}

.quick-module-placeholder-body strong {
  min-width: 0;
  color: rgba(156, 163, 173, 0.66);
  font-size: 10px;
  font-weight: var(--weight-medium);
  line-height: 1.1;
}

.route-toggle-card {
  min-width: 0;
  min-height: 42px;
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  padding: 2px;
  border: 1px solid var(--line-soft);
  background: var(--surface-elevated);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
  will-change: auto;
}

.route-toggle-card-wide {
  width: 101px;
  min-height: 50px;
}

.route-toggle-card[role="button"] {
  cursor: pointer;
}

.route-reset-card {
  grid-template-columns: minmax(0, 1fr);
  width: 63px;
}

.route-add-waypoint-card {
  width: 63px;
}

.quick-session-waypoints-button {
  min-width: 58px;
  min-height: 48px;
  padding: 4px 5px;
  align-items: center;
  text-align: center;
  border-color: rgba(169, 141, 99, 0.42);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 45%),
    linear-gradient(180deg, #3a2f20, #1f1811);
  color: rgba(243, 223, 180, 0.92);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.05),
    inset -1px -1px 0 rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(169, 141, 99, 0.12);
}

.quick-session-waypoints-button strong {
  color: rgba(243, 223, 180, 0.92);
}

.quick-session-waypoints-button:hover:not(:disabled) {
  border-color: rgba(206, 180, 116, 0.74);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 45%),
    linear-gradient(180deg, #463826, #281f16);
}

.quick-session-waypoints-button.active {
  border-color: rgba(133, 181, 92, 0.76);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 45%),
    linear-gradient(180deg, #436428, #243715);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.07),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(133, 181, 92, 0.18);
}

.quick-session-waypoints-button.active strong {
  color: #eff8d3;
}

.route-panel-button {
  border-color: rgba(112, 122, 135, 0.76);
  background: #1a222b;
  color: #e5e7eb;
  box-shadow: none;
}

.route-panel-button strong {
  color: #e5e7eb;
}

.route-panel-button:hover:not(:disabled) {
  border-color: rgba(128, 138, 150, 0.9);
  background: #1d2630;
}

.route-save-button {
  border-color: rgba(104, 190, 99, 0.8);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent 45%),
    linear-gradient(180deg, #2e7a2c, #1b4f1b);
  color: #efffe7;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.1),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(104, 190, 99, 0.14);
}

.route-save-button strong {
  color: #efffe7;
}

.route-save-button:hover:not(:disabled) {
  border-color: #8cde88;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 45%),
    linear-gradient(180deg, #379035, #205d20);
}

.route-stop-aggro-button {
  border-color: rgba(216, 157, 61, 0.76);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 45%),
    linear-gradient(180deg, #8e5d15, #5a390d);
  color: #fff3d4;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(216, 157, 61, 0.14);
}

.route-stop-aggro-button:hover:not(:disabled) {
  border-color: #efbc67;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), transparent 45%),
    linear-gradient(180deg, #a46c18, #68410e);
}

.route-reset-panel-button {
  border-color: rgba(209, 186, 109, 0.76);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 45%),
    linear-gradient(180deg, #8a7740, #5b4d28);
  color: #fff8df;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.09),
    inset -1px -1px 0 rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(209, 186, 109, 0.14);
}

.route-reset-panel-button:hover:not(:disabled) {
  border-color: #ecd28e;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent 45%),
    linear-gradient(180deg, #9d8850, #695931);
}

.route-off-button {
  border-color: rgba(187, 109, 88, 0.72);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 45%),
    linear-gradient(180deg, #683427, #451f17);
  color: #fff0ec;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(187, 109, 88, 0.12);
}

.route-off-button:hover:not(:disabled) {
  border-color: #d58a77;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 45%),
    linear-gradient(180deg, #7b4130, #51231a);
}

.quick-module-open {
  min-width: 0;
  min-height: 40px;
  position: relative;
  padding: 4px 6px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transform: translateY(0);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, color 140ms ease, opacity 140ms ease;
}

.quick-module-open-single {
  min-height: 46px;
  padding-right: 6px;
}

.route-toggle-open {
  min-width: 0;
  min-height: 36px;
  position: relative;
  padding: 3px 4px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transform: translateY(0);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, color 140ms ease, opacity 140ms ease;
}

.route-toggle-card-wide .route-toggle-open,
.route-toggle-card-wide .route-toggle-button {
  min-height: 43px;
}

.route-toggle-open-stacked {
  flex-direction: column;
  gap: 2px;
}

.route-toggle-open::after {
  display: none;
}

.route-toggle-open::after,
.interactive-summary-card::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 9px;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  opacity: 0.34;
  transform: translateY(-50%) rotate(45deg);
  transition: opacity 140ms ease, transform 140ms ease;
}

.quick-module-card:hover,
.route-toggle-card:hover,
.quick-module-card:focus-within,
.route-toggle-card:focus-within {
  border-color: rgba(169, 141, 99, 0.62);
  box-shadow:
    var(--shadow-card),
    0 10px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-1px);
}

.route-toggle-card[role="button"]:focus-visible {
  outline: none;
  box-shadow:
    var(--shadow-card),
    var(--focus-ring);
}

.quick-module-open:hover,
.route-toggle-open:hover,
.quick-module-open:focus-visible,
.route-toggle-open:focus-visible {
  border-color: var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: inset 0 0 0 1px rgba(247, 213, 138, 0.08);
  /* No transform here — the parent card already lifts on hover */
}

.quick-module-open:active:not(:disabled),
.quick-module-open[data-pressed="true"]:not(:disabled),
.route-toggle-open:active:not(:disabled),
.route-toggle-open[data-pressed="true"]:not(:disabled) {
  border-color: rgba(169, 141, 99, 0.72);
  background: rgba(0, 0, 0, 0.12);
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.28);
  /* No transform — card handles scale */
}

.route-toggle-open:hover::after,
.route-toggle-open:focus-visible::after,
.interactive-summary-card:hover::after,
.interactive-summary-card:focus-visible::after,
.interactive-summary-card:focus-within::after {
  opacity: 0.78;
  transform: translateY(-50%) rotate(45deg) scale(1.08);
}

.quick-module-open span,
.quick-module-toggle span {
  color: var(--text);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.route-toggle-open span,
.route-toggle-button span {
  color: var(--text);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quick-module-open strong {
  max-width: 100%;
  display: -webkit-box;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.05;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
  white-space: normal;
}

.route-toggle-open strong {
  max-width: 100%;
  color: var(--text);
  font-size: 11px;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

.quick-module-open small {
  max-width: 100%;
  color: var(--text);
  font-size: 9px;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quick-module-open small,
.console-head-copy .section-meta,
.route-overview-note {
  display: none !important;
}

.route-toggle-open small {
  display: block;
  max-width: 100%;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

.quick-module-toggle {
  min-width: 58px;
  min-height: 48px;
  padding: 4px 5px;
  align-items: center;
  text-align: center;
}

.quick-module-toggle strong {
  font-size: 10px;
}

.route-toggle-button {
  min-height: 36px;
  min-width: 0;
  padding: 0;
  align-self: stretch;
  justify-content: center;
}

.route-toggle-open span {
  text-align: center;
  white-space: normal;
  line-height: 1.05;
}

.route-toggle-button strong {
  font-size: 10px;
}

.route-toggle-button:not(.route-reset-button) span,
.route-toggle-button:not(.route-reset-button) strong {
  display: none;
}

.route-reset-button {
  min-width: 0;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 2px;
}

.quick-module-card[data-state="off"],
.route-toggle-card[data-state="off"],
.compact-split-card[data-state="off"] {
  border-color: rgba(150, 103, 58, 0.5);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 42%),
    linear-gradient(180deg, rgba(70, 45, 24, 0.44), rgba(24, 16, 10, 0.92)),
    #17100a;
  box-shadow:
    var(--shadow-card),
    0 0 0 1px rgba(150, 103, 58, 0.1);
}

.quick-module-card[data-state="off"] .quick-module-open strong,
.quick-module-card[data-state="off"] .quick-module-open small,
.route-toggle-card[data-state="off"] .route-toggle-open strong,
.route-toggle-card[data-state="off"] .route-toggle-open small,
.compact-split-card[data-state="off"] .compact-card-open span,
.compact-split-card[data-state="off"] .compact-card-open strong {
  color: #e3c29a;
}

.route-add-button {
  border-color: rgba(93, 176, 167, 0.74);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 45%),
    linear-gradient(180deg, #2a6f6a, #184845);
  color: #e8fffb;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.1),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    0 0 0 1px rgba(93, 176, 167, 0.12);
}

.route-add-button:hover:not(:disabled) {
  border-color: #7ccdc4;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 45%),
    linear-gradient(180deg, #33807a, #1b514d);
}

.route-add-button-stacked {
  flex-direction: column;
  gap: 1px;
}

.quick-module-card[data-state="on"],
.quick-module-card[data-state="all"],
.quick-module-card[data-state="current"],
.quick-module-card[data-state="returning"],
.route-toggle-card[data-state="on"],
.compact-split-card[data-state="on"],
.compact-split-card[data-state="all"],
.compact-split-card[data-state="current"],
.compact-split-card[data-state="returning"] {
  border-color: rgba(143, 190, 100, 0.58);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 40%),
    linear-gradient(180deg, rgba(72, 102, 42, 0.3), rgba(17, 22, 12, 0.88)),
    #17120d;
  box-shadow:
    var(--shadow-card),
    0 0 0 1px rgba(143, 190, 100, 0.12);
}

.quick-module-card[data-state="on"] .quick-module-open strong,
.quick-module-card[data-state="on"] .quick-module-open small,
.quick-module-card[data-state="all"] .quick-module-open strong,
.quick-module-card[data-state="all"] .quick-module-open small,
.quick-module-card[data-state="current"] .quick-module-open strong,
.quick-module-card[data-state="current"] .quick-module-open small,
.quick-module-card[data-state="returning"] .quick-module-open strong,
.quick-module-card[data-state="returning"] .quick-module-open small,
.route-toggle-card[data-state="on"] .route-toggle-open strong,
.route-toggle-card[data-state="on"] .route-toggle-open small,
.route-toggle-card[data-state="on"] .route-reset-button strong,
.compact-split-card[data-state="on"] .compact-card-open span,
.compact-split-card[data-state="on"] .compact-card-open strong,
.compact-split-card[data-state="all"] .compact-card-open span,
.compact-split-card[data-state="all"] .compact-card-open strong,
.compact-split-card[data-state="current"] .compact-card-open span,
.compact-split-card[data-state="current"] .compact-card-open strong,
.compact-split-card[data-state="returning"] .compact-card-open span,
.compact-split-card[data-state="returning"] .compact-card-open strong {
  color: #eff8d3;
}

.quick-module-card[data-state="inherited"],
.compact-split-card[data-state="inherited"] {
  border-color: rgba(111, 174, 178, 0.62);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 40%),
    linear-gradient(180deg, rgba(28, 78, 85, 0.46), rgba(13, 23, 27, 0.92)),
    #121418;
  box-shadow:
    var(--shadow-card),
    0 0 0 1px rgba(111, 174, 178, 0.14);
}

/* Team Hunt tile cycles Solo -> Split -> Team Hunt. "split" gets a distinct
   violet accent so it reads apart from the green "on" (squad) state; "solo"
   inherits a dimmed inactive look since team coordination is off. */
.quick-module-card[data-state="solo"],
.compact-split-card[data-state="solo"] {
  border-color: rgba(120, 132, 148, 0.42);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 40%),
    linear-gradient(180deg, rgba(34, 40, 50, 0.42), rgba(13, 16, 21, 0.92)),
    #0f1115;
}

.quick-module-card[data-state="solo"] .quick-module-open strong,
.quick-module-card[data-state="solo"] .quick-module-open small,
.compact-split-card[data-state="solo"] .compact-card-open span,
.compact-split-card[data-state="solo"] .compact-card-open strong {
  color: rgba(202, 212, 226, 0.7);
}

.quick-module-card[data-state="split"],
.compact-split-card[data-state="split"] {
  border-color: rgba(160, 138, 214, 0.62);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 40%),
    linear-gradient(180deg, rgba(58, 44, 92, 0.48), rgba(18, 14, 27, 0.92)),
    #14111b;
  box-shadow:
    var(--shadow-card),
    0 0 0 1px rgba(160, 138, 214, 0.14);
}

.quick-module-card[data-state="split"] .quick-module-open strong,
.quick-module-card[data-state="split"] .quick-module-open small,
.compact-split-card[data-state="split"] .compact-card-open span,
.compact-split-card[data-state="split"] .compact-card-open strong {
  color: #e7defb;
}

.quick-module-card[data-state="hidden-owner"],
.compact-split-card[data-state="hidden-owner"] {
  border-color: rgba(129, 162, 196, 0.56);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 40%),
    linear-gradient(180deg, rgba(42, 60, 86, 0.44), rgba(16, 20, 28, 0.92)),
    #121317;
  box-shadow:
    var(--shadow-card),
    0 0 0 1px rgba(129, 162, 196, 0.12);
}

.quick-module-card[data-state="blocked"],
.route-toggle-card[data-state="blocked"],
.compact-split-card[data-state="blocked"] {
  border-color: rgba(214, 165, 102, 0.58);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 40%),
    linear-gradient(180deg, rgba(88, 57, 22, 0.46), rgba(26, 18, 12, 0.92)),
    #17120d;
  box-shadow:
    var(--shadow-card),
    0 0 0 1px rgba(214, 165, 102, 0.12);
}

.quick-module-card[data-state="snoozed"],
.compact-split-card[data-state="snoozed"] {
  border-color: rgba(110, 199, 230, 0.58);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 40%),
    linear-gradient(180deg, rgba(31, 83, 96, 0.42), rgba(11, 22, 27, 0.92)),
    #0d171b;
  box-shadow:
    var(--shadow-card),
    0 0 0 1px rgba(110, 199, 230, 0.12);
}

.quick-module-card[data-state="inherited"] .quick-module-open strong,
.quick-module-card[data-state="inherited"] .quick-module-open small,
.compact-split-card[data-state="inherited"] .compact-card-open span,
.compact-split-card[data-state="inherited"] .compact-card-open strong,
.quick-module-card[data-state="hidden-owner"] .quick-module-open strong,
.quick-module-card[data-state="hidden-owner"] .quick-module-open small,
.compact-split-card[data-state="hidden-owner"] .compact-card-open span,
.compact-split-card[data-state="hidden-owner"] .compact-card-open strong,
.quick-module-card[data-state="blocked"] .quick-module-open strong,
.quick-module-card[data-state="blocked"] .quick-module-open small,
.route-toggle-card[data-state="blocked"] .route-toggle-open strong,
.route-toggle-card[data-state="blocked"] .route-toggle-open small,
.compact-split-card[data-state="blocked"] .compact-card-open span,
.compact-split-card[data-state="blocked"] .compact-card-open strong,
.quick-module-card[data-state="snoozed"] .quick-module-open strong,
.quick-module-card[data-state="snoozed"] .quick-module-open small,
.compact-split-card[data-state="snoozed"] .compact-card-open span,
.compact-split-card[data-state="snoozed"] .compact-card-open strong {
  color: #d9f8ff;
}

.quick-module-card-master-stop {
  border-color: rgba(187, 109, 88, 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 40%),
    linear-gradient(180deg, rgba(80, 35, 26, 0.44), rgba(19, 14, 12, 0.92)),
    #18110f;
}

.quick-module-card-master-stop .quick-module-open strong,
.quick-module-card-master-stop .quick-module-open small {
  color: rgba(255, 226, 219, 0.92);
}

.quick-module-card-rookiller {
  order: 90;
  grid-column: 1;
}

.quick-module-card-casino .quick-module-open strong {
  letter-spacing: 0.02em;
}

.quick-module-card-casino[data-state="on"] {
  border-color: rgba(196, 162, 86, 0.74);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 40%),
    linear-gradient(180deg, rgba(196, 162, 86, 0.18), rgba(196, 162, 86, 0.04));
}

.quick-module-card-canvas-rendering {
  order: 91;
  grid-column: 2;
}

@keyframes rainbow-card-flow {
  0% { background-position: 0% 50%; }
  100% { background-position: 300% 50%; }
}

.quick-module-card-rainbow .quick-module-open strong {
  background: linear-gradient(
    90deg,
    #ff5252, #ff9f1c, #ffe14d, #5dff8f, #4ad9ff, #7a7bff, #ff6fe0, #ff5252
  );
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: rainbow-card-flow 1.2s linear infinite;
}

.quick-module-card-rainbow[data-state="on"] {
  border-color: rgba(255, 145, 220, 0.6);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 40%),
    linear-gradient(
      90deg,
      rgba(255, 82, 82, 0.22), rgba(255, 159, 28, 0.22), rgba(255, 225, 77, 0.22),
      rgba(93, 255, 143, 0.22), rgba(74, 217, 255, 0.22), rgba(122, 123, 255, 0.22),
      rgba(255, 111, 224, 0.22), rgba(255, 82, 82, 0.22)
  ),
    #141019;
  background-size: auto, 300% 100%, auto;
  animation: rainbow-card-flow 1.2s linear infinite;
}

.quick-module-card-master-stop[data-state="on"] {
  border-color: rgba(223, 141, 118, 0.76);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 40%),
    linear-gradient(180deg, rgba(122, 46, 31, 0.54), rgba(28, 14, 11, 0.92)),
    #1d1311;
  box-shadow:
    var(--shadow-card),
    0 0 0 1px rgba(223, 141, 118, 0.16);
}

.quick-module-card-master-stop[data-state="on"] .quick-module-open strong,
.quick-module-card-master-stop[data-state="on"] .quick-module-open small {
  color: #ffe7de;
}

.summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(114px, 1fr));
  gap: 4px;
}

.interactive-summary-card {
  position: relative;
  cursor: pointer;
  transform: translateY(0);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
  will-change: auto;
}

.interactive-summary-card:hover,
.interactive-summary-card:focus-visible,
.interactive-summary-card:focus-within {
  border-color: rgba(169, 141, 99, 0.72);
  box-shadow:
    var(--shadow-panel),
    0 14px 30px rgba(0, 0, 0, 0.14);
  transform: var(--control-lift-hover);
}

.interactive-summary-card:active,
.interactive-summary-card[data-pressed="true"] {
  transform: var(--control-lift-pressed);
}

.interactive-summary-card .summary-grid {
  position: relative;
  z-index: 1;
}

.card-link-hint {
  margin-top: auto;
  padding: 0 18px 0 1px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.route-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
}

.route-overview-card {
  min-width: 0;
  min-height: 0;
  padding: 6px;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 5px;
  align-self: stretch;
  align-content: stretch;
  overflow: hidden;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.05), transparent 22%),
    var(--surface-panel);
}

.route-overview-card::after {
  display: none;
}

.route-overview-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.route-overview-note {
  display: block;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.route-overview-metric,
.route-overview-metric-button {
  min-height: 0;
  padding: 5px 6px;
}

.route-overview-metric-button {
  appearance: none;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.route-overview-metric-button:hover,
.route-overview-metric-button:focus-visible {
  border-color: rgba(201, 169, 112, 0.72);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 50%),
    rgba(56, 42, 28, 0.96);
  box-shadow:
    var(--shadow-card),
    0 0 0 1px rgba(201, 169, 112, 0.12);
  transform: translateY(-1px);
}

.route-live-preview-shell {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  padding: 3px;
  gap: 3px;
  overflow: hidden;
  border-color: rgba(191, 173, 140, 0.3);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent 52%),
    linear-gradient(135deg, rgba(247, 213, 138, 0.04), rgba(255, 255, 255, 0) 66%),
    rgba(46, 35, 24, 0.52);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    inset 0 0 0 1px rgba(247, 213, 138, 0.04);
}

.route-overview-card-modal {
  align-content: start;
}

.route-overview-card-modal .route-live-preview-shell {
  min-height: 220px;
  max-height: 44dvh;
}

.route-live-preview-shell[data-marked="true"] {
  grid-template-rows: auto minmax(0, 1fr);
}

.route-live-preview-toolbar,
.route-stack-selection-bar {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
}

.route-live-selection-summary,
.route-stack-selection-summary {
  min-height: 30px;
  display: flex;
  align-items: center;
}

.route-live-selection-actions,
.route-stack-selection-actions {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}

.route-builder-body {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 5px;
  overflow: hidden;
  align-content: stretch;
}

.route-builder-head {
  align-items: baseline;
}

.route-builder-head .section-meta {
  display: block;
}

.route-command-grid,
.route-config-grid,
.route-workspace {
  min-height: 0;
  display: grid;
  gap: 5px;
}

.route-command-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
  align-items: start;
}

.route-config-grid {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.route-workspace {
  flex: 1 1 auto;
  overflow: hidden;
  grid-template-columns: minmax(0, 1.14fr) minmax(286px, 0.86fr);
  grid-auto-rows: minmax(0, 1fr);
  align-items: stretch;
}

.route-command-card,
.route-power-card,
.route-stack-card,
.route-editor-card,
.route-danger-zone-card {
  padding: 6px;
  gap: 6px;
}

.route-card-head {
  display: grid;
  gap: 2px;
}

.route-card-head-inline,
.route-pane-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.route-card-head-tight {
  gap: 2px;
}

.route-card-label {
  color: var(--accent-text);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.route-card-copy,
.route-pane-copy {
  display: block;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
  letter-spacing: 0.02em;
}

.route-card label {
  gap: 2px;
  font-size: 9px;
  letter-spacing: 0.05em;
}

.route-modal-head {
  display: grid;
  gap: 8px;
  align-items: stretch;
}

.route-modal-head-top {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
}

.route-modal-head-grid {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.9fr);
  gap: 8px;
  align-items: start;
}

.route-modal-head-block {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.route-modal-head-block-right {
  justify-self: end;
  width: min(100%, 430px);
}

.route-head-field {
  display: grid;
  gap: 2px;
  min-width: 0;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.route-head-field input,
.route-head-field select {
  min-height: 22px;
  padding: 3px 5px;
}

.route-head-meta-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px;
  align-items: stretch;
}

.route-modal-head-block-left .route-head-meta-row {
  display: flex;
  justify-content: flex-end;
}

.route-head-meta-row .btn {
  min-width: 0;
  white-space: nowrap;
}

.route-modal-head .route-library-meta,
.route-modal-head .route-file-note {
  min-height: 0;
  padding: 4px 5px;
}

.route-pack-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 6px;
}

.route-pack-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}

.route-pack-preview {
  min-height: 24px;
  max-height: 78px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 5px 7px;
  color: var(--muted);
  background: var(--panel-soft);
  font-size: 11px;
  line-height: 1.35;
}

.route-pack-preview strong {
  color: var(--text);
}

.route-card input,
.route-card select {
  min-height: 20px;
  padding: 3px 5px;
}

.route-card .btn {
  min-height: 20px;
  padding: 3px 6px;
}

.route-file-shell {
  display: grid;
  gap: 4px;
}

.route-command-actions,
.route-stack-actions,
.route-editor-actions {
  justify-content: flex-start;
}

.route-file-actions,
.route-command-actions,
.route-stack-toolbar,
.route-editor-actions {
  display: grid;
  gap: 4px;
}

.route-file-actions {
  grid-template-columns: minmax(0, 1fr);
}

.route-command-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.route-stack-toolbar {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.route-editor-actions {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.route-file-actions .btn,
.route-command-actions .btn,
.route-stack-toolbar .btn,
.route-editor-actions .btn {
  width: 100%;
  white-space: nowrap;
}

.route-drive-card {
  gap: 6px;
}

.route-tune-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.route-checks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 4px;
}

.route-avoid-fields-card {
  position: relative;
  min-height: 0;
  display: grid;
  gap: 6px;
  align-content: start;
}


.route-pane-head-avoid {
  align-items: center;
}

.route-avoid-toggle {
  min-height: 0;
  padding: 6px 8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(169, 141, 99, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 46%),
    rgba(18, 15, 11, 0.48);
  color: var(--muted);
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease, color 140ms ease;
}

.route-avoid-toggle:hover {
  border-color: rgba(201, 169, 112, 0.54);
  color: var(--text);
  transform: translateY(-1px);
}

.route-avoid-toggle:has(input[type="checkbox"]:checked) {
  border-color: rgba(143, 190, 100, 0.52);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 44%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.16), rgba(0, 0, 0, 0) 72%),
    rgba(24, 31, 19, 0.88);
  color: #f2f9e6;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    0 0 0 1px rgba(143, 190, 100, 0.12);
}

.route-avoid-toggle:has(input[type="checkbox"]:focus-visible) {
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    var(--focus-ring);
}

.route-avoid-toggle-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.route-avoid-toggle-copy strong {
  color: inherit;
  font-size: 10px;
  line-height: 1.15;
}

.route-avoid-toggle-copy small {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
}

.route-avoid-toggle:has(input[type="checkbox"]:checked) .route-avoid-toggle-copy small {
  color: rgba(232, 247, 210, 0.84);
}

.route-avoid-toggle-control {
  display: grid;
  justify-items: end;
}

.route-avoid-toggle input[type="checkbox"],
.route-avoid-category input[type="checkbox"] {
  align-self: center;
}

.route-avoid-category-grid,
.route-avoid-metric-grid {
  display: grid;
  gap: 4px;
}

.route-avoid-category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.route-avoid-metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.route-avoid-category,
.route-avoid-metric {
  min-width: 0;
  padding: 5px 6px;
  display: grid;
  gap: 2px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 52%),
    rgba(13, 10, 7, 0.5);
}

.route-avoid-category {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  border-radius: 12px;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease, transform 140ms ease, opacity 140ms ease;
}

.route-avoid-category:hover {
  border-color: rgba(201, 169, 112, 0.44);
  transform: translateY(-1px);
}

.route-avoid-category:has(input[type="checkbox"]:checked) {
  border-color: rgba(143, 190, 100, 0.46);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 50%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.12), rgba(0, 0, 0, 0) 74%),
    rgba(20, 29, 17, 0.76);
}

.route-avoid-category:has(input[type="checkbox"]:focus-visible) {
  box-shadow: var(--focus-ring);
}

.route-avoid-category-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.route-avoid-category-copy strong {
  color: var(--text);
  font-size: 10px;
  line-height: 1.15;
}

.route-avoid-category-copy small {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
}

.route-avoid-category:has(input[type="checkbox"]:checked) .route-avoid-category-copy strong {
  color: #f0f8e3;
}

.route-avoid-category:has(input[type="checkbox"]:checked) .route-avoid-category-copy small {
  color: rgba(232, 247, 210, 0.84);
}

.route-avoid-category input[type="checkbox"] {
  align-self: center;
}

.route-avoid-category-grid[aria-disabled="true"] .route-avoid-category {
  opacity: 0.56;
}

.route-avoid-category-grid[aria-disabled="true"] .route-avoid-category:hover {
  transform: none;
}

.route-avoid-category-summary {
  margin-top: -1px;
}

.route-avoid-metric span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.route-avoid-metric strong {
  min-width: 0;
  color: var(--text);
  font-size: 10px;
  line-height: 1.2;
}

.route-panel-action-grid-avoid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.route-power-note {
  line-height: 1.2;
  font-size: 8px;
}

.route-power-foot {
  padding-top: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px;
  align-items: end;
}

.route-power-actions {
  justify-content: flex-end;
}

.route-pane-head {
  display: grid;
  align-items: flex-start;
  gap: 6px;
}

.route-pane-head>div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.route-card-tools,
.route-pane-tools {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
}

.route-card-tools-stretch,
.route-pane-tools-stretch,
.route-danger-tools {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  align-items: stretch;
  gap: 4px;
}

.route-pane-tools-single {
  grid-template-columns: minmax(0, 1fr);
}

.route-card-tools-stretch .btn,
.route-pane-tools-stretch .btn,
.route-danger-tools .btn {
  width: 100%;
  min-width: 0;
}

.route-panel-action-grid {
  display: grid;
  gap: 4px;
}

.route-panel-action-grid .btn {
  width: 100%;
  min-width: 0;
  white-space: nowrap;
}

.route-panel-action-grid-waypoints {
  grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 0.85fr));
}

.route-panel-action-grid-tile-rules {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.route-panel-action-grid-avoid .btn {
  min-height: 24px;
}

.route-editor-toolbar {
  display: flex;
  justify-content: flex-end;
}

.route-editor-header {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: start;
}

.route-editor-mode-toggle {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  width: min(100%, 248px);
}

.route-editor-mode-toggle .btn {
  min-width: 0;
}

.route-selection-summary {
  min-width: 0;
  padding: 4px 6px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background: rgba(255, 255, 255, 0.03);
  color: #f3dfb4;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.22;
}

.route-danger-zone-card {
  grid-column: 1 / -1;
  gap: 8px;
  overflow: auto;
  isolation: isolate;
  contain: layout paint;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.route-pane-head-danger {
  align-items: center;
}

.route-danger-tools {
  align-self: stretch;
}

.route-danger-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(170px, 1fr));
  gap: 6px;
}

.danger-card,
.target-danger-zone {
  min-width: 0;
  padding: 6px;
  border: 1px solid rgba(161, 95, 79, 0.54);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 48%),
    rgba(67, 35, 26, 0.42);
  box-shadow: var(--shadow-card);
}

.danger-card {
  position: relative;
  overflow: hidden;
  padding: 5px 6px 6px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: stretch;
}

.danger-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, rgba(247, 205, 118, 0.82), rgba(219, 112, 95, 0.4));
}

.danger-card .btn {
  width: 100%;
  margin-top: auto;
}

.danger-card-label {
  color: #f5c6bb;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.danger-card strong {
  min-width: 0;
  color: #fff0ec;
  font-size: 10px;
  line-height: 1.26;
}

.danger-confirm-label {
  display: grid;
  gap: 3px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.danger-confirm-label input {
  min-height: 20px;
}

.route-preview-shell {
  min-height: 0;
  padding: 6px;
  display: grid;
  gap: 4px;
  overflow: hidden;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(255, 255, 255, 0.02);
}

.route-waypoint-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
}

.route-item-shared-grid {
  grid-template-columns: minmax(0, 1fr) repeat(2, minmax(126px, 0.62fr)) minmax(54px, 0.34fr);
  align-items: end;
}

.route-coordinate-field {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.route-coordinate-field>label {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.route-coordinate-field input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

.route-coordinate-field input[type="number"]::-webkit-outer-spin-button,
.route-coordinate-field input[type="number"]::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.route-coordinate-nudge-control {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 4px;
}

.route-coordinate-nudge-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(30px, 1fr));
  gap: 3px;
}

#modal-autowalk .route-coordinate-nudge-button {
  min-width: 30px;
  min-height: 28px;
  padding: 0;
  display: grid;
  place-items: center;
  border-color: rgba(201, 169, 112, 0.28);
}

.route-coordinate-chevron {
  width: 10px;
  height: 10px;
  display: block;
  border: solid currentColor;
  border-width: 2px 2px 0 0;
}

.route-coordinate-chevron-up {
  transform: translateY(2px) rotate(-45deg);
}

.route-coordinate-chevron-down {
  transform: translateY(-2px) rotate(135deg);
}

.route-coordinate-chevron-left {
  transform: translateX(2px) rotate(-135deg);
}

.route-coordinate-chevron-right {
  transform: translateX(-2px) rotate(45deg);
}

.route-editor-shared-panel {
  display: grid;
  gap: 4px;
  padding: 5px 6px;
  border: 1px solid rgba(169, 141, 99, 0.2);
  background: rgba(255, 255, 255, 0.02);
}

.route-editor-panel {
  min-height: 0;
  display: grid;
  gap: 5px;
  overflow: auto;
  align-content: start;
}

.waypoint-action-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.summary-cell span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.summary-cell strong {
  color: var(--text);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.waypoint-preview {
  flex: 1;
  min-height: 0;
  display: grid;
  gap: 4px;
  overflow: auto;
  padding-right: 1px;
  align-content: start;
  grid-auto-rows: minmax(42px, auto);
  scrollbar-width: thin;
}

.waypoint-square-grid {
  --route-waypoint-columns: 8;
  --route-waypoint-grid-gap: 5px;
  --route-waypoint-tile-size:
    calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns));
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-auto-rows: var(--route-waypoint-tile-size);
  gap: var(--route-waypoint-grid-gap);
  align-items: stretch;
  align-content: start;
  justify-items: stretch;
}

.waypoint-square-grid>.empty-state {
  grid-column: 1 / -1;
}

.waypoint-square-grid>.waypoint-chip {
  min-width: 0;
  min-height: 0;
  height: 100%;
  aspect-ratio: auto;
}

.waypoint-preview-live {
  --route-waypoint-columns: 10;
  --route-waypoint-grid-gap: 5px;
  --route-waypoint-tile-min-size: 65px;
  --route-waypoint-tile-size:
    max(var(--route-waypoint-tile-min-size),
      calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns)));
  width: 100%;
  grid-template-columns: repeat(var(--route-waypoint-columns), minmax(var(--route-waypoint-tile-min-size), 1fr));
  grid-auto-flow: row;
  grid-auto-rows: var(--route-waypoint-tile-size);
  min-width: 0;
  padding: 6px;
  justify-content: start;
  overflow-x: auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.waypoint-preview-live .empty-state {
  min-height: 140px;
}

.route-live-waypoint {
  position: relative;
  min-height: 0;
  padding: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
  border-color: rgba(214, 239, 221, 0.44);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03) 38%, rgba(0, 0, 0, 0) 38%),
    linear-gradient(180deg, rgba(113, 152, 126, 0.24), rgba(63, 94, 75, 0.3)),
    rgba(54, 79, 64, 0.92);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 10px 18px rgba(0, 0, 0, 0.12);
}

.route-live-waypoint:hover,
.route-live-waypoint:focus-within {
  box-shadow:
    inset 0 0 0 1px rgba(247, 213, 138, 0.18),
    0 10px 20px rgba(0, 0, 0, 0.18);
  transform: none;
}

.route-live-waypoint.current {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 0 0 1px rgba(255, 255, 255, 0.05),
    0 0 0 1px rgba(137, 167, 77, 0.5),
    0 0 20px rgba(143, 190, 100, 0.18);
}

.route-live-waypoint.resume-target,
.route-live-waypoint.current.resume-target {
  border-color: rgba(247, 205, 118, 0.94);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03) 38%, rgba(0, 0, 0, 0) 38%),
    linear-gradient(180deg, rgba(199, 141, 49, 0.28), rgba(122, 75, 23, 0.34)),
    rgba(88, 57, 22, 0.96);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 0 0 1px rgba(255, 255, 255, 0.05),
    0 0 0 1px rgba(247, 205, 118, 0.32),
    0 0 22px rgba(247, 205, 118, 0.22);
}

.route-live-waypoint.selected {
  outline-offset: -3px;
}

.route-live-waypoint.marked,
.waypoint-row.marked {
  border-color: rgba(247, 213, 138, 0.78);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 0 1px rgba(247, 213, 138, 0.16),
    0 0 20px rgba(247, 213, 138, 0.12);
}

.route-live-waypoint.marked::before,
.waypoint-row.marked::before {
  opacity: 1;
}

.route-live-waypoint-main {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 6px 18px 20px 5px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  align-content: start;
  gap: 4px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}

.route-live-waypoint::before,
.route-live-waypoint::after {
  display: none;
}

.route-live-waypoint-main:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: 0;
}

.route-live-waypoint-actions {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.route-live-mini-btn {
  position: absolute;
  width: 19px;
  min-width: 19px;
  height: 19px;
  min-height: 19px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  font-size: 10px;
  line-height: 1;
  border-radius: 4px;
  z-index: 2;
}

.route-live-mini-btn-add {
  right: 3px;
  bottom: 3px;
  border-color: rgba(191, 232, 203, 0.7);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 45%),
    rgba(102, 156, 115, 0.94);
  color: #f3f7ef;
}

.route-live-mini-btn-remove {
  top: 3px;
  right: 3px;
  border-color: rgba(243, 184, 167, 0.72);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 45%),
    rgba(177, 92, 74, 0.96);
  color: #fff5f1;
}

.route-live-mini-btn-mark,
.waypoint-mark-btn {
  left: 3px;
  bottom: 3px;
  border-color: rgba(243, 223, 180, 0.54);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 52%),
    rgba(66, 51, 31, 0.94);
  color: rgba(255, 238, 204, 0.9);
}

.route-live-mini-btn-mark[aria-pressed="true"],
.waypoint-mark-btn[aria-pressed="true"] {
  border-color: rgba(247, 213, 138, 0.92);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.14), transparent 46%),
    rgba(168, 120, 34, 0.96);
  color: #fff7e0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 0 1px rgba(247, 213, 138, 0.14),
    0 0 12px rgba(247, 213, 138, 0.16);
}

.route-live-waypoint .waypoint-chip-index {
  min-width: 31px;
  min-height: 18px;
  padding: 1px 5px;
  font-size: 9px;
}

.route-live-waypoint .waypoint-chip-flags {
  gap: 2px;
}

.route-live-waypoint .waypoint-pill {
  min-height: 15px;
  padding: 1px 5px;
  font-size: 8px;
  letter-spacing: 0.05em;
}

.route-live-waypoint strong {
  color: #f8f0dd;
  font-size: 11px;
  line-height: 1.14;
}

.route-live-waypoint .waypoint-chip-position,
.route-live-waypoint .waypoint-chip-detail {
  font-size: 9px;
  line-height: 1.12;
}

.route-live-waypoint .waypoint-chip-position {
  color: rgba(252, 247, 236, 0.9);
}

.route-live-waypoint .waypoint-chip-detail {
  color: rgba(240, 232, 214, 0.8);
}

.route-live-waypoint .waypoint-chip-detail {
  -webkit-line-clamp: 2;
}

.route-live-waypoint.resume-target .waypoint-chip-index,
.route-live-waypoint.resume-target .waypoint-state-pill.resume-target {
  border-color: rgba(247, 215, 144, 0.7);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 45%),
    rgba(97, 58, 15, 0.92);
  color: #fff1cd;
}

.route-builder-grid .waypoint-preview {
  flex: 0 0 auto;
  min-height: 0;
  max-height: 76px;
  grid-template-columns: repeat(auto-fit, minmax(176px, 1fr));
  grid-auto-rows: minmax(44px, auto);
}

.waypoint-chip {
  --chip-accent: rgba(126, 244, 175, 0.68);
  --chip-accent-strong: rgba(126, 244, 175, 0.96);
  --chip-badge: rgba(12, 56, 34, 0.92);
  --chip-glow: rgba(126, 244, 175, 0.22);
  --chip-surface: rgba(18, 34, 22, 0.48);
  position: relative;
  isolation: isolate;
  width: 100%;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1;
  padding: 6px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  align-content: start;
  gap: 4px;
  overflow: hidden;
  appearance: none;
  font: inherit;
  color: inherit;
  text-align: left;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 32%),
    linear-gradient(160deg, var(--chip-surface), rgba(12, 9, 6, 0.92) 78%),
    #120d09;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.05),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    0 6px 14px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  transition:
    border-color 140ms ease,
    background 140ms ease,
    box-shadow 140ms ease,
    color 140ms ease,
    opacity 140ms ease,
    transform 140ms ease;
}

.waypoint-chip::before,
.waypoint-chip::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.waypoint-chip::before {
  inset: 6px;
  background:
    linear-gradient(var(--chip-accent), var(--chip-accent)) left top / 12px 2px no-repeat,
    linear-gradient(var(--chip-accent), var(--chip-accent)) left top / 2px 12px no-repeat,
    linear-gradient(var(--chip-accent), var(--chip-accent)) right top / 12px 2px no-repeat,
    linear-gradient(var(--chip-accent), var(--chip-accent)) right top / 2px 12px no-repeat,
    linear-gradient(var(--chip-accent), var(--chip-accent)) left bottom / 12px 2px no-repeat,
    linear-gradient(var(--chip-accent), var(--chip-accent)) left bottom / 2px 12px no-repeat,
    linear-gradient(var(--chip-accent), var(--chip-accent)) right bottom / 12px 2px no-repeat,
    linear-gradient(var(--chip-accent), var(--chip-accent)) right bottom / 2px 12px no-repeat;
  opacity: 0.62;
  transition: opacity 140ms ease;
}

.waypoint-chip::after {
  inset: -16%;
  background: radial-gradient(circle at top left, var(--chip-glow), transparent 55%);
  opacity: 0.78;
}

.waypoint-chip[data-tone="utility"] {
  --chip-accent: rgba(255, 208, 112, 0.68);
  --chip-accent-strong: rgba(255, 208, 112, 0.98);
  --chip-badge: rgba(73, 49, 8, 0.92);
  --chip-glow: rgba(255, 208, 112, 0.22);
  --chip-surface: rgba(54, 41, 18, 0.48);
}

.waypoint-chip[data-tone="floor"] {
  --chip-accent: rgba(121, 220, 255, 0.66);
  --chip-accent-strong: rgba(121, 220, 255, 0.96);
  --chip-badge: rgba(13, 44, 61, 0.92);
  --chip-glow: rgba(121, 220, 255, 0.2);
  --chip-surface: rgba(19, 43, 58, 0.48);
}

.waypoint-chip[data-tone="anchor"] {
  --chip-accent: rgba(191, 234, 255, 0.64);
  --chip-accent-strong: rgba(191, 234, 255, 0.96);
  --chip-badge: rgba(18, 45, 66, 0.92);
  --chip-glow: rgba(191, 234, 255, 0.18);
  --chip-surface: rgba(23, 39, 53, 0.46);
}

.waypoint-chip[data-tone="danger"] {
  --chip-accent: rgba(255, 124, 124, 0.7);
  --chip-accent-strong: rgba(255, 124, 124, 0.98);
  --chip-badge: rgba(78, 18, 18, 0.92);
  --chip-glow: rgba(255, 124, 124, 0.2);
  --chip-surface: rgba(54, 20, 20, 0.48);
}

.waypoint-chip.active {
  border-color: var(--chip-accent-strong);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    0 0 0 1px rgba(255, 255, 255, 0.06),
    0 0 22px var(--chip-glow);
}

.waypoint-row.current {
  border-color: #89a74d;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 40%),
    #263018;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 0 0 1px rgba(137, 167, 77, 0.28),
    0 0 22px rgba(143, 190, 100, 0.14);
}

.waypoint-chip.selected,
.waypoint-row.selected {
  outline: 1px dashed #91826a;
  outline-offset: -4px;
}

.waypoint-row.focus:not(.current) {
  border-color: #d4a54a;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 40%),
    #382711;
}

.waypoint-chip.focus {
  border-color: rgba(247, 213, 138, 0.72);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    0 0 0 1px rgba(212, 165, 74, 0.2),
    0 0 20px rgba(212, 165, 74, 0.12);
}

.waypoint-chip.active.focus {
  border-color: rgba(247, 213, 138, 0.84);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    0 0 0 1px var(--chip-accent-strong),
    0 0 0 2px rgba(247, 213, 138, 0.14),
    0 0 26px var(--chip-glow);
}

.waypoint-chip.active::before,
.waypoint-chip.focus::before {
  opacity: 1;
}

.waypoint-chip-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 4px;
}

.waypoint-chip-flags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 3px;
}

.waypoint-chip strong {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 0;
  align-self: stretch;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.12;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.waypoint-row strong {
  display: block;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.waypoint-chip-position,
.waypoint-chip-detail,
.waypoint-row .meta,
.feed-row time {
  display: block;
  color: var(--muted);
  font-size: 9px;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.waypoint-chip-position,
.waypoint-chip-detail {
  position: relative;
  z-index: 1;
}

.waypoint-chip-position {
  margin-top: auto;
  color: rgba(239, 228, 207, 0.88);
  font-family: var(--mono);
}

.waypoint-chip-detail {
  color: var(--muted);
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.feed-summary {
  display: grid;
  gap: 0;
}

.feed-summary[hidden] {
  display: none !important;
}

.feed-summary-card {
  padding: 6px;
  display: grid;
  gap: 6px;
  border: 1px solid rgba(191, 173, 140, 0.3);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 52%),
    linear-gradient(135deg, rgba(247, 213, 138, 0.05), rgba(255, 255, 255, 0) 68%),
    rgba(43, 32, 22, 0.78);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    inset 0 0 0 1px rgba(247, 213, 138, 0.04);
}

.feed-summary-card[data-tone="live"] {
  border-color: rgba(143, 190, 100, 0.46);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 52%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.16), rgba(255, 255, 255, 0) 68%),
    rgba(33, 38, 25, 0.8);
}

.feed-summary-card[data-tone="ready"] {
  border-color: rgba(132, 172, 214, 0.46);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 52%),
    linear-gradient(135deg, rgba(132, 172, 214, 0.16), rgba(255, 255, 255, 0) 68%),
    rgba(29, 36, 45, 0.8);
}

.feed-summary-card[data-tone="warn"] {
  border-color: rgba(216, 177, 96, 0.48);
}

.feed-summary-card[data-tone="error"] {
  border-color: rgba(187, 109, 88, 0.5);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 52%),
    linear-gradient(135deg, rgba(187, 109, 88, 0.12), rgba(255, 255, 255, 0) 68%),
    rgba(48, 27, 20, 0.8);
}

.feed-summary-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 6px;
}

.feed-summary-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.feed-summary-kicker,
.feed-summary-note,
.feed-summary-metric span,
.feed-row-badge {
  color: var(--muted);
  font-size: var(--text-2xs);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
}

.feed-summary-kicker {
  color: rgba(247, 213, 138, 0.76);
}

.feed-summary-copy strong {
  min-width: 0;
  color: var(--text);
  font-size: var(--text-lg);
  font-weight: var(--weight-strong);
  line-height: var(--line-tight);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.feed-summary-note {
  color: rgba(232, 224, 209, 0.82);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  line-height: var(--line-copy);
  text-transform: none;
}

.feed-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 0 6px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  color: var(--muted);
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  white-space: nowrap;
}

.feed-status-badge[data-tone="live"] {
  border-color: rgba(143, 190, 100, 0.56);
  color: #dff6c6;
  background: rgba(143, 190, 100, 0.14);
}

.feed-status-badge[data-tone="ready"] {
  border-color: rgba(132, 172, 214, 0.56);
  color: #dff0ff;
  background: rgba(132, 172, 214, 0.14);
}

.feed-status-badge[data-tone="warn"] {
  border-color: rgba(216, 177, 96, 0.58);
  color: #f4dfa7;
  background: rgba(216, 177, 96, 0.14);
}

.feed-status-badge[data-tone="error"] {
  border-color: rgba(187, 109, 88, 0.6);
  color: #ffcabf;
  background: rgba(187, 109, 88, 0.16);
}

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

.feed-summary-metric {
  min-width: 0;
  padding: 4px 5px;
  display: grid;
  gap: 2px;
  border: 1px solid rgba(191, 173, 140, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 52%),
    rgba(18, 13, 9, 0.38);
}

.feed-summary-metric strong {
  min-width: 0;
  color: var(--text);
  font-size: var(--text-md);
  font-weight: var(--weight-medium);
  line-height: var(--line-tight);
}

.event-feed {
  flex: 1;
  min-height: 0;
  display: grid;
  gap: 5px;
  overflow: hidden;
  padding-right: 1px;
  align-content: start;
  grid-auto-rows: minmax(60px, auto);
}

.feed-row {
  min-height: 0;
  padding: 6px 7px;
  display: grid;
  gap: 4px;
  border: 1px solid rgba(191, 173, 140, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 54%),
    rgba(22, 16, 11, 0.54);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 0 0 1px rgba(247, 213, 138, 0.03);
}

.feed-row.latest {
  border-color: rgba(247, 213, 138, 0.42);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 54%),
    linear-gradient(135deg, rgba(247, 213, 138, 0.08), rgba(255, 255, 255, 0) 64%),
    rgba(32, 23, 15, 0.62);
}

.feed-row[data-tone="alert"] {
  border-color: rgba(187, 109, 88, 0.44);
}

.feed-row[data-tone="route"] {
  border-color: rgba(200, 153, 71, 0.34);
}

.feed-row[data-tone="file"] {
  border-color: rgba(191, 173, 140, 0.36);
}

.feed-row[data-tone="live"] {
  border-color: rgba(143, 190, 100, 0.34);
}

.feed-row[data-tone="ready"] {
  border-color: rgba(132, 172, 214, 0.36);
}

.feed-row-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 5px;
}

.feed-row time {
  font-family: var(--mono);
}

.feed-row-badge {
  display: inline-flex;
  align-items: center;
  min-height: 15px;
  padding: 0 4px;
  border: 1px solid rgba(191, 173, 140, 0.24);
  background: rgba(255, 255, 255, 0.03);
  color: rgba(232, 224, 209, 0.76);
  white-space: nowrap;
}

.feed-row-badge[data-tone="alert"] {
  border-color: rgba(187, 109, 88, 0.46);
  color: #ffcabf;
  background: rgba(187, 109, 88, 0.12);
}

.feed-row-badge[data-tone="route"] {
  border-color: rgba(200, 153, 71, 0.4);
  color: #f6d897;
  background: rgba(200, 153, 71, 0.12);
}

.feed-row-badge[data-tone="file"] {
  border-color: rgba(191, 173, 140, 0.34);
  color: #eadfc8;
  background: rgba(191, 173, 140, 0.08);
}

.feed-row-badge[data-tone="live"] {
  border-color: rgba(143, 190, 100, 0.42);
  color: #dff6c6;
  background: rgba(143, 190, 100, 0.12);
}

.feed-row-badge[data-tone="ready"] {
  border-color: rgba(132, 172, 214, 0.42);
  color: #dff0ff;
  background: rgba(132, 172, 214, 0.12);
}

.feed-row strong {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}

.empty-state {
  min-height: 44px;
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: 11px;
  border: 1px dashed var(--line);
  background: #100d09;
}

.feed-empty-state {
  min-height: 88px;
  padding: 10px 12px;
  place-items: start;
  gap: 4px;
  align-content: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 54%),
    rgba(16, 13, 9, 0.92);
}

.feed-empty-state strong {
  color: var(--text);
  font-size: var(--text-md);
  font-weight: var(--weight-medium);
}

.feed-empty-state span {
  color: var(--muted);
  font-size: var(--text-xs);
  line-height: var(--line-copy);
}

.modal-layer {
  position: fixed;
  inset: 0;
  padding: 8px;
  display: grid;
  place-items: center;
  overflow: hidden;
  resize: none;
  isolation: isolate;
  z-index: 100;
  -webkit-app-region: drag;
}

.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  -webkit-app-region: no-drag;
}

.modal-panel {
  position: relative;
  z-index: 1;
  width: calc(100vw - 16px);
  max-width: calc(100vw - 16px);
  max-height: calc(100dvh - 16px);
  min-height: 0;
  padding: 6px;
  display: none;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 6px;
  overflow: hidden;
  resize: none;
  isolation: isolate;
  contain: layout paint;
  -webkit-app-region: drag;
}

.modal-panel.open {
  display: grid;
  animation: none;
}

.modal-panel.modal-panel-dragged.open {
  position: fixed;
  margin: 0;
}

.modal-panel.modal-panel-dragging {
  cursor: grabbing;
}

.modal-panel-dragging,
.modal-panel-dragging * {
  user-select: none !important;
}

.modal-layer:not([hidden]) .modal-backdrop {
  animation: backdrop-fade 140ms ease-out both;
}

.modal-panel-wide {
  width: calc(100vw - 16px);
}

.modal-panel-targeting {
  width: calc(100vw - 16px);
  --target-watch-dock-width: clamp(280px, 23vw, 360px);
  background:
    radial-gradient(circle at top right, rgba(91, 189, 255, 0.08), transparent 24%),
    radial-gradient(circle at bottom left, rgba(143, 190, 100, 0.08), transparent 26%),
    linear-gradient(180deg, rgba(247, 213, 138, 0.05), transparent 18%),
    #120d09;
  box-shadow:
    0 0 0 1px rgba(247, 213, 138, 0.08),
    0 24px 56px rgba(0, 0, 0, 0.42);
}

.route-modal-panel {
  width: calc(100vw - 20px);
}

.modal-panel-module {
  width: calc(100vw - 20px);
}

.modal-panel-route-picker {
  width: calc(100vw - 20px);
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.06), transparent 30%),
    #120d09;
  box-shadow:
    0 0 0 1px rgba(247, 213, 138, 0.08),
    0 18px 42px rgba(0, 0, 0, 0.42);
}

.modal-panel-inline {
  width: calc(100vw - 20px);
}

.modal-panel-console {
  width: calc(100vw - 20px);
}

.modal-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 0 0 4px;
  border-bottom: 1px solid rgba(169, 141, 99, 0.18);
  cursor: move;
  touch-action: none;
  -webkit-app-region: no-drag;
}

.modal-head>div {
  min-width: 0;
}

.modal-head-copy {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.modal-head-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.modal-body,
.modal-head :is(button, input, textarea, select, a, label),
.modal-actions :is(button, input, textarea, select, a, label) {
  -webkit-app-region: no-drag;
}

.modal-actions {
  cursor: move;
  touch-action: none;
  -webkit-app-region: no-drag;
}

.modal-head-tools .inline-actions,
.modal-head-tools>div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.modal-head .section-title,
.modal-head .module-title {
  display: block;
  color: var(--accent-text);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.modal-head .section-meta {
  display: block;
  margin-top: 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.modal-body .section-title,
.modal-body .section-meta,
.modal-body .module-title {
  display: none;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  padding-top: 4px;
  border-top: 1px solid rgba(169, 141, 99, 0.18);
}

.modal-actions .btn {
  min-width: 78px;
}

.modal-actions .modal-save-button {
  min-width: 96px;
}

.modal-actions .modal-close-button {
  border-color: rgba(170, 118, 118, 0.72);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 45%),
    linear-gradient(180deg, #593938, #3f2727);
  color: #f3dbd7;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(170, 118, 118, 0.1);
}

.modal-actions .modal-close-button:hover:not(:disabled) {
  border-color: rgba(196, 147, 147, 0.82);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 45%),
    linear-gradient(180deg, #64403f, #472d2d);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(170, 118, 118, 0.14),
    0 8px 18px rgba(0, 0, 0, 0.14);
}

.modal-actions .modal-close-button:active:not(:disabled),
.modal-actions .modal-close-button[data-pressed="true"]:not(:disabled) {
  border-color: rgba(215, 171, 171, 0.92);
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.3),
    inset 0 0 0 999px rgba(0, 0, 0, 0.07),
    0 0 0 1px rgba(170, 118, 118, 0.16);
}

.modal-body {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow: hidden;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.modal-body-route {
  overflow: hidden;
}

.modal-body-targeting,
.modal-body-module {
  overflow: hidden;
}

.modal-body-route-picker {
  gap: 6px;
  overflow: auto;
}

.modal-body-route-launcher {
  gap: 10px;
  overflow: auto;
}

.modal-body-accounts {
  gap: 8px;
  overflow: auto;
}

.modal-body-inline,
.modal-body-console {
  overflow: hidden;
}

.modal-body-console {
  gap: 8px;
}

.modal-panel-god-watch {
  width: min(calc(100vw - 20px), 1040px);
  background:
    radial-gradient(circle at top right, rgba(187, 109, 88, 0.1), transparent 24%),
    linear-gradient(180deg, rgba(247, 213, 138, 0.05), transparent 24%),
    #120d09;
}

.modal-body-god-watch {
  overflow: auto;
}

.god-watch-layout {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(320px, 1.1fr);
  gap: 6px;
  align-items: stretch;
}

.god-watch-panel {
  min-width: 0;
  min-height: 0;
  display: grid;
  gap: 6px;
  padding: 6px;
  border: 1px solid rgba(169, 141, 99, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 46%),
    rgba(13, 10, 7, 0.84);
  box-shadow: var(--shadow-card);
}

.god-watch-status-panel {
  grid-template-rows: auto auto auto;
}

.god-watch-map-panel {
  grid-row: span 2;
}

.god-watch-panel-head,
.god-watch-status-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.god-watch-panel-head strong,
.god-watch-status-head strong {
  color: var(--accent-text);
  font-size: 11px;
  line-height: 1.15;
}

.god-watch-panel-head span,
.god-watch-status-head span {
  min-width: 0;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.god-watch-state-badge {
  min-width: 78px;
  padding: 4px 7px;
  border: 1px solid rgba(169, 141, 99, 0.34);
  color: #dfd3b8;
  background: rgba(17, 13, 9, 0.82);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}

.god-watch-state-badge[data-tone="online"] {
  border-color: rgba(143, 190, 100, 0.62);
}

.god-watch-state-badge[data-tone="nearby"] {
  border-color: rgba(223, 141, 118, 0.78);
  color: #ffe7de;
  background: rgba(82, 31, 24, 0.72);
}

.god-watch-state-badge[data-tone="warn"] {
  border-color: rgba(214, 165, 102, 0.64);
}

.god-watch-state-badge[data-tone="scanning"] {
  border-color: rgba(105, 174, 216, 0.72);
  color: #dcefff;
  background: rgba(20, 43, 58, 0.72);
}

.quick-module-card-god-watch [data-god-watch-active="true"],
.compact-split-card-god-watch [data-god-watch-active="true"],
#god-watch-refresh[data-god-watch-active="true"] {
  border-color: rgba(126, 201, 108, 0.54);
  color: rgba(226, 237, 216, 0.88);
  background: #173018;
  box-shadow: none;
  animation: none;
}

.god-watch-summary-grid,
.god-watch-state-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.god-watch-minimap {
  position: relative;
  min-height: 280px;
  height: 100%;
  aspect-ratio: 1.24;
  overflow: hidden;
  border: 1px solid rgba(169, 141, 99, 0.26);
  background:
    linear-gradient(rgba(169, 141, 99, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(169, 141, 99, 0.08) 1px, transparent 1px),
    radial-gradient(circle at center, rgba(143, 190, 100, 0.08), transparent 38%),
    #0f1310;
  background-size: 24px 24px, 24px 24px, auto, auto;
}

.god-watch-world-map {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  image-rendering: auto;
  filter: saturate(0.82) contrast(1.06) brightness(0.72);
  transform: scale(1.015);
}

.god-watch-minimap[data-scan-state="scanning"] {
  box-shadow:
    inset 0 0 0 1px rgba(105, 174, 216, 0.36),
    inset 0 0 42px rgba(105, 174, 216, 0.15);
}

.god-watch-minimap::before,
.god-watch-minimap::after {
  content: "";
  position: absolute;
  z-index: 3;
  pointer-events: none;
  background: rgba(247, 213, 138, 0.22);
}

.god-watch-minimap::before {
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
}

.god-watch-minimap::after {
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
}

.god-watch-map-marker {
  position: absolute;
  z-index: 4;
  display: grid;
  place-items: center;
  min-width: 78px;
  padding: 4px 6px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(247, 213, 138, 0.46);
  background: rgba(16, 13, 9, 0.88);
  color: #f2e7ca;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.26);
}

.god-watch-map-marker[data-kind="target"] {
  border-color: rgba(223, 141, 118, 0.78);
  color: #ffe7de;
  background: rgba(82, 31, 24, 0.84);
}

.god-watch-map-marker[data-kind="unknown"] {
  border-style: dashed;
  border-color: rgba(169, 141, 99, 0.42);
  color: var(--muted);
}

.god-watch-map-line {
  position: absolute;
  z-index: 3;
  height: 2px;
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(143, 190, 100, 0.78), rgba(223, 141, 118, 0.78));
}

.god-watch-map-caption {
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: 6px;
  z-index: 5;
  padding: 5px 6px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background: rgba(12, 9, 6, 0.86);
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
}

.god-watch-evidence-list,
.god-watch-sessions {
  min-height: 0;
  display: grid;
  gap: 4px;
  align-content: start;
}

.god-watch-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(80px, 0.32fr) minmax(0, 1fr);
  gap: 6px;
  padding: 5px 6px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background: rgba(16, 13, 9, 0.72);
}

.god-watch-row strong {
  min-width: 0;
  color: #dfd3b8;
  font-size: 10px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.god-watch-row span {
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 760px) {
  .god-watch-layout {
    grid-template-columns: 1fr;
  }

  .god-watch-map-panel {
    grid-row: auto;
  }

  .god-watch-minimap {
    min-height: 220px;
  }

  .god-watch-summary-grid,
  .god-watch-state-grid {
    grid-template-columns: 1fr;
  }
}

.modal-inline-card {
  justify-content: flex-start;
}

.modal-inline-card .module-current-line {
  padding: 0;
  border: none;
  background: transparent;
}

/* ===== Tactical Navigation (Tier 4 landscape workbench) ===== */
#modal-module[data-active-module-key="navigationTactical"] .modal-body-module,
#modal-module[data-active-module-key="navigationTactical"] .modal-module-card[data-module-panel="shared"],
#modal-module[data-active-module-key="navigationTactical"] .module-extra-fields {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.navigation-tactical-shell {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
  outline: none;
  --tactical-surface: #0b0c0e;
  --tactical-surface-2: #0e1012;
  --tactical-line: rgba(255, 255, 255, 0.08);
  --tactical-red: #d6403a;
  --tactical-teal: #4fd0b0;
  --tactical-gold: #d8be78;
  --tactical-green: #4ea845;
  --tactical-brown: #9a6a42;
  --tactical-purple: #9d62ff;
}

/* Header ------------------------------------------------------------------ */
.navigation-tactical-header {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 0 8px;
  min-height: 42px;
  border: 1px solid var(--tactical-line);
  border-radius: 5px;
  background: var(--tactical-surface);
}

/* Session tab strip ------------------------------------------------------- */
.navigation-tactical-tabstrip {
  min-width: 0;
  display: flex;
  align-items: stretch;
  gap: 4px;
}

.navigation-tactical-tabs {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: stretch;
  gap: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  scroll-behavior: smooth;
}

.navigation-tactical-tabs::-webkit-scrollbar { height: 0; width: 0; }

.navigation-tactical-tabs-empty {
  align-self: center;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  padding: 0 8px;
}

.navigation-tactical-tab {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 180px;
  height: 26px;
  padding: 0 12px;
  border: 1px solid var(--tactical-line);
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

.navigation-tactical-tab:hover { background: rgba(255, 255, 255, 0.05); color: var(--text); }
/* Cleaner active state than the old red underline: a filled chip with a teal
   accent ring so the selected session reads clearly without a heavy rule. */
.navigation-tactical-tab[data-active="true"] {
  background: rgba(79, 208, 176, 0.12);
  color: var(--text);
  border-color: rgba(79, 208, 176, 0.55);
  box-shadow: inset 0 0 0 1px rgba(79, 208, 176, 0.25);
}

.navigation-tactical-tab-name {
  overflow: hidden;
  text-overflow: ellipsis;
}

.navigation-tactical-tab-hp {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--muted);
  opacity: 0.85;
}

.navigation-tactical-tab-hp:empty { display: none; }

.navigation-tactical-tab[data-active="true"] .navigation-tactical-tab-hp { color: var(--tactical-green); }

.navigation-tactical-tab-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #6b7177;
  flex: 0 0 auto;
}

.navigation-tactical-tab-dot[data-tone="live"] { background: var(--tactical-green); }
.navigation-tactical-tab-dot[data-tone="warn"] { background: var(--tactical-gold); }
.navigation-tactical-tab-dot[data-tone="danger"] { background: var(--tactical-red); }
.navigation-tactical-tab-dot[data-tone="off"] { background: #6b7177; }

.navigation-tactical-tab-nav {
  flex: 0 0 auto;
  width: 26px;
  display: grid;
  place-items: center;
  border: 1px solid var(--tactical-line);
  border-radius: 5px;
  background: var(--tactical-surface-2);
  color: var(--text);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.navigation-tactical-tab-nav:hover { background: rgba(255, 255, 255, 0.06); }

/* Header tools ------------------------------------------------------------ */
.navigation-tactical-header-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.navigation-tactical-icon-button {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid var(--tactical-line);
  border-radius: 5px;
  background: var(--tactical-surface-2);
  color: var(--text);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease;
}

.navigation-tactical-icon-button:hover { background: rgba(255, 255, 255, 0.06); }

/* STOP lives in the header now (the top battle-action row is gone). It clears
   the manual target; priority targeting otherwise runs by default. */
.navigation-tactical-stop {
  width: auto;
  padding: 0 12px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--muted);
}

.navigation-tactical-stop:hover {
  border-color: rgba(214, 64, 58, 0.6);
  background: rgba(214, 64, 58, 0.12);
  color: #f0a89f;
}

/* Main row ---------------------------------------------------------------- */
.navigation-tactical-main {
  min-width: 0;
  min-height: 0;
  display: grid;
  /* Pull the canvas left and hand the recovered lateral space to a wider
     right rail so battle/loot lines render longer and more readable. */
  grid-template-columns: minmax(0, 1fr) clamp(320px, 30%, 470px);
  gap: 10px;
}

.navigation-tactical-canvas-col {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
}

.navigation-tactical-live-frame {
  position: relative;
  /* Left-align the canvas instead of centring it so there is no wasted lateral
     padding on the inner (right) edge. */
  place-self: center start;
  width: auto;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 15 / 11;
  overflow: hidden;
  border: 1px solid var(--tactical-line);
  border-radius: 5px;
  background: #0a0e12;
}

.navigation-tactical-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  cursor: crosshair;
  pointer-events: auto;
}

.navigation-tactical-map:focus-visible {
  outline: 2px solid rgba(79, 208, 176, 0.92);
  outline-offset: -3px;
}

/* Remote walk is keyboard-only (arrow keys / WASD). The old invisible
   press-and-hold canvas edge zones are gone so map clicks walk straight to the
   clicked SQM instead of being eaten as margin step-walks. */

.navigation-tactical-canvas-status {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: none;
  place-items: center;
  text-align: center;
  padding: 16px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  background: rgba(5, 6, 7, 0.55);
  pointer-events: none;
}

.navigation-tactical-walk-status {
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 5;
  max-width: calc(100% - 16px);
  padding: 4px 7px;
  border: 1px solid rgba(79, 208, 176, 0.3);
  border-radius: 4px;
  background: rgba(4, 8, 10, 0.86);
  color: #b8ded5;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
  pointer-events: none;
}

.navigation-tactical-walk-status:empty { display: none; }

.navigation-tactical-shell[data-state="off"] .navigation-tactical-canvas-status,
.navigation-tactical-shell[data-state="pending"] .navigation-tactical-canvas-status,
.navigation-tactical-shell[data-state="loading"] .navigation-tactical-canvas-status {
  display: grid;
}

.navigation-tactical-shell[data-state="off"] .navigation-tactical-map {
  opacity: 0.35;
}

/* Base field + coherent grid. Unknown/unproven SQMs stay void-dark; only
   positive walkability evidence can paint traversable ground. */
.navigation-map-bg { fill: #06090c; }

.navigation-map-grid-line {
  stroke: rgba(255, 255, 255, 0.07);
  stroke-width: 0.02;
}

.navigation-map-tile {
  stroke: rgba(255, 255, 255, 0.035);
  stroke-width: 0.02;
  fill: rgba(18, 22, 27, 0.78);
}

.navigation-map-void,
.navigation-map-unknown {
  fill: rgba(3, 5, 8, 0.82);
  stroke: rgba(255, 255, 255, 0.025);
}

.navigation-map-known { fill: rgba(26, 31, 33, 0.74); }
.navigation-map-safe { fill: rgba(34, 74, 48, 0.72); }
.navigation-map-walkable { stroke: rgba(140, 215, 156, 0.36); }
.navigation-map-reachable {
  stroke: rgba(161, 235, 174, 0.72);
  stroke-width: 0.045;
}
.navigation-map-wall { fill: rgba(42, 43, 48, 0.9); }
/* Furniture and other static structures are blocked geometry. Keep them in
   the grey family so brown/orange remains unambiguous field evidence. */
.navigation-map-blocker { fill: rgba(72, 76, 82, 0.92); }
.navigation-map-hazard { fill: rgba(111, 54, 79, 0.82); }
.navigation-map-fire { fill: rgba(255, 122, 24, 0.95); }
.navigation-map-energy { fill: rgba(52, 88, 154, 0.86); }
.navigation-map-poison { fill: rgba(50, 111, 58, 0.86); }
.navigation-map-transition,
.navigation-map-stairsladders,
.navigation-map-teleports,
.navigation-map-holes { fill: rgba(216, 190, 120, 0.95); }

/* Upcoming route waypoints: pastel coral squircles with the step number. */
.navigation-map-waypoint {
  fill: rgba(247, 154, 134, 0.9);
  stroke: #5a241b;
  stroke-width: 0.04;
}

.navigation-map-waypoint-label {
  fill: #3a140d;
  font-size: 0.56px;
  font-weight: 800;
  pointer-events: none;
}

/* Click-to-walk target: a distinct ringed marker, unlike any other glyph. */
.navigation-map-clickwalk-ring {
  fill: none;
  stroke: #7fe3ff;
  stroke-width: 0.1;
  stroke-dasharray: 0.34 0.22;
  opacity: 0.95;
}

.navigation-map-clickwalk-dot { fill: #7fe3ff; }

.navigation-map-self,
.navigation-map-team,
.navigation-map-monster,
.navigation-map-danger,
.navigation-map-player {
  transform-box: fill-box;
  transform-origin: center;
}

.navigation-map-self { fill: #d63b32; stroke: #ffd4d0; stroke-width: 0.08; }
.navigation-map-team { fill: #ead68e; stroke: #11100a; stroke-width: 0.06; }
.navigation-map-monster { fill: #9d62ff; stroke: #26133f; stroke-width: 0.06; }
.navigation-map-danger { fill: #9d62ff; stroke: #ffffff; stroke-width: 0.09; }
.navigation-map-player { fill: #9a6a42; stroke: #26160c; stroke-width: 0.06; }
.navigation-map-corpse { display: none; }

.navigation-map-marker {
  pointer-events: none;
}

.navigation-map-marker-backdrop {
  fill: inherit;
  stroke: inherit;
  stroke-width: inherit;
}

.navigation-map-sprite {
  pointer-events: none;
  image-rendering: pixelated;
}

.navigation-map-avatar-label {
  fill: rgba(255, 255, 255, 0.82);
  stroke: rgba(0, 0, 0, 0.78);
  stroke-width: 0.045;
  paint-order: stroke;
  font-size: 0.32px;
  font-weight: 850;
  letter-spacing: -0.02em;
  pointer-events: none;
}

.navigation-map-number-badge {
  fill: #100d18;
  stroke: #f7f3e6;
  stroke-width: 0.045;
}

.navigation-map-label {
  fill: #f7f3e6;
  stroke: rgba(0, 0, 0, 0.7);
  stroke-width: 0.05;
  paint-order: stroke;
  font-size: 0.27px;
  font-weight: 800;
  pointer-events: none;
}

.navigation-tactical-shell[data-state="off"] .navigation-map-tile,
.navigation-tactical-shell[data-state="off"] .navigation-map-waypoint,
.navigation-tactical-shell[data-state="off"] .navigation-map-waypoint-label {
  opacity: 0.5;
}

/* Whole-floor mode ------------------------------------------------------- */
.navigation-map-mode-selector {
  display: inline-flex;
  align-items: center;
  padding: 2px;
  border: 1px solid var(--tactical-line);
  border-radius: 4px;
  background: rgba(3, 5, 8, 0.58);
}

.navigation-map-mode-selector button,
.whole-floor-map-actions button {
  min-height: 25px;
  padding: 0 9px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
  cursor: pointer;
}

.navigation-map-mode-selector button:hover,
.whole-floor-map-actions button:hover {
  color: var(--text);
  background: rgba(255, 255, 255, 0.05);
}

.navigation-map-mode-selector button[data-active="true"],
.navigation-map-mode-selector button[aria-pressed="true"],
.whole-floor-map-actions button[data-active="true"] {
  border-color: rgba(79, 208, 176, 0.42);
  background: rgba(79, 208, 176, 0.12);
  color: #c9eee5;
}

.whole-floor-map-actions button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.whole-floor-map-actions button[data-whole-floor-record][data-active="true"] {
  border-color: rgba(224, 108, 118, 0.5);
  background: rgba(224, 108, 118, 0.14);
  color: #f3c9cd;
}

.whole-floor-map {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  gap: 5px;
}

.whole-floor-map[hidden],
.navigation-tactical-live-frame[hidden] {
  display: none;
}

.whole-floor-map-toolbar {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 34px;
  padding: 4px 7px;
  border: 1px solid var(--tactical-line);
  border-radius: 4px;
  background: var(--tactical-surface);
}

.whole-floor-map-title {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.whole-floor-map-title strong {
  overflow: hidden;
  color: var(--text);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whole-floor-map-title span {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whole-floor-map-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 3px;
}

.whole-floor-map-actions button {
  border-color: var(--tactical-line);
  background: var(--tactical-surface-2);
}

.whole-floor-map-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
}

.whole-floor-map-metrics > span {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 5px;
  padding: 4px 6px;
  border: 1px solid var(--tactical-line);
  border-radius: 3px;
  background: rgba(11, 12, 14, 0.74);
  color: var(--muted);
  font-size: 9px;
  overflow: hidden;
  white-space: nowrap;
}

.whole-floor-map-metrics strong {
  color: var(--text);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.whole-floor-map-walk-status {
  min-height: 14px;
  color: #a9d9cd;
  font-size: 10px;
  line-height: 14px;
}

.whole-floor-map-viewport {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid var(--tactical-line);
  border-radius: 4px;
  background-color: #030508;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px);
  background-size: 16px 16px;
  cursor: grab;
  touch-action: none;
  user-select: none;
}

.whole-floor-map-viewport[data-panning="true"] { cursor: grabbing; }

.whole-floor-map-viewport:focus-visible {
  outline: 2px solid rgba(79, 208, 176, 0.88);
  outline-offset: -3px;
}

.whole-floor-map-stage {
  position: absolute;
  left: 0;
  top: 0;
  transform-origin: 0 0;
  image-rendering: pixelated;
  will-change: auto;
}

.whole-floor-map-stage canvas {
  position: absolute;
  inset: 0;
  display: block;
  image-rendering: crisp-edges;
  image-rendering: pixelated;
}

.whole-floor-local-visibility {
  position: absolute;
  z-index: 2;
  box-sizing: border-box;
  border: 0.22px solid rgba(127, 227, 255, 0.98);
  background: rgba(127, 227, 255, 0.08);
  box-shadow: inset 0 0 0 0.12px rgba(3, 5, 8, 0.92);
  pointer-events: none;
}

.whole-floor-waypoint-layer {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.whole-floor-waypoint-layer[hidden] { display: none; }

.whole-floor-waypoint {
  position: absolute;
  width: 1.22px;
  height: 1.22px;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 0.14px solid rgba(31, 12, 7, 0.95);
  border-radius: 0.26px;
  background: #f79a86;
  color: #35110a;
  font-size: 0.38px;
  font-weight: 900;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 0 0 0.08px rgba(255, 255, 255, 0.66);
}

.whole-floor-waypoint[data-tone="lure"] {
  border-radius: 50%;
  background: #bf79ee;
  color: #17071f;
}

.whole-floor-waypoint[data-tone="transition"] {
  background: #d8be78;
  color: #2c250d;
}

.whole-floor-waypoint[data-tone="danger"] {
  background: #d6403a;
  color: #fff0ed;
}

.whole-floor-waypoint[data-tone="safe"] { background: #7ccf91; }

.whole-floor-radar-layer {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.whole-floor-radar-layer[hidden] { display: none; }

.whole-floor-radar-marker {
  position: absolute;
  width: 1.05px;
  height: 1.05px;
  transform: translate(-50%, -50%);
  border: 0.12px solid rgba(6, 10, 14, 0.92);
  box-shadow: 0 0 0 0.08px rgba(255, 255, 255, 0.55);
}

/* Creatures: orange-red diamond. Players: cyan circle. Distinct from the red
   player-position dot and the salmon waypoint squares. */
.whole-floor-radar-marker[data-kind="creature"] {
  background-color: #ff7a45;
  border-radius: 0.16px;
  transform: translate(-50%, -50%) rotate(45deg);
}

.whole-floor-radar-marker[data-kind="player"] {
  width: 1.2px;
  height: 1.2px;
  background: #56c2ff;
  border-radius: 50%;
}

.whole-floor-radar-marker[data-target="true"] {
  box-shadow: 0 0 0 0.16px #ffe25a, 0 0 0.5px 0.1px rgba(255, 226, 90, 0.9);
}

.whole-floor-walk-target {
  position: absolute;
  z-index: 5;
  width: 1.55px;
  height: 1.55px;
  transform: translate(-50%, -50%);
  border: 0.18px solid #ffe25a;
  border-radius: 50%;
  background: rgba(255, 226, 90, 0.2);
  box-shadow: 0 0 0 0.14px rgba(3, 5, 8, 0.92);
  pointer-events: none;
}

.whole-floor-walk-target::after {
  content: "";
  position: absolute;
  inset: 0.45px;
  border-radius: 50%;
  background: #ffe25a;
}

.whole-floor-player-marker {
  position: absolute;
  z-index: 4;
  width: 1.55px;
  height: 1.55px;
  transform: translate(-50%, -50%);
  border: 0.18px solid #fff3ed;
  border-radius: 50%;
  background: #d6403a;
  box-shadow: 0 0 0 0.16px rgba(3, 5, 8, 0.92);
  pointer-events: none;
}

.whole-floor-map-state {
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 8;
  max-width: min(420px, calc(100% - 16px));
  display: grid;
  gap: 2px;
  padding: 6px 8px;
  border: 1px solid rgba(216, 190, 120, 0.38);
  border-radius: 4px;
  background: rgba(5, 7, 9, 0.9);
  color: var(--muted);
  pointer-events: none;
}

.whole-floor-map-state[data-blocking="true"] {
  left: 50%;
  bottom: auto;
  top: 50%;
  width: min(430px, calc(100% - 28px));
  transform: translate(-50%, -50%);
  padding: 14px;
  text-align: center;
}

.whole-floor-map-state strong {
  color: #e7ddc3;
  font-size: 11px;
}

.whole-floor-map-state span {
  font-size: 9px;
  line-height: 1.35;
}

.whole-floor-map-state[data-tone="complete"] { border-color: rgba(79, 208, 176, 0.48); }
.whole-floor-map-state[data-tone="conflict"],
.whole-floor-map-state[data-tone="corrupt"] { border-color: rgba(212, 63, 117, 0.62); }
.whole-floor-map-state[data-tone="stale"],
.whole-floor-map-state[data-tone="incomplete"] { border-color: rgba(216, 190, 120, 0.52); }

.whole-floor-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 9px;
  padding: 2px 4px 0;
  color: var(--muted);
  font-size: 8px;
}

.whole-floor-map-legend span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.whole-floor-map-legend span::before {
  content: "";
  width: 7px;
  height: 7px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: #030508;
}

.whole-floor-map-legend [data-kind="unknown"]::before { background: #030508; }
.whole-floor-map-legend [data-kind="blocked"]::before { background: #2a2b30; }
.whole-floor-map-legend [data-kind="ground"]::before { background: #224a30; }
.whole-floor-map-legend [data-kind="poison"]::before { background: #326f3a; }
.whole-floor-map-legend [data-kind="energy"]::before { background: #34589a; }
.whole-floor-map-legend [data-kind="fire"]::before { background: #ff7a18; }
.whole-floor-map-legend [data-kind="hazard"]::before { background: #6f364f; }
.whole-floor-map-legend [data-kind="transition"]::before { background: #d8be78; }
.whole-floor-map-legend [data-kind="frontier"]::before {
  background: repeating-linear-gradient(135deg, #a9792b 0 2px, #030508 2px 4px);
}
.whole-floor-map-legend [data-kind="conflict"]::before {
  background: repeating-linear-gradient(45deg, #d43f75 0 2px, #030508 2px 4px);
}

.whole-floor-creature-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px 5px;
  min-width: 0;
  padding: 1px 4px 0;
  font-size: 8px;
}

.whole-floor-creature-list[hidden] { display: none; }

.whole-floor-creature-tag {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 3px;
  padding: 1px 4px 1px 2px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(7, 10, 14, 0.72);
  color: var(--text);
  line-height: 1.2;
  white-space: nowrap;
}

.whole-floor-creature-badge {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  transform: rotate(45deg);
  border: 1px solid rgba(3, 5, 8, 0.9);
  border-radius: 1px;
}

/* Battle rail ------------------------------------------------------------- */
.navigation-tactical-battle {
  min-width: 0;
  min-height: 0;
  display: grid;
  /* Battle list / chat / loot. The old top action row (Target/Priority/Stop)
     is gone: priority targeting is the default, the battle-list crosshair sets
     a manual target, and STOP moved to the header. */
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

/* Compact chat ------------------------------------------------------------ */
.navigation-tactical-chat {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, auto) auto;
  gap: 5px;
  border-top: 1px solid var(--tactical-line);
  padding-top: 6px;
}

.navigation-tactical-chat-list {
  min-width: 0;
  display: grid;
  gap: 2px;
  max-height: 128px;
  overflow-y: auto;
  overflow-x: hidden;
  align-content: end;
  padding-right: 2px;
}

.tactical-chat-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, max-content) minmax(0, 1fr);
  gap: 4px;
  align-items: baseline;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

.tactical-chat-label {
  min-width: 0;
  color: var(--tactical-teal);
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tactical-chat-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tactical-chat-empty {
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  opacity: 0.7;
  padding: 2px 0;
}

.navigation-tactical-chat-form {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  gap: 4px;
}

.navigation-tactical-chat-input {
  min-width: 0;
  height: 28px;
  border-radius: 5px;
  border: 1px solid var(--tactical-line);
  background: var(--tactical-surface-2);
  color: var(--text);
  font-size: 12px;
}

.navigation-tactical-chat-send {
  width: 30px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid var(--tactical-line);
  border-radius: 5px;
  background: var(--tactical-surface-2);
  color: var(--text);
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.navigation-tactical-chat-send:hover { background: rgba(255, 255, 255, 0.06); }

/* Loot feed -------------------------------------------------------------- */
.navigation-tactical-loot {
  min-width: 0;
  min-height: 0;
  border-top: 1px solid var(--tactical-line);
  padding-top: 6px;
}

.navigation-tactical-loot-list {
  min-width: 0;
  display: grid;
  gap: 2px;
  max-height: 148px;
  overflow-y: auto;
  overflow-x: hidden;
  align-content: start;
  padding-right: 2px;
}

.tactical-loot-row {
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.4;
  overflow: hidden;
  /* Wrap long loot strings onto a second line so nothing is clipped. */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal;
  overflow-wrap: anywhere;
}

.tactical-loot-row:first-child { color: var(--text); }

.tactical-loot-empty {
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  opacity: 0.7;
  padding: 4px 0;
}

.navigation-tactical-battle-list {
  min-width: 0;
  min-height: 0;
  display: grid;
  gap: 3px;
  overflow-y: auto;
  overflow-x: hidden;
  align-content: start;
  padding-right: 2px;
}

.tactical-battle-empty {
  padding: 12px 8px;
  border: 1px dashed var(--tactical-line);
  border-radius: 5px;
  background: rgba(5, 6, 7, 0.5);
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  text-align: center;
}

.tactical-battle-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto auto 24px;
  gap: 7px;
  align-items: center;
  padding: 5px 6px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: var(--tactical-surface-2);
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease;
}

.tactical-battle-row:hover { background: rgba(255, 255, 255, 0.04); }
.tactical-battle-row[data-focus="true"] { border-color: rgba(79, 208, 176, 0.45); }
.tactical-battle-row[data-selected="true"] {
  border-color: rgba(216, 190, 120, 0.6);
  background: rgba(216, 190, 120, 0.07);
}
.tactical-battle-row[data-tone="danger"] { border-color: rgba(214, 64, 58, 0.42); }

.tactical-battle-avatar {
  position: relative;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  align-self: center;
  border: 1px solid rgba(157, 98, 255, 0.46);
  border-radius: 7px;
  overflow: visible;
  background:
    radial-gradient(circle at 50% 34%, rgba(190, 150, 255, 0.26), transparent 56%),
    #17121f;
  box-shadow: inset 0 0 8px rgba(157, 98, 255, 0.12);
}

.tactical-battle-row[data-kind="player"] .tactical-battle-avatar {
  border-color: rgba(154, 106, 66, 0.62);
  background:
    radial-gradient(circle at 50% 34%, rgba(216, 190, 120, 0.24), transparent 56%),
    #1d1711;
}

.tactical-battle-avatar-fallback {
  color: rgba(247, 243, 230, 0.78);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: -0.02em;
}

.tactical-battle-sprite {
  position: absolute;
  inset: 1px;
  z-index: 1;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  object-fit: contain;
  object-position: center bottom;
  image-rendering: pixelated;
  pointer-events: none;
}

.tactical-battle-num {
  position: absolute;
  right: -5px;
  bottom: -4px;
  z-index: 2;
  width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: var(--tactical-purple);
  color: #f7f3e6;
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.55);
}

.tactical-battle-row[data-kind="player"] .tactical-battle-num {
  background: var(--tactical-brown);
}

.tactical-battle-name {
  min-width: 0;
  color: var(--text);
  font-size: 12px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tactical-battle-hp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.tactical-battle-hp-bar {
  width: 56px;
  height: 7px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.tactical-battle-hp-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 3px;
  background: var(--tactical-red);
}

.tactical-battle-hp-fill[data-tone="full"] { background: var(--tactical-green); }

.tactical-battle-hp-text {
  min-width: 30px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  text-align: right;
}

.tactical-battle-stat {
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

.tactical-battle-flag {
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.tactical-battle-flag[data-tone="target"] {
  background: rgba(216, 190, 120, 0.16);
  color: var(--tactical-gold);
}

.tactical-battle-flag[data-tone="priority"] {
  background: rgba(216, 190, 120, 0.16);
  color: var(--tactical-gold);
}

.tactical-battle-flag[data-tone="danger"] {
  background: rgba(214, 64, 58, 0.2);
  color: #f0a89f;
}

.tactical-battle-action {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid var(--tactical-line);
  border-radius: 5px;
  background: transparent;
  color: var(--muted);
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.tactical-battle-action:hover:not(:disabled),
.tactical-battle-action:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text);
}

.tactical-battle-action:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

@media (max-width: 800px) {
  #modal-module[data-active-module-key="navigationTactical"] .modal-body-module,
  #modal-module[data-active-module-key="navigationTactical"] .module-extra-fields {
    overflow-y: auto;
    overflow-x: hidden;
  }

  .navigation-tactical-shell {
    height: auto;
    min-height: 100%;
    grid-template-rows: auto auto;
    padding-bottom: 8px;
  }

  .navigation-tactical-header {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 6px;
    padding: 6px;
  }

  .navigation-tactical-header-tools {
    min-width: 0;
    flex-wrap: wrap;
    white-space: normal;
  }

  .navigation-tactical-main {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(320px, auto);
  }

  .navigation-tactical-live-frame {
    place-self: start stretch;
    width: 100%;
    height: auto;
  }

  .navigation-tactical-battle {
    min-height: 320px;
  }
}

/* NEWUI modal contracts — final owning layer. Keep all rules scoped to the
   module panel so mature desktop surfaces retain their established geometry. */
#modal-layer > #modal-module:is(
  [data-active-module-key="runeMaker"],
  [data-active-module-key="manaTrainer"],
  [data-active-module-key="pkAssist"],
  [data-active-module-key="ringAutoReplace"],
  [data-active-module-key="looting"],
  [data-active-module-key="trainer"],
  [data-active-module-key="antiParalyze"],
  [data-active-module-key="banking"]
) {
  height: fit-content !important;
  max-height: calc(100vh - 12px) !important;
  grid-template-rows: auto minmax(0, auto) auto !important;
}

#modal-layer > #modal-module:is(
  [data-active-module-key="runeMaker"],
  [data-active-module-key="manaTrainer"],
  [data-active-module-key="pkAssist"],
  [data-active-module-key="looting"],
  [data-active-module-key="trainer"]
) .modal-body-module {
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

/* Rune Casting */
#modal-layer > #modal-module[data-active-module-key="runeMaker"] {
  width: min(920px, calc(100vw - 12px)) !important;
}

#modal-module[data-active-module-key="runeMaker"] .rune-maker-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
}

#modal-module[data-active-module-key="runeMaker"] .rune-workspace-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 9px 10px;
  border: 1px solid rgba(79, 208, 176, 0.38);
  border-radius: 7px;
  background: rgba(79, 208, 176, 0.08);
}

.rune-workspace-identity,
.rune-workspace-status,
.pk-assist-workspace-head > div {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.rune-workspace-head span,
.pk-assist-workspace-head span {
  color: var(--muted);
  font-size: 10px;
  white-space: nowrap;
}

.rune-workspace-status {
  justify-content: center;
}

#modal-module[data-active-module-key="runeMaker"] .rune-maker-command-strip {
  min-height: 0 !important;
  padding: 5px 8px !important;
}

#modal-module[data-active-module-key="runeMaker"] .rune-maker-template-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-module[data-active-module-key="runeMaker"] .rune-maker-template {
  min-height: 42px !important;
  padding: 5px 7px !important;
}

#modal-module[data-active-module-key="runeMaker"] .module-rule-card {
  width: 100%;
  padding: 8px !important;
}

#modal-module[data-active-module-key="runeMaker"] .module-rule-sections {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 6px !important;
}

#modal-module[data-active-module-key="runeMaker"] .module-rule-section {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 6px 0 !important;
  border-top: 1px solid rgba(255,255,255,.07);
}

#modal-module[data-active-module-key="runeMaker"] .module-rule-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

#modal-module[data-active-module-key="runeMaker"] .module-rule-section-title {
  padding-top: 6px;
  white-space: nowrap;
}

/* Trigger-specific controls stay out of the active editing path. */
#modal-module[data-active-module-key="runeMaker"] .module-rule-card[data-rule-trigger="target"]
  [data-module-section="trigger"],
#modal-module[data-active-module-key="runeMaker"] .module-rule-card[data-rule-trigger="pack"]
  :is(.module-rule-control:has([data-rule-field="genericSurroundEnabled"]), .module-rule-control:has([data-rule-field="surroundCount"]), .module-rule-control:has([data-rule-field="surroundRadius"]), .module-rule-control:has([data-rule-field="specificSurroundEnabled"]), .module-rule-control:has([data-rule-field="specificSurroundCreature"]), .module-rule-control:has([data-rule-field="specificSurroundCount"]), .module-rule-control:has([data-rule-field="surroundCastMode"])),
#modal-module[data-active-module-key="runeMaker"] .module-rule-card[data-rule-trigger="surround"]
  :is(.module-rule-control:has([data-rule-field="minTargetCount"]), .module-rule-control:has([data-rule-field="aoeRadius"])) {
  display: none !important;
}

/* Mana Trainer */
#modal-layer > #modal-module[data-active-module-key="manaTrainer"] {
  width: min(900px, calc(100vw - 12px)) !important;
}

#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  padding: 7px 9px !important;
  background: #101820;
}

#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-rule .module-rule-sections {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

#modal-module[data-active-module-key="manaTrainer"] .module-rule-section {
  min-width: 0;
  padding: 6px !important;
}

#modal-module[data-active-module-key="manaTrainer"] .module-rule-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-module[data-active-module-key="manaTrainer"] .mana-fluid-control-grid {
  display: grid !important;
  grid-template-columns: .7fr 1.4fr .7fr .8fr .8fr auto auto !important;
  align-items: end;
  gap: 5px !important;
}

#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-support {
  gap: 6px !important;
}

/* PK Assist */
#modal-layer > #modal-module[data-active-module-key="pkAssist"] {
  width: min(720px, calc(100vw - 12px)) !important;
}

#modal-module[data-active-module-key="pkAssist"] .pk-assist-workspace-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border: 1px solid rgba(79, 208, 176, .34);
  border-radius: 6px;
  background: rgba(79, 208, 176, .07);
}

#modal-module[data-active-module-key="pkAssist"] .pk-assist-workspace-body .module-option-rows {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

#modal-module[data-active-module-key="pkAssist"] .pk-assist-option-group {
  min-width: 0;
  padding: 7px !important;
}

#modal-module[data-active-module-key="pkAssist"] .module-rule-check,
#modal-module[data-active-module-key="pkAssist"] .module-rule-check span {
  white-space: nowrap !important;
}

/* Small restrained passes. */
#modal-module[data-active-module-key="ringAutoReplace"] {
  width: min(620px, calc(100vw - 12px)) !important;
}

#modal-module[data-active-module-key="ringAutoReplace"] .equipment-replace-slot-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

#modal-module[data-active-module-key="ringAutoReplace"] .equipment-replace-slot.is-off .equipment-replace-shell {
  display: none !important;
}

#modal-module[data-active-module-key="looting"] .looting-catalog-toolbar {
  position: sticky;
  top: 0;
  z-index: 3;
}

#modal-module[data-active-module-key="trainer"] {
  width: min(1040px, calc(100vw - 12px)) !important;
}

#modal-module[data-active-module-key="trainer"] :is(.trainer-shell, .trainer-settings-grid, .trainer-duo-create) {
  align-items: start !important;
}

#modal-module[data-active-module-key="antiParalyze"] .module-rule-control > span,
#modal-module[data-active-module-key="banking"] .module-rule-control > span {
  white-space: nowrap;
}

@media (max-width: 720px), (max-height: 640px) {
  #modal-module[data-active-module-key="runeMaker"] .rune-workspace-head,
  #modal-module[data-active-module-key="runeMaker"] .module-rule-section,
  #modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
  #modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-rule .module-rule-sections,
  #modal-module[data-active-module-key="pkAssist"] .pk-assist-workspace-body .module-option-rows {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-module[data-active-module-key="runeMaker"] .rune-maker-template-grid,
  #modal-module[data-active-module-key="runeMaker"] .module-rule-grid,
  #modal-module[data-active-module-key="manaTrainer"] .mana-fluid-control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.route-picker-field {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-registry-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(169, 141, 99, 0.14);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.05), transparent 28%),
    rgba(255, 255, 255, 0.02);
}

.account-registry-card input,
.account-registry-card select,
.account-registry-card textarea {
  width: 100%;
}

.account-registry-card textarea {
  min-height: 88px;
  resize: vertical;
}

.account-workflow-hint {
  padding: 7px 9px;
  border: 1px solid rgba(64, 178, 137, 0.22);
  border-radius: 6px;
  background: rgba(45, 150, 118, 0.09);
  color: #dcefe8;
  font-size: 11px;
  line-height: 1.35;
}

.account-workflow-hint[data-tone="warn"] {
  border-color: rgba(224, 170, 76, 0.36);
  background: rgba(170, 112, 36, 0.11);
  color: #f2dfbd;
}

.account-workflow-hint[data-tone="info"] {
  border-color: rgba(116, 150, 196, 0.3);
  background: rgba(82, 111, 154, 0.1);
  color: #dce6f4;
}

.route-library-quick-meta {
  min-height: 0;
  padding: 6px 8px;
  border: 1px solid rgba(169, 141, 99, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.route-launcher-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(132px, 176px) minmax(104px, max-content) minmax(104px, max-content);
  gap: 8px;
  align-items: end;
}

.route-launch-main-field {
  min-width: 0;
}

.route-launch-mode-field {
  width: min(100%, 176px);
}

.route-launch-toggle-field {
  min-width: 82px;
  justify-items: end;
}

.route-launch-toggle-field input {
  justify-self: end;
}

.route-launch-team-panel {
  min-height: 0;
  display: grid;
  gap: 6px;
  padding: 8px;
  border: 1px solid rgba(169, 141, 99, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.025);
}

.route-launch-team-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.route-launch-team-head strong {
  min-width: 28px;
  padding: 2px 6px;
  border: 1px solid rgba(169, 141, 99, 0.14);
  border-radius: 6px;
  color: var(--text);
  text-align: center;
}

.route-launch-team-list {
  min-height: 0;
  max-height: 260px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  overflow: auto;
}

.route-launch-team-row {
  min-width: 0;
  display: grid;
  grid-template-columns: var(--toggle-width) minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 5px;
  padding: 4px 6px;
  border: 1px solid rgba(169, 141, 99, 0.12);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.025);
  color: var(--text);
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
}

.route-launch-team-row input[type="checkbox"] {
  justify-self: start;
}

.route-launch-team-row.leader {
  border-color: rgba(255, 132, 109, 0.64);
  background:
    linear-gradient(180deg, rgba(255, 186, 150, 0.13), rgba(126, 43, 72, 0.1)),
    rgba(20, 13, 18, 0.28);
  box-shadow: inset 3px 0 0 rgba(255, 118, 92, 0.88);
}

.route-launch-team-row.leader input[type="checkbox"] {
  accent-color: #ff7965;
}

.route-launch-team-row.leader .route-launch-character-name,
.route-launch-group-member.leader {
  width: fit-content;
  max-width: 100%;
  padding: 2px 6px;
  border: 1px solid rgba(255, 174, 143, 0.26);
  border-radius: 5px;
  background: rgba(16, 12, 16, 0.42);
  color: #ffd6c9;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(8px);
}

.route-launch-team-row.route-launch-moneyhandler-row {
  border-color: rgba(245, 184, 66, 0.46);
  background:
    linear-gradient(180deg, rgba(245, 184, 66, 0.12), rgba(245, 184, 66, 0.04)),
    rgba(255, 255, 255, 0.025);
  color: #f3b94f;
  box-shadow:
    inset 0 0 0 1px rgba(255, 213, 105, 0.08),
    inset 2px 0 0 rgba(245, 184, 66, 0.78);
}

.route-launch-team-row.route-launch-moneyhandler-row input[type="checkbox"] {
  accent-color: #d99a22;
}

.route-launch-team-row.route-launch-moneyhandler-row .route-launch-character-name {
  color: #ffc45a;
  font-weight: 850;
}

.route-launch-team-row.route-launch-moneyhandler-row small {
  color: #dca547;
}

.route-launch-team-row.disabled {
  opacity: 0.52;
}

.route-launch-team-row span,
.route-launch-team-row small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.route-launch-team-row small {
  color: var(--muted);
  font-size: 10px;
}

.route-launch-group-members {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.route-launch-group-member {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#route-launch-meta {
  display: block !important;
}

.route-launch-summary {
  border-radius: 8px;
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 80%),
    rgba(255, 255, 255, 0.025);
}

@media (max-width: 620px) {
  .route-launcher-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .route-launch-team-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .route-launch-mode-field,
  .route-launch-toggle-field {
    width: 100%;
    justify-items: start;
  }

  .route-launch-toggle-field input {
    justify-self: start;
  }
}

/* Route selects retain their compact closed control; only the opened route list
   expands into a balanced three-column drawer. */
.route-grid-menu {
  position: fixed;
  z-index: 100000;
  display: grid;
  grid-template-rows: repeat(var(--route-grid-rows), minmax(24px, auto));
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 1px;
  padding: 2px;
  overflow: hidden;
  border: 1px solid #797979;
  background: #050505;
  color: #f2f2f2;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.62);
}

.route-grid-option {
  min-width: 0;
  min-height: 24px;
  padding: 4px 11px;
  border: 0;
  border-radius: 0;
  background: #050505;
  color: inherit;
  font: inherit;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: default;
}

.route-grid-option:hover,
.route-grid-option:focus-visible,
.route-grid-option[aria-selected="true"] {
  outline: 0;
  background: #86baf0;
  color: #122235;
}

.modal-body-targeting .section-title,
.modal-body-targeting .section-meta {
  display: block;
}

.modal-panel .section-meta,
.modal-panel .route-card-copy,
.modal-panel .route-pane-copy,
.modal-panel .rune-maker-template span,
.modal-panel .route-library-meta,
.modal-panel .route-library-quick-meta,
.modal-panel .hunt-preset-row-meta,
.modal-panel .hunt-preset-detail-copy,
.modal-panel .hunt-preset-detail-note,
.modal-panel .hunt-preset-detail-card .section-meta,
.modal-panel .route-file-note span {
  display: none !important;
}

.modal-panel .route-section-copy,
.modal-panel .section-head>div,
.modal-panel .trainer-metric-card,
.modal-panel .follow-train-status-card,
.modal-panel .rune-maker-template {
  gap: 2px;
}

.route-editor-shell {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.route-editor-top {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(320px, 0.92fr);
  gap: 8px;
  align-items: stretch;
}

.route-editor-card-top,
.route-avoid-fields-card {
  height: 100%;
}

.route-editor-card-top {
  align-content: start;
}

.form-grid {
  display: grid;
  gap: 6px;
}

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

.form-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.route-modal-grid {
  min-height: 0;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1.22fr) minmax(320px, 0.92fr);
  overflow: hidden;
}

.route-structure-column,
.route-detail-column {
  min-width: 0;
  min-height: 0;
  display: grid;
  gap: 8px;
  overflow: hidden;
}

.route-structure-column {
  align-content: start;
  grid-template-rows: minmax(0, 1fr);
}

.route-detail-column {
  align-content: stretch;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto minmax(0, 1fr) auto auto;
}

.route-modal-card {
  flex: 1;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}


.route-stack-card,
.route-editor-card,
.route-tile-rule-card {
  gap: 6px;
  min-height: 0;
  height: 100%;
}

.route-stack-card {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
  isolation: isolate;
  contain: layout paint;
}

.route-editor-card,
.route-tile-rule-card {
  display: grid;
  overflow: hidden;
  isolation: isolate;
  contain: layout paint;
}

.route-editor-card {
  grid-template-rows: auto auto minmax(0, 1fr);
  align-content: start;
}

.route-drive-card,
.route-tile-rule-card,
#route-danger-summary,
.route-danger-tools {
  grid-column: 1 / -1;
}

.route-drive-card {
  display: grid;
  gap: 6px;
  align-content: start;
}

.route-tile-rule-card {
  grid-template-rows: auto auto minmax(0, 1fr);
}

.tile-rule-list {
  flex: 1;
  min-height: 140px;
  max-height: none;
}

.route-danger-tools {
  display: none;
}

.route-danger-tools:has(.btn:not([hidden])) {
  display: grid;
}

.route-danger-card {
  min-width: 0;
}

.route-stack-toolbar {
  gap: 4px;
}

.route-setup-card {
  justify-content: flex-start;
}

.route-settings-grid {
  align-items: end;
}

.route-setting-toggles {
  padding-top: 2px;
}

.route-setting-note {
  line-height: 1.35;
}

.route-hunt-workspace {
  min-height: 0;
  height: clamp(252px, 34dvh, 340px);
  max-height: clamp(252px, 34dvh, 340px);
  padding: 0;
  overflow: hidden;
}

.route-hunt-workspace-modal {
  flex: 1 1 auto;
  height: auto;
  max-height: none;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background:
    radial-gradient(circle at top right, rgba(91, 189, 255, 0.08), transparent 28%),
    radial-gradient(circle at bottom left, rgba(143, 190, 100, 0.08), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(12, 9, 6, 0.82);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 34px rgba(0, 0, 0, 0.22);
}

.route-hunt-modal-head {
  align-items: center;
}

.route-hunt-grid {
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns:
    minmax(250px, 1.05fr) minmax(250px, 1fr) minmax(280px, 1.08fr) minmax(240px, 0.92fr);
  gap: 8px;
  align-items: stretch;
}

.route-hunt-panel,
.route-hunt-registry,
.route-hunt-presence-grid {
  min-width: 0;
  min-height: 0;
}

.route-hunt-panel {
  padding: 5px;
  display: grid;
  gap: 5px;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 42%),
    rgba(12, 9, 6, 0.72);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    0 12px 26px rgba(0, 0, 0, 0.14);
  overflow: hidden;
}

.route-hunt-config-panel {
  grid-template-rows: auto auto auto auto;
  align-content: start;
}

.route-hunt-profile-panel,
.route-hunt-combat-panel {
  grid-template-rows: auto minmax(0, 1fr);
}

.route-hunt-combat-panel {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 42%),
    rgba(12, 9, 6, 0.72);
}

.route-hunt-registry {
  display: grid;
  grid-template-rows: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 6px;
  overflow: hidden;
}

.route-hunt-registry-panel {
  grid-template-rows: auto auto minmax(112px, 1fr) auto;
}

.route-hunt-presence-grid {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 6px;
  overflow: hidden;
}

.route-hunt-presence-panel {
  grid-template-rows: auto auto minmax(0, 1fr);
}

.route-hunt-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.route-hunt-panel-head strong {
  min-width: 0;
  color: #fbf5e7;
  font-size: 11px;
  line-height: 1.15;
}

.route-hunt-panel-head .inline-actions {
  gap: 4px;
  flex-wrap: wrap;
  justify-content: flex-end;
}



.route-hunt-head-check {
  min-height: 22px;
  padding: 3px 6px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background: rgba(255, 255, 255, 0.03);
}

.route-hunt-stat-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

.route-hunt-stat-strip .summary-cell {
  min-height: 36px;
  padding: 5px 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 42%),
    rgba(0, 0, 0, 0.2);
}

.route-hunt-queue-field textarea {
  min-height: 72px;
  max-height: 72px;
  resize: none;
}

.route-hunt-runtime-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

.route-hunt-wide-field {
  grid-column: span 2;
}

.route-hunt-toggles {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.route-hunt-inline-note {
  min-height: 0;
  padding: 3px 5px;
  border: 1px solid rgba(169, 141, 99, 0.2);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
  text-transform: none;
}

.route-hunt-registry-actions {
  display: grid;
  gap: 5px;
}

.route-hunt-workspace .target-profile-card,
.route-hunt-workspace .target-source-panel,
.route-hunt-workspace .target-watch-group,
.route-hunt-workspace .target-set-card,
.route-hunt-workspace .targeting-config-card {
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.route-hunt-workspace .target-profile-list,
.route-hunt-workspace .targeting-distance-rule-list,
.route-hunt-workspace .monster-source-list,
.route-hunt-workspace .player-archive,
.route-hunt-workspace .npc-archive {
  min-height: 0;
  max-height: none;
}

.route-hunt-workspace .target-profile-row,
.route-hunt-workspace .module-rule-card {
  padding: 5px;
  gap: 5px;
}

.route-hunt-workspace .target-profile-summary,
.route-hunt-workspace .module-rule-action-line,
.route-hunt-workspace .module-rule-summary {
  font-size: 10px;
  line-height: 1.3;
}

.route-hunt-workspace .target-profile-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.route-hunt-workspace .target-profile-flags {
  gap: 6px 8px;
}

.route-hunt-workspace .module-rule-summary,
.route-hunt-workspace .module-rule-section,
.route-hunt-workspace .module-extra-fields {
  padding: 5px;
}

.route-hunt-workspace .module-rule-sections {
  grid-template-columns: 1fr;
  gap: 6px;
}

.route-hunt-workspace .module-rule-actions {
  gap: 4px;
}

.route-hunt-workspace .module-rule-actions .btn.danger {
  margin-left: 0;
}

.route-hunt-workspace .presence-chip {
  min-height: 0;
  padding: 5px 6px;
}

.module-card,
.sub-card {
  min-height: 0;
  padding: 5px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 40%),
    #18130e;
}

.modal-module-card {
  height: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
}

.route-stack-card,
.route-editor-card,
.route-tile-rule-card {
  display: grid;
}

.module-card-disabled {
  opacity: 0.78;
}

.module-card-disabled .module-current-line {
  color: var(--muted);
}

.module-note {
  color: var(--muted);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.32;
  letter-spacing: 0.015em;
}

.module-headline {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 5px;
}

.module-headline-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
  flex: 1 1 auto;
  padding: 5px 6px;
  border: 1px solid rgba(169, 141, 99, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 46%),
    rgba(12, 9, 6, 0.58);
  box-shadow: var(--shadow-card);
}

.module-headline-tools {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 4px;
}

.module-state-line {
  color: #dfd3b8;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.module-current-line {
  max-width: 100%;
  color: #dfd3b8;
  font-size: 11px;
  line-height: 1.32;
  font-weight: 500;
}

.module-rule-list {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  overflow: auto;
  padding-right: 2px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.module-card[data-module-key="manaTrainer"] {
  background:
    radial-gradient(circle at top right, rgba(143, 190, 100, 0.14), transparent 30%),
    radial-gradient(circle at top left, rgba(247, 213, 138, 0.12), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 42%),
    #15100b;
}

.module-card[data-module-key="manaTrainer"] .module-headline-copy {
  border-color: rgba(143, 190, 100, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 46%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.12), rgba(0, 0, 0, 0) 70%),
    rgba(15, 13, 9, 0.76);
}

.module-card[data-module-key="manaTrainer"] .module-current-line {
  border-color: rgba(143, 190, 100, 0.26);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 46%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.08), rgba(0, 0, 0, 0) 70%),
    rgba(17, 23, 13, 0.72);
}

.module-card[data-module-key="manaTrainer"] .module-note {
  color: #d5dcbf;
}

.rune-maker-panel {
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 5px;
}

.rune-maker-hero {
  padding: 6px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  border: 1px solid rgba(150, 198, 116, 0.18);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.08), transparent 46%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 52%),
    rgba(15, 12, 9, 0.84);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.rune-maker-hero-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.rune-maker-kicker,
.rune-maker-section-kicker {
  color: #d9d4c8;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.rune-maker-current-line {
  max-width: 100%;
  color: #faf5e8;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  text-wrap: pretty;
}

.rune-maker-note {
  color: #d7d2c2;
  font-size: 10px;
  line-height: 1.35;
}

.rune-maker-hero-actions {
  display: grid;
  gap: 6px;
  justify-items: end;
  align-content: start;
}

.rune-maker-layout {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.22fr);
  gap: 5px;
}

.rune-maker-sidebar {
  min-height: 0;
  display: grid;
  gap: 5px;
  align-content: start;
}

.rune-maker-sidebar-card,
.rune-maker-main {
  min-height: 0;
  padding: 6px;
  display: grid;
  gap: 6px;
  border: 1px solid rgba(169, 141, 99, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(12, 9, 6, 0.7);
  box-shadow: var(--shadow-card);
}

.rune-maker-sidebar-card-note p {
  margin: 0;
  color: var(--text);
  font-size: 11px;
  line-height: 1.45;
}

.rune-maker-live-summary {
  color: #faf5e8;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.rune-maker-live-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.rune-maker-template-grid {
  display: grid;
  gap: 6px;
}

.rune-maker-template {
  width: 100%;
  min-width: 0;
  padding: 7px 8px;
  display: grid;
  gap: 2px;
  justify-items: start;
  border: 1px solid rgba(169, 141, 99, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 42%),
    rgba(27, 21, 15, 0.86);
  color: var(--text);
  text-align: left;
  transition:
    border-color 140ms ease,
    transform 140ms ease,
    box-shadow 140ms ease,
    background 140ms ease;
}

.rune-maker-template strong {
  font-size: 12px;
  line-height: 1.2;
}

.rune-maker-template span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.rune-maker-template:hover,
.rune-maker-template:focus-visible {
  border-color: rgba(247, 213, 138, 0.52);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 42%),
    rgba(35, 27, 19, 0.92);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 0 0 1px rgba(247, 213, 138, 0.12);
  transform: translateY(-1px);
}

.rune-maker-main {
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

.rune-maker-list-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.rune-maker-rule-meta {
  color: #d8d2bf;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.rune-maker-rule-list {
  padding-right: 4px;
}

.rune-maker-rule-list .module-rule-card {
  padding: 10px;
  border-color: rgba(150, 198, 116, 0.18);
  background:
    radial-gradient(circle at top right, rgba(143, 190, 100, 0.08), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 42%),
    #130f0b;
}

.rune-maker-rule-list .module-rule-summary {
  border-color: rgba(150, 198, 116, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 44%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.08), rgba(0, 0, 0, 0) 70%),
    rgba(14, 12, 9, 0.72);
}

.rune-maker-rule-list .module-rule-section {
  border-color: rgba(95, 80, 59, 0.92);
  background: rgba(18, 14, 10, 0.74);
}

.trainer-shell {
  grid-column: 1 / -1;
  min-width: 0;
  display: grid;
  gap: 8px;
}

.trainer-overview {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.trainer-metric-card {
  min-width: 0;
  padding: 6px;
  display: grid;
  gap: 2px;
  border: 1px solid rgba(169, 141, 99, 0.26);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 42%),
    rgba(0, 0, 0, 0.16);
}

.trainer-metric-card.tone-safe {
  border-color: rgba(143, 190, 100, 0.32);
}

.trainer-metric-card.tone-danger {
  border-color: rgba(187, 109, 88, 0.34);
}

.trainer-metric-card.tone-route {
  border-color: rgba(121, 220, 255, 0.28);
}

.trainer-metric-card span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.trainer-metric-card strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 14px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trainer-metric-card small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trainer-settings {
  min-width: 0;
  padding: 7px;
  display: grid;
  gap: 8px;
  border: 1px solid var(--line-soft);
  background: var(--surface-inset);
}

.trainer-reconnect {
  min-width: 0;
  padding: 7px;
  display: grid;
  gap: 8px;
  border: 1px solid rgba(143, 190, 100, 0.24);
  background:
    linear-gradient(135deg, rgba(143, 190, 100, 0.06), transparent 58%),
    var(--surface-inset);
}

.trainer-settings-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trainer-duo-presets {
  min-width: 0;
  padding: 7px;
  display: grid;
  gap: 8px;
  border: 1px solid rgba(121, 220, 255, 0.2);
  background:
    linear-gradient(135deg, rgba(121, 220, 255, 0.07), transparent 58%),
    var(--surface-inset);
}

.trainer-duo-list {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.trainer-duo-card {
  min-width: 0;
  padding: 7px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background: rgba(0, 0, 0, 0.18);
}

.trainer-duo-card.warning {
  border-color: rgba(230, 179, 95, 0.36);
}

.trainer-duo-card-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.trainer-duo-card-copy strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trainer-duo-card-copy strong span {
  color: var(--accent-text);
}

.trainer-duo-card-copy small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trainer-duo-card-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.trainer-duo-create {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}

.trainer-partner {
  min-width: 0;
}

.equipment-replace-shell {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.equipment-replace-workbench {
  grid-column: 1 / -1;
  min-width: 0;
  display: block;
}

.equipment-replace-slot-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.equipment-replace-slot {
  min-width: 0;
  padding: 8px;
  display: grid;
  gap: 6px;
  border: 1px solid rgba(87, 102, 117, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 46%),
    rgba(10, 15, 20, 0.74);
}

.equipment-replace-slot.is-off {
  opacity: 0.8;
}

.equipment-replace-slot-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.equipment-replace-slot-copy {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.equipment-replace-slot-copy strong {
  flex-shrink: 0;
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.1;
}

.equipment-replace-slot-copy span {
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.equipment-replace-power {
  flex-shrink: 0;
  padding: 5px 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  border-radius: var(--toggle-surface-radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(16, 13, 10, 0.72);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.equipment-replace-power span {
  color: var(--text);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.equipment-replace-power input[type="checkbox"] {
  margin: 0;
}

.equipment-replace-power:hover,
.equipment-replace-toggle:hover {
  border-color: rgba(201, 169, 112, 0.42);
  transform: translateY(-1px);
}

.equipment-replace-power:has(input[type="checkbox"]:checked) {
  border-color: rgba(143, 190, 100, 0.4);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.07), transparent 44%),
    rgba(24, 35, 21, 0.72);
}

.equipment-replace-power:has(input[type="checkbox"]:focus-visible) {
  border-color: rgba(247, 213, 138, 0.52);
  box-shadow: 0 0 0 1px rgba(247, 213, 138, 0.12);
}

.equipment-replace-overview {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.equipment-replace-stat {
  min-width: 0;
  padding: 6px 7px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 42%),
    rgba(0, 0, 0, 0.16);
}

.equipment-replace-stat span,
.equipment-replace-field span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.equipment-replace-stat strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 12px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.equipment-replace-layout {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 6px;
}

.equipment-replace-panel {
  min-width: 0;
  min-height: 0;
  padding: 6px;
  display: grid;
  gap: 6px;
  align-content: start;
  border: 1px solid rgba(169, 141, 99, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(12, 9, 6, 0.7);
  box-shadow: var(--shadow-card);
}

.equipment-replace-panel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.equipment-replace-panel-head strong {
  color: var(--text);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.equipment-replace-panel-head span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
}

.equipment-replace-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.equipment-replace-choice {
  padding: 5px 8px;
  border: 1px solid rgba(169, 141, 99, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 42%),
    rgba(27, 21, 15, 0.82);
  color: var(--text);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  text-transform: none;
  transition:
    border-color 140ms ease,
    background 140ms ease,
    box-shadow 140ms ease,
    transform 140ms ease;
}

.equipment-replace-choice:hover,
.equipment-replace-choice:focus-visible {
  border-color: rgba(247, 213, 138, 0.52);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 0 0 1px rgba(247, 213, 138, 0.12);
  transform: translateY(-1px);
}

.equipment-replace-choice.active {
  border-color: rgba(143, 190, 100, 0.42);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.08), transparent 42%),
    rgba(28, 40, 21, 0.8);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 0 0 1px rgba(143, 190, 100, 0.12);
}

.equipment-replace-empty {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.equipment-replace-controls {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(112px, 132px) repeat(2, auto);
  gap: 6px;
  align-items: stretch;
}

.equipment-replace-field,
.equipment-replace-toggle {
  min-width: 0;
  padding: 6px 7px;
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(169, 141, 99, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(12, 9, 6, 0.62);
}

.equipment-replace-field {
  display: grid;
  gap: 4px;
  align-items: stretch;
}

.equipment-replace-field input {
  width: 100%;
  min-width: 0;
}

.equipment-replace-toggle {
  justify-content: flex-start;
  border-radius: var(--toggle-surface-radius);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.equipment-replace-toggle span {
  color: var(--text);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
}

.equipment-replace-toggle input[type="checkbox"] {
  margin: 0;
}

.equipment-replace-field:focus-within,
.equipment-replace-toggle:has(input[type="checkbox"]:focus-visible) {
  border-color: rgba(247, 213, 138, 0.52);
  box-shadow: 0 0 0 1px rgba(247, 213, 138, 0.12);
}

.equipment-replace-toggle:has(input[type="checkbox"]:checked) {
  border-color: rgba(143, 190, 100, 0.36);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.07), transparent 44%),
    rgba(24, 35, 21, 0.72);
}

.follow-train-shell {
  grid-column: 1 / -1;
  min-width: 0;
  min-height: 0;
  height: 100%;
}

.team-hunt-shell {
  grid-column: 1 / -1;
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
}

.team-hunt-top-row {
  min-width: 0;
  display: grid;
  grid-template-columns: max-content max-content;
  gap: 8px;
  align-items: start;
  justify-content: start;
}

.team-hunt-control-panel {
  min-width: 0;
  padding: 6px;
  border: 1px solid var(--line-soft);
  background: var(--surface-inset);
  display: grid;
  align-content: start;
}

.team-hunt-control-strip {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(140px, 220px) repeat(3, minmax(150px, 1fr));
  gap: 8px;
  align-items: start;
}

.team-sio-panel {
  min-width: 0;
  padding: 6px;
  border: 1px solid var(--line-soft);
  background: var(--surface-inset);
  display: grid;
  gap: 6px;
}

.team-sio-grid {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.follow-train-layout {
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(230px, 0.68fr) minmax(0, 1.48fr);
  gap: 8px;
  align-items: stretch;
}

.follow-train-column {
  min-height: 0;
  padding: 6px;
  display: grid;
  gap: 8px;
  border: 1px solid var(--line-soft);
  background: var(--surface-inset);
  overflow: hidden;
}

.follow-train-source-column {
  grid-template-rows: auto auto minmax(0, 1fr);
  background:
    linear-gradient(180deg, rgba(121, 220, 255, 0.05), transparent 32%),
    var(--surface-inset);
}

.follow-train-chain-column {
  grid-template-rows: auto auto minmax(0, 1fr);
  background:
    linear-gradient(180deg, rgba(136, 246, 184, 0.05), transparent 32%),
    var(--surface-inset);
}

.follow-train-manual-strip {
  min-width: 0;
  display: grid;
}

.follow-train-manual-strip .module-rule-control {
  min-width: 0;
  max-width: none;
  gap: 3px;
}

.follow-train-manual-strip textarea {
  min-height: 32px;
  max-height: 48px;
  resize: vertical;
}

.follow-train-settings-strip {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: end;
  justify-content: flex-start;
}

.follow-train-settings-strip .module-rule-control {
  width: max-content;
  max-width: 150px;
  min-height: 0;
  gap: 2px;
}

.follow-train-settings-strip .module-rule-control:not(.module-rule-check) {
  display: grid;
  grid-template-rows: min-content min-content;
}

.follow-train-settings-strip .module-rule-check {
  min-height: 24px;
  align-self: end;
}

.follow-train-route-kite-toggle {
  min-width: 74px;
  max-width: 96px;
}

.follow-train-source-stack {
  min-height: 0;
  display: grid;
  gap: 8px;
  grid-template-rows: minmax(118px, 0.78fr) minmax(160px, 1fr);
}

.follow-train-source-card {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
  padding: 6px;
  border: 1px solid rgba(169, 141, 99, 0.2);
  background: rgba(255, 255, 255, 0.025);
}

.follow-train-source-title,
.follow-train-role {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.follow-train-source-list,
.follow-train-chain-list {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow: auto;
  padding-right: 2px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.follow-train-source-button {
  width: 100%;
  min-width: 0;
  padding: 7px;
  display: grid;
  gap: 6px;
  justify-items: start;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 38%),
    rgba(0, 0, 0, 0.14);
  color: var(--text);
  text-align: left;
  transition:
    border-color 140ms ease,
    background 140ms ease,
    box-shadow 140ms ease,
    transform 140ms ease,
    opacity 140ms ease;
}

.follow-train-source-button strong,
.follow-train-row-copy strong,
.follow-train-doctrine-head strong {
  font-size: 12px;
  line-height: 1.2;
}

.follow-train-source-button span,
.follow-train-row-badges,
.follow-train-row-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.follow-train-source-button.selected,
.follow-train-source-button:disabled {
  opacity: 0.72;
  border-color: rgba(143, 190, 100, 0.36);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.08), transparent 42%),
    rgba(36, 48, 24, 0.64);
  cursor: default;
}

.follow-train-source-button:hover:not(:disabled),
.follow-train-source-button:focus-visible {
  border-color: rgba(247, 213, 138, 0.52);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 0 0 1px rgba(247, 213, 138, 0.12);
  transform: translateY(-1px);
}

.follow-train-badge {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 0 6px;
  border: 1px solid rgba(169, 141, 99, 0.22);
  background: rgba(255, 255, 255, 0.04);
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.follow-train-badge.compact {
  min-height: 16px;
  padding: 0 4px;
  font-size: 8px;
}

.follow-train-badge.current {
  border-color: rgba(137, 167, 77, 0.36);
  color: #d8efb7;
}

.follow-train-badge.subtle {
  background: rgba(255, 255, 255, 0.025);
}

.follow-train-badge.target {
  max-width: 220px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.follow-train-badge.runtime {
  border-color: rgba(143, 190, 100, 0.26);
  color: #d8efb7;
}

.follow-train-badge.tone-pilot {
  border-color: rgba(247, 213, 138, 0.34);
  color: #f7d58a;
}

.follow-train-badge.tone-attack {
  border-color: rgba(216, 118, 91, 0.34);
  color: #ffd2c7;
}

.follow-train-badge.tone-support {
  border-color: rgba(121, 220, 255, 0.3);
  color: #ccefff;
}

.follow-train-badge.tone-route {
  border-color: rgba(143, 190, 100, 0.28);
  color: #d8efb7;
}

.follow-train-overview {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 8px;
}

.follow-train-metric-card {
  min-width: 0;
  padding: 6px;
  display: grid;
  gap: 2px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 42%),
    rgba(0, 0, 0, 0.16);
}

.follow-train-metric-card.tone-pilot {
  border-color: rgba(247, 213, 138, 0.34);
}

.follow-train-metric-card.tone-attack {
  border-color: rgba(216, 118, 91, 0.34);
}

.follow-train-metric-card.tone-support {
  border-color: rgba(121, 220, 255, 0.3);
}

.follow-train-metric-card.tone-route {
  border-color: rgba(143, 190, 100, 0.3);
}

.follow-train-metric-card span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.follow-train-metric-card strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 14px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.follow-train-metric-card small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.follow-train-workspace {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
}

.follow-train-team-split-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 2px 0 6px;
}

.follow-train-team-split-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.follow-train-doctrine-panel {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  padding: 6px;
  border: 1px solid rgba(169, 141, 99, 0.2);
  background:
    linear-gradient(180deg, rgba(121, 220, 255, 0.04), transparent 36%),
    rgba(255, 255, 255, 0.02);
  overflow: hidden;
}

.follow-train-doctrine-note {
  padding: 7px;
  display: grid;
  gap: 6px;
  border: 1px solid rgba(169, 141, 99, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 46%),
    rgba(0, 0, 0, 0.14);
}

.follow-train-doctrine-note strong {
  font-size: 12px;
  line-height: 1.2;
}

.follow-train-doctrine-note p,
.follow-train-doctrine-copy {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.follow-train-doctrine-copy.subtle {
  color: var(--text-soft);
}

.follow-train-doctrine-vocations {
  display: grid;
  gap: 4px;
}

.follow-train-doctrine-vocations span {
  color: var(--text);
  font-size: 10px;
  line-height: 1.35;
}

.follow-train-doctrine-list {
  min-height: 0;
  display: grid;
  gap: 6px;
  overflow: auto;
  padding-right: 2px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.follow-train-doctrine-card {
  padding: 7px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(169, 141, 99, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(0, 0, 0, 0.12);
}

.follow-train-doctrine-card.tone-pilot {
  border-color: rgba(247, 213, 138, 0.3);
}

.follow-train-doctrine-card.tone-attack {
  border-color: rgba(216, 118, 91, 0.3);
}

.follow-train-doctrine-card.tone-support {
  border-color: rgba(121, 220, 255, 0.28);
}

.follow-train-doctrine-card.tone-route {
  border-color: rgba(143, 190, 100, 0.26);
}

.follow-train-doctrine-head {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: space-between;
  align-items: center;
}

.follow-train-doctrine-slot {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.follow-train-row {
  min-width: 0;
  padding: 5px;
  display: grid;
  gap: 4px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 40%),
    rgba(0, 0, 0, 0.14);
}

.follow-train-row.tone-pilot {
  border-color: rgba(247, 213, 138, 0.28);
}

.follow-train-row.tone-attack {
  border-color: rgba(216, 118, 91, 0.28);
}

.follow-train-row.tone-support {
  border-color: rgba(121, 220, 255, 0.24);
}

.follow-train-row.tone-route {
  border-color: rgba(143, 190, 100, 0.24);
}

.follow-train-row.current {
  border-color: rgba(137, 167, 77, 0.52);
  box-shadow: 0 0 0 1px rgba(137, 167, 77, 0.12);
}

.follow-train-row-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
}

.follow-train-slot-wrap {
  min-width: 0;
  display: flex;
  gap: 6px;
  align-items: center;
}

.follow-train-slot-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 28px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background: rgba(0, 0, 0, 0.22);
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.follow-train-row-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.follow-train-row-title {
  min-width: 0;
  display: flex;
  gap: 6px;
  align-items: center;
}

.follow-train-row-title strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.follow-train-row-link {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
  letter-spacing: 0.02em;
}

.follow-train-row-badges {
  min-width: 0;
}

.follow-train-row-badges.compact {
  align-items: center;
  flex-wrap: nowrap;
}

.follow-train-row-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border: 1px solid rgba(169, 141, 99, 0.32);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
}

.follow-train-row-dot.tone-pilot {
  border-color: rgba(247, 213, 138, 0.58);
  background: #c89947;
}

.follow-train-row-dot.tone-route {
  border-color: rgba(143, 190, 100, 0.48);
  background: #8fbe64;
}

.follow-train-runtime-copy {
  color: var(--text-soft);
}

.follow-train-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  justify-content: flex-end;
}

.follow-train-role-field {
  min-width: 118px;
  display: grid;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.follow-train-role-field select,
.follow-train-role-field input[type="number"] {
  min-width: 118px;
  max-width: 158px;
}

.follow-train-spread-field {
  min-width: 70px;
}

.follow-train-spread-field input[type="number"] {
  min-width: 70px;
  max-width: 78px;
}

.follow-train-total-spread-field input[type="number"] {
  border-color: rgba(247, 213, 138, 0.34);
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.08), transparent 48%),
    rgba(0, 0, 0, 0.2);
  color: #f7d58a;
  cursor: default;
}

.follow-train-check-field {
  grid-auto-flow: column;
  grid-template-columns: auto 1fr;
  align-items: center;
  justify-content: end;
  gap: 5px;
  min-width: 76px;
  min-height: 25px;
  padding: 0 6px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background: rgba(255, 255, 255, 0.025);
}

.follow-train-check-field input {
  width: 14px;
  height: 14px;
}

.follow-train-row-buttons {
  justify-content: flex-end;
}

.follow-train-row-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 0.58fr);
  gap: 8px;
  align-items: start;
}

.follow-train-runtime-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.follow-train-runtime-item {
  min-width: 0;
  padding: 6px;
  display: grid;
  gap: 2px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background: rgba(255, 255, 255, 0.025);
}

.follow-train-runtime-item span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.follow-train-runtime-item strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 11px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.follow-train-row-note {
  padding: 7px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background: rgba(255, 255, 255, 0.025);
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.follow-train-footer {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  align-items: stretch;
}

.follow-train-status-card {
  min-height: 0;
  padding: 6px;
  display: grid;
  gap: 2px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background: rgba(255, 255, 255, 0.03);
}

.follow-train-status-card span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.follow-train-status-card strong {
  font-size: 16px;
  line-height: 1.1;
}

.follow-train-status-card small {
  color: var(--text);
  font-size: 10px;
  line-height: 1.35;
}

.module-rule-card {
  padding: 5px;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 42%),
    rgba(21, 16, 11, 0.96);
  display: flex;
  flex-direction: column;
  gap: 5px;
  box-shadow: var(--shadow-card);
}

.module-rule-card-disabled {
  border-color: rgba(112, 93, 64, 0.52);
  opacity: 0.74;
}

.module-rule-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

.module-rule-head-main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.module-rule-title-row {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
}

.module-rule-index {
  color: var(--accent-text);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.module-rule-name {
  min-width: 0;
  color: #fbf5e7;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.module-rule-actions {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}

.module-rule-toolbar {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
}

.module-rule-toolbar .module-rule-actions {
  margin-left: auto;
  justify-content: flex-end;
}

.module-rule-footer {
  display: flex;
  justify-content: flex-end;
}

.module-rule-inline-toolbar {
  display: flex;
  justify-content: flex-end;
}

.module-rule-actions .btn.danger {
  margin-left: 0;
}

.module-rule-summary {
  padding: 7px;
  display: grid;
  gap: 6px;
  border: 1px solid rgba(169, 141, 99, 0.42);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 44%),
    rgba(12, 9, 6, 0.55);
}

.module-rule-action-line {
  color: #fbf5e7;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.28;
  word-break: break-word;
}

.module-rule-tier-line {
  color: rgba(247, 213, 138, 0.86);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
}

.module-rule-card[data-module-key="manaTrainer"] {
  gap: 10px;
  border-color: rgba(143, 190, 100, 0.2);
  background:
    radial-gradient(circle at top right, rgba(143, 190, 100, 0.1), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent 44%),
    rgba(18, 13, 9, 0.98);
}

.module-rule-card[data-module-key="manaTrainer"] .module-rule-head {
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(143, 190, 100, 0.16);
  gap: 10px;
}

.module-rule-card[data-module-key="manaTrainer"] .module-rule-name {
  font-size: 15px;
}

.module-rule-card[data-module-key="manaTrainer"] .module-rule-summary {
  gap: 10px;
  border-color: rgba(143, 190, 100, 0.28);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 44%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.12), rgba(0, 0, 0, 0) 70%),
    rgba(11, 10, 7, 0.74);
}

.mana-rule-summary-shell {
  display: grid;
  gap: 10px;
}

.mana-rule-summary-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.mana-rule-summary-copy {
  margin-top: 4px;
  color: #d1c5af;
  font-size: 10px;
  line-height: 1.4;
}

.mana-rule-kicker {
  min-width: 94px;
  padding: 7px 8px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(143, 190, 100, 0.32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 44%),
    rgba(20, 28, 16, 0.74);
}

.mana-rule-kicker span,
.mana-rule-window-head span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.mana-rule-kicker strong {
  color: #eef8e4;
  font-size: 15px;
  line-height: 1;
}

.mana-rule-window {
  padding: 9px 10px;
  display: grid;
  gap: 7px;
  border: 1px solid rgba(247, 213, 138, 0.32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 46%),
    rgba(16, 12, 8, 0.7);
}

.mana-rule-window-head,
.mana-rule-window-scale,
.mana-rule-window-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;
}

.mana-rule-window-value {
  color: #fbf5e7;
  font-size: 14px;
  line-height: 1.1;
}

.mana-rule-window-track {
  position: relative;
  height: 14px;
  border: 1px solid rgba(169, 141, 99, 0.4);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01)),
    #0f0b08;
  overflow: hidden;
}

.mana-rule-window-track::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      transparent 24.5%,
      rgba(169, 141, 99, 0.18) 24.5%,
      rgba(169, 141, 99, 0.18) 25.5%,
      transparent 25.5%,
      transparent 49.5%,
      rgba(169, 141, 99, 0.18) 49.5%,
      rgba(169, 141, 99, 0.18) 50.5%,
      transparent 50.5%,
      transparent 74.5%,
      rgba(169, 141, 99, 0.18) 74.5%,
      rgba(169, 141, 99, 0.18) 75.5%,
      transparent 75.5%);
}

.mana-rule-window-fill {
  position: absolute;
  top: 1px;
  bottom: 1px;
  border: 1px solid rgba(165, 214, 120, 0.76);
  background:
    linear-gradient(90deg, rgba(127, 179, 79, 0.92), rgba(190, 232, 147, 0.96));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 16px rgba(143, 190, 100, 0.24);
}

.mana-rule-window-scale {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mana-rule-window-meta {
  color: #ddd1bb;
  font-size: 10px;
  line-height: 1.35;
}

.module-rule-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.module-rule-pill {
  min-height: 28px;
  padding: 4px 7px;
  display: inline-grid;
  gap: 1px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.025);
}

.module-rule-pill span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.module-rule-pill strong {
  color: var(--text);
  font-size: 11px;
  line-height: 1.15;
  white-space: nowrap;
}

.module-rule-card[data-module-key="manaTrainer"] .module-rule-pills {
  gap: 6px;
}

.module-rule-card[data-module-key="manaTrainer"] .module-rule-pill {
  min-height: 32px;
  padding: 5px 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(0, 0, 0, 0.18);
}

.module-rule-pill.tone-trigger {
  border-color: rgba(247, 213, 138, 0.48);
}

.module-rule-pill.tone-gate,
.module-rule-pill.tone-safe {
  border-color: rgba(143, 190, 100, 0.44);
}

.module-rule-pill.tone-open {
  border-color: rgba(212, 165, 74, 0.46);
}

.module-rule-pill.tone-timing {
  border-color: rgba(185, 210, 235, 0.35);
}

.module-rule-sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 6px;
}

.module-rule-section {
  min-width: 0;
  padding: 4px;
  display: grid;
  gap: 4px;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background: rgba(16, 13, 9, 0.62);
}

.module-rule-section-title {
  color: var(--accent-text);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.module-rule-card[data-module-key="manaTrainer"] .module-rule-section {
  border-color: rgba(105, 88, 62, 0.92);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(14, 11, 8, 0.74);
}

.module-rule-card[data-module-key="manaTrainer"] .module-rule-section-title {
  color: #efe1a6;
}

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

.module-extra-fields {
  padding: 6px;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background: rgba(16, 13, 9, 0.62);
  align-content: start;
}

.module-extra-fields.module-extra-fields-healer {
  min-height: 0;
  padding: 0;
  display: block;
  border: none;
  background: transparent;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.module-extra-fields.module-extra-fields-looting,
.module-extra-fields.module-extra-fields-recover-loot {
  min-height: 0;
  padding: 0;
  display: block;
  border: none;
  background: transparent;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.module-extra-fields.module-extra-fields-alarms {
  min-height: 0;
  padding: 0;
  display: block;
  border: none;
  background: transparent;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.module-extra-fields.module-extra-fields-gold-bank {
  min-height: 0;
  padding: 0;
  display: block;
  border: none;
  background: transparent;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.module-extra-fields.module-extra-fields-mana-trainer {
  min-height: 0;
  padding: 0;
  display: block;
  border: none;
  background: transparent;
  overflow: visible;
}

.mana-trainer-support {
  min-width: 0;
  margin-top: 8px;
  display: grid;
  gap: 8px;
}

.gold-bank-module-fields {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.gold-bank-subpanel {
  min-width: 0;
  padding: 7px;
  display: grid;
  gap: 8px;
  border: 1px solid rgba(169, 141, 99, 0.32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 48%),
    rgba(14, 11, 8, 0.78);
}

.gold-bank-subhead {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.78rem;
}

.gold-bank-subhead strong {
  color: #f4df9e;
}

.gold-bank-subhead span,
.gold-bank-current-line {
  color: var(--muted);
}

.gold-bank-current-line {
  font-size: 0.74rem;
  line-height: 1.35;
}

.gold-bank-coin-rule-list {
  max-height: none;
  padding: 0;
  overflow: visible;
}

.mana-support-panel {
  min-width: 0;
  padding: 7px;
  display: grid;
  gap: 8px;
  border: 1px solid rgba(169, 141, 99, 0.32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 48%),
    rgba(14, 11, 8, 0.78);
}

.mana-support-panel-head {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
  gap: 8px;
  align-items: start;
}

.mana-support-panel-copy,
.mana-support-panel-status {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.mana-support-panel-copy span,
.mana-support-panel-status span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.mana-support-panel-copy strong {
  color: var(--text);
  font-size: 14px;
  line-height: 1.15;
}

.mana-support-panel-copy small,
.mana-support-panel-status small {
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.3;
}

.mana-support-panel-status {
  justify-items: end;
  text-align: right;
}

.mana-support-rule-list {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.mana-support-control-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(180px, 0.5fr);
  gap: 8px;
}

.healer-shell {
  min-height: 0;
  display: grid;
  gap: 8px;
  padding-right: 2px;
}

.healer-rule-lead {
  min-width: 0;
  padding: 6px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(169, 141, 99, 0.32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(14, 11, 8, 0.82);
}

.healer-rule-lead strong {
  color: #fbf5e7;
  font-size: 14px;
  line-height: 1.18;
}

.healer-rule-lead span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.38;
}

.healer-setup-panel {
  min-width: 0;
  padding: 6px;
  display: grid;
  gap: 8px;
  border: 1px solid rgba(169, 141, 99, 0.32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(14, 11, 8, 0.82);
}

.healer-setup-head {
  min-width: 0;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
}

.healer-setup-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
  align-content: start;
}

.healer-setup-stats {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.healer-setup-grid {
  align-items: start;
}

.healer-setup-grid .module-rule-control {
  max-width: none;
}

.healer-setup-note {
  display: grid;
  gap: 4px;
}

.healer-overview {
  min-width: 0;
  padding: 6px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: 10px;
  border: 1px solid rgba(169, 141, 99, 0.32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(14, 11, 8, 0.82);
}

.healer-overview-copy,
.healer-lane-card,
.healer-metric-card {
  min-width: 0;
  display: grid;
  gap: 4px;
  align-content: start;
}

.healer-overview-kicker,
.healer-lane-kicker,
.healer-metric-card span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.healer-overview-title {
  margin: 0;
  color: #fbf5e7;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.08;
}

.healer-overview-detail,
.healer-lane-card small,
.healer-metric-card small {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.38;
}

.healer-overview-stats,
.healer-lane-grid {
  display: grid;
  gap: 6px;
}

.healer-overview-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.healer-metric-card,
.healer-lane-card,
.healer-control-band {
  min-width: 0;
  padding: 5px;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(11, 8, 5, 0.56);
}

.healer-metric-card strong,
.healer-lane-card strong {
  color: #fbf5e7;
  font-size: 12px;
  line-height: 1.2;
}

.healer-lane-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.healer-lane-card.tone-safe,
.healer-metric-card.tone-safe {
  border-color: rgba(143, 190, 100, 0.3);
}

.healer-lane-card.tone-open,
.healer-metric-card.tone-open {
  border-color: rgba(121, 220, 255, 0.28);
}

.healer-lane-card.tone-gate,
.healer-metric-card.tone-gate {
  border-color: rgba(247, 213, 138, 0.28);
}

.healer-lane-card.tone-trigger,
.healer-metric-card.tone-trigger {
  border-color: rgba(222, 130, 108, 0.32);
}

.healer-lane-card.tone-danger,
.healer-metric-card.tone-danger {
  border-color: rgba(187, 109, 88, 0.4);
}

.healer-lane-card.tone-timing,
.healer-metric-card.tone-timing {
  border-color: rgba(152, 128, 198, 0.26);
}

.healer-control-band {
  display: grid;
  gap: 6px;
}

.healer-control-band .module-rule-control {
  max-width: 360px;
}

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

.knight-exori-panel {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 8px;
  display: grid;
  gap: 8px;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(11, 8, 5, 0.56);
}

.knight-exori-panel-off {
  border-color: rgba(79, 67, 50, 0.4);
  opacity: 0.82;
}

.knight-exori-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.knight-exori-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.knight-exori-kicker {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.knight-exori-title {
  color: #fbf5e7;
  font-size: 13px;
  line-height: 1.18;
}

.knight-exori-detail {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.38;
}

.knight-exori-fields {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: start;
}

.knight-exori-fields .module-rule-control {
  max-width: none;
}

.healer-family-panel {
  min-width: 0;
  padding: 6px;
  display: grid;
  gap: 8px;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(11, 8, 5, 0.56);
}

.healer-family-head {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.72fr);
  align-items: start;
}

.healer-family-copy,
.healer-family-toggle {
  min-width: 0;
}

.healer-family-kicker {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.healer-family-title {
  color: #fbf5e7;
  font-size: 14px;
  line-height: 1.18;
}

.healer-family-detail,
.healer-family-status-row span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.38;
}

.healer-family-toggle .module-rule-control {
  max-width: none;
}

.healer-family-status-row {
  display: grid;
  gap: 4px;
  padding: 5px;
  border: 1px solid rgba(79, 67, 50, 0.78);
  background: rgba(9, 7, 5, 0.46);
}

.healer-family-card-grid {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.healer-family-rule-list {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.healer-family-rule-list .empty-state {
  min-height: 84px;
}

.healer-family-toolbar {
  display: flex;
  justify-content: flex-end;
}

.alarms-shell {
  min-height: 0;
  display: grid;
  gap: 8px;
  padding-right: 2px;
}

.alarms-overview {
  min-width: 0;
  padding: 6px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 10px;
  border: 1px solid rgba(169, 141, 99, 0.32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(14, 11, 8, 0.82);
}

.alarms-overview[data-tone="player"] {
  border-color: rgba(121, 220, 255, 0.36);
}

.alarms-overview[data-tone="pk"] {
  border-color: rgba(255, 104, 86, 0.48);
}

.alarms-overview[data-tone="friend"] {
  border-color: rgba(126, 226, 176, 0.38);
}

.alarms-overview[data-tone="staff"] {
  border-color: rgba(247, 213, 138, 0.4);
}

.alarms-overview[data-tone="blacklist"] {
  border-color: rgba(187, 109, 88, 0.46);
}

.alarms-overview[data-tone="clear"] {
  border-color: rgba(143, 190, 100, 0.34);
}

.alarms-overview-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
  align-content: start;
}

.alarms-overview-kicker,
.alarms-card-kicker {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.alarms-overview-title,
.alarms-card-title {
  margin: 0;
  color: #fbf5e7;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.08;
}

.alarms-card-title {
  font-size: 13px;
  line-height: 1.14;
}

.alarms-overview-detail,
.alarms-live-head span,
.alarms-live-copy span,
.alarms-card-note {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.38;
}

.alarms-overview-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.alarms-stat-card,
.alarms-card,
.alarms-live-band {
  min-width: 0;
  padding: 5px;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(11, 8, 5, 0.56);
}

.alarms-stat-card.tone-player,
.alarms-card.tone-player,
.alarms-scope-row.tone-player,
.alarms-live-entry.tone-player {
  border-color: rgba(121, 220, 255, 0.26);
}

.alarms-stat-card.tone-pk,
.alarms-card.tone-pk,
.alarms-scope-row.tone-pk,
.alarms-live-entry.tone-pk {
  border-color: rgba(255, 104, 86, 0.36);
}

.alarms-stat-card.tone-friend,
.alarms-card.tone-friend,
.alarms-scope-row.tone-friend,
.alarms-live-entry.tone-friend {
  border-color: rgba(126, 226, 176, 0.28);
}

.alarms-stat-card.tone-whitelist,
.alarms-card.tone-whitelist,
.alarms-scope-row.tone-whitelist,
.alarms-live-entry.tone-whitelist {
  border-color: rgba(126, 226, 176, 0.18);
}

.alarms-stat-card.tone-staff,
.alarms-card.tone-staff,
.alarms-scope-row.tone-staff,
.alarms-live-entry.tone-staff {
  border-color: rgba(247, 213, 138, 0.28);
}

.alarms-stat-card.tone-blacklist,
.alarms-card.tone-blacklist,
.alarms-scope-row.tone-blacklist,
.alarms-live-entry.tone-blacklist {
  border-color: rgba(187, 109, 88, 0.34);
}

.alarms-stat-card {
  display: grid;
  gap: 3px;
}

.alarms-stat-card span,
.alarms-live-action {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.alarms-stat-card strong {
  color: #fbf5e7;
  font-size: 12px;
  line-height: 1.2;
}

.alarms-stat-card small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.3;
}

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

.alarms-card {
  display: grid;
  gap: 7px;
  align-content: start;
}

.alarms-card-blacklist {
  grid-column: span 2;
}

.alarms-card-head,
.alarms-live-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-start;
}

.alarms-card-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.alarms-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.alarms-toggle-field {
  grid-column: 1 / -1;
}

.alarms-number-field input {
  min-height: 24px;
}

.alarms-card-note {
  padding-top: 1px;
}

.alarms-token-strip,
.alarms-live-strip {
  display: grid;
  gap: 6px;
}

.alarms-token-strip {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.alarms-token {
  min-width: 0;
  padding: 6px 7px;
  display: flex;
  justify-content: space-between;
  gap: 6px;
  align-items: center;
  border: 1px solid rgba(121, 220, 255, 0.2);
  background: rgba(255, 255, 255, 0.02);
  color: #fbf5e7;
  font-size: 10px;
}

.alarms-token-empty {
  color: var(--muted);
}

.alarms-token-active {
  cursor: pointer;
}

.alarms-token.tone-whitelist {
  border-color: rgba(126, 226, 176, 0.22);
}

.alarms-token.tone-blacklist {
  border-color: rgba(187, 109, 88, 0.28);
}

.alarms-blacklist-field textarea {
  min-height: 92px;
  resize: vertical;
}

.alarms-live-band {
  display: grid;
  gap: 7px;
}

.alarms-live-strip {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.alarms-live-entry {
  min-width: 0;
  padding: 7px;
  display: flex;
  justify-content: space-between;
  gap: 7px;
  align-items: center;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 46%),
    rgba(9, 7, 5, 0.5);
}

.alarms-live-entry.active {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 46%),
    rgba(19, 26, 19, 0.62);
}

.alarms-live-entry-empty {
  color: var(--muted);
  font-size: 10px;
}

.alarms-live-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.alarms-live-copy strong {
  color: #fbf5e7;
  font-size: 11px;
  line-height: 1.2;
}

.alarms-live-action.locked {
  color: #f4c9bf;
}

@media (max-width: 980px) {

  .mana-support-panel-head,
  .mana-support-control-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .mana-support-panel-status {
    justify-items: start;
    text-align: left;
  }

  .alarms-overview,
  .alarms-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .alarms-card-blacklist {
    grid-column: auto;
  }
}

.anti-idle-workspace,
.reconnect-workspace {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.anti-idle-status-band,
.reconnect-status-band {
  min-width: 0;
  padding: 8px;
  display: grid;
  grid-template-columns: minmax(150px, 0.9fr) minmax(0, 1.4fr);
  gap: 8px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 52%),
    rgba(11, 9, 7, 0.72);
}

.anti-idle-status-band[data-tone="ready"],
.anti-idle-status-band[data-tone="live"],
.reconnect-status-band[data-tone="ready"],
.reconnect-status-band[data-tone="live"] {
  border-color: rgba(143, 190, 100, 0.42);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 50%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.12), rgba(0, 0, 0, 0) 72%),
    rgba(12, 17, 10, 0.74);
}

.anti-idle-status-band[data-tone="warn"],
.reconnect-status-band[data-tone="warn"] {
  border-color: rgba(201, 169, 112, 0.5);
}

.anti-idle-status-band[data-tone="off"],
.reconnect-status-band[data-tone="off"] {
  opacity: 0.82;
}

.anti-idle-status-copy,
.reconnect-status-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
  align-content: center;
}

.anti-idle-status-copy span,
.anti-idle-metric span,
.reconnect-status-copy span,
.reconnect-metric span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.anti-idle-status-copy strong,
.reconnect-status-copy strong {
  min-width: 0;
  color: var(--text);
  font-size: 14px;
  line-height: 1.15;
}

.anti-idle-status-copy small,
.reconnect-status-copy small {
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.3;
}

.anti-idle-metric-grid,
.reconnect-metric-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
}

.anti-idle-metric,
.reconnect-metric {
  min-width: 0;
  padding: 5px 6px;
  display: grid;
  gap: 2px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background: rgba(255, 255, 255, 0.03);
}

.anti-idle-metric strong,
.reconnect-metric strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 10px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.anti-idle-control-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(132px, 0.65fr) minmax(120px, 0.7fr) minmax(180px, 1.2fr) auto;
  gap: 8px;
  align-items: end;
}

.reconnect-control-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(132px, 0.7fr) repeat(2, minmax(140px, 1fr)) auto;
  gap: 8px;
  align-items: end;
}

.anti-idle-preset-group {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

.anti-idle-preset-group .btn,
.anti-idle-test {
  min-width: 0;
  width: 100%;
}

@media (max-width: 980px) {
  .anti-idle-control-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.reconnect-manual-action {
  min-width: 0;
  width: 100%;
}

.module-option-rows {
  min-width: 0;
  width: max-content;
  max-width: 100%;
  display: grid;
  gap: 6px;
}

.module-option-row {
  min-width: 0;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 6px;
  align-items: end;
  justify-content: start;
}

.anti-paralyze-grid {
  min-width: 0;
  width: max-content;
  max-width: 100%;
  display: grid;
  gap: 6px;
}

.anti-paralyze-row-1 {
  display: grid;
  grid-template-columns: minmax(0, var(--anti-paralyze-text-width, 176px)) minmax(0, var(--anti-paralyze-short-width, 84px));
  gap: 6px;
  align-items: end;
}

.anti-paralyze-row-2 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, var(--anti-paralyze-short-width, 84px)));
  gap: 6px;
  align-items: end;
}

.looting-shell {
  min-height: 0;
  display: grid;
  gap: 10px;
  padding-right: 2px;
}

.looting-overview {
  position: relative;
  overflow: hidden;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 10px;
  border: 1px solid rgba(169, 141, 99, 0.44);
  background:
    radial-gradient(circle at top left, rgba(247, 213, 138, 0.12), transparent 42%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.08), transparent 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(18, 14, 10, 0.86);
  box-shadow: var(--shadow-card);
}

.looting-overview::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, rgba(247, 213, 138, 0.9), rgba(143, 190, 100, 0.4));
}

.looting-overview-copy {
  min-width: 0;
  display: grid;
  gap: 6px;
  align-content: start;
}

.looting-overview-kicker,
.looting-card-kicker,
.looting-shortcut-label,
.looting-token-label {
  color: var(--accent-text);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.looting-token-meta {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
}

.looting-overview-title {
  margin: 0;
  color: #fbf5e7;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0.01em;
}

.looting-overview-detail,
.looting-card-copy {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.looting-overview-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.looting-stat-card {
  min-width: 0;
  min-height: 72px;
  padding: 9px 10px;
  display: grid;
  gap: 4px;
  align-content: start;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(11, 8, 5, 0.56);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.04);
}

.looting-stat-card span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.looting-stat-card strong,
.looting-card-count {
  color: #fbf5e7;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.22;
  word-break: break-word;
}

.looting-stat-card small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
  word-break: break-word;
}

.looting-stat-card.tone-safe,
.looting-card-keep {
  border-color: rgba(143, 190, 100, 0.4);
}

.looting-stat-card.tone-danger,
.looting-card-skip {
  border-color: rgba(187, 109, 88, 0.38);
}

.looting-stat-card.tone-route,
.looting-card-route {
  border-color: rgba(247, 213, 138, 0.42);
}

.looting-layout {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(280px, 0.86fr);
  gap: 10px;
  align-items: start;
}

.looting-column {
  min-width: 0;
  display: grid;
  gap: 10px;
  align-content: start;
}

.looting-card {
  min-width: 0;
  padding: 10px;
  display: grid;
  gap: 9px;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 48%),
    rgba(16, 13, 9, 0.74);
  box-shadow: var(--shadow-card);
}

.looting-card-preview {
  border-color: rgba(185, 210, 235, 0.3);
}

.looting-card-head,
.looting-shortcut-bar,
.looting-token-group-head,
.looting-route-line {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

.looting-card-head>div,
.looting-token-group-head>span {
  min-width: 0;
}

.looting-card-title {
  color: #fbf5e7;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.18;
}

.looting-card-count {
  max-width: min(48%, 240px);
  padding: 5px 8px;
  border: 1px solid rgba(169, 141, 99, 0.3);
  background: rgba(255, 255, 255, 0.03);
  font-size: 10px;
  text-align: right;
}

.looting-field {
  gap: 6px;
}

.looting-field textarea {
  min-height: 84px;
  max-height: 120px;
  padding: 6px 7px;
  line-height: 1.32;
}

.looting-field-route input {
  min-height: 32px;
}

.looting-shortcut-row,
.looting-token-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.looting-catalog-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

.looting-catalog-search {
  flex: 1 1 200px;
  min-height: 30px;
  padding: 5px 8px;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background: rgba(16, 13, 9, 0.6);
  color: #fbf5e7;
  border-radius: 4px;
}

.looting-catalog-unique-toggle {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #d8cdb8;
  font-size: 12px;
  white-space: nowrap;
}

.looting-item-choice {
  min-width: min(100%, 230px);
  min-height: 32px;
  display: grid;
  grid-template-columns: minmax(90px, 1fr) auto auto;
  align-items: center;
  gap: 5px;
  padding: 4px 5px 4px 9px;
  border: 1px solid rgba(79, 67, 50, 0.72);
  background: rgba(18, 14, 10, 0.72);
}

.looting-item-choice-name {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 10px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.looting-item-choice-name small {
  color: var(--muted);
  font-size: 9px;
}

.looting-item-choice-action {
  min-height: 24px;
  padding: 3px 7px;
  border: 1px solid rgba(120, 105, 80, 0.55);
  background: rgba(255, 255, 255, 0.025);
  color: var(--muted);
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
}

.looting-item-choice-action.tone-safe.active {
  border-color: rgba(143, 190, 100, 0.72);
  background: rgba(70, 110, 48, 0.34);
  color: #d8f2bd;
}

.looting-item-choice-action.tone-danger.active {
  border-color: rgba(210, 100, 88, 0.72);
  background: rgba(120, 43, 36, 0.34);
  color: #ffd0ca;
}

.looting-chip {
  min-height: 28px;
  padding: 5px 9px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 44%),
    rgba(18, 14, 10, 0.82);
  color: var(--text);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
}

button.looting-chip {
  width: auto;
  cursor: pointer;
  transition: border-color 140ms ease, transform 140ms ease, background 140ms ease;
}

button.looting-chip:hover,
button.looting-chip:focus-visible {
  border-color: rgba(247, 213, 138, 0.52);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 44%),
    rgba(26, 20, 14, 0.92);
  transform: translateY(-1px);
}

.looting-chip-action {
  color: #f7ebd1;
  border-color: rgba(247, 213, 138, 0.34);
}

.looting-chip-learned.active {
  border-color: rgba(143, 190, 100, 0.44);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.08), transparent 44%),
    rgba(24, 35, 21, 0.88);
}

.looting-chip-badge {
  padding: 2px 5px;
  border: 1px solid rgba(247, 213, 138, 0.2);
  background: rgba(247, 213, 138, 0.08);
  color: var(--muted);
  font-size: 9px;
  line-height: 1;
}

.looting-chip-secondary {
  border-style: dashed;
  color: var(--muted);
}

.looting-chip-empty {
  border-style: dashed;
  color: var(--muted);
}

.looting-chip-token.tone-safe {
  border-color: rgba(143, 190, 100, 0.44);
}

.looting-chip-token.tone-danger {
  border-color: rgba(187, 109, 88, 0.44);
}

.looting-chip-token.tone-route {
  border-color: rgba(247, 213, 138, 0.42);
}

.looting-chip-dismiss {
  color: var(--muted);
  font-size: 11px;
  line-height: 1;
}

.looting-route-line {
  min-height: 36px;
  padding: 5px 6px;
  align-items: center;
  border: 1px solid rgba(169, 141, 99, 0.26);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 44%),
    rgba(10, 8, 6, 0.52);
}

.looting-route-node {
  padding: 4px 7px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(247, 213, 138, 0.3);
  background: rgba(247, 213, 138, 0.08);
  color: #fbf5e7;
  font-size: 10px;
  font-weight: 700;
}

.looting-route-arrow {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

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

.looting-preview-step {
  min-width: 0;
  padding: 5px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 6px;
  align-items: start;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background: rgba(11, 8, 5, 0.48);
}

.looting-preview-step-index {
  width: 22px;
  min-width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(247, 213, 138, 0.38);
  background: rgba(247, 213, 138, 0.08);
  color: var(--accent-text);
  font-size: 10px;
  font-weight: 700;
}

.looting-preview-step-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.looting-preview-step-copy strong {
  color: #fbf5e7;
  font-size: 11px;
  font-weight: 700;
}

.looting-preview-step-copy span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.38;
}

.loot-recovery-view {
  min-height: 0;
  display: grid;
  gap: 10px;
  padding-right: 2px;
}

.loot-recovery-status {
  min-width: 0;
  padding: 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(169, 141, 99, 0.38);
  background: rgba(14, 18, 22, 0.86);
}

.loot-recovery-status[data-tone="active"] {
  border-color: rgba(143, 190, 100, 0.48);
}

.loot-recovery-status[data-tone="saved"] {
  border-color: rgba(247, 213, 138, 0.44);
}

.loot-recovery-status[data-tone="off"] {
  border-color: rgba(187, 109, 88, 0.36);
}

.loot-recovery-status>div:first-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.loot-recovery-status span,
.loot-recovery-panel-head span,
.loot-recovery-stat span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.loot-recovery-status strong {
  color: #fbf5e7;
  font-size: 16px;
  line-height: 1.1;
}

.loot-recovery-status small,
.loot-recovery-stat small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.32;
}

.loot-recovery-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-end;
}

.loot-recovery-options {
  display: flex;
  justify-content: flex-start;
}

.loot-recovery-options .module-rule-control {
  width: auto;
  min-width: 160px;
}

.loot-recovery-visual-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(140px, 0.9fr);
  gap: 8px;
}

.loot-recovery-visual {
  min-width: 0;
  margin: 0;
  padding: 8px;
  display: grid;
  gap: 6px;
  border: 1px solid var(--line-soft);
  background: rgba(7, 10, 13, 0.68);
}

.loot-recovery-visual figcaption {
  color: var(--accent-text);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.loot-recovery-visual img,
.loot-recovery-visual-empty {
  width: 100%;
  min-height: 118px;
  max-height: 240px;
  object-fit: contain;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: #050607;
}

.loot-recovery-visual-empty {
  display: grid;
  place-items: center;
  padding: 8px;
  color: var(--muted);
  font-size: 10px;
  text-align: center;
}

.loot-recovery-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.loot-recovery-stat {
  min-width: 0;
  min-height: 58px;
  padding: 8px;
  display: grid;
  gap: 3px;
  align-content: start;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.025);
}

.loot-recovery-stat strong {
  color: var(--text);
  font-size: 12px;
  line-height: 1.2;
  word-break: break-word;
}

.loot-recovery-columns {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.loot-recovery-panel {
  min-width: 0;
  padding: 8px;
  display: grid;
  gap: 7px;
  align-content: start;
  border: 1px solid var(--line-soft);
  background: rgba(9, 12, 15, 0.66);
}

.loot-recovery-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.loot-recovery-panel-head strong {
  color: #fbf5e7;
  font-size: 11px;
}

.loot-recovery-message-list {
  max-height: 132px;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 5px;
  overflow: auto;
  list-style: none;
}

.loot-recovery-message-list li {
  padding: 5px 6px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(0, 0, 0, 0.22);
  color: var(--text);
  font-size: 10px;
  line-height: 1.32;
}

.loot-recovery-phase-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
}

.loot-recovery-phase {
  min-width: 0;
  min-height: 42px;
  padding: 6px;
  display: grid;
  gap: 2px;
  align-content: center;
  border: 1px solid rgba(169, 141, 99, 0.25);
  background: rgba(255, 255, 255, 0.025);
}

.loot-recovery-phase strong {
  color: var(--text);
  font-size: 10px;
  line-height: 1.18;
}

.loot-recovery-phase small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.18;
}

.loot-recovery-toast-stack {
  position: fixed;
  right: 12px;
  bottom: 12px;
  z-index: 1400;
  width: min(360px, calc(100vw - 24px));
  pointer-events: none;
}

.loot-recovery-toast {
  padding: 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(211, 109, 98, 0.6);
  background: rgba(16, 9, 9, 0.96);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
  pointer-events: auto;
}

.loot-recovery-toast-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.loot-recovery-toast-copy span {
  color: var(--danger);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.loot-recovery-toast-copy strong {
  color: #fff1ed;
  font-size: 14px;
  line-height: 1.12;
}

.loot-recovery-toast-copy small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.22;
}

.loot-recovery-toast-actions {
  display: flex;
  gap: 5px;
}

.death-archive-list {
  max-height: 320px;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
  overflow: auto;
  list-style: none;
}

.death-archive-entry {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: start;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.025);
}

.death-archive-entry.is-expanded {
  border-color: rgba(211, 109, 98, 0.45);
}

.death-archive-entry-head {
  min-width: 0;
  padding: 7px 8px;
  display: grid;
  gap: 2px;
  text-align: left;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.death-archive-entry-head:hover {
  background: rgba(255, 255, 255, 0.035);
}

.death-archive-entry-date {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.death-archive-entry-title {
  color: var(--text);
  font-size: 11.5px;
  line-height: 1.2;
  word-break: break-word;
}

.death-archive-entry-meta {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.22;
}

.death-archive-entry-delete {
  margin: 6px 6px 0 0;
}

.death-archive-detail {
  grid-column: 1 / -1;
  padding: 8px;
  display: grid;
  gap: 8px;
  border-top: 1px solid var(--line-soft);
}

.death-archive-detail .loot-recovery-visual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.death-archive-message {
  margin: 0;
  color: var(--text);
  font-size: 10.5px;
  line-height: 1.35;
}

@media (max-width: 640px) {
  .death-archive-detail .loot-recovery-visual-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .loot-recovery-status,
  .loot-recovery-visual-grid,
  .loot-recovery-columns {
    grid-template-columns: minmax(0, 1fr);
  }

  .loot-recovery-actions,
  .loot-recovery-toast-actions {
    justify-content: flex-start;
  }

  .loot-recovery-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .loot-recovery-phase-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.autoeat-shell {
  min-height: 0;
  display: grid;
  gap: 10px;
  padding-right: 2px;
}

.autoeat-overview {
  position: relative;
  overflow: hidden;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: 10px;
  border: 1px solid rgba(169, 141, 99, 0.44);
  background:
    radial-gradient(circle at top left, rgba(143, 190, 100, 0.18), transparent 40%),
    linear-gradient(140deg, rgba(247, 213, 138, 0.08), transparent 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(17, 14, 10, 0.88);
  box-shadow: var(--shadow-card);
}

.autoeat-overview::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, rgba(143, 190, 100, 0.9), rgba(247, 213, 138, 0.52));
}

.autoeat-overview-copy {
  min-width: 0;
  display: grid;
  gap: 6px;
  align-content: start;
}

.autoeat-overview-kicker,
.autoeat-section-kicker {
  color: #dbe8ba;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.autoeat-overview-title,
.autoeat-section-title {
  margin: 0;
  color: #fbf5e7;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0.01em;
}

.autoeat-section-title {
  font-size: 14px;
  line-height: 1.16;
}

.autoeat-overview-detail,
.autoeat-column-copy,
.autoeat-source-meta {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.autoeat-overview-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.autoeat-stat-card {
  min-width: 0;
  min-height: 72px;
  padding: 5px 6px;
  display: grid;
  gap: 4px;
  align-content: start;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(11, 8, 5, 0.56);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.04);
}

.autoeat-stat-card span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.autoeat-stat-card strong {
  color: #fbf5e7;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.22;
  word-break: break-word;
}

.autoeat-stat-card small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
  word-break: break-word;
}

.autoeat-stat-card.tone-safe,
.autoeat-column-priority {
  border-color: rgba(143, 190, 100, 0.4);
}

.autoeat-stat-card.tone-danger,
.autoeat-column-blocked {
  border-color: rgba(187, 109, 88, 0.38);
}

.autoeat-stat-card.tone-route {
  border-color: rgba(247, 213, 138, 0.42);
}

.autoeat-source-bank,
.autoeat-column,
.autoeat-controls {
  min-width: 0;
  padding: 6px;
  display: grid;
  gap: 9px;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 48%),
    rgba(16, 13, 9, 0.74);
  box-shadow: var(--shadow-card);
}

.autoeat-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

.autoeat-section-head>div {
  min-width: 0;
}

.autoeat-section-meta {
  max-width: min(48%, 240px);
  padding: 5px 8px;
  border: 1px solid rgba(169, 141, 99, 0.3);
  background: rgba(255, 255, 255, 0.03);
  color: #fbf5e7;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  text-align: right;
}

.autoeat-source-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.autoeat-source-card {
  min-width: 0;
  padding: 5px;
  display: grid;
  gap: 8px;
  border: 1px solid rgba(96, 80, 57, 0.58);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    rgba(11, 8, 6, 0.62);
}

.autoeat-source-card[data-state="priority"] {
  border-color: rgba(143, 190, 100, 0.46);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.08), transparent 44%),
    rgba(20, 29, 16, 0.78);
}

.autoeat-source-card[data-state="blocked"] {
  border-color: rgba(187, 109, 88, 0.46);
  background:
    linear-gradient(180deg, rgba(187, 109, 88, 0.08), transparent 44%),
    rgba(33, 18, 15, 0.78);
}

.autoeat-source-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.autoeat-source-head strong {
  min-width: 0;
  color: #fbf5e7;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.autoeat-source-count {
  padding: 3px 6px;
  border: 1px solid rgba(169, 141, 99, 0.26);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.autoeat-source-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.autoeat-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
}

.autoeat-column-copy {
  min-height: 28px;
}

.autoeat-token-strip {
  min-height: 34px;
}

.autoeat-controls {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
}

.module-rule-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}

.module-rule-flag {
  min-height: 24px;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.module-rule-control {
  min-width: 0;
}

.module-rule-control textarea {
  min-height: 64px;
}

.module-rule-control span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.module-rule-check {
  flex-direction: row;
}

.mana-gate-control {
  transition: opacity 140ms ease, filter 140ms ease, color 140ms ease;
}

.mana-gate-control-disabled {
  opacity: 0.52;
  filter: grayscale(0.45);
}

.mana-gate-control-disabled :is(input, select, textarea, .modal-number-stepper) {
  cursor: not-allowed;
}

.mana-gate-control-disabled input:not([type="checkbox"]) {
  border-color: var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.015), transparent 44%),
    #080a0d;
  color: #737b85;
}

.mana-gate-control-disabled>span {
  color: #747d88;
}


label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

input,
textarea,
select {
  width: 100%;
  min-height: 24px;
  padding: 4px 6px;
  border: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 40%),
    #100d09;
  color: var(--text);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.04),
    inset -1px -1px 0 rgba(0, 0, 0, 0.48);
}

textarea {
  min-height: 72px;
  resize: vertical;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: #93b553;
}

.field-note {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.route-file-note {
  min-height: 34px;
  padding: 5px 6px;
  display: grid;
  gap: 2px;
  border: 1px solid rgba(169, 141, 99, 0.28);
  background: rgba(255, 255, 255, 0.03);
}

.route-file-note strong {
  color: var(--accent-text);
}

.route-file-note-compact {
  min-height: 0;
  padding: 4px 6px;
}

.route-file-note-compact strong {
  font-size: 8px;
  letter-spacing: 0.1em;
}

.route-file-note-compact span {
  font-size: 10px;
  line-height: 1.1;
}

.route-file-note strong[data-state="ready"] {
  color: #d8efb7;
}

.route-file-note strong[data-state="draft"] {
  color: #e4b5a8;
}

.route-file-note span {
  color: var(--text);
  font-family: var(--mono);
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: normal;
}

.route-library-card {
  padding: 8px;
  background: var(--surface-note);
}

.route-library-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
}

.route-library-meta {
  min-height: 34px;
  padding: 5px 6px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text);
  font-family: var(--mono);
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.2;
  overflow: hidden;
}

.route-builder-grid .waypoint-list {
  flex: 1;
  min-height: 0;
  max-height: none;
}

.route-type-help {
  min-height: 0;
  padding: 5px 6px;
  color: var(--text);
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}

.targeting-layout {
  flex: 1 1 auto;
  position: relative;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns:
    minmax(300px, 1fr) minmax(320px, 1.02fr) minmax(240px, 0.82fr);
  gap: 10px;
  align-items: stretch;
  overflow: hidden;
  padding: 4px 0;
}

.targeting-layout::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(169, 141, 99, 0.1);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 26%),
    linear-gradient(90deg, rgba(247, 213, 138, 0.02), transparent 40%);
  pointer-events: none;
}

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

.targeting-column,
.targeting-config-card,
.target-source-panel,
.target-profile-card,
.target-set-card,
.target-watch-group {
  min-width: 0;
  min-height: 0;
}

.targeting-column {
  display: grid;
  gap: 8px;
  overflow: hidden;
  align-content: stretch;
}

.targeting-column-profiles {
  grid-template-rows: minmax(0, 1.18fr) minmax(240px, 0.9fr);
}

.targeting-column-center {
  grid-template-rows: auto minmax(220px, 0.74fr);
}

.targeting-column-creatures,
.targeting-column-watch {
  grid-template-rows: minmax(0, 1fr);
}

.targeting-config-card,
.target-source-panel,
.target-profile-card,
.target-set-card {
  padding: 8px;
  display: grid;
  gap: 8px;
  border: 1px solid var(--line-soft);
  background: var(--surface-inset);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    0 14px 30px rgba(0, 0, 0, 0.16);
  overflow: hidden;
  isolation: isolate;
  contain: layout paint;
}

.targeting-config-card {
  padding: 10px;
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.07), transparent 30%),
    linear-gradient(135deg, rgba(247, 213, 138, 0.05), transparent 42%),
    var(--surface-inset);
  grid-template-rows: auto auto;
  align-content: start;
}

.target-profile-workbench {
  grid-template-rows: auto minmax(0, 1fr);
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.08), transparent 30%),
    var(--surface-inset);
}

.targeting-config-layout {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(270px, 1.08fr) minmax(240px, 0.92fr);
  gap: 10px;
  align-items: stretch;
}

.target-source-policy-card {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(150px, 0.72fr) minmax(180px, 1fr);
  gap: 8px;
  align-items: stretch;
  padding: 8px;
  border: 1px solid rgba(201, 169, 112, 0.18);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.06), transparent 42%),
    rgba(255, 255, 255, 0.024);
}

.target-queue-policy-card {
  grid-template-columns: minmax(150px, 0.74fr) minmax(180px, 1fr);
}

.target-policy-status {
  min-width: 0;
  min-height: 46px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 6px 8px;
  border: 1px solid rgba(201, 169, 112, 0.14);
  background: rgba(0, 0, 0, 0.14);
}

.target-policy-status span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.target-policy-status strong {
  color: var(--accent-text);
  font-size: 12px;
  line-height: 1.2;
}

.target-policy-status small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.3;
}

.target-selected-strip {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.target-selected-strip .monster-target-list {
  min-height: 34px;
  max-height: 92px;
  padding: 4px;
  border: 1px solid rgba(201, 169, 112, 0.12);
  background: rgba(0, 0, 0, 0.12);
}

.selected-target-chip {
  position: relative;
  padding-right: 22px;
}

.selected-target-chip::after {
  content: "x";
  position: absolute;
  right: 8px;
  top: 50%;
  color: rgba(255, 228, 188, 0.7);
  font-size: 10px;
  line-height: 1;
  transform: translateY(-50%);
}

.target-source-policy-card label {
  min-width: 0;
  display: grid;
  gap: 4px;
  align-content: start;
}

.target-source-policy-card select,
.target-source-policy-card textarea {
  width: 100%;
}

.target-source-policy-card textarea {
  min-height: 46px;
  resize: vertical;
}

.targeting-registry-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.targeting-registry-grid .summary-cell {
  min-height: 52px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 42%),
    rgba(0, 0, 0, 0.16);
}


.targeting-setup-stack {
  min-width: 0;
  min-height: 0;
  display: grid;
  gap: 8px;
  align-content: start;
}

.targeting-metrics-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.targeting-meta-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
}

.page-prefix-field {
  min-width: 0;
}

.targeting-toggle-card {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.06), transparent 40%),
    var(--surface-note);
  padding: 8px;
}

.targeting-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.target-set-card {
  grid-template-rows: auto minmax(0, 1fr);
  background: rgba(255, 255, 255, 0.02);
}

.targeting-selection-card {
  background:
    linear-gradient(180deg, rgba(197, 153, 71, 0.08), transparent 34%),
    rgba(255, 255, 255, 0.02);
}

.targeting-combat-card {
  grid-template-rows: auto auto auto minmax(0, 1fr);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.09), transparent 34%),
    rgba(255, 255, 255, 0.02);
}

.targeting-distance-rule-list {
  min-height: 180px;
  overflow: auto;
  padding-right: 2px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.target-profile-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: stretch;
}

.target-source-panel {
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-content: stretch;
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.04), transparent 28%),
    var(--surface-inset);
}

.target-source-panel-watch {
  position: relative;
  inset: auto;
  width: auto;
  max-width: none;
  max-height: none;
  grid-template-rows: auto minmax(0, 1fr);
  background:
    linear-gradient(180deg, rgba(91, 189, 255, 0.1), transparent 32%),
    linear-gradient(135deg, rgba(91, 189, 255, 0.06), transparent 48%),
    var(--surface-inset);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 14px 30px rgba(0, 0, 0, 0.16);
}

.target-sources-head {
  align-items: flex-start;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(169, 141, 99, 0.14);
}

.target-sources-head .inline-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.target-danger-zone {
  margin-top: auto;
  padding-top: 6px;
  border-top: 1px solid rgba(169, 141, 99, 0.16);
}

.target-danger-actions {
  justify-content: flex-end;
}

.target-watch-stack {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 10px;
  overflow: hidden;
}

.target-watch-group {
  padding: 8px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  border: 1px solid var(--line-soft);
  background: rgba(7, 18, 24, 0.45);
  overflow: hidden;
}

.target-watch-group-players {
  background:
    linear-gradient(180deg, rgba(91, 189, 255, 0.07), transparent 36%),
    rgba(7, 18, 24, 0.52);
}

.target-watch-group-npcs {
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.08), transparent 38%),
    rgba(12, 18, 14, 0.5);
}

.target-watch-group-head {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(169, 141, 99, 0.14);
}

.target-watch-group-head .section-title {
  display: block;
}

.target-watch-panel-head {
  align-items: flex-start;
  gap: 10px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(91, 189, 255, 0.18);
}

.target-watch-panel-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.monster-archive {
  min-height: 42px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-content: flex-start;
}

.monster-target-list,
.monster-source-list,
.player-archive,
.npc-archive {
  min-height: 0;
  overflow: auto;
  padding-right: 2px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.monster-target-list {
  max-height: none;
}

.player-archive,
.npc-archive {
  min-height: 24px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 6px;
  align-content: start;
}

.target-profile-list {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow: auto;
  padding-right: 2px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
  contain: layout paint;
}

.targeting-column-kicker,
.module-rule-list-head {
  min-height: 22px;
  padding: 4px 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid rgba(201, 169, 112, 0.18);
  background: rgba(255, 255, 255, 0.026);
  color: rgba(247, 213, 138, 0.88);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.module-rule-list-head strong {
  min-width: 0;
  color: var(--muted);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}

.target-profile-row {
  padding: 4px;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 52%),
    rgba(0, 0, 0, 0.16);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.target-profile-row.off {
  opacity: 0.68;
}

.target-profile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px;
}

.target-profile-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
  flex: 1 1 112px;
}

.target-profile-actions {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 3px;
}

.target-profile-priority {
  min-height: 18px;
  padding: 1px 6px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(201, 169, 112, 0.24);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.026);
  color: #f7d58a;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  white-space: nowrap;
}

.target-profile-title strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.target-profile-name {
  color: var(--text);
  font-size: 11px;
  line-height: 1.2;
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}

.target-profile-badge {
  padding: 2px 6px;
  border: 1px solid var(--line-soft);
  color: var(--muted);
  font-size: 9px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.target-profile-badge.active {
  color: var(--accent-text);
  border-color: rgba(182, 222, 151, 0.36);
}

.target-profile-summary {
  color: var(--muted);
  font-size: 10px;
  letter-spacing: 0.02em;
  line-height: 1.35;
  text-transform: none;
}

.target-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
}

.compact-profile-grid {
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
}

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

.compact-profile-flags {
  --toggle-width: 30px;
  --toggle-height: 18px;
  gap: 4px;
}

.compact-rule-control {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
}

.compact-rule-control.module-rule-check,
.compact-rule-control.target-intent-field {
  justify-content: flex-start;
}

.compact-rule-control span {
  flex-shrink: 0;
  font-size: 9px;
}

.compact-rule-control input:not([type="checkbox"]):not([type="radio"]),
.compact-rule-control select {
  min-height: 20px;
  padding: 2px 4px;
  width: auto;
  flex-grow: 1;
}

.compact-rule-control input[type="checkbox"],
.compact-rule-control input[type="radio"] {
  flex-grow: 0;
  width: var(--toggle-width);
}

.target-profile-check {
  min-height: 24px;
  padding: 3px 5px;
  gap: 5px;
}

.compact-profile-flags .target-profile-check {
  min-width: 0;
}

.compact-profile-flags .target-profile-check span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 8px;
  white-space: nowrap;
}

.target-profile-team-kill {
  display: grid;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(126, 188, 214, 0.2);
  background: rgba(126, 188, 214, 0.055);
}

.target-profile-team-kill-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.target-profile-team-kill-preset {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  margin-left: auto;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: 0;
  text-transform: none;
}

.target-profile-team-kill-preset select {
  width: auto;
  max-width: 116px;
  min-height: 24px;
  font-size: 9px;
}

.target-profile-team-kill-vocations {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

.target-profile-team-kill-vocation {
  min-height: 23px;
  padding: 3px 5px;
}

.target-profile-team-kill-vocation span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 8px;
}

.target-profile-team-kill-summary {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.2;
}

.target-profile-team-kill-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 4px;
}

.target-profile-team-kill-check {
  min-width: 0;
}

.target-profile-team-kill-check span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.target-profile-team-kill-check small {
  color: var(--muted);
  font-size: 8px;
  font-weight: 600;
}

.modal-panel-presets {
  width: calc(100vw - 20px);
}

.modal-body-presets {
  overflow: hidden;
}

.hunt-preset-layout {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
  gap: 6px;
  overflow: hidden;
}

.hunt-preset-browser,
.hunt-preset-detail {
  min-width: 0;
  min-height: 0;
  padding: 5px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 42%),
    rgba(15, 11, 8, 0.58);
  overflow: hidden;
}

.hunt-preset-browser {
  grid-template-rows: auto minmax(0, 1fr);
}

.hunt-preset-detail {
  grid-template-rows: minmax(0, 1fr);
}

.hunt-preset-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: end;
}

.hunt-preset-search-field {
  display: grid;
  gap: 4px;
}

.hunt-preset-search-field input {
  min-height: 28px;
}

.hunt-preset-count-cell {
  min-width: 88px;
  padding: 6px 8px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background: rgba(255, 255, 255, 0.03);
}

.hunt-preset-list {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow: auto;
  padding-right: 2px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.hunt-preset-row {
  min-width: 0;
  padding: 6px;
  display: grid;
  gap: 4px;
  border: 1px solid rgba(116, 95, 62, 0.46);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 42%),
    rgba(25, 18, 12, 0.88);
  color: inherit;
  text-align: left;
  transition:
    border-color 140ms ease,
    box-shadow 140ms ease,
    transform 140ms ease,
    background 140ms ease;
}

.hunt-preset-row:hover:not(:disabled),
.hunt-preset-row:focus-visible {
  border-color: rgba(247, 213, 138, 0.64);
  box-shadow: 0 0 0 1px rgba(247, 213, 138, 0.14);
  transform: translateY(-1px);
}

.hunt-preset-row.selected {
  border-color: rgba(143, 190, 100, 0.68);
  box-shadow:
    0 0 0 1px rgba(143, 190, 100, 0.18),
    0 0 20px rgba(143, 190, 100, 0.1);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 42%),
    rgba(31, 36, 19, 0.92);
}

.hunt-preset-row-head,
.hunt-preset-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.hunt-preset-row strong,
.hunt-preset-detail-head strong {
  min-width: 0;
  font-size: 12px;
  line-height: 1.15;
}

.hunt-preset-row-meta,
.hunt-preset-detail-copy,
.hunt-preset-detail-note {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.32;
}

.hunt-preset-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.hunt-preset-tag {
  padding: 2px 6px;
  border: 1px solid rgba(169, 141, 99, 0.26);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hunt-preset-tag[data-tone="task"] {
  border-color: rgba(91, 189, 255, 0.34);
  color: #cfeeff;
}

.hunt-preset-tag[data-tone="danger"] {
  border-color: rgba(200, 106, 90, 0.42);
  color: #ffd3cb;
}

.hunt-preset-tag[data-tone="combat"] {
  border-color: rgba(143, 190, 100, 0.34);
  color: #e2f1c4;
}

.hunt-preset-detail-panel {
  min-height: 0;
  display: grid;
  gap: 6px;
  align-content: start;
  overflow: auto;
  padding-right: 0;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

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

.hunt-preset-summary-grid .summary-cell {
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background: rgba(255, 255, 255, 0.03);
}

.hunt-preset-detail-card {
  min-width: 0;
  padding: 7px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background: rgba(255, 255, 255, 0.02);
}

.hunt-preset-detail-card .section-title,
.hunt-preset-detail-card .section-meta {
  display: block;
}

.hunt-preset-detail-card .section-title {
  color: var(--accent-text);
}

.hunt-preset-detail-card .section-meta {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.hunt-preset-detail-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.monster-chip-row {
  display: inline-flex;
  align-items: stretch;
}

.monster-chip-row[data-creature-registry-name],
.presence-chip[data-creature-registry-name] {
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}

.monster-chip-row[data-creature-registry-name].dragging,
.presence-chip[data-creature-registry-name].dragging {
  opacity: 0.56;
  transform: scale(0.985);
}

.monster-chip {
  min-height: 24px;
  padding: 5px 9px;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 45%),
    #1a140e;
  color: var(--text);
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, color 140ms ease, opacity 140ms ease;
}

.monster-chip.active {
  border-color: var(--accent);
  color: var(--accent-text);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 45%),
    #362611;
}

.monster-chip.visible {
  box-shadow: inset 0 0 0 1px rgba(143, 190, 100, 0.42);
}

.monster-chip-row .monster-chip {
  border-right: 0;
}

.monster-chip-remove {
  min-width: 24px;
  min-height: 24px;
  padding: 0 7px;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 45%),
    #21160f;
  color: var(--muted);
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, color 140ms ease, opacity 140ms ease;
}

.monster-chip-row .monster-chip-remove:hover:not(:disabled) {
  color: #f3c0b4;
  border-color: #a15f4f;
}

.monster-chip-row.visible .monster-chip-remove {
  box-shadow: inset 0 0 0 1px rgba(143, 190, 100, 0.42);
}

.presence-chip {
  min-width: 0;
  min-height: 32px;
  padding: 6px 7px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px;
  align-items: center;
  align-content: center;
  overflow: hidden;
  border-radius: 5px;
}

.presence-chip strong {
  min-width: 0;
  color: inherit;
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.presence-chip span {
  justify-self: end;
  max-width: 100%;
  padding: 2px 5px;
  border: 1px solid currentColor;
  border-radius: 4px;
  color: inherit;
  opacity: 0.72;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
}

.player-chip {
  border: 1px solid rgba(91, 189, 255, 0.36);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 45%),
    rgba(10, 25, 35, 0.92);
  color: #b9e4ff;
}

.player-chip.live {
  border-color: rgba(152, 219, 255, 0.78);
  box-shadow: inset 0 0 0 1px rgba(152, 219, 255, 0.24);
  color: #eff9ff;
}

.player-chip.history {
  opacity: 0.84;
}

.player-chip[data-player-target-name] {
  cursor: pointer;
}

.player-chip[data-player-target-name]:hover {
  border-color: rgba(247, 147, 130, 0.7);
  color: #ffe7e1;
}

.player-chip.active,
.player-chip.active.live,
.player-chip.active.history {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px rgba(247, 147, 130, 0.55);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 45%),
    rgba(58, 18, 14, 0.94);
  color: #ffd9d0;
  opacity: 1;
}

.player-chip.active span {
  opacity: 0.95;
}

.player-chip[data-player-target-name]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.npc-chip {
  border: 1px solid rgba(143, 190, 100, 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 45%),
    rgba(17, 28, 20, 0.9);
  color: #cfe7bc;
}

.npc-chip.live {
  border-color: rgba(178, 216, 145, 0.72);
  box-shadow: inset 0 0 0 1px rgba(178, 216, 145, 0.2);
  color: #eef8e4;
}

.npc-chip.history {
  opacity: 0.86;
}

.monster-source-list.drag-drop-target,
.player-archive.drag-drop-target,
.npc-archive.drag-drop-target {
  box-shadow: inset 0 0 0 1px rgba(247, 213, 138, 0.24);
}

.monster-source-list.drag-drop-target {
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.07), transparent 30%),
    rgba(20, 16, 11, 0.72);
}

.player-archive.drag-drop-target {
  box-shadow: inset 0 0 0 1px rgba(152, 219, 255, 0.24);
  background:
    linear-gradient(180deg, rgba(91, 189, 255, 0.08), transparent 30%),
    rgba(10, 25, 35, 0.28);
}

.npc-archive.drag-drop-target {
  box-shadow: inset 0 0 0 1px rgba(178, 216, 145, 0.22);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.08), transparent 30%),
    rgba(17, 28, 20, 0.28);
}

.checks label {
  flex-direction: row;
}

.checks label,
.route-checks label,
.module-rule-check {
  min-height: 34px;
  padding: 6px 10px;
  display: grid;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  border-radius: var(--toggle-surface-radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 45%),
    rgba(20, 15, 10, 0.68);
  box-shadow: var(--shadow-card);
  color: var(--muted);
  cursor: pointer;
  line-height: 1.2;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, color 140ms ease, transform 140ms ease;
}

.route-checks label {
  min-height: 36px;
  white-space: normal;
}

.module-rule-check>span {
  min-width: 0;
}

.module-rule-check .field-note {
  grid-column: 1 / -1;
  margin-top: -2px;
}

.checks label:hover,
.route-checks label:hover,
.module-rule-check:hover {
  border-color: rgba(169, 141, 99, 0.78);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 45%),
    rgba(24, 18, 12, 0.78);
  color: var(--text);
  transform: translateY(-1px);
}

input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: var(--toggle-width);
  min-width: var(--toggle-width);
  height: var(--toggle-height);
  min-height: var(--toggle-height);
  margin: 0;
  padding: 0 var(--toggle-pad);
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(169, 141, 99, 0.44);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.01) 46%),
    linear-gradient(180deg, rgba(37, 29, 21, 0.96), rgba(15, 11, 8, 0.98));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(0, 0, 0, 0.46),
    0 1px 0 rgba(0, 0, 0, 0.22);
  flex: none;
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

input[type="checkbox"]::before {
  content: "";
  width: var(--toggle-thumb-size);
  height: var(--toggle-thumb-size);
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 30%, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.82) 44%, rgba(212, 188, 146, 0.9));
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
  transform: translateX(0);
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1), background 160ms ease, box-shadow 160ms ease;
}

input[type="checkbox"]:hover {
  border-color: rgba(247, 213, 138, 0.66);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    inset 0 -1px 0 rgba(0, 0, 0, 0.46),
    0 0 0 1px rgba(247, 213, 138, 0.08);
}

input[type="checkbox"]:checked {
  border-color: rgba(167, 214, 120, 0.84);
  background:
    linear-gradient(180deg, rgba(213, 247, 171, 0.32), rgba(213, 247, 171, 0.05) 46%),
    linear-gradient(180deg, #48682d, #253518);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 -1px 0 rgba(0, 0, 0, 0.32),
    0 0 0 1px rgba(143, 190, 100, 0.12),
    0 8px 18px rgba(61, 89, 34, 0.16);
}

input[type="checkbox"]:checked::before {
  background:
    radial-gradient(circle at 32% 30%, rgba(255, 255, 255, 1), rgba(241, 252, 227, 0.98) 44%, rgba(188, 225, 132, 0.96));
  box-shadow:
    0 2px 6px rgba(16, 32, 11, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.62);
  transform: translateX(var(--toggle-thumb-shift));
}

input[type="checkbox"]:focus-visible {
  outline: none;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    inset 0 -1px 0 rgba(0, 0, 0, 0.38),
    var(--focus-ring);
}

input[type="checkbox"]:disabled {
  opacity: 0.56;
  cursor: not-allowed;
}

.checks label:has(input[type="checkbox"]:disabled),
.route-checks label:has(input[type="checkbox"]:disabled),
.module-rule-check:has(input[type="checkbox"]:disabled) {
  cursor: not-allowed;
  opacity: 0.72;
}

.checks label:has(input[type="checkbox"]:checked),
.route-checks label:has(input[type="checkbox"]:checked),
.module-rule-check:has(input[type="checkbox"]:checked) {
  border-color: rgba(143, 190, 100, 0.54);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 42%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.16), rgba(0, 0, 0, 0) 72%),
    rgba(24, 30, 18, 0.86);
  color: #f2f9e6;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    0 0 0 1px rgba(143, 190, 100, 0.12);
}

.checks label:has(input[type="checkbox"]:focus-visible),
.route-checks label:has(input[type="checkbox"]:focus-visible),
.module-rule-check:has(input[type="checkbox"]:focus-visible) {
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    var(--focus-ring);
}

.waypoint-list {
  min-height: 0;
  max-height: 330px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow: auto;
  padding: 1px 0 0;
  scrollbar-width: thin;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.waypoint-list-grid {
  --route-waypoint-columns: 8;
  --route-waypoint-grid-gap: 5px;
  --route-waypoint-tile-min-size: 72px;
  --route-waypoint-tile-size:
    max(var(--route-waypoint-tile-min-size),
      calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns)));
  width: 100%;
  display: grid;
  grid-template-columns: repeat(var(--route-waypoint-columns), minmax(var(--route-waypoint-tile-min-size), 1fr));
  grid-auto-flow: row;
  grid-auto-rows: var(--route-waypoint-tile-size);
  gap: var(--route-waypoint-grid-gap);
  align-content: start;
  justify-content: start;
  overflow-x: auto;
  overflow-y: auto;
  padding: 6px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 42%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.14), transparent 28%),
    rgba(10, 7, 4, 0.44);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 0 0 1px rgba(247, 213, 138, 0.03);
}

.route-validation-summary {
  min-height: 26px;
  padding: 5px 7px;
  border: 1px solid rgba(169, 141, 99, 0.24);
  background: rgba(255, 255, 255, 0.035);
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.route-validation-summary[data-tone="clear"] {
  border-color: rgba(137, 167, 77, 0.28);
  color: #d8efb7;
}

.route-validation-summary[data-tone="warning"] {
  border-color: rgba(231, 183, 92, 0.42);
  color: #f1cf8f;
}

.route-validation-summary[data-tone="error"] {
  border-color: rgba(224, 105, 86, 0.48);
  color: #f0a293;
}

.waypoint-list-grid .waypoint-row {
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: 0;
  gap: 0;
}

.waypoint-list-grid .waypoint-row:hover:not(:disabled) {
  box-shadow:
    inset 0 0 0 1px rgba(247, 213, 138, 0.08),
    0 10px 20px rgba(0, 0, 0, 0.22);
  transform: translateY(-2px);
}

.waypoint-list-grid .waypoint-row.current {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 0 0 1px rgba(137, 167, 77, 0.3),
    0 0 22px rgba(143, 190, 100, 0.16),
    0 10px 20px rgba(0, 0, 0, 0.18);
}

.waypoint-list-grid .waypoint-row.selected {
  outline-offset: -3px;
}

.waypoint-row.validation-warning {
  border-color: rgba(231, 183, 92, 0.42);
  box-shadow: inset 0 0 0 1px rgba(231, 183, 92, 0.22);
}

.waypoint-row.validation-error {
  border-color: rgba(224, 105, 86, 0.54);
  box-shadow: inset 0 0 0 1px rgba(224, 105, 86, 0.28);
}

.waypoint-row-main {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  appearance: none;
  font: inherit;
  padding: 5px 5px 20px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  align-content: start;
  gap: 3px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}

.waypoint-row-main:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.waypoint-row-actions {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.waypoint-mark-btn {
  position: absolute;
  width: 19px;
  min-width: 19px;
  height: 19px;
  min-height: 19px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  font-size: 10px;
  line-height: 1;
  border-radius: 4px;
  z-index: 2;
}

.waypoint-list-grid .waypoint-chip-top {
  gap: 3px;
}

.waypoint-list-grid .waypoint-chip-flags {
  gap: 2px;
}

.waypoint-list-grid .waypoint-row-index {
  min-width: 30px;
  padding: 0 5px;
  font-size: 9px;
}

.waypoint-list-grid .waypoint-pill {
  min-height: 13px;
  padding: 1px 4px;
  font-size: 7px;
  letter-spacing: 0.04em;
}

.waypoint-list-grid .waypoint-chip strong {
  font-size: 10px;
  line-height: 1.08;
}

.waypoint-list-grid .waypoint-chip-position,
.waypoint-list-grid .waypoint-chip-detail {
  font-size: 8px;
  line-height: 1.05;
}

.waypoint-list-grid .waypoint-chip-detail {
  -webkit-line-clamp: 2;
}

.waypoint-list-simple {
  width: 100%;
  display: grid;
  grid-auto-rows: minmax(0, auto);
  gap: 4px;
  padding: 4px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 42%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.14), transparent 28%),
    rgba(10, 7, 4, 0.44);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 0 0 1px rgba(247, 213, 138, 0.03);
  contain: layout paint;
}

.waypoint-list-simple .waypoint-row {
  position: relative;
  min-width: 0;
  padding: 0;
  gap: 0;
  display: block;
}

.waypoint-list-simple .waypoint-row:hover:not(:disabled) {
  box-shadow:
    inset 0 0 0 1px rgba(247, 213, 138, 0.08),
    0 6px 12px rgba(0, 0, 0, 0.18);
  transform: none;
}

.waypoint-list-simple .waypoint-row.current {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 0 0 1px rgba(137, 167, 77, 0.3),
    0 0 16px rgba(143, 190, 100, 0.14);
}

.waypoint-list-simple .waypoint-row.selected {
  outline-offset: -2px;
}

.waypoint-list-simple .waypoint-row-main {
  height: auto;
  min-height: 52px;
  padding: 6px 34px 6px 8px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "index title flags"
    "index position flags"
    "index detail flags";
  align-items: center;
  gap: 2px 8px;
}

.waypoint-list-simple .waypoint-row-index {
  grid-area: index;
  align-self: start;
  margin-top: 1px;
}

.waypoint-list-simple .waypoint-row-main>strong {
  grid-area: title;
  min-width: 0;
}

.waypoint-list-simple .waypoint-chip-position {
  grid-area: position;
  min-width: 0;
  color: rgba(239, 228, 207, 0.88);
}

.waypoint-list-simple .waypoint-chip-detail {
  grid-area: detail;
  min-width: 0;
  white-space: nowrap;
}

.waypoint-list-simple .waypoint-chip-flags {
  grid-area: flags;
  align-self: start;
  justify-content: flex-end;
}

.waypoint-list-simple .waypoint-row-actions {
  position: absolute;
  top: 50%;
  right: 6px;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
  pointer-events: auto;
}

.waypoint-list-simple .waypoint-mark-btn {
  position: static;
}

.waypoint-list-simple .waypoint-row[data-tone="utility"] {
  border-left-color: rgba(255, 208, 112, 0.68);
}

.waypoint-list-simple .waypoint-row[data-tone="floor"] {
  border-left-color: rgba(112, 181, 255, 0.68);
}

.waypoint-list-simple .waypoint-row[data-tone="anchor"] {
  border-left-color: rgba(190, 145, 255, 0.68);
}

.waypoint-list-simple .waypoint-row[data-tone="danger"] {
  border-left-color: rgba(255, 122, 122, 0.72);
}

.waypoint-list-simple .waypoint-row-index,
.waypoint-list-simple .waypoint-chip-position,
.waypoint-list-simple .waypoint-chip-detail,
.waypoint-list-simple .waypoint-pill {
  font-size: var(--text-2xs);
  line-height: 1.12;
}

.waypoint-list-simple .waypoint-pill {
  min-height: 14px;
  padding: 1px 4px;
  letter-spacing: 0.04em;
}

.waypoint-list-simple .waypoint-row-main>strong {
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
}

.waypoint-row {
  width: 100%;
  padding: 6px;
  display: grid;
  gap: 4px;
  appearance: none;
  font: inherit;
  color: inherit;
  text-align: left;
  border: 1px solid rgba(79, 67, 50, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 42%),
    #15100b;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, color 140ms ease, opacity 140ms ease;
}

.waypoint-row:hover {
  border-color: rgba(169, 141, 99, 0.54);
}

.waypoint-row:hover:not(:disabled),
.monster-chip:hover:not(:disabled),
.monster-chip-remove:hover:not(:disabled) {
  box-shadow: inset 0 0 0 1px rgba(247, 213, 138, 0.06);
}

.waypoint-chip:hover:not(:disabled) {
  border-color: rgba(247, 213, 138, 0.34);
  transform: none;
}

.waypoint-row:active:not(:disabled),
.waypoint-row[data-pressed="true"]:not(:disabled),
.monster-chip:active:not(:disabled),
.monster-chip[data-pressed="true"]:not(:disabled),
.monster-chip-remove:active:not(:disabled),
.monster-chip-remove[data-pressed="true"]:not(:disabled) {
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.28),
    inset 0 0 0 999px rgba(0, 0, 0, 0.05);
}

.waypoint-chip:active:not(:disabled),
.waypoint-chip[data-pressed="true"]:not(:disabled) {
  transform: translateY(1px);
}

.waypoint-row.current.selected {
  border-color: #e2c780;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 40%),
    linear-gradient(135deg, rgba(226, 199, 128, 0.12), rgba(137, 167, 77, 0.12)),
    #2f3118;
}

.waypoint-row-head {
  display: flex;
  align-items: flex-start;
  gap: 4px;
}

.waypoint-row-head strong {
  flex: 1;
  min-width: 0;
  line-height: 1.22;
}

.waypoint-row-flags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}

.waypoint-chip-index,
.waypoint-row-index,
.waypoint-pill {
  min-height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.waypoint-chip-index {
  min-width: 34px;
  padding: 0 6px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 46%),
    var(--chip-badge);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.96);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.waypoint-row-index {
  min-width: 36px;
  padding: 0 6px;
  border: 1px solid rgba(212, 165, 74, 0.38);
  background: rgba(212, 165, 74, 0.08);
  color: var(--accent-text);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
}

.waypoint-pill {
  padding: 2px 6px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.waypoint-chip .waypoint-pill {
  min-height: 14px;
  padding: 1px 4px;
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(10, 8, 6, 0.52);
  font-size: 7px;
  letter-spacing: 0.05em;
}

.waypoint-type-pill {
  color: var(--text);
}

.waypoint-state-pill.current {
  border-color: rgba(143, 190, 100, 0.46);
  color: #d8efb7;
  background: rgba(143, 190, 100, 0.12);
}

.waypoint-state-pill.focus {
  border-color: rgba(212, 165, 74, 0.46);
  color: #f1d18c;
  background: rgba(212, 165, 74, 0.12);
}

.waypoint-state-pill.resume-target {
  border-color: rgba(247, 205, 118, 0.7);
  color: #fff1cd;
  background: rgba(199, 141, 49, 0.22);
}

.waypoint-state-pill.selected {
  border-color: rgba(212, 165, 74, 0.46);
  color: var(--accent-text);
  background: rgba(212, 165, 74, 0.12);
}

.waypoint-add-stack {
  display: grid;
  gap: 6px;
}

.waypoint-add-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 7px;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 46%),
    rgba(11, 8, 5, 0.55);
}

.waypoint-add-note {
  line-height: 1.45;
}

.log-output {
  margin: 0;
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: auto;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 40%),
    #100d09;
  padding: 8px;
  color: var(--text);
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.42;
  white-space: pre-wrap;
}

.runtime-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  flex: 0 0 auto;
}

.runtime-metric {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 6px;
  border: 1px solid var(--line-soft);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 50%),
    rgba(16, 13, 9, 0.72);
}

.runtime-metric span,
.runtime-metric small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: 11px;
}

.runtime-metric strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
  font-size: 13px;
  font-weight: var(--weight-semibold);
  line-height: var(--line-tight);
}

/* Typography standardization */
.btn,
.monster-chip,
.monster-chip-remove,
.presence-chip,
.player-chip,
input,
textarea,
select,
.route-overview-metric-button,
.waypoint-row,
.waypoint-chip,
.quick-module-open,
.route-toggle-open,
.interactive-summary-card,
.log-output {
  font-family: var(--font);
  font-feature-settings: "zero" 0;
}

.btn,
.monster-chip,
.monster-chip-remove,
.presence-chip,
.player-chip {
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  letter-spacing: 0.02em;
}

.btn.compact,
.route-card .btn {
  font-size: var(--text-xs);
}

input,
textarea,
select {
  font-size: var(--text-md);
  font-weight: var(--weight-regular);
  line-height: var(--line-copy);
  letter-spacing: var(--tracking-tight);
}

label,
.desk-panel legend,
.section-title,
.module-title {
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-label);
  line-height: var(--line-tight);
}

.section-title,
.module-title,
.desk-panel legend {
  text-transform: uppercase;
}

.desk-tag,
.desk-metric span,
.summary-cell span,
.desk-action-group-label,
.bot-tab-state,
.tile-btn span,
.quick-module-open span,
.quick-module-toggle span,
.route-toggle-open span,
.route-toggle-button span,
.card-link-hint,
.route-card-label,
.danger-card-label,
.danger-confirm-label,
.module-rule-index,
.target-profile-priority,
.module-rule-pill span,
.module-rule-section-title,
.field-note,
.target-profile-badge,
.waypoint-pill {
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-caps);
  line-height: 1.2;
}

.desk-tag,
.desk-metric span,
.summary-cell span,
.desk-action-group-label,
.bot-tab-state,
.tile-btn span,
.quick-module-open span,
.quick-module-toggle span,
.route-toggle-open span,
.route-toggle-button span,
.card-link-hint,
.route-card-label,
.danger-card-label,
.danger-confirm-label,
.module-rule-index,
.target-profile-priority,
.module-rule-pill span,
.module-rule-section-title,
.field-note,
.target-profile-badge,
.waypoint-pill,
.section-meta {
  text-transform: uppercase;
}

.section-meta,
.route-card-copy,
.route-pane-copy,
.route-overview-note,
.route-type-help,
.waypoint-chip-detail,
.waypoint-row .meta,
.route-power-note,
.target-profile-summary,
.target-queue-field .field-note,
.route-setting-note,
.waypoint-add-note {
  font-size: var(--text-sm);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-tight);
  line-height: var(--line-copy);
  text-transform: none;
}

#desk-title,
.modal-head .section-title,
.modal-head .module-title,
.module-rule-name {
  font-size: var(--text-xl);
  font-weight: var(--weight-strong);
  letter-spacing: -0.01em;
  line-height: 1.08;
}

.desk-status,
.bot-tab-select strong,
.route-file-note strong,
.module-rule-action-line {
  font-size: var(--text-lg);
  font-weight: var(--weight-medium);
  letter-spacing: 0;
  line-height: 1.2;
}

.desk-metric strong,
.summary-cell strong,
.tile-btn strong,
.quick-module-open strong,
.quick-module-toggle strong,
.route-toggle-open strong,
.route-toggle-button strong,
.route-selection-summary,
.danger-card strong,
.module-state-line,
.module-current-line,
.module-rule-pill strong,
.target-profile-title strong,
.feed-row strong,
.empty-state,
.waypoint-chip strong,
.waypoint-row strong {
  font-size: var(--text-md);
  font-weight: var(--weight-medium);
  letter-spacing: 0;
  line-height: var(--line-body);
}

.route-selection-summary,
.feed-row strong,
.empty-state {
  line-height: var(--line-copy);
}

.bot-tab-metric,
.waypoint-chip-position,
.feed-row time,
.route-file-note span,
.route-library-meta,
.waypoint-chip-index,
.waypoint-row-index,
.log-output {
  font-family: var(--mono);
  font-feature-settings: "zero" 0;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}

.bot-tab-metric,
.waypoint-chip-position,
.feed-row time,
.route-file-note span,
.route-library-meta {
  font-size: var(--text-xs);
  font-weight: var(--weight-regular);
  line-height: 1.2;
}

.route-file-note-compact strong {
  font-size: 8px;
  letter-spacing: 0.1em;
  line-height: 1.1;
}

.route-file-note-compact span {
  font-size: 10px;
  line-height: 1.1;
}

.route-selection-summary {
  font-size: 9px;
  line-height: 1.22;
}

.danger-card strong {
  font-size: 10px;
  line-height: 1.26;
}

.danger-card-label {
  font-size: 8px;
  letter-spacing: 0.12em;
}

.danger-confirm-label {
  font-size: 8px;
  line-height: 1.2;
}

.desk-actions .desk-action-secondary {
  font-size: 9px;
}

.desk-actions>.btn {
  --desk-btn-border: #7d684a;
  --desk-btn-top: #5f4728;
  --desk-btn-bottom: #392715;
  --desk-btn-border-hover: #a6875e;
  --desk-btn-top-hover: #735730;
  --desk-btn-bottom-hover: #48311a;
  --desk-btn-border-active: #caa06f;
  --desk-btn-ring: rgba(163, 127, 77, 0.16);
  --desk-btn-ring-hover: rgba(163, 127, 77, 0.22);
  --desk-btn-ring-active: rgba(163, 127, 77, 0.26);
  color: #f8f3e7;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.26);
  border-color: var(--desk-btn-border);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 45%),
    linear-gradient(180deg, var(--desk-btn-top), var(--desk-btn-bottom));
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.46),
    0 0 0 1px var(--desk-btn-ring),
    0 10px 18px rgba(0, 0, 0, 0.12);
}

.desk-actions>.btn:hover:not(:disabled) {
  border-color: var(--desk-btn-border-hover);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent 45%),
    linear-gradient(180deg, var(--desk-btn-top-hover), var(--desk-btn-bottom-hover));
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.1),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px var(--desk-btn-ring-hover),
    0 8px 18px rgba(0, 0, 0, 0.16);
}

.desk-actions>.btn:active:not(:disabled),
.desk-actions>.btn[data-pressed="true"]:not(:disabled) {
  border-color: var(--desk-btn-border-active);
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.32),
    inset 0 0 0 999px rgba(0, 0, 0, 0.08),
    0 0 0 1px var(--desk-btn-ring-active);
}

#new-session {
  --desk-btn-border: #d9b75c;
  --desk-btn-top: #b38721;
  --desk-btn-bottom: #78520f;
  --desk-btn-border-hover: #efcb70;
  --desk-btn-top-hover: #ca9724;
  --desk-btn-bottom-hover: #8b5f11;
  --desk-btn-border-active: #f7dc93;
  --desk-btn-ring: rgba(217, 183, 92, 0.18);
  --desk-btn-ring-hover: rgba(217, 183, 92, 0.24);
  --desk-btn-ring-active: rgba(217, 183, 92, 0.3);
}

#refresh {
  --desk-btn-border: #d17063;
  --desk-btn-top: #ab4339;
  --desk-btn-bottom: #72201a;
  --desk-btn-border-hover: #e8897a;
  --desk-btn-top-hover: #c24d41;
  --desk-btn-bottom-hover: #84251d;
  --desk-btn-border-active: #f4a394;
  --desk-btn-ring: rgba(209, 112, 99, 0.18);
  --desk-btn-ring-hover: rgba(209, 112, 99, 0.24);
  --desk-btn-ring-active: rgba(209, 112, 99, 0.3);
}

#window-close {
  --desk-btn-border: #bd6561;
  --desk-btn-top: #8f3531;
  --desk-btn-bottom: #5e1e1b;
  --desk-btn-border-hover: #d67a75;
  --desk-btn-top-hover: #a53d39;
  --desk-btn-bottom-hover: #6f2320;
  --desk-btn-border-active: #e99a95;
  --desk-btn-ring: rgba(189, 101, 97, 0.18);
  --desk-btn-ring-hover: rgba(189, 101, 97, 0.24);
  --desk-btn-ring-active: rgba(189, 101, 97, 0.3);
}

#new-route {
  --desk-btn-border: #b36ad4;
  --desk-btn-top: #8c39b0;
  --desk-btn-bottom: #5d2077;
  --desk-btn-border-hover: #ca81ea;
  --desk-btn-top-hover: #a243c8;
  --desk-btn-bottom-hover: #6d258b;
  --desk-btn-border-active: #dda3f4;
  --desk-btn-ring: rgba(179, 106, 212, 0.18);
  --desk-btn-ring-hover: rgba(179, 106, 212, 0.24);
  --desk-btn-ring-active: rgba(179, 106, 212, 0.3);
}

#desk-route-files {
  --desk-btn-border: #7c73dc;
  --desk-btn-top: #5b46b8;
  --desk-btn-bottom: #392a7c;
  --desk-btn-border-hover: #968cf2;
  --desk-btn-top-hover: #6750d0;
  --desk-btn-bottom-hover: #433291;
  --desk-btn-border-active: #b8b0fb;
  --desk-btn-ring: rgba(124, 115, 220, 0.18);
  --desk-btn-ring-hover: rgba(124, 115, 220, 0.24);
  --desk-btn-ring-active: rgba(124, 115, 220, 0.3);
}

#desk-route-panel {
  --desk-btn-border: #5e89e0;
  --desk-btn-top: #3465bd;
  --desk-btn-bottom: #1c3e82;
  --desk-btn-border-hover: #79a0f3;
  --desk-btn-top-hover: #3d73d5;
  --desk-btn-bottom-hover: #214995;
  --desk-btn-border-active: #9ec0fb;
  --desk-btn-ring: rgba(94, 137, 224, 0.18);
  --desk-btn-ring-hover: rgba(94, 137, 224, 0.24);
  --desk-btn-ring-active: rgba(94, 137, 224, 0.3);
}

#desk-hunt-studio {
  --desk-btn-border: #46b6d8;
  --desk-btn-top: #1e88a8;
  --desk-btn-bottom: #12586d;
  --desk-btn-border-hover: #63d0f0;
  --desk-btn-top-hover: #2399bc;
  --desk-btn-bottom-hover: #16677f;
  --desk-btn-border-active: #88e4fb;
  --desk-btn-ring: rgba(70, 182, 216, 0.18);
  --desk-btn-ring-hover: rgba(70, 182, 216, 0.24);
  --desk-btn-ring-active: rgba(70, 182, 216, 0.3);
}

#compact-view {
  --desk-btn-border: #44bfa9;
  --desk-btn-top: #1f8f7d;
  --desk-btn-bottom: #135d52;
  --desk-btn-border-hover: #5ed9c2;
  --desk-btn-top-hover: #24a28e;
  --desk-btn-bottom-hover: #166e61;
  --desk-btn-border-active: #84efda;
  --desk-btn-ring: rgba(68, 191, 169, 0.18);
  --desk-btn-ring-hover: rgba(68, 191, 169, 0.24);
  --desk-btn-ring-active: rgba(68, 191, 169, 0.3);
}

#window-pin {
  --desk-btn-border: #57bb6d;
  --desk-btn-top: #2e8d42;
  --desk-btn-bottom: #1a5d2a;
  --desk-btn-border-hover: #71d687;
  --desk-btn-top-hover: #36a34c;
  --desk-btn-bottom-hover: #1f6d31;
  --desk-btn-border-active: #97eda9;
  --desk-btn-ring: rgba(87, 187, 109, 0.18);
  --desk-btn-ring-hover: rgba(87, 187, 109, 0.24);
  --desk-btn-ring-active: rgba(87, 187, 109, 0.3);
}

#desk-presets {
  --desk-btn-border: #94ba4c;
  --desk-btn-top: #688d22;
  --desk-btn-bottom: #415d13;
  --desk-btn-border-hover: #add463;
  --desk-btn-top-hover: #78a126;
  --desk-btn-bottom-hover: #4d6e16;
  --desk-btn-border-active: #c8ec85;
  --desk-btn-ring: rgba(148, 186, 76, 0.18);
  --desk-btn-ring-hover: rgba(148, 186, 76, 0.24);
  --desk-btn-ring-active: rgba(148, 186, 76, 0.3);
}

.bot-tab-select strong {
  font-size: 10px;
  line-height: 1.02;
}

.bot-tab-state {
  font-size: 6px;
  letter-spacing: 0.09em;
}

.bot-tab-metric {
  font-size: 6px;
  line-height: 1.1;
}

.bot-tabs[data-density="condensed"] .bot-tab-select strong {
  font-size: 9px;
}

.bot-tabs[data-density="condensed"] .bot-tab-state {
  font-size: 5px;
  letter-spacing: 0.08em;
}

.bot-tabs[data-density="condensed"] .bot-tab-metric {
  font-size: 5px;
}

.waypoint-chip-index,
.waypoint-row-index {
  font-weight: var(--weight-medium);
}

.route-live-mini-btn {
  font-size: var(--text-sm);
  line-height: 1;
}

.route-live-waypoint .waypoint-chip-index,
.route-live-waypoint .waypoint-chip-position,
.route-live-waypoint .waypoint-chip-detail,
.route-live-waypoint .waypoint-pill {
  font-size: var(--text-xs);
  line-height: 1.12;
}

.waypoint-list-grid .waypoint-row-index,
.waypoint-list-grid .waypoint-chip-position,
.waypoint-list-grid .waypoint-chip-detail,
.waypoint-list-grid .waypoint-pill {
  font-size: var(--text-2xs);
  line-height: 1.12;
}

.route-live-waypoint strong {
  font-size: var(--text-md);
  font-weight: var(--weight-medium);
}

.waypoint-list-grid .waypoint-chip strong {
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
}

.log-output {
  font-size: var(--text-md);
  font-weight: var(--weight-regular);
  line-height: 1.42;
}

button:focus-visible,
input:focus-visible,
textarea:focus-visible,
.bot-tab-select:focus-visible,
.quick-module-open:focus-visible,
.route-toggle-open:focus-visible,
.interactive-summary-card:focus-visible,
.waypoint-row:focus-visible,
.waypoint-chip:focus-visible {
  outline: none;
  border-color: var(--line-bright);
  box-shadow: var(--focus-ring);
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: #080b0f;
}

::-webkit-scrollbar-thumb {
  border: 1px solid #151a20;
  background: #30363f;
}

@keyframes panel-rise {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes button-sweep {
  to {
    transform: translateX(100%);
  }
}

@keyframes button-confirm {
  0% {
    border-color: var(--line);
    box-shadow:
      inset 1px 1px 0 rgba(255, 255, 255, 0.08),
      inset -1px -1px 0 rgba(0, 0, 0, 0.46);
  }

  42% {
    border-color: rgba(191, 228, 138, 0.92);
    box-shadow:
      inset 1px 1px 0 rgba(255, 255, 255, 0.12),
      inset -1px -1px 0 rgba(0, 0, 0, 0.42),
      0 0 0 1px rgba(143, 190, 100, 0.22),
      0 0 0 5px rgba(143, 190, 100, 0.08);
  }

  100% {
    border-color: rgba(143, 190, 100, 0.76);
    box-shadow:
      inset 1px 1px 0 rgba(255, 255, 255, 0.11),
      inset -1px -1px 0 rgba(0, 0, 0, 0.42),
      0 0 0 1px rgba(143, 190, 100, 0.14);
  }
}

@keyframes button-confirm-sheen {
  0% {
    opacity: 0;
    transform: translateX(-34%);
  }

  38% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
    transform: translateX(34%);
  }
}

@keyframes button-reject {

  0%,
  100% {
    border-color: #a15f4f;
    box-shadow:
      inset 1px 1px 0 rgba(255, 255, 255, 0.08),
      inset -1px -1px 0 rgba(0, 0, 0, 0.46);
  }

  48% {
    border-color: rgba(223, 141, 118, 0.92);
    box-shadow:
      inset 1px 1px 0 rgba(255, 255, 255, 0.08),
      inset -1px -1px 0 rgba(0, 0, 0, 0.46),
      0 0 0 1px rgba(223, 141, 118, 0.18),
      0 0 0 4px rgba(223, 141, 118, 0.06);
  }
}

@keyframes backdrop-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {

  .panel-card,
  .bot-strip,
  .modal-panel.open,
  .modal-layer:not([hidden]) .modal-backdrop,
  .btn[data-busy="true"]::before,
  .btn[data-feedback="success"],
  .btn[data-feedback="success"]::after,
  .btn[data-feedback="error"] {
    animation: none;
  }
}

@media (max-width: 1180px) {
  .console-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "left right";
  }

  .top-strip,
  .top-strip-side,
  .desk-strip {
    grid-template-columns: 1fr;
  }

  .top-strip {
    height: auto;
  }

  .top-strip-main {
    min-height: 0;
  }

  .top-strip-metrics {
    grid-template-columns: 1fr;
  }

  .desk-actions,
  .desk-action-group {
    justify-content: flex-start;
  }

  .route-detail-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .route-hunt-registry {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    grid-template-rows: none;
  }

  .route-hunt-presence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 1fr;
  }

  .hunt-preset-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1040px) {
  .bot-tabs {
    grid-template-columns: 1fr;
    grid-auto-rows: 50px;
  }

  .bot-tab {
    min-width: min(100%, var(--bot-tab-min-width));
  }

  .console-layout,
  .desk-metrics,
  .route-toggle-grid,
  .route-action-grid,
  .route-command-grid,
  .route-config-grid,
  .route-overview-grid,
  .route-workspace,
  .route-editor-top,
  .route-library-grid,
  .target-source-grid,
  .route-modal-grid,
  .form-grid.four,
  .form-grid.two,
  .route-tune-grid {
    grid-template-columns: 1fr;
  }

  .hunt-preset-toolbar,
  .hunt-preset-summary-grid,
  .hunt-preset-detail-actions {
    grid-template-columns: 1fr;
  }

  .console-layout {
    grid-template-areas:
      "left"
      "right";
  }

  .summary-grid {
    grid-template-columns: 1fr;
  }

  .targeting-config-layout,
  .targeting-meta-grid,
  .anti-idle-status-band,
  .anti-idle-control-grid,
  .reconnect-status-band,
  .reconnect-control-grid,
  .trainer-overview,
  .trainer-settings-grid,
  .trainer-duo-card,
  .trainer-duo-create,
  .follow-train-layout,
  .follow-train-overview,
  .follow-train-workspace,
  .follow-train-footer {
    grid-template-columns: 1fr;
  }

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

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

  .anti-idle-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

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

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

  .module-headline,
  .module-rule-head {
    flex-direction: column;
    align-items: stretch;
  }

  .module-headline-tools {
    justify-content: flex-start;
  }

  .rune-maker-hero,
  .rune-maker-layout {
    grid-template-columns: 1fr;
  }

  .route-pane-head,
  .route-card-head-inline {
    grid-template-columns: 1fr;
  }

  .route-modal-head-top,
  .route-modal-head-grid,
  .route-editor-header,
  .route-head-meta-row {
    grid-template-columns: 1fr;
  }

  .route-hunt-grid,
  .route-hunt-registry,
  .route-hunt-presence-grid,
  .route-hunt-runtime-grid,
  .route-hunt-stat-strip,
  .route-hunt-toggles {
    grid-template-columns: 1fr;
  }

  .route-hunt-registry {
    grid-template-rows: none;
  }

  .route-modal-head-block-right {
    justify-self: stretch;
    width: auto;
  }

  .route-structure-column,
  .route-detail-column {
    grid-template-rows: auto;
  }

  .route-detail-column {
    grid-template-columns: 1fr;
  }

  .route-item-shared-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .route-hunt-wide-field {
    grid-column: auto;
  }

  .route-pane-tools,
  .route-power-actions,
  .route-danger-tools {
    justify-content: flex-start;
  }

  .route-danger-card,
  .route-drive-card,
  .route-tile-rule-card,
  #route-danger-summary,
  .route-danger-tools {
    grid-column: auto;
  }

  .route-power-foot {
    grid-template-columns: 1fr;
  }

  .module-rule-title-row,
  .module-rule-sections {
    grid-template-columns: 1fr;
  }

  .module-rule-grid {
    grid-template-columns: 1fr;
  }

  .healer-overview-stats,
  .healer-setup-stats,
  .healer-lane-grid,
  .healer-family-grid {
    grid-template-columns: 1fr;
  }

  .module-rule-actions {
    justify-content: flex-start;
  }

  .mana-rule-summary-top {
    grid-template-columns: 1fr;
  }

  .follow-train-row-actions {
    justify-content: flex-start;
    justify-items: start;
  }

  .follow-train-row-head,
  .follow-train-row-body,
  .follow-train-runtime-grid {
    grid-template-columns: 1fr;
  }

  .follow-train-row-buttons {
    justify-content: flex-start;
  }

  .event-feed {
    grid-auto-rows: minmax(52px, auto);
  }
}

@media (max-width: 1180px) {
  .targeting-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-right: 0;
  }

  .looting-overview,
  .looting-layout,
  .healer-setup-head,
  .healer-overview,
  .healer-control-band,
  .healer-family-panel,
  .autoeat-overview,
  .autoeat-columns,
  .autoeat-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .healer-overview-stats,
  .healer-setup-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .healer-family-head {
    grid-template-columns: 1fr;
  }

  .targeting-column-profiles,
  .targeting-column-center,
  .targeting-column-creatures,
  .targeting-column-watch {
    grid-template-rows: auto;
  }

  .target-source-panel-watch {
    position: relative;
    inset: auto !important;
    width: auto;
    max-width: none;
    max-height: none;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.04),
      0 14px 30px rgba(0, 0, 0, 0.16);
  }

  .target-watch-stack {
    grid-template-rows: auto;
  }

  .modal-body-module .module-card {
    grid-template-rows: auto minmax(0, 1fr) auto auto;
  }

  .equipment-replace-hero,
  .equipment-replace-slot-grid,
  .equipment-replace-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .rune-maker-main {
    min-height: 280px;
  }

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

  .monster-source-list,
  .player-archive,
  .npc-archive,
  .target-profile-list,
  .follow-train-source-list,
  .follow-train-chain-list,
  .follow-train-doctrine-list {
    max-height: 220px;
  }
}

@media (max-width: 920px) {
  .targeting-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .rune-maker-hero-actions {
    justify-items: stretch;
  }

  .rune-maker-hero-actions .btn {
    width: 100%;
  }

  .equipment-replace-hero-metrics,
  .equipment-replace-overview,
  .equipment-replace-controls {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .compact-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 380px) {
  .compact-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .top-strip-main {
    min-height: 0;
  }

  .top-strip-metrics,
  .route-command-actions,
  .route-stack-toolbar,
  .route-panel-action-grid-waypoints,
  .route-panel-action-grid-tile-rules,
  .route-panel-action-grid-avoid {
    grid-template-columns: 1fr;
  }

  .route-item-shared-grid {
    grid-template-columns: 1fr;
  }

  .route-avoid-category-grid,
  .route-avoid-metric-grid {
    grid-template-columns: 1fr;
  }

  .desk-actions {
    grid-template-columns: 1fr 1fr;
  }

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

  .quick-grid {
    grid-template-columns: 1fr;
  }

  .targeting-metrics-grid,
  .targeting-checks {
    grid-template-columns: 1fr;
  }

  .targeting-registry-grid {
    grid-template-columns: 1fr;
  }

  .target-watch-stack {
    grid-template-columns: 1fr;
  }

  .target-profile-grid {
    grid-template-columns: 1fr;
  }

  .mana-rule-window-head,
  .mana-rule-window-scale,
  .mana-rule-window-meta {
    flex-wrap: wrap;
  }

  .looting-overview {
    padding: 10px;
  }

  .autoeat-overview {
    padding: 10px;
  }

  .looting-overview-stats,
  .autoeat-overview-stats {
    grid-template-columns: 1fr;
  }

  .looting-card,
  .autoeat-source-bank,
  .autoeat-column,
  .autoeat-controls {
    padding: 9px;
  }

  .looting-card-count,
  .autoeat-section-meta {
    max-width: 100%;
    text-align: left;
  }

  .autoeat-source-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-height: 760px) and (min-width: 1181px) {
  .window-frame {
    padding: 0;
  }

  .app,
  .top-strip {
    gap: 6px;
  }

  .app,
  .top-strip,
  .desk-panel,
  .modal-panel,
  .module-card,
  .sub-card {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .route-toggle-open small,
  .route-card-copy,
  .route-pane-copy {
    display: none;
  }

  .top-strip {
    min-height: 56px;
    height: auto;
  }

  .bot-tabs {
    grid-auto-rows: 44px;
  }

  .bot-tab {
    min-height: 44px;
  }
}

/* Route modal structural refactor */
.btn.compact {
  min-height: 22px;
  padding: 4px 8px;
  font-size: var(--text-xs);
}

.modal-split-layout {
  min-height: 0;
  display: grid;
  gap: 10px;
  overflow: hidden;
}

.modal-scroll-stack {
  min-height: 0;
  overflow: auto;
  display: grid;
  align-content: start;
  gap: 10px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.modal-section-head,
.route-section-head {
  min-width: 0;
  display: grid;
  gap: 4px;
  align-items: start;
}

.modal-section-head-inline,
.route-section-head-inline {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.modal-section-copy,
.route-section-copy {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.route-modal-panel {
  width: calc(100vw - 24px);
  max-height: calc(100dvh - 16px);
}

.route-modal-card {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}

.route-builder-shell {
  min-height: 0;
  height: 100%;
  display: grid;
}

.route-main-layout {
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) minmax(0, 0.85fr);
  gap: 8px;
  align-items: stretch;
  overflow: hidden;
}

.route-main-column,
.route-mid-column,
.route-side-column {
  min-width: 0;
  min-height: 0;
  display: grid;
  overflow: hidden;
}

.route-main-column {
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 8px;
}

.route-mid-column,
.route-side-column {
  grid-template-rows: minmax(0, 1fr);
}

.route-side-scroll {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  display: grid;
  align-content: start;
  gap: 8px;
  padding-right: 2px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.route-main-column>section,
.route-main-column>.route-stack-card,
.route-side-scroll>section {
  min-width: 0;
  min-height: 0;
}

.route-stack-card-main {
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 8px;
  overflow: hidden;
}

.route-stack-card-head {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.route-stack-card-head .route-panel-action-grid {
  align-self: start;
}

.route-stack-card-main .waypoint-add-stack,
.route-stack-card-main .route-stack-selection-bar {
  min-height: 0;
}

.route-main-column .waypoint-list {
  max-height: none;
}

.route-main-column .waypoint-list-simple,
.route-main-column .route-stack-waypoint-grid {
  overflow-y: auto;
  padding: 6px;
}

.route-main-column .waypoint-list-simple {
  overflow-x: hidden;
}

.route-main-column .route-stack-waypoint-grid {
  --route-waypoint-columns: 10;
  --route-waypoint-grid-gap: 4px;
  --route-waypoint-tile-min-size: 64px;
  overflow-x: auto;
  contain: layout paint;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  contain: layout paint style;
  content-visibility: auto;
  contain-intrinsic-size: 64px;
  transition: border-color 110ms ease, background 110ms ease, box-shadow 110ms ease, color 110ms ease;
}

.route-main-column .route-stack-waypoint-grid .route-stack-section-divider {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 20px;
  color: rgba(232, 238, 231, 0.72);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.route-main-column .route-stack-waypoint-grid .route-stack-section-divider::before,
.route-main-column .route-stack-waypoint-grid .route-stack-section-divider::after {
  content: "";
  flex: 1 1 auto;
  border-top: 2px solid rgba(232, 238, 231, 0.36);
}

.route-main-column .route-stack-waypoint-grid .route-stack-section-divider.selected {
  color: rgba(255, 231, 160, 0.98);
}

.route-main-column .route-stack-waypoint-grid .route-stack-section-divider.selected::before,
.route-main-column .route-stack-waypoint-grid .route-stack-section-divider.selected::after {
  border-top-color: rgba(255, 202, 92, 0.9);
  box-shadow: 0 0 10px rgba(255, 202, 92, 0.22);
}

.route-main-column .route-stack-waypoint-grid .route-special-waypoint-row {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "index title position"
    "index detail detail";
  gap: 2px 6px;
  min-height: 42px;
  padding: 5px 7px;
  border: 1px dashed rgba(var(--waypoint-rgb, 148, 163, 184), 0.5);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(var(--waypoint-rgb, 148, 163, 184), 0.14), rgba(22, 27, 25, 0.92));
  color: rgba(244, 247, 242, 0.9);
}

.route-main-column .route-stack-waypoint-grid .route-special-waypoint-row.selected {
  border-style: solid;
  border-color: rgba(255, 202, 92, 0.9);
  box-shadow:
    inset 0 0 0 1px rgba(255, 232, 156, 0.16),
    0 0 14px rgba(255, 202, 92, 0.18);
}

.route-main-column .route-stack-waypoint-grid .route-special-waypoint-row .waypoint-row-index {
  grid-area: index;
}

.route-main-column .route-stack-waypoint-grid .route-special-waypoint-row>strong {
  grid-area: title;
  min-width: 0;
  font-size: 10px;
  line-height: 1.08;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.route-main-column .route-stack-waypoint-grid .route-special-waypoint-row .waypoint-chip-position {
  grid-area: position;
}

.route-main-column .route-stack-waypoint-grid .route-special-waypoint-row .waypoint-chip-detail {
  grid-area: detail;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row:hover:not(:disabled) {
  transform: none;
  box-shadow:
    inset 0 0 0 1px rgba(247, 213, 138, 0.08),
    0 4px 8px rgba(0, 0, 0, 0.12);
}

.route-main-column .route-stack-waypoint-grid .waypoint-row.current {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 0 0 1px rgba(137, 167, 77, 0.3),
    0 0 14px rgba(143, 190, 100, 0.14);
}

.route-main-column .route-stack-waypoint-grid .waypoint-row.selected {
  outline-offset: -3px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main {
  padding: 5px 5px 22px;
  gap: 3px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-flags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 2px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-index {
  min-width: 31px;
  min-height: 18px;
  padding: 1px 5px;
  font-size: 9px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main>strong {
  font-size: 10px;
  line-height: 1.08;
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-position,
.route-main-column .route-stack-waypoint-grid .waypoint-chip-detail,
.route-main-column .route-stack-waypoint-grid .waypoint-pill {
  font-size: 8px;
  line-height: 1.05;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-detail {
  -webkit-line-clamp: 2;
}

.route-editor-card {
  height: auto;
  display: grid;
  gap: 8px;
  align-content: start;
  overflow: hidden;
}

.route-editor-card-head {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.route-editor-head-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.route-editor-card-top {
  height: auto;
}

.route-editor-mode-toggle {
  width: auto;
  max-width: none;
  flex-shrink: 0;
}

.route-editor-mode-toggle .btn {
  width: 100%;
}

.route-editor-panel {
  display: grid;
  gap: 8px;
}

.route-editor-actions {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}

.route-drive-card,
.route-tile-rule-card {
  height: auto;
  display: grid;
  gap: 8px;
  align-content: start;
}

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

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

.route-panel-action-grid-waypoints {
  grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(110px, 0.82fr));
}

.route-panel-action-grid-tile-rules {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.route-selection-summary-compact {
  min-height: 0;
  padding: 5px 7px;
}

.tile-rule-list {
  min-height: 92px;
  max-height: 264px;
}

.tile-rule-list .empty-state {
  padding: 8px 10px;
}

.route-danger-bar {
  display: grid;
  gap: 8px;
  align-content: start;
}

.route-danger-tools {
  display: none;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
}

.route-danger-tools:has(.btn:not([hidden])) {
  display: flex;
}

.route-danger-tools .btn {
  width: auto;
}

.route-danger-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.route-danger-meta-item {
  min-width: 0;
  padding: 6px 8px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(161, 95, 79, 0.28);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 46%),
    rgba(48, 24, 18, 0.36);
  box-shadow: var(--shadow-card);
}

.route-danger-meta-item span {
  color: #f2c7bc;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.route-danger-meta-item strong {
  min-width: 0;
  color: #fff0ec;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.route-danger-action-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.route-danger-action-bar .btn {
  width: 100%;
}

/* Targeting compact header badges. */
.route-hunt-modal-head-compact {
  display: flex;
  align-items: center;
  gap: 6px;
}

.route-hunt-modal-head-compact .modal-head-copy {
  flex: 0 0 auto;
}

.route-hunt-head-stats {
  display: flex;
  gap: 4px;
  flex: 0 0 auto;
  justify-content: flex-start;
}

.route-hunt-head-search {
  flex: 1 1 360px;
}

.route-hunt-head-badge {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border: 1px solid rgba(169, 141, 99, 0.22);
  background: rgba(0, 0, 0, 0.25);
}

.route-hunt-head-badge span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.route-hunt-head-badge strong {
  color: #fbf5e7;
  font-size: 12px;
  line-height: 1;
}

/* Targeting workspace overrides. */
.route-hunt-workspace {
  min-height: 0;
  height: auto;
  max-height: none;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
  padding: 0;
  overflow: hidden;
}

.route-hunt-workspace-modal {
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.route-hunt-modal-summary {
  min-width: 0;
  display: grid;
  gap: 4px;
}

#modal-targeting .route-hunt-workspace {
  grid-template-rows: minmax(0, 1fr);
}

.route-hunt-summary-bar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

.route-hunt-search-bar {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 58%),
    rgba(0, 0, 0, 0.18);
}

.route-hunt-search-bar span {
  color: var(--muted);
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.route-hunt-search-bar input {
  min-width: 0;
  width: 100%;
}

/* Targeting 3-column grid. */
.route-hunt-grid-3col {
  min-height: 0;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(220px, 1fr) minmax(220px, 1fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 6px;
  align-items: stretch;
}

/* Column 1: applied target priority */
.route-hunt-grid-3col .route-hunt-profile-panel {
  grid-column: 1;
  grid-row: 1;
  min-height: 0;
}

/* Column 2: queue and combat settings */
.route-hunt-grid-3col .route-hunt-config-panel {
  grid-column: 2;
  grid-row: 1;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}

.route-hunt-grid-3col .route-hunt-combat-panel {
  display: none;
}

/* Column 3: registry + presence stacked */
.route-hunt-grid-3col .route-hunt-registry {
  grid-column: 3;
  grid-row: 1;
  display: grid;
  grid-template-rows: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 6px;
  overflow: hidden;
}

.route-hunt-grid-3col .route-hunt-presence-grid {
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

/* Runtime grid: 3 cols to avoid port/poll overlap */
.route-hunt-grid-3col .route-hunt-runtime-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

.route-hunt-grid-3col .route-hunt-toggles {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

.route-hunt-grid-3col .route-hunt-wide-field {
  grid-column: 1 / -1;
}

.route-hunt-grid-3col .route-hunt-panel-head .inline-actions .btn,
.route-hunt-grid-3col .route-hunt-registry-actions .btn {
  min-width: 0;
}

.route-hunt-grid-sidebar .monster-source-list,
.route-hunt-grid-sidebar .player-archive,
.route-hunt-grid-sidebar .npc-archive,
.route-hunt-grid-sidebar .target-profile-list,
.route-hunt-grid-sidebar .targeting-distance-rule-list {
  min-height: 0;
}

.route-hunt-workspace-modal .route-hunt-grid-sidebar {
  overflow: hidden;
  padding-right: 0;
}

.route-hunt-launchpad {
  display: grid;
  gap: 8px;
  align-content: start;
}

.route-hunt-launchpad-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.route-hunt-launchpad-grid .summary-cell {
  min-height: 52px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 42%),
    rgba(0, 0, 0, 0.2);
}


.rune-maker-sidebar,
.rune-maker-sidebar-card,
.rune-maker-main {
  gap: 6px;
}

@media (max-width: 1180px) {
  .route-main-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) minmax(0, 0.85fr);
  }

  .route-danger-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1040px) {
  .route-modal-panel {
    width: calc(100vw - 18px);
    max-height: calc(100dvh - 18px);
  }

  .route-main-layout,
  .modal-section-head-inline,
  .route-section-head-inline {
    grid-template-columns: 1fr;
  }

  .route-main-layout {
    grid-template-columns: 1fr;
  }

  .route-main-column {
    grid-template-rows: minmax(260px, 1fr) auto;
  }

  .route-side-scroll {
    padding-right: 0;
  }

  .route-panel-action-grid-waypoints,
  .route-panel-action-grid-tile-rules,
  .route-stack-card-head,
  .route-editor-card-head,
  .route-danger-action-bar,
  .route-danger-meta,
  .route-hunt-launchpad-grid,
  .route-hunt-summary-bar,
  .route-tune-grid,
  .route-checks,
  .route-hunt-grid-3col,
  .route-hunt-grid-3col .route-hunt-runtime-grid,
  .route-hunt-grid-3col .route-hunt-toggles,
  .route-hunt-grid-3col .route-hunt-registry,
  .route-hunt-grid-3col .route-hunt-presence-grid {
    grid-template-columns: 1fr;
  }

  .route-main-column .waypoint-list-simple .waypoint-row-main {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "index title"
      "index position"
      "index detail"
      "flags flags";
    padding-right: 34px;
  }

  .route-main-column .waypoint-list-simple .waypoint-chip-flags {
    justify-content: flex-start;
  }

  .route-hunt-grid-3col .route-hunt-config-panel,
  .route-hunt-grid-3col .route-hunt-registry {
    grid-column: auto;
  }

  .route-hunt-workspace {
    max-height: none;
    min-height: 0;
  }
}

@media (max-height: 760px) and (min-width: 1041px) {
  .route-modal-panel {
    max-height: calc(100dvh - 16px);
  }

  .route-main-column .waypoint-list-simple .waypoint-row-main {
    min-height: 48px;
  }

  .route-hunt-workspace {
    max-height: min(420px, 42vh);
  }
}

/* Modal polish pass: compact chrome, no subtitle clutter, no green checked badges. */
:root {
  --ok: #7fc46a;
  --ok-dim: #152a1c;
}

.modal-layer {
  padding: 12px;
}

.modal-panel,
.modal-panel-targeting,
.modal-panel-route-picker,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-module,
.route-modal-panel {
  border-color: rgba(201, 169, 112, 0.42);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 18%),
    linear-gradient(180deg, #1a1510, #100d09);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.54),
    0 26px 64px rgba(0, 0, 0, 0.58);
}

.modal-panel {
  width: calc(100vw - 16px);
  max-width: calc(100vw - 16px);
  max-height: calc(100dvh - 16px);
  padding: 6px;
  gap: 6px;
}

.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry {
  width: min(1360px, calc(100vw - 20px));
}

#modal-targeting,
#modal-autowalk {
  width: calc(100vw - 20px);
}

.modal-panel-route-picker {
  width: min(560px, calc(100vw - 20px));
}

.modal-backdrop {
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(2px);
}

.modal-head {
  min-height: 30px;
  padding: 0 2px 6px;
  border-bottom-color: rgba(201, 169, 112, 0.2);
}

.modal-head-copy {
  gap: 0;
}

.modal-head .section-title,
.modal-head .module-title {
  color: #fbf5e7;
  font-size: 13px;
  letter-spacing: 0;
  line-height: 1.1;
  text-transform: none;
}

.modal-head .section-meta,
.modal-head-copy #shared-module-head-group,
.modal-head-copy #rune-module-head-group,
.modal-panel .route-card-copy,
.modal-panel .route-pane-copy,
.modal-panel .rune-maker-template span {
  display: none !important;
}

.modal-actions {
  gap: 4px;
  padding-top: 4px;
  border-top-color: rgba(201, 169, 112, 0.2);
}

.modal-actions .modal-close-button {
  border-color: rgba(169, 141, 99, 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 44%),
    rgba(22, 17, 12, 0.92);
  color: var(--text);
  box-shadow: var(--shadow-card);
}

.modal-actions .modal-close-button:hover:not(:disabled) {
  border-color: rgba(247, 213, 138, 0.54);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 44%),
    rgba(30, 23, 15, 0.96);
  box-shadow:
    var(--shadow-card),
    0 0 0 1px rgba(247, 213, 138, 0.08);
}

.modal-actions .modal-close-button:active:not(:disabled),
.modal-actions .modal-close-button[data-pressed="true"]:not(:disabled) {
  border-color: rgba(247, 213, 138, 0.62);
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(247, 213, 138, 0.1);
}

.modal-panel input[type="checkbox"]:checked,
input[type="checkbox"]:checked {
  border-color: rgba(167, 214, 120, 0.84);
  background:
    linear-gradient(180deg, rgba(213, 247, 171, 0.32), rgba(213, 247, 171, 0.05) 46%),
    linear-gradient(180deg, #48682d, #253518);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 -1px 0 rgba(0, 0, 0, 0.32),
    0 0 0 1px rgba(143, 190, 100, 0.12),
    0 8px 18px rgba(61, 89, 34, 0.16);
}

.modal-panel input[type="checkbox"]:checked::before,
input[type="checkbox"]:checked::before {
  background:
    radial-gradient(circle at 32% 30%, rgba(255, 255, 255, 1), rgba(241, 252, 227, 0.98) 44%, rgba(188, 225, 132, 0.96));
  box-shadow:
    0 2px 6px rgba(16, 32, 11, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.checks label:has(input[type="checkbox"]:checked),
.route-checks label:has(input[type="checkbox"]:checked),
.module-rule-check:has(input[type="checkbox"]:checked),
.route-avoid-toggle:has(input[type="checkbox"]:checked),
.route-avoid-category:has(input[type="checkbox"]:checked),
.equipment-replace-power:has(input[type="checkbox"]:checked),
.equipment-replace-toggle:has(input[type="checkbox"]:checked) {
  border-color: rgba(143, 190, 100, 0.46);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 42%),
    linear-gradient(135deg, rgba(143, 190, 100, 0.16), rgba(0, 0, 0, 0) 72%),
    rgba(18, 30, 16, 0.9);
  color: var(--text);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    0 0 0 1px rgba(143, 190, 100, 0.1);
}

.route-avoid-category:has(input[type="checkbox"]:checked) .route-avoid-category-copy strong,
.route-avoid-toggle:has(input[type="checkbox"]:checked) .route-avoid-toggle-copy small,
.route-avoid-category:has(input[type="checkbox"]:checked) .route-avoid-category-copy small {
  color: inherit;
}

.target-profile-badge {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: 0;
  text-transform: none;
}

.target-profile-badge.active {
  border: 0;
  background: transparent;
  color: var(--accent-text);
}

.target-profile-row.off .target-profile-badge {
  color: var(--muted);
}

.route-hunt-head-badge {
  min-height: 22px;
  padding: 0 7px;
  border-color: rgba(201, 169, 112, 0.24);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.025);
}

.route-hunt-head-badge span {
  letter-spacing: 0;
  text-transform: none;
}

.route-live-mini-btn-mark,
.waypoint-mark-btn,
.route-live-mini-btn-add {
  border-color: rgba(201, 169, 112, 0.48);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 52%),
    rgba(36, 28, 18, 0.96);
  color: rgba(247, 213, 138, 0.88);
  font-size: 13px;
  font-weight: 700;
}

.route-live-mini-btn-mark[aria-pressed="true"],
.waypoint-mark-btn[aria-pressed="true"] {
  border-color: rgba(247, 213, 138, 0.72);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 46%),
    rgba(91, 68, 32, 0.96);
  color: #fbf5e7;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 0 1px rgba(247, 213, 138, 0.12);
}

.modal-panel .route-live-waypoint.current,
.modal-panel .waypoint-row.current,
.route-main-column .route-stack-waypoint-grid .waypoint-row.current,
.waypoint-list-grid .waypoint-row.current,
.waypoint-list-simple .waypoint-row.current {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 0 0 1px rgba(247, 213, 138, 0.26),
    0 0 14px rgba(247, 213, 138, 0.12);
}

.btn[data-feedback="success"]::after {
  background:
    linear-gradient(110deg, transparent 18%, rgba(247, 213, 138, 0.16) 42%, rgba(247, 213, 138, 0.05) 62%, transparent 84%);
}

select[data-feedback="success"] {
  border-color: rgba(247, 213, 138, 0.66);
  box-shadow: 0 0 0 1px rgba(247, 213, 138, 0.12);
}

@media (max-width: 1040px) {
  .modal-layer {
    padding: 8px;
  }

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  .modal-panel-module,
  .modal-panel-console,
  .modal-panel-presets,
  .modal-panel-account-registry,
  #modal-targeting,
  #modal-autowalk {
    width: calc(100vw - 16px);
    max-width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
  }
}

/* Modal density pass: use the viewport, keep scroll panes vertical, and remove divider chrome. */
:root {
  --modal-edge: 6px;
  --modal-gap: 4px;
  --modal-panel-border: rgba(63, 72, 82, 0.22);
  --modal-card-border: rgba(63, 72, 82, 0.16);
  --modal-card-fill: rgba(11, 15, 20, 0.62);
}

.modal-layer {
  padding: var(--modal-edge);
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  width: calc(100vw - (var(--modal-edge) * 2));
  max-width: none;
  height: calc(100dvh - (var(--modal-edge) * 2));
  max-height: calc(100dvh - (var(--modal-edge) * 2));
  padding: var(--modal-gap);
  gap: var(--modal-gap);
  border-color: var(--modal-panel-border);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 14%),
    #120e0a;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.025),
    0 18px 42px rgba(0, 0, 0, 0.54);
}

.modal-panel-route-picker {
  width: min(560px, calc(100vw - (var(--modal-edge) * 2)));
  height: auto;
  max-height: calc(100dvh - (var(--modal-edge) * 2));
}

.modal-head {
  min-height: 24px;
  padding: 0 1px;
  border-bottom: 0;
}

.modal-head .section-title,
.modal-head .module-title {
  font-size: 12px;
  line-height: 1;
}

.modal-head-tools,
.modal-head-tools .inline-actions,
.modal-head-tools>div {
  gap: var(--modal-gap);
}

.modal-body {
  gap: var(--modal-gap);
}

.modal-actions {
  min-height: 26px;
  padding-top: 0;
  border-top: 0;
}

.modal-actions .btn,
.modal-actions .modal-save-button {
  min-width: 72px;
}

.modal-panel :is(.modal-scroll-stack,
  .module-rule-list,
  .module-extra-fields,
  .monster-source-list,
  .player-archive,
  .npc-archive,
  .target-profile-list,
  .targeting-distance-rule-list,
  .hunt-preset-list,
  .hunt-preset-detail-panel,
  .follow-train-source-list,
  .follow-train-chain-list,
  .follow-train-doctrine-list,
  .waypoint-list,
  .waypoint-preview,
  .waypoint-preview-live,
  .route-side-scroll,
  .route-editor-panel,
  .tile-rule-list,
  .log-output) {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.modal-panel :is(.modal-scroll-stack,
  .route-side-scroll,
  .module-rule-list,
  .target-profile-list,
  .monster-source-list,
  .player-archive,
  .npc-archive,
  .hunt-preset-list,
  .hunt-preset-detail-panel,
  .follow-train-source-list,
  .follow-train-chain-list,
  .follow-train-doctrine-list) {
  padding-right: 0;
}

.modal-panel :is(.route-main-layout,
  .route-hunt-grid,
  .route-hunt-grid-3col,
  .hunt-preset-layout,
  .rune-maker-layout,
  .trainer-shell,
  .follow-train-layout,
  .follow-train-workspace,
  .equipment-replace-layout,
  .looting-layout,
  .autoeat-columns,
  .targeting-layout) {
  gap: var(--modal-gap);
}

.modal-panel :is(.route-hunt-workspace,
  .route-hunt-workspace-modal,
  .route-builder-shell,
  .route-modal-card,
  .modal-module-card,
  .rune-maker-panel) {
  min-height: 0;
  height: 100%;
  max-height: none;
}

.modal-panel :is(.route-stack-card,
  .route-editor-card,
  .route-drive-card,
  .route-tile-rule-card,
  .route-avoid-fields-card,
  .route-danger-bar,
  .module-card,
  .sub-card,
  .modal-module-card,
  .targeting-config-card,
  .target-source-panel,
  .target-profile-card,
  .target-set-card,
  .target-watch-group,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .rune-maker-sidebar-card,
  .rune-maker-main,
  .trainer-settings,
  .trainer-duo-presets,
  .equipment-replace-slot,
  .equipment-replace-panel,
  .follow-train-column,
  .follow-train-doctrine-panel,
  .healer-setup-panel,
  .healer-overview,
  .healer-family-panel,
  .alarms-overview,
  .alarms-card,
  .alarms-live-band,
  .anti-idle-status-band,
  .reconnect-status-band,
  .looting-overview,
  .looting-card,
  .autoeat-overview,
  .autoeat-source-bank,
  .autoeat-column,
  .autoeat-controls) {
  border-color: var(--modal-card-border);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 34%),
    var(--modal-card-fill);
  box-shadow: none;
}

.modal-panel :is(.route-section-head,
  .modal-section-head,
  .route-pane-head,
  .target-sources-head,
  .target-watch-group-head,
  .target-watch-panel-head,
  .module-rule-card[data-module-key="manaTrainer"] .module-rule-head) {
  padding-bottom: 0;
  border-bottom: 0;
}

.modal-panel :is(.target-danger-zone,
  .route-danger-zone-card) {
  padding-top: 0;
  border-top: 0;
}

.modal-panel :is(.route-hunt-inline-note,
  .route-selection-summary,
  .route-danger-meta-item,
  .route-file-note,
  .route-library-meta,
  .route-library-quick-meta,
  .field-note,
  .module-rule-summary,
  .module-rule-section,
  .module-extra-fields,
  .summary-cell,
  .trainer-metric-card,
  .follow-train-status-card,
  .follow-train-metric-card,
  .equipment-replace-stat,
  .healer-metric-card,
  .healer-lane-card,
  .alarms-stat-card,
  .anti-idle-metric,
  .reconnect-metric,
  .looting-stat-card,
  .autoeat-stat-card) {
  border-color: rgba(201, 169, 112, 0.1);
  background: rgba(255, 255, 255, 0.018);
  box-shadow: none;
}

.modal-panel .route-main-column .route-stack-waypoint-grid,
.modal-panel .waypoint-list-grid,
.modal-panel .waypoint-preview-live {
  --route-waypoint-grid-gap: 4px;
  --route-waypoint-tile-min-size: 84px;
  --route-waypoint-tile-size:
    max(var(--route-waypoint-tile-min-size),
      calc((100% - (3 * var(--route-waypoint-grid-gap))) / 4));
  grid-template-columns: repeat(auto-fill, minmax(var(--route-waypoint-tile-min-size), 1fr));
  grid-auto-rows: var(--route-waypoint-tile-size);
  justify-content: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  padding: var(--modal-gap);
  scrollbar-gutter: stable;
}

.modal-panel .route-main-column .route-stack-waypoint-grid .waypoint-row-main,
.modal-panel .waypoint-list-grid .waypoint-row-main,
.modal-panel .waypoint-preview-live .route-live-waypoint-main {
  padding: 4px 4px 19px;
}

.modal-panel .route-side-scroll,
.modal-panel .modal-scroll-stack,
.modal-panel .route-stack-card-main,
.modal-panel .route-editor-card,
.modal-panel .route-drive-card,
.modal-panel .route-tile-rule-card,
.modal-panel .route-danger-bar,
.modal-panel .route-hunt-config-panel,
.modal-panel .route-hunt-profile-panel,
.modal-panel .route-hunt-registry-panel,
.modal-panel .route-hunt-presence-panel {
  gap: var(--modal-gap);
}

.modal-panel .route-main-layout {
  grid-template-columns: minmax(360px, 1.28fr) minmax(260px, 0.86fr) minmax(260px, 0.86fr);
}

.modal-panel .route-hunt-grid-3col {
  grid-template-columns: minmax(240px, 0.82fr) minmax(300px, 1.12fr) minmax(260px, 0.92fr);
}

.modal-panel .route-hunt-modal-summary,
.modal-panel .route-hunt-summary-bar,
.modal-panel .route-hunt-search-bar {
  gap: var(--modal-gap);
}

.modal-panel .route-hunt-search-bar {
  padding: 3px 6px;
  border-color: rgba(201, 169, 112, 0.1);
  background: rgba(255, 255, 255, 0.018);
}

.modal-panel .route-hunt-queue-field textarea {
  min-height: 58px;
  max-height: 84px;
}

.modal-panel .route-danger-meta,
.modal-panel .route-danger-action-bar,
.modal-panel .route-hunt-launchpad-grid,
.modal-panel .hunt-preset-summary-grid,
.modal-panel .runtime-metrics,
.modal-panel .trainer-overview,
.modal-panel .follow-train-overview,
.modal-panel .equipment-replace-overview,
.modal-panel .alarms-overview-stats,
.modal-panel .anti-idle-metric-grid,
.modal-panel .reconnect-metric-grid,
.modal-panel .looting-overview-stats,
.modal-panel .autoeat-overview-stats {
  gap: var(--modal-gap);
}

.modal-panel :is(.btn, input, textarea, select) {
  min-height: 22px;
}

.modal-panel :is(.btn.compact, .route-hunt-head-badge) {
  min-height: 20px;
}

@media (max-height: 760px) and (min-width: 1041px) {
  .modal-panel .route-hunt-workspace {
    max-height: none;
  }
}

@media (max-width: 1040px) {
  :root {
    --modal-edge: 4px;
  }

  .modal-layer {
    padding: var(--modal-edge);
  }

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  .modal-panel-module,
  .modal-panel-console,
  .modal-panel-presets,
  .modal-panel-account-registry,
  #modal-targeting,
  #modal-autowalk {
    width: calc(100vw - (var(--modal-edge) * 2));
    max-width: none;
    height: calc(100dvh - (var(--modal-edge) * 2));
    max-height: calc(100dvh - (var(--modal-edge) * 2));
  }

  .route-main-layout,
  .route-hunt-grid-3col {
    grid-template-columns: 1fr;
  }
}

/* Dense modal pass: compact chrome, softer separators, vertical scroll columns. */
.modal-layer {
  padding: 5px;
}

.modal-panel,
.modal-panel-targeting,
.modal-panel-route-picker,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-module,
.route-modal-panel {
  border-color: rgba(201, 169, 112, 0.28);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 12%),
    linear-gradient(180deg, #18130e, #0e0b08);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.045),
    0 18px 46px rgba(0, 0, 0, 0.56);
}

.modal-panel {
  width: calc(100vw - 10px);
  max-width: calc(100vw - 10px);
  max-height: calc(100dvh - 10px);
  padding: 4px;
  gap: 4px;
}

.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  width: calc(100vw - 10px);
  max-width: calc(100vw - 10px);
}

.modal-panel-route-picker {
  width: min(540px, calc(100vw - 10px));
}

.modal-head {
  min-height: 24px;
  padding: 0 2px 2px;
  border-bottom: 0;
}

.modal-actions {
  min-height: 26px;
  gap: 4px;
  padding-top: 2px;
  border-top: 0;
}

.modal-body {
  gap: 4px;
}

.modal-head .section-title,
.modal-head .module-title {
  font-size: 12px;
  line-height: 1;
}

.modal-panel .field-note {
  letter-spacing: 0.04em;
}

.modal-panel-module .field-note {
  display: none;
}

.modal-panel label,
.module-rule-control {
  gap: 2px;
  font-size: 9px;
  letter-spacing: 0.04em;
}

.modal-panel input,
.modal-panel textarea,
.modal-panel select {
  min-height: 22px;
  padding: 3px 5px;
}

.modal-panel .btn.compact,
.modal-panel .module-rule-actions .btn {
  min-height: 22px;
  padding: 3px 7px;
}

.modal-module-card {
  gap: 4px;
}

.modal-module-card:has(> #module-rule-list:not([hidden])):has(> #module-extra-fields:not([hidden])) {
  grid-template-columns: minmax(260px, 0.86fr) minmax(280px, 1fr);
  grid-template-rows: minmax(0, 1fr);
}

.modal-module-card:has(> #module-rule-list:not([hidden])):has(> #module-extra-fields:not([hidden]))>#module-rule-list {
  grid-column: 1;
  grid-row: 1;
}

.modal-module-card:has(> #module-rule-list:not([hidden])):has(> #module-extra-fields:not([hidden]))>#module-extra-fields {
  grid-column: 2;
  grid-row: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.modal-module-card[data-module-key="healer"] {
  grid-template-columns: minmax(250px, 0.44fr) minmax(0, 1.56fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 5px;
}

.modal-module-card[data-module-key="healer"]>#module-rule-list {
  grid-column: 1;
  grid-row: 1;
}

.modal-module-card[data-module-key="healer"]>#module-extra-fields {
  grid-column: 2;
  grid-row: 1;
  min-height: 0;
}

/* Tactical Navigation shows no rule list, so the shared two-column scroll rule never
   matches. Let its single extra-fields column scroll on its own so the battle
   list and the remote-walk pad below the map are always reachable. */
.modal-module-card[data-module-key="navigationTactical"]>#module-extra-fields {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.module-rule-list,
.modal-scroll-stack,
.module-extra-fields,
.module-extra-fields.module-extra-fields-healer,
.module-extra-fields.module-extra-fields-looting,
.module-extra-fields.module-extra-fields-alarms,
.route-editor-panel,
.targeting-distance-rule-list,
.monster-target-list,
.monster-source-list,
.player-archive,
.npc-archive,
.target-profile-list,
.follow-train-source-list,
.follow-train-chain-list,
.follow-train-doctrine-list,
.waypoint-list,
.waypoint-preview,
.waypoint-preview-live,
.waypoint-list-grid,
.route-main-column .route-stack-waypoint-grid {
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

.waypoint-preview-live,
.waypoint-list-grid,
.route-main-column .route-stack-waypoint-grid {
  grid-template-columns: repeat(auto-fill, minmax(var(--route-waypoint-tile-min-size), 1fr));
  width: 100%;
}

.route-main-column .route-stack-waypoint-grid {
  --route-waypoint-tile-min-size: 62px;
}

#waypoint-list.waypoint-list-grid,
#waypoint-list.route-stack-waypoint-grid {
  overflow-x: hidden;
  overflow-y: auto;
}

.module-rule-card {
  padding: 4px;
  gap: 4px;
  border-color: rgba(169, 141, 99, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.022), transparent 36%),
    rgba(18, 14, 10, 0.78);
  box-shadow: none;
}

.module-rule-head {
  gap: 5px;
}

.module-rule-title-row {
  gap: 4px;
}

.module-rule-index {
  font-size: 8px;
}

.module-rule-name {
  font-size: 12px;
}

.module-rule-summary {
  padding: 4px;
  gap: 4px;
  border: 0;
  background: rgba(255, 255, 255, 0.022);
}

.module-rule-action-line {
  font-size: 11px;
  line-height: 1.2;
}

.module-rule-tier-line {
  font-size: 10px;
}

.module-rule-pills {
  gap: 3px;
}

.module-rule-pill {
  min-height: 20px;
  padding: 2px 5px;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  border-color: rgba(169, 141, 99, 0.18);
  background: rgba(255, 255, 255, 0.018);
}

.module-rule-pill span {
  font-size: 8px;
  letter-spacing: 0.04em;
}

.module-rule-pill strong {
  font-size: 10px;
  line-height: 1.1;
  white-space: normal;
}

.module-rule-sections {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 4px;
}

.module-rule-section {
  padding: 3px;
  gap: 3px;
  border: 0;
  background: rgba(255, 255, 255, 0.018);
}

.module-rule-section-title {
  display: none;
}

.module-rule-grid {
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 4px;
}

.module-rule-control textarea {
  min-height: 52px;
}

.empty-state {
  min-height: 54px;
  padding: 8px;
}

.healer-shell {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(240px, 0.64fr) minmax(0, 1.36fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 5px;
  padding-right: 0;
  overflow: hidden;
}

.healer-setup-panel,
.healer-family-grid {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

.healer-setup-panel {
  padding: 5px;
  gap: 5px;
  align-content: start;
  border-color: rgba(169, 141, 99, 0.18);
  background: rgba(14, 11, 8, 0.62);
}

.healer-setup-head {
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
}

.healer-setup-copy {
  gap: 2px;
}

.healer-overview-title {
  font-size: 13px;
  line-height: 1.12;
}

.healer-overview-detail,
.healer-setup-note,
.healer-family-detail,
.healer-family-status-row {
  display: none;
}

.healer-setup-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

.healer-metric-card,
.healer-lane-card,
.healer-control-band {
  min-height: 0;
  padding: 4px;
  border: 0;
  background: rgba(255, 255, 255, 0.022);
}

.healer-metric-card {
  gap: 1px;
}

.healer-metric-card span,
.healer-overview-kicker,
.healer-family-kicker {
  font-size: 8px;
  letter-spacing: 0.06em;
}

.healer-metric-card strong {
  font-size: 11px;
}

.healer-metric-card small {
  display: none;
}

.healer-setup-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

.healer-family-grid {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  align-content: start;
  gap: 5px;
}

.healer-family-panel {
  min-height: 0;
  padding: 5px;
  gap: 5px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  border-color: rgba(169, 141, 99, 0.16);
  background: rgba(11, 8, 5, 0.5);
  overflow: hidden;
}

.healer-family-head {
  grid-template-columns: minmax(0, 1fr) minmax(132px, 0.58fr);
  gap: 5px;
}

.healer-family-copy {
  display: grid;
  gap: 1px;
}

.healer-family-title {
  font-size: 12px;
}

.healer-family-toggle .module-rule-check {
  min-height: 22px;
  padding: 2px 0;
}

.healer-family-rule-list {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

.healer-family-rule-list .module-rule-card {
  box-shadow: none;
}

.healer-family-rule-list .empty-state {
  min-height: 58px;
}

.healer-family-toolbar {
  min-height: 22px;
}

@media (max-width: 1180px) {

  .modal-module-card:has(> #module-rule-list:not([hidden])):has(> #module-extra-fields:not([hidden])),
  .modal-module-card[data-module-key="healer"],
  .healer-shell,
  .healer-family-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .modal-module-card:has(> #module-rule-list:not([hidden])):has(> #module-extra-fields:not([hidden]))>#module-rule-list,
  .modal-module-card:has(> #module-rule-list:not([hidden])):has(> #module-extra-fields:not([hidden]))>#module-extra-fields,
  .modal-module-card[data-module-key="healer"]>#module-rule-list,
  .modal-module-card[data-module-key="healer"]>#module-extra-fields {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 1040px) {
  .modal-layer {
    padding: 5px;
  }

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  .modal-panel-module,
  .modal-panel-console,
  .modal-panel-presets,
  .modal-panel-account-registry,
  #modal-targeting,
  #modal-autowalk {
    width: calc(100vw - 10px);
    max-width: calc(100vw - 10px);
    max-height: calc(100dvh - 10px);
  }
}

/* Deep modal condensation pass: low chrome, softer panels, vertical scroll panes. */
.modal-layer {
  padding: 3px;
}

.modal-panel,
.modal-panel-targeting,
.modal-panel-route-picker,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-module,
.route-modal-panel {
  border-color: rgba(201, 169, 112, 0.18);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 10%),
    linear-gradient(180deg, #17120d, #0c0907);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 12px 34px rgba(0, 0, 0, 0.58);
}

.modal-panel {
  width: calc(100vw - 6px);
  max-width: calc(100vw - 6px);
  max-height: calc(100dvh - 6px);
  padding: 3px;
  gap: 3px;
  grid-template-rows: minmax(20px, auto) minmax(0, 1fr) minmax(24px, auto);
}

.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  width: calc(100vw - 6px);
  max-width: calc(100vw - 6px);
}

.modal-panel-route-picker {
  width: min(520px, calc(100vw - 6px));
}

.modal-backdrop {
  background: rgba(0, 0, 0, 0.74);
  backdrop-filter: none;
}

.modal-head {
  min-height: 20px;
  padding: 0 1px 1px;
  gap: 4px;
  border-bottom: 0;
}

.modal-head-tools,
.modal-head-tools .inline-actions,
.modal-head-tools>div {
  gap: 4px;
}

.modal-head .section-title,
.modal-head .module-title {
  font-size: 11px;
  line-height: 1;
}

.modal-actions {
  min-height: 24px;
  gap: 3px;
  padding-top: 1px;
  border-top: 0;
}

.modal-actions .btn {
  min-width: 64px;
  min-height: 22px;
  padding: 3px 8px;
}

.modal-body,
.modal-split-layout,
.modal-scroll-stack,
.route-main-layout,
.route-main-column,
.route-side-scroll,
.route-stack-card-main,
.route-hunt-workspace,
.route-hunt-modal-summary,
.route-hunt-grid-3col,
.route-hunt-registry,
.route-hunt-presence-grid,
.hunt-preset-layout,
.modal-module-card,
.rune-maker-layout {
  gap: 3px;
}

.modal-panel .route-power-card,
.modal-panel .route-stack-card,
.modal-panel .route-editor-card,
.modal-panel .route-tile-rule-card,
.modal-panel .route-avoid-fields-card,
.modal-panel .route-danger-bar,
.modal-panel .route-hunt-launchpad,
.modal-panel .targeting-config-card,
.modal-panel .target-source-panel,
.modal-panel .target-profile-card,
.modal-panel .target-set-card,
.modal-panel .target-watch-group,
.modal-panel .hunt-preset-browser,
.modal-panel .hunt-preset-detail,
.modal-panel .hunt-preset-detail-card,
.modal-panel .account-registry-card,
.modal-panel .module-card,
.modal-panel .sub-card,
.modal-panel .rune-maker-sidebar-card {
  border-color: rgba(169, 141, 99, 0.12);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 34%),
    rgba(13, 10, 7, 0.62);
  box-shadow: none;
}

.modal-panel .summary-cell,
.modal-panel .route-library-meta,
.modal-panel .route-library-quick-meta,
.modal-panel .route-type-help,
.modal-panel .route-selection-summary,
.modal-panel .route-hunt-inline-note,
.modal-panel .route-hunt-search-bar,
.modal-panel .route-avoid-category,
.modal-panel .route-avoid-metric,
.modal-panel .route-avoid-toggle,
.modal-panel .module-rule-summary,
.modal-panel .module-rule-section,
.modal-panel .module-rule-pill {
  border-color: rgba(169, 141, 99, 0.12);
  box-shadow: none;
}

.route-modal-head {
  gap: 3px;
}

.route-modal-head-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(220px, 0.9fr);
  gap: 4px;
}

.route-modal-head-block,
.route-head-meta-row,
.route-section-head,
.route-pane-head,
.route-card-head,
.route-editor-panel,
.route-editor-shared-panel,
.route-hunt-launchpad,
.target-profile-row,
.module-rule-card {
  gap: 3px;
}

.route-main-layout {
  grid-template-columns: minmax(290px, 0.92fr) minmax(250px, 0.78fr) minmax(270px, 0.86fr);
}

.route-side-scroll,
.modal-scroll-stack {
  padding-right: 0;
}

.route-stack-card-head {
  grid-template-columns: minmax(0, 1fr);
}

.route-panel-action-grid-waypoints {
  grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(72px, 0.9fr));
}

.route-danger-bar {
  padding-top: 1px;
}

.route-danger-meta,
.route-danger-action-bar,
.route-tune-grid,
.route-checks,
.route-avoid-category-grid,
.route-avoid-metric-grid,
.route-hunt-runtime-grid,
.route-hunt-toggles,
.route-hunt-summary-bar,
.hunt-preset-summary-grid {
  gap: 3px;
}

.route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  --route-waypoint-grid-gap: 3px;
  --route-waypoint-tile-min-size: 0px;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: minmax(42px, auto);
  gap: 3px;
  padding: 3px;
  overflow-x: hidden;
  overflow-y: auto;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row,
#modal-autowalk .waypoint-list-grid .waypoint-row {
  height: auto;
  min-height: 0;
  display: block;
  contain-intrinsic-size: 46px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row:hover:not(:disabled),
#modal-autowalk .waypoint-list-grid .waypoint-row:hover:not(:disabled) {
  transform: none;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main,
#modal-autowalk .waypoint-list-grid .waypoint-row-main {
  height: auto;
  min-height: 42px;
  padding: 5px 30px 5px 7px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "index title flags"
    "index position flags"
    "index detail flags";
  align-items: center;
  gap: 1px 6px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-index,
#modal-autowalk .waypoint-list-grid .waypoint-row-index {
  grid-area: index;
  align-self: start;
  min-width: 28px;
  margin-top: 1px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main>strong,
#modal-autowalk .waypoint-list-grid .waypoint-row-main>strong {
  grid-area: title;
  -webkit-line-clamp: 1;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-position,
#modal-autowalk .waypoint-list-grid .waypoint-chip-position {
  grid-area: position;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-detail,
#modal-autowalk .waypoint-list-grid .waypoint-chip-detail {
  grid-area: detail;
  white-space: nowrap;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-flags,
#modal-autowalk .waypoint-list-grid .waypoint-chip-flags {
  grid-area: flags;
  align-self: start;
  justify-content: flex-end;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-actions,
#modal-autowalk .waypoint-list-grid .waypoint-row-actions {
  position: absolute;
  top: 50%;
  right: 5px;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
  pointer-events: auto;
}

.route-main-column .route-stack-waypoint-grid .waypoint-mark-btn,
#modal-autowalk .waypoint-list-grid .waypoint-mark-btn {
  position: static;
}

.waypoint-preview-live,
.waypoint-preview.waypoint-square-grid {
  --route-waypoint-grid-gap: 3px;
  --route-waypoint-tile-min-size: 58px;
  grid-template-columns: repeat(auto-fit, minmax(var(--route-waypoint-tile-min-size), 1fr));
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.route-hunt-head-stats {
  gap: 2px;
  flex-wrap: wrap;
}

.route-hunt-head-badge {
  min-height: 18px;
  padding: 0 5px;
  border: 0;
  background: rgba(255, 255, 255, 0.025);
}

.route-hunt-head-badge span {
  font-size: 8px;
}

.route-hunt-head-badge strong {
  font-size: 11px;
}

.route-hunt-search-bar,
.route-hunt-inline-note {
  min-height: 20px;
  padding: 2px 5px;
}

.route-hunt-grid-3col {
  grid-template-columns: minmax(230px, 0.8fr) minmax(260px, 1fr) minmax(230px, 0.9fr);
}

.route-hunt-grid-3col .route-hunt-config-panel,
.route-hunt-grid-3col .route-hunt-registry,
.route-hunt-grid-3col .target-profile-list,
.route-hunt-grid-3col .monster-source-list,
.route-hunt-grid-3col .player-archive,
.route-hunt-grid-3col .npc-archive,
.route-hunt-grid-3col .targeting-distance-rule-list {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.route-hunt-workspace .target-profile-row,
.route-hunt-workspace .module-rule-card,
.module-rule-card,
.target-profile-row,
.hunt-preset-row,
.account-registry-card {
  padding: 4px;
}

.hunt-preset-layout {
  grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
}

.runtime-metrics {
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  gap: 3px;
}

.runtime-metric {
  padding: 4px;
}

@media (max-width: 1180px) {

  .route-main-layout,
  .route-hunt-grid-3col,
  .hunt-preset-layout,
  .modal-module-card:has(> #module-rule-list:not([hidden])):has(> #module-extra-fields:not([hidden])),
  .modal-module-card[data-module-key="healer"],
  .healer-shell,
  .healer-family-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .route-main-column {
    grid-template-rows: minmax(220px, 1fr) auto;
  }
}

@media (max-width: 1040px) {
  .modal-layer {
    padding: 3px;
  }

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  .modal-panel-module,
  .modal-panel-console,
  .modal-panel-presets,
  .modal-panel-account-registry,
  #modal-targeting,
  #modal-autowalk {
    width: calc(100vw - 6px);
    max-width: calc(100vw - 6px);
    max-height: calc(100dvh - 6px);
  }
}

/* Deep modal condensation pass: full-height workspaces, minimal separators, vertical scroll only. */
.modal-panel,
.modal-panel * {
  min-width: 0;
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  width: calc(100vw - 8px);
  max-width: calc(100vw - 8px);
}

.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  height: calc(100dvh - 8px);
  max-height: calc(100dvh - 8px);
}

.modal-panel {
  padding: 3px;
  gap: 3px;
  border-color: rgba(201, 169, 112, 0.22);
  background: linear-gradient(180deg, #17120d, #0d0a07);
}

.modal-head,
.modal-actions {
  min-height: 23px;
  padding: 0;
  border: 0;
}

.modal-head {
  gap: 5px;
}

.modal-actions {
  justify-content: flex-end;
}

.modal-body {
  gap: 3px;
}

.modal-panel :is(.route-stack-card,
  .route-editor-card,
  .route-drive-card,
  .route-avoid-fields-card,
  .route-tile-rule-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .route-hunt-registry,
  .route-hunt-config-panel,
  .route-hunt-profile-panel,
  .route-hunt-combat-panel,
  .route-hunt-registry-panel,
  .route-hunt-presence-panel,
  .modal-module-card,
  .module-rule-card,
  .module-rule-section,
  .module-extra-fields,
  .healer-setup-panel,
  .healer-family-panel,
  .looting-overview,
  .looting-card,
  .autoeat-overview,
  .autoeat-source-bank,
  .autoeat-column,
  .autoeat-controls,
  .rune-maker-sidebar-card,
  .rune-maker-main,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .account-registry-card,
  .runtime-metric,
  .summary-cell,
  .route-danger-meta-item,
  .route-library-quick-meta) {
  border-color: rgba(201, 169, 112, 0.11);
  box-shadow: none;
}

.modal-panel :is(.route-stack-card,
  .route-editor-card,
  .route-drive-card,
  .route-avoid-fields-card,
  .route-tile-rule-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .modal-module-card,
  .module-rule-card,
  .healer-setup-panel,
  .healer-family-panel,
  .looting-card,
  .autoeat-source-bank,
  .autoeat-column,
  .autoeat-controls,
  .rune-maker-sidebar-card,
  .rune-maker-main,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .account-registry-card) {
  padding: 4px;
  gap: 4px;
  background: rgba(255, 255, 255, 0.018);
}

.modal-panel :is(.module-rule-summary,
  .route-editor-shared-panel,
  .route-selection-summary,
  .route-hunt-inline-note,
  .route-hunt-search-bar,
  .route-file-note,
  .route-danger-meta-item,
  .runtime-metric,
  .summary-cell,
  .hunt-preset-count-cell,
  .route-library-quick-meta) {
  border: 0;
  background: rgba(255, 255, 255, 0.018);
  box-shadow: none;
}

.modal-panel :is(.module-rule-list,
  .modal-scroll-stack,
  .route-side-scroll,
  .route-editor-panel,
  .module-extra-fields,
  .module-extra-fields.module-extra-fields-healer,
  .module-extra-fields.module-extra-fields-looting,
  .module-extra-fields.module-extra-fields-alarms,
  .targeting-distance-rule-list,
  .monster-target-list,
  .monster-source-list,
  .player-archive,
  .npc-archive,
  .target-profile-list,
  .follow-train-source-list,
  .follow-train-chain-list,
  .follow-train-doctrine-list,
  .waypoint-list,
  .waypoint-preview,
  .waypoint-preview-live,
  .waypoint-list-grid,
  .route-stack-waypoint-grid,
  .healer-setup-panel,
  .healer-family-grid,
  .healer-family-rule-list,
  .hunt-preset-list,
  .hunt-preset-detail-panel,
  .log-output) {
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.route-main-layout {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.76fr) minmax(260px, 0.76fr);
  gap: 5px;
}

.route-main-column,
.route-mid-column,
.route-side-column,
.route-side-scroll {
  min-height: 0;
}

.route-stack-card-main {
  gap: 4px;
}

.route-main-column .route-stack-waypoint-grid,
.waypoint-list-grid,
.waypoint-preview-live {
  grid-template-columns: repeat(auto-fill, minmax(78px, 1fr));
  grid-auto-flow: row;
  overflow-x: hidden;
}

.route-main-column .route-stack-waypoint-grid {
  --route-waypoint-tile-min-size: 78px;
  padding: 4px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main {
  padding: 4px 4px 18px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main>strong {
  -webkit-line-clamp: 2;
}

.route-hunt-grid-3col {
  grid-template-columns: minmax(250px, 0.78fr) minmax(300px, 1fr) minmax(260px, 0.82fr);
  gap: 5px;
}

.route-hunt-grid-3col .route-hunt-registry {
  gap: 5px;
}

.route-hunt-summary-bar,
.route-hunt-grid-3col .route-hunt-runtime-grid,
.route-hunt-grid-3col .route-hunt-toggles,
.route-tune-grid,
.route-checks,
.route-danger-meta {
  gap: 4px;
}

.route-hunt-modal-summary,
.route-hunt-workspace,
.route-hunt-workspace-modal {
  gap: 3px;
}

.modal-module-card:has(> #module-rule-list:not([hidden])):has(> #module-extra-fields:not([hidden])) {
  grid-template-columns: minmax(240px, 0.72fr) minmax(300px, 1.28fr);
  gap: 4px;
}

.modal-module-card[data-module-key="healer"],
.healer-shell {
  grid-template-columns: minmax(220px, 0.52fr) minmax(0, 1.48fr);
  gap: 4px;
}

.module-rule-sections,
.module-rule-grid,
.healer-setup-grid,
.autoeat-source-grid {
  grid-template-columns: repeat(auto-fit, minmax(126px, 1fr));
}

.healer-family-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.looting-overview,
.looting-layout,
.autoeat-overview,
.autoeat-columns,
.autoeat-controls,
.hunt-preset-layout {
  gap: 5px;
}

.looting-overview,
.autoeat-overview {
  grid-template-columns: minmax(0, 0.75fr) minmax(260px, 1fr);
  padding: 5px;
}

.looting-layout {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.82fr);
}

.autoeat-columns,
.autoeat-controls {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.hunt-preset-layout {
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
}

.account-registry-card {
  border-radius: 4px;
}

.runtime-metrics {
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: 4px;
}

@media (max-width: 1180px) {

  .route-main-layout,
  .route-hunt-grid-3col,
  .modal-module-card:has(> #module-rule-list:not([hidden])):has(> #module-extra-fields:not([hidden])),
  .modal-module-card[data-module-key="healer"],
  .healer-shell,
  .looting-overview,
  .looting-layout,
  .autoeat-overview,
  .hunt-preset-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .route-hunt-grid-3col .route-hunt-config-panel,
  .route-hunt-grid-3col .route-hunt-profile-panel,
  .route-hunt-grid-3col .route-hunt-registry {
    grid-column: 1;
    grid-row: auto;
  }
}

/* Final modal density normalization for the active cascade. */
.modal-layer {
  padding: 3px;
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  padding: 3px;
  gap: 3px;
}

.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  width: calc(100vw - 6px);
  max-width: calc(100vw - 6px);
  height: calc(100dvh - 6px);
  max-height: calc(100dvh - 6px);
}

.modal-head {
  gap: 4px;
}

.modal-actions {
  gap: 3px;
}

@media (max-width: 1040px) {

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  .modal-panel-module,
  .modal-panel-console,
  .modal-panel-presets,
  .modal-panel-account-registry,
  #modal-targeting,
  #modal-autowalk {
    width: calc(100vw - 6px);
    max-width: calc(100vw - 6px);
    height: calc(100dvh - 6px);
    max-height: calc(100dvh - 6px);
  }

  .modal-panel-route-picker {
    height: auto;
  }
}

/* Modal UX polish base layer: clearer chrome, calmer state color, visible status text. */
.modal-layer {
  padding: 12px;
}

.modal-backdrop {
  background:
    radial-gradient(circle at 50% 0%, rgba(247, 213, 138, 0.09), transparent 34%),
    rgba(0, 0, 0, 0.76);
  backdrop-filter: blur(3px);
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  --modal-shell-gap: 7px;
  --modal-inner-gap: 6px;
  --modal-radius: 8px;
  --modal-card-radius: 7px;
  --modal-line: rgba(201, 169, 112, 0.22);
  --modal-line-strong: rgba(247, 213, 138, 0.38);
  --modal-fill: rgba(18, 14, 10, 0.92);
  --modal-card-fill: rgba(18, 14, 10, 0.68);
  --modal-note-fill: rgba(255, 255, 255, 0.026);
  width: calc(100vw - 16px);
  max-width: calc(100vw - 16px);
  height: calc(100dvh - 16px);
  max-height: calc(100dvh - 16px);
  padding: var(--modal-shell-gap);
  gap: var(--modal-shell-gap);
  border-color: var(--modal-line);
  border-radius: var(--modal-radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.036), transparent 18%),
    radial-gradient(circle at 0% 0%, rgba(134, 199, 210, 0.055), transparent 30%),
    radial-gradient(circle at 100% 100%, rgba(143, 190, 100, 0.045), transparent 28%),
    linear-gradient(180deg, #19140f, #0f0b08);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.055),
    inset 0 0 0 1px rgba(255, 255, 255, 0.018),
    0 24px 64px rgba(0, 0, 0, 0.58);
}

.modal-panel-route-picker {
  width: min(540px, calc(100vw - 16px));
  height: auto;
  max-height: min(620px, calc(100dvh - 16px));
}

.modal-head,
.modal-actions {
  min-width: 0;
  min-height: 36px;
  padding: 5px 6px;
  gap: 8px;
  border: 1px solid rgba(201, 169, 112, 0.12);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 55%),
    rgba(10, 8, 6, 0.38);
}

.modal-head {
  align-items: center;
}

.modal-actions {
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
}

.modal-head-copy {
  gap: 2px;
}

.modal-head-tools,
.modal-head-tools .inline-actions,
.modal-head-tools>div {
  gap: 6px;
}

.modal-head .section-title,
.modal-head .module-title {
  color: #fbf5e7;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.12;
  text-transform: none;
}

.modal-head .section-meta:not([hidden]) {
  display: block !important;
  color: rgba(216, 204, 180, 0.82);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}

.modal-head-copy #shared-module-head-group:not([hidden]),
.modal-head-copy #rune-module-head-group:not([hidden]) {
  display: grid !important;
  gap: 2px;
  margin-top: 2px;
}

.modal-head-copy :is(.module-state-line, .module-current-line, .module-note) {
  max-width: min(72ch, 64vw);
  letter-spacing: 0;
  text-transform: none;
}

.modal-head-copy .module-state-line {
  color: rgba(247, 213, 138, 0.9);
  font-size: 10px;
  font-weight: 700;
}

.modal-head-copy .module-current-line,
.modal-head-copy .module-note:not([hidden]) {
  display: block;
  color: rgba(216, 204, 180, 0.82);
  font-size: 10px;
  font-weight: 550;
  line-height: 1.24;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modal-body {
  gap: var(--modal-inner-gap);
}

.modal-panel .route-modal-head {
  gap: var(--modal-inner-gap);
}

.modal-panel .route-modal-head-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.86fr);
  gap: var(--modal-inner-gap);
}

.modal-panel .route-modal-head-block {
  gap: 4px;
}

.modal-panel .route-modal-head .route-head-meta-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px;
  justify-content: stretch;
}

.modal-panel .route-modal-head .route-library-meta:not([hidden]),
.modal-panel .route-modal-head .route-file-note span:not([hidden]),
.modal-panel .route-library-quick-meta:not([hidden]),
.modal-panel .hunt-preset-row-meta:not([hidden]),
.modal-panel .hunt-preset-detail-copy:not([hidden]),
.modal-panel .hunt-preset-detail-note:not([hidden]),
.modal-panel .hunt-preset-detail-card .section-meta:not([hidden]),
.modal-panel .rune-maker-template span:not([hidden]) {
  display: block !important;
}

.modal-panel .route-library-meta,
.modal-panel .route-library-quick-meta,
.modal-panel .route-file-note,
.modal-panel .route-selection-summary,
.modal-panel .route-hunt-inline-note,
.modal-panel .route-hunt-search-bar,
.modal-panel .module-rule-summary,
.modal-panel .module-rule-section,
.modal-panel .module-rule-pill,
.modal-panel .summary-cell,
.modal-panel .runtime-metric {
  border-color: rgba(201, 169, 112, 0.14);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 58%),
    var(--modal-note-fill);
  box-shadow: none;
}

.modal-panel :is(.route-stack-card,
  .route-drive-card,
  .route-editor-card,
  .route-tile-rule-card,
  .route-avoid-fields-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .targeting-config-card,
  .target-source-panel,
  .target-profile-card,
  .target-set-card,
  .target-watch-group,
  .route-hunt-registry,
  .route-hunt-registry-panel,
  .route-hunt-presence-panel,
  .modal-module-card,
  .module-rule-card,
  .healer-setup-panel,
  .healer-family-panel,
  .looting-overview,
  .looting-card,
  .autoeat-overview,
  .autoeat-source-bank,
  .autoeat-column,
  .autoeat-controls,
  .rune-maker-sidebar-card,
  .rune-maker-main,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .account-registry-card) {
  border-color: rgba(201, 169, 112, 0.14);
  border-radius: var(--modal-card-radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.024), transparent 42%),
    var(--modal-card-fill);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.025),
    inset 0 -1px 0 rgba(0, 0, 0, 0.24);
}

.modal-panel :is(.route-stack-card,
  .route-drive-card,
  .route-editor-card,
  .route-tile-rule-card,
  .route-avoid-fields-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .targeting-config-card,
  .target-source-panel,
  .target-profile-card,
  .target-set-card,
  .target-watch-group,
  .route-hunt-registry-panel,
  .route-hunt-presence-panel,
  .modal-module-card,
  .module-rule-card,
  .rune-maker-sidebar-card,
  .rune-maker-main,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .account-registry-card) {
  padding: 6px;
  gap: var(--modal-inner-gap);
}

.modal-panel :is(.btn, input:not([type="checkbox"]), textarea, select) {
  min-height: 28px;
  border-radius: 5px;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select) {
  padding: 5px 7px;
  border-color: rgba(201, 169, 112, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.024), transparent 48%),
    rgba(9, 7, 5, 0.66);
  color: var(--text);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.025),
    inset 0 -1px 0 rgba(0, 0, 0, 0.32);
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select):focus {
  border-color: rgba(247, 213, 138, 0.56);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    var(--focus-ring);
}

.modal-panel textarea {
  min-height: 64px;
  line-height: 1.32;
}

.modal-panel label,
.modal-panel .module-rule-control,
.modal-panel .route-picker-field,
.modal-panel .route-head-field,
.modal-panel .hunt-preset-search-field {
  color: rgba(216, 204, 180, 0.82);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.18;
  text-transform: none;
}

.modal-panel .btn {
  min-height: 28px;
  padding: 5px 10px;
  border-color: rgba(201, 169, 112, 0.26);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 48%),
    rgba(28, 22, 15, 0.92);
  color: rgba(239, 228, 207, 0.92);
  box-shadow: none;
}

.modal-panel .btn:hover:not(:disabled) {
  border-color: rgba(247, 213, 138, 0.46);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 48%),
    rgba(35, 27, 18, 0.96);
  transform: none;
}

.modal-panel .btn.primary,
.modal-panel .modal-save-button {
  border-color: rgba(247, 213, 138, 0.48);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 44%),
    linear-gradient(180deg, rgba(115, 83, 35, 0.94), rgba(57, 39, 17, 0.96));
  color: #fff3d2;
}

.modal-panel .btn.danger {
  border-color: rgba(196, 106, 91, 0.44);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.034), transparent 48%),
    rgba(58, 26, 20, 0.82);
  color: #f3c3b8;
}

.modal-panel .modal-close-button {
  border-color: rgba(201, 169, 112, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.034), transparent 48%),
    rgba(20, 15, 11, 0.94);
  color: rgba(239, 228, 207, 0.86);
}

.modal-panel .btn.compact,
.modal-panel .module-rule-actions .btn {
  min-height: 25px;
  padding: 4px 8px;
  font-size: 9px;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-toggle) {
  min-height: 30px;
  padding: 5px 7px;
  gap: 8px;
  border-color: rgba(201, 169, 112, 0.14);
  border-radius: 6px;
  background: rgba(10, 8, 6, 0.34);
  color: rgba(239, 228, 207, 0.8);
}

.modal-panel input[type="checkbox"] {
  border-color: rgba(201, 169, 112, 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 50%),
    rgba(20, 16, 12, 0.98);
}

.modal-panel input[type="checkbox"]:checked {
  border-color: rgba(139, 190, 172, 0.72);
  background:
    linear-gradient(180deg, rgba(139, 190, 172, 0.36), rgba(139, 190, 172, 0.08) 52%),
    linear-gradient(180deg, #375b50, #182d27);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 0 1px rgba(139, 190, 172, 0.12);
}

.modal-panel input[type="checkbox"]:checked::before {
  background:
    linear-gradient(180deg, #fff7df, #d7e7cc);
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle):has(input[type="checkbox"]:checked) {
  border-color: rgba(139, 190, 172, 0.34);
  background:
    linear-gradient(90deg, rgba(139, 190, 172, 0.13), rgba(139, 190, 172, 0) 72%),
    rgba(13, 22, 19, 0.5);
}

.modal-module-card:has(> #module-rule-list:not([hidden])):has(> #module-extra-fields:not([hidden])) {
  grid-template-columns: minmax(280px, 0.78fr) minmax(360px, 1.22fr);
  gap: var(--modal-inner-gap);
}

.modal-module-card[data-module-key="healer"],
.healer-shell {
  grid-template-columns: minmax(270px, 0.52fr) minmax(0, 1.48fr);
  gap: var(--modal-inner-gap);
}

.module-rule-head {
  align-items: center;
  gap: 6px;
}

.module-rule-title-row {
  gap: 5px;
}

.module-rule-index {
  font-size: 9px;
  letter-spacing: 0;
  text-transform: none;
}

.target-profile-priority,
.target-profile-badge,
.target-profile-badge.active {
  min-height: 18px;
  padding: 1px 6px;
  border: 1px solid rgba(201, 169, 112, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.026);
}

.target-profile-badge.active {
  border-color: rgba(139, 190, 172, 0.38);
  color: #caeadf;
}

.target-profile-row.off .target-profile-badge {
  border-color: rgba(196, 106, 91, 0.28);
  color: #e0b3aa;
}

.module-rule-name {
  font-size: 13px;
}

.module-rule-action-line {
  line-height: 1.28;
}

.module-rule-sections,
.module-rule-grid,
.healer-setup-grid,
.autoeat-source-grid {
  gap: var(--modal-inner-gap);
}

.module-rule-section-title {
  display: block;
  color: rgba(247, 213, 138, 0.84);
  font-size: 9px;
  letter-spacing: 0;
  text-transform: none;
}

.route-main-layout {
  grid-template-columns: minmax(360px, 1.14fr) minmax(275px, 0.86fr) minmax(275px, 0.86fr);
  gap: var(--modal-inner-gap);
}

.route-side-scroll,
.modal-scroll-stack,
.module-rule-list,
.module-extra-fields,
.monster-source-list,
.player-archive,
.npc-archive,
.target-profile-list,
.targeting-distance-rule-list,
.hunt-preset-list,
.hunt-preset-detail-panel,
.log-output {
  scrollbar-gutter: stable;
}

.route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  --route-waypoint-grid-gap: 4px;
  --route-waypoint-tile-min-size: 0px;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: minmax(48px, auto);
  gap: 4px;
  padding: 4px;
  overflow-x: hidden;
  overflow-y: auto;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row,
#modal-autowalk .waypoint-list-grid .waypoint-row {
  min-height: 0;
  border-color: rgba(201, 169, 112, 0.14);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 45%),
    rgba(10, 8, 6, 0.42);
  contain-intrinsic-size: 52px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main,
#modal-autowalk .waypoint-list-grid .waypoint-row-main {
  min-height: 48px;
  padding: 6px 34px 6px 8px;
  display: grid;
  grid-template-columns: minmax(58px, auto) minmax(0, 1fr) minmax(92px, auto);
  grid-template-areas:
    "top title position"
    "top detail detail";
  align-items: center;
  gap: 2px 8px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-top,
#modal-autowalk .waypoint-list-grid .waypoint-chip-top {
  grid-area: top;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main>strong,
#modal-autowalk .waypoint-list-grid .waypoint-row-main>strong {
  grid-area: title;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-position,
#modal-autowalk .waypoint-list-grid .waypoint-chip-position {
  grid-area: position;
  justify-self: end;
  margin-top: 0;
  text-align: right;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-detail,
#modal-autowalk .waypoint-list-grid .waypoint-chip-detail {
  grid-area: detail;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  white-space: normal;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-index,
#modal-autowalk .waypoint-list-grid .waypoint-row-index {
  min-width: 28px;
  margin-top: 0;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-flags,
#modal-autowalk .waypoint-list-grid .waypoint-chip-flags {
  justify-content: flex-start;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-actions,
#modal-autowalk .waypoint-list-grid .waypoint-row-actions {
  right: 6px;
}

.waypoint-preview-live,
.waypoint-preview.waypoint-square-grid {
  --route-waypoint-grid-gap: 4px;
  --route-waypoint-tile-min-size: 64px;
  gap: 4px;
}

.route-hunt-modal-head-compact {
  gap: 8px;
}

.route-hunt-head-stats {
  gap: 4px;
}

.route-hunt-head-badge {
  min-height: 24px;
  padding: 2px 7px;
  border: 1px solid rgba(201, 169, 112, 0.16);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.026);
}

.route-hunt-head-badge span {
  color: rgba(216, 204, 180, 0.72);
  font-size: 9px;
}

.route-hunt-head-badge strong {
  font-size: 12px;
}

.route-hunt-grid-3col {
  grid-template-columns: minmax(260px, 0.82fr) minmax(300px, 1fr) minmax(260px, 0.86fr);
  gap: var(--modal-inner-gap);
}

.hunt-preset-layout {
  grid-template-columns: minmax(300px, 0.76fr) minmax(0, 1.24fr);
  gap: var(--modal-inner-gap);
}

.hunt-preset-row {
  border-radius: 6px;
}

#modal-autowalk.modal-panel,
#modal-targeting.modal-panel,
.modal-panel {
  gap: 8px;
}

.runtime-metrics {
  gap: 5px;
}

.log-output {
  border-radius: 6px;
}

@media (max-width: 1180px) {

  .modal-panel .route-modal-head-grid,
  .route-main-layout,
  .route-hunt-grid-3col,
  .hunt-preset-layout,
  .modal-module-card:has(> #module-rule-list:not([hidden])):has(> #module-extra-fields:not([hidden])),
  .modal-module-card[data-module-key="healer"],
  .healer-shell,
  .looting-overview,
  .looting-layout,
  .autoeat-overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .modal-panel .route-modal-head-block-right {
    justify-self: stretch;
    width: 100%;
  }
}

@media (max-width: 720px) {
  .modal-layer {
    padding: 4px;
  }

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  .modal-panel-module,
  .modal-panel-console,
  .modal-panel-presets,
  .modal-panel-account-registry,
  #modal-targeting,
  #modal-autowalk {
    --modal-shell-gap: 5px;
    --modal-inner-gap: 5px;
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  .modal-panel-route-picker {
    width: calc(100vw - 8px);
    height: auto;
  }

  .modal-head,
  .modal-actions {
    min-height: 32px;
    padding: 4px 5px;
  }

  .modal-head-copy :is(.module-state-line, .module-current-line, .module-note) {
    max-width: 86vw;
  }
}

/* Modal toggle revamp: small switch, readable label row, no badge-sized checked state. */
.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  --toggle-width: 32px;
  --toggle-height: 18px;
  --toggle-pad: 2px;
  --toggle-surface-radius: 6px;
}

.modal-panel input[type="checkbox"] {
  border-color: rgba(169, 141, 99, 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.01) 48%),
    linear-gradient(180deg, rgba(37, 31, 24, 0.94), rgba(12, 9, 6, 0.98));
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.07),
    inset 0 -1px 1px rgba(0, 0, 0, 0.48),
    0 1px 0 rgba(0, 0, 0, 0.28);
}

.modal-panel input[type="checkbox"]::before {
  background:
    linear-gradient(180deg, #fbf1de, #cbb58d);
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.46),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.modal-panel input[type="checkbox"]:hover {
  border-color: rgba(247, 213, 138, 0.58);
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.08),
    inset 0 -1px 1px rgba(0, 0, 0, 0.48),
    0 0 0 1px rgba(247, 213, 138, 0.08);
}

.modal-panel input[type="checkbox"]:checked {
  border-color: rgba(166, 219, 118, 0.76);
  background:
    linear-gradient(180deg, rgba(208, 247, 156, 0.52), rgba(128, 182, 78, 0.08) 48%),
    linear-gradient(180deg, #547333, #273c1a);
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.12),
    inset 0 -1px 1px rgba(0, 0, 0, 0.34),
    0 0 0 1px rgba(143, 190, 100, 0.12);
}

.modal-panel input[type="checkbox"]:checked::before {
  background:
    linear-gradient(180deg, #fffff4, #d9efac);
  box-shadow:
    0 1px 4px rgba(12, 26, 8, 0.44),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.modal-panel input[type="checkbox"]:focus-visible {
  outline: none;
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.08),
    inset 0 -1px 1px rgba(0, 0, 0, 0.42),
    var(--focus-ring);
}

.modal-panel input[type="checkbox"]:disabled {
  opacity: 0.48;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle) {
  min-width: 0;
  min-height: 28px;
  padding: 4px 6px;
  display: grid;
  align-items: center;
  gap: 7px;
  border-color: rgba(169, 141, 99, 0.16);
  border-radius: var(--toggle-surface-radius);
  background: rgba(14, 11, 8, 0.34);
  box-shadow: none;
  color: rgba(239, 228, 207, 0.78);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.18;
  text-transform: none;
  transform: none;
}

.modal-panel :is(.checks label, .route-checks label, .module-rule-check) {
  grid-template-columns: var(--toggle-width) minmax(0, 1fr);
}

.modal-panel :is(.route-avoid-category, .equipment-replace-power, .equipment-replace-toggle) {
  grid-template-columns: var(--toggle-width) minmax(0, 1fr);
}

.modal-panel .route-avoid-toggle {
  grid-template-columns: minmax(0, 1fr) var(--toggle-width);
}

.modal-panel .route-avoid-toggle-control {
  width: var(--toggle-width);
  overflow: visible;
}

.modal-panel .route-avoid-toggle-control input[type="checkbox"] {
  justify-self: end;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle) :is(span, strong, small) {
  min-width: 0;
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  letter-spacing: 0;
  line-height: 1.18;
  text-transform: none;
  white-space: normal;
}

.modal-panel :is(.route-avoid-toggle-copy,
  .route-avoid-category-copy) {
  gap: 1px;
}

.modal-panel :is(.route-avoid-toggle-copy strong, .route-avoid-category-copy strong) {
  color: inherit;
  font-size: 10px;
  font-weight: 700;
}

.modal-panel :is(.route-avoid-toggle-copy small, .route-avoid-category-copy small) {
  color: rgba(184, 171, 147, 0.78);
  font-size: 8px;
  font-weight: 600;
}

.modal-panel .module-rule-check .field-note {
  grid-column: 2;
  margin-top: -1px;
  color: rgba(184, 171, 147, 0.78);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle):hover {
  border-color: rgba(201, 169, 112, 0.4);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text);
  box-shadow: none;
  transform: none;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle):has(input[type="checkbox"]:checked) {
  border-color: rgba(143, 190, 100, 0.32);
  background:
    linear-gradient(90deg, rgba(143, 190, 100, 0.12), rgba(143, 190, 100, 0) 72%),
    rgba(18, 24, 14, 0.48);
  color: var(--text);
  box-shadow: none;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle):has(input[type="checkbox"]:focus-visible) {
  border-color: rgba(247, 213, 138, 0.54);
  box-shadow: var(--focus-ring);
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle):has(input[type="checkbox"]:disabled) {
  cursor: not-allowed;
  opacity: 0.62;
}

.modal-panel .route-hunt-head-check {
  min-height: 24px;
  padding: 3px 5px;
}

.modal-panel :is(.route-avoid-toggle, .equipment-replace-power, .equipment-replace-toggle) {
  padding: 5px 6px;
}

.modal-layer {
  padding: 3px;
}

.modal-head {
  gap: 4px;
}

.modal-actions {
  gap: 3px;
}

.route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  grid-template-columns: minmax(0, 1fr);
  grid-auto-flow: row;
  grid-auto-rows: minmax(42px, auto);
  overflow-x: hidden;
  overflow-y: auto;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row,
#modal-autowalk .waypoint-list-grid .waypoint-row {
  height: auto;
  min-height: 42px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main,
#modal-autowalk .waypoint-list-grid .waypoint-row-main {
  min-height: 42px;
  padding: 4px 28px 4px 5px;
  display: grid;
  grid-template-columns: minmax(50px, auto) minmax(0, 1fr) minmax(96px, auto);
  grid-template-rows: auto auto;
  grid-template-areas:
    "top title position"
    "top detail detail";
  align-items: center;
  align-content: center;
  gap: 2px 6px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-top,
#modal-autowalk .waypoint-list-grid .waypoint-chip-top {
  grid-area: top;
  justify-content: flex-start;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main>strong,
#modal-autowalk .waypoint-list-grid .waypoint-row-main>strong {
  grid-area: title;
  -webkit-line-clamp: 1;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-position,
#modal-autowalk .waypoint-list-grid .waypoint-chip-position {
  grid-area: position;
  margin-top: 0;
  text-align: right;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-detail,
#modal-autowalk .waypoint-list-grid .waypoint-chip-detail {
  grid-area: detail;
  -webkit-line-clamp: 1;
}

/* Modal portrait scroll lock: keep only the route waypoint list vertical here.
   Do not reintroduce viewport-wide modal shell sizing or dashboard portrait clamps. */

.route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  --route-waypoint-grid-gap: 3px;
  --route-waypoint-tile-min-size: 0px;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: minmax(42px, auto);
  gap: 3px;
  padding: 3px;
  overflow-x: hidden;
  overflow-y: auto;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row,
#modal-autowalk .waypoint-list-grid .waypoint-row {
  height: auto;
  min-height: 0;
  display: block;
  contain-intrinsic-size: 46px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main,
#modal-autowalk .waypoint-list-grid .waypoint-row-main {
  height: auto;
  min-height: 42px;
  padding: 5px 30px 5px 7px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "index title flags"
    "index position flags"
    "index detail flags";
  align-items: center;
  gap: 1px 6px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main>strong,
#modal-autowalk .waypoint-list-grid .waypoint-row-main>strong {
  grid-area: title;
  -webkit-line-clamp: 1;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-index,
#modal-autowalk .waypoint-list-grid .waypoint-row-index {
  grid-area: index;
  align-self: start;
  min-width: 28px;
  margin-top: 1px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-position,
#modal-autowalk .waypoint-list-grid .waypoint-chip-position {
  grid-area: position;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-detail,
#modal-autowalk .waypoint-list-grid .waypoint-chip-detail {
  grid-area: detail;
  white-space: nowrap;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-flags,
#modal-autowalk .waypoint-list-grid .waypoint-chip-flags {
  grid-area: flags;
  align-self: start;
  justify-content: flex-end;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-actions,
#modal-autowalk .waypoint-list-grid .waypoint-row-actions {
  position: absolute;
  top: 50%;
  right: 5px;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
  pointer-events: auto;
}

.route-main-column .route-stack-waypoint-grid .waypoint-mark-btn,
#modal-autowalk .waypoint-list-grid .waypoint-mark-btn {
  position: static;
}

.waypoint-preview-live,
.waypoint-preview.waypoint-square-grid {
  --route-waypoint-grid-gap: 3px;
  --route-waypoint-tile-min-size: 58px;
  grid-template-columns: repeat(auto-fit, minmax(var(--route-waypoint-tile-min-size), 1fr));
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

@media (max-width: 1040px) {

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  .modal-panel-module,
  .modal-panel-console,
  .modal-panel-presets,
  .modal-panel-account-registry,
  #modal-targeting,
  #modal-autowalk {
    width: calc(100vw - 6px);
    max-width: calc(100vw - 6px);
    height: calc(100dvh - 6px);
    max-height: calc(100dvh - 6px);
  }

  .modal-panel-route-picker {
    height: auto;
  }
}

/* Active modal polish closure after all density overrides. */
.modal-layer {
  padding: 8px;
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  width: calc(100vw - 16px);
  max-width: calc(100vw - 16px);
  height: calc(100dvh - 16px);
  max-height: calc(100dvh - 16px);
  padding: 7px;
  gap: 7px;
  border-color: rgba(201, 169, 112, 0.22);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.036), transparent 18%),
    radial-gradient(circle at 0% 0%, rgba(134, 199, 210, 0.055), transparent 30%),
    radial-gradient(circle at 100% 100%, rgba(143, 190, 100, 0.045), transparent 28%),
    linear-gradient(180deg, #19140f, #0f0b08);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.055),
    inset 0 0 0 1px rgba(255, 255, 255, 0.018),
    0 24px 64px rgba(0, 0, 0, 0.58);
}

.modal-panel-route-picker {
  width: min(540px, calc(100vw - 16px));
  height: auto;
  max-height: min(620px, calc(100dvh - 16px));
}

.modal-head,
.modal-actions {
  min-height: 36px;
  padding: 5px 6px;
  gap: 8px;
  border: 1px solid rgba(201, 169, 112, 0.12);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 55%),
    rgba(10, 8, 6, 0.38);
}

.modal-body,
.modal-split-layout,
.modal-scroll-stack,
.route-main-layout,
.route-main-column,
.route-side-scroll,
.route-stack-card-main,
.route-hunt-workspace,
.route-hunt-modal-summary,
.route-hunt-grid-3col,
.route-hunt-registry,
.route-hunt-presence-grid,
.hunt-preset-layout,
.modal-module-card,
.rune-maker-layout {
  gap: 6px;
}

.modal-panel .modal-close-button {
  border-color: rgba(201, 169, 112, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.034), transparent 48%),
    rgba(20, 15, 11, 0.94);
  color: rgba(239, 228, 207, 0.86);
}

.modal-panel .modal-actions .modal-close-button {
  border-color: rgba(170, 118, 118, 0.72);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 45%),
    linear-gradient(180deg, #593938, #3f2727);
  color: #f3dbd7;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.06),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(170, 118, 118, 0.1);
}

.modal-panel .modal-actions .modal-close-button:hover:not(:disabled) {
  border-color: rgba(196, 147, 147, 0.82);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 45%),
    linear-gradient(180deg, #64403f, #472d2d);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    inset -1px -1px 0 rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(170, 118, 118, 0.14),
    0 8px 18px rgba(0, 0, 0, 0.14);
}

.modal-panel .modal-actions .modal-close-button:active:not(:disabled),
.modal-panel .modal-actions .modal-close-button[data-pressed="true"]:not(:disabled) {
  border-color: rgba(215, 171, 171, 0.92);
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.3),
    inset 0 0 0 999px rgba(0, 0, 0, 0.07),
    0 0 0 1px rgba(170, 118, 118, 0.16);
}

.modal-panel-module.module-modal-headless {
  grid-template-rows: minmax(0, 1fr) auto;
}

.modal-panel input[type="checkbox"]:checked {
  border-color: rgba(139, 190, 172, 0.72);
  background:
    linear-gradient(180deg, rgba(139, 190, 172, 0.36), rgba(139, 190, 172, 0.08) 52%),
    linear-gradient(180deg, #375b50, #182d27);
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle):has(input[type="checkbox"]:checked) {
  border-color: rgba(139, 190, 172, 0.34);
  background:
    linear-gradient(90deg, rgba(139, 190, 172, 0.13), rgba(139, 190, 172, 0) 72%),
    rgba(13, 22, 19, 0.5);
}

.route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  --route-waypoint-grid-gap: 4px;
  --route-waypoint-tile-min-size: 0px;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: minmax(48px, auto);
  gap: 4px;
  padding: 4px;
  overflow-x: hidden;
  overflow-y: auto;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row,
#modal-autowalk .waypoint-list-grid .waypoint-row {
  min-height: 0;
  border-color: rgba(201, 169, 112, 0.14);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 45%),
    rgba(10, 8, 6, 0.42);
  contain-intrinsic-size: 52px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main,
#modal-autowalk .waypoint-list-grid .waypoint-row-main {
  min-height: 48px;
  padding: 6px 34px 6px 8px;
  display: grid;
  grid-template-columns: minmax(58px, auto) minmax(0, 1fr) minmax(92px, auto);
  grid-template-areas:
    "top title position"
    "top detail detail";
  align-items: center;
  gap: 2px 8px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-top,
#modal-autowalk .waypoint-list-grid .waypoint-chip-top {
  grid-area: top;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

.route-main-column .route-stack-waypoint-grid .waypoint-row-main>strong,
#modal-autowalk .waypoint-list-grid .waypoint-row-main>strong {
  grid-area: title;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-position,
#modal-autowalk .waypoint-list-grid .waypoint-chip-position {
  grid-area: position;
  justify-self: end;
  margin-top: 0;
  text-align: right;
}

.route-main-column .route-stack-waypoint-grid .waypoint-chip-detail,
#modal-autowalk .waypoint-list-grid .waypoint-chip-detail {
  grid-area: detail;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  white-space: normal;
}

.waypoint-preview-live,
.waypoint-preview.waypoint-square-grid {
  --route-waypoint-grid-gap: 4px;
  --route-waypoint-columns: 10;
  --route-waypoint-tile-min-size: 64px;
  --route-waypoint-tile-size:
    max(var(--route-waypoint-tile-min-size),
      calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns)));
  grid-template-columns: repeat(var(--route-waypoint-columns), minmax(var(--route-waypoint-tile-min-size), 1fr));
  grid-auto-rows: var(--route-waypoint-tile-size);
  gap: 4px;
}

@media (max-width: 720px) {
  .modal-layer {
    padding: 4px;
  }

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  .modal-panel-module,
  .modal-panel-console,
  .modal-panel-presets,
  .modal-panel-account-registry,
  #modal-targeting,
  #modal-autowalk {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
    padding: 5px;
    gap: 5px;
  }

  .modal-panel-route-picker {
    width: calc(100vw - 8px);
    height: auto;
  }

  .modal-head,
  .modal-actions {
    min-height: 32px;
    padding: 4px 5px;
  }
}

/* Unified checkbox switches. Button tiles are intentionally not touched here. */
:root {
  --live-switch-track: #10151b;
  --live-switch-track-on: #20351f;
  --live-switch-border: rgba(104, 116, 129, 0.56);
  --live-switch-border-on: rgba(126, 201, 108, 0.72);
}

input[type="checkbox"] {
  width: var(--toggle-width);
  min-width: var(--toggle-width);
  height: var(--toggle-height);
  min-height: var(--toggle-height);
  padding: 0 var(--toggle-pad);
  border-color: rgba(206, 180, 116, 0.56);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 45%),
    linear-gradient(180deg, #35291d, #17110c);
}

input[type="checkbox"]::before {
  width: var(--toggle-thumb-size);
  min-width: var(--toggle-thumb-size);
  height: var(--toggle-thumb-size);
  flex: 0 0 var(--toggle-thumb-size);
  background:
    radial-gradient(circle at 32% 28%, #fff, #f4e7cc 58%, #c9aa70);
}

input[type="checkbox"]:checked {
  border-color: rgba(167, 214, 120, 0.82);
  background:
    linear-gradient(180deg, rgba(231, 255, 199, 0.26), transparent 48%),
    linear-gradient(180deg, #456f30, #223715);
}

input[type="checkbox"]:checked::before {
  background:
    radial-gradient(circle at 32% 28%, #fff, #f2ffd9 58%, #b9dd7a);
  transform: translateX(var(--toggle-thumb-shift));
}

/* Content-sized modal closure: small editors should not impersonate workspaces. */
#modal-module.module-modal-compact {
  --compact-module-shell-max: min(84dvh, calc(100dvh - 24px));
  --compact-module-body-max: calc(var(--compact-module-shell-max) - 43px);
  width: min(1120px, calc(100vw - 24px));
  max-width: min(1120px, calc(100vw - 24px));
  height: auto;
  max-height: var(--compact-module-shell-max);
  align-self: center;
  grid-template-rows: minmax(0, 1fr) auto;
}

#modal-module.module-modal-compact:not(.module-modal-headless) {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

#modal-module.module-modal-compact.module-modal-settings-only {
  width: min(820px, calc(100vw - 24px));
  max-width: min(820px, calc(100vw - 24px));
}

#modal-module.module-modal-compact[data-active-module-key="banking"],
#modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"] {
  width: min(1180px, calc(100vw - 24px));
  max-width: min(1180px, calc(100vw - 24px));
}

#modal-module.module-modal-compact .modal-body-module {
  min-height: 0;
  overflow: visible;
}

#modal-module.module-modal-compact .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  height: auto;
  max-height: var(--compact-module-body-max);
  padding: 0;
  display: block;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

#modal-module.module-modal-compact .module-rule-list,
#modal-module.module-modal-compact .module-extra-fields {
  max-height: var(--compact-module-body-max);
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module.module-modal-compact .module-rule-list {
  gap: 6px;
}

#modal-module.module-modal-compact .module-extra-fields {
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module.module-modal-compact.module-modal-settings-only .modal-module-card[data-module-panel="shared"] {
  display: grid;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 6px;
}

#modal-module[data-active-module-key="recoverLoot"] .module-extra-fields {
  display: block;
  grid-template-columns: none;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-inline-toolbar {
  min-height: 26px;
  justify-content: flex-end;
}

#modal-module.module-modal-compact .empty-state {
  min-height: 42px;
  padding: 8px;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-card {
  padding: 6px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 6px;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-sections {
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  gap: 6px;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-section {
  padding: 0;
  border: 0;
  background: transparent;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid {
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  gap: 6px;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

#modal-module.module-modal-compact .anti-idle-workspace,
#modal-module.module-modal-compact .reconnect-workspace {
  display: grid;
  gap: 6px;
}

#modal-module.module-modal-compact .anti-idle-status-band,
#modal-module.module-modal-compact .reconnect-status-band {
  padding: 6px;
}

#modal-module.module-modal-compact .anti-idle-metric-grid,
#modal-module.module-modal-compact .reconnect-metric-grid {
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 5px;
}

#modal-module.module-modal-compact .anti-idle-control-grid,
#modal-module.module-modal-compact .reconnect-control-grid {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 6px;
}

#modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"] .equipment-replace-slot-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.modal-panel-account-registry {
  width: min(960px, calc(100vw - 24px));
  max-width: min(960px, calc(100vw - 24px));
  height: auto;
  max-height: min(88dvh, calc(100dvh - 24px));
  align-self: center;
}

.modal-panel-account-registry .modal-body-accounts {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

@media (max-width: 820px) {

  #modal-module.module-modal-compact,
  #modal-module.module-modal-compact.module-modal-settings-only,
  #modal-module.module-modal-compact[data-active-module-key="banking"],
  #modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"],
  .modal-panel-account-registry {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-module.module-modal-compact {
    --compact-module-shell-max: calc(100dvh - 8px);
    --compact-module-body-max: calc(100dvh - 58px);
  }

  #modal-module.module-modal-compact .modal-body-module {
    overflow: hidden;
  }

  #modal-module.module-modal-compact .modal-module-card[data-module-panel="shared"] {
    height: 100%;
    max-height: none;
    overflow: hidden;
  }

  #modal-module.module-modal-compact .module-rule-list,
  #modal-module.module-modal-compact .module-extra-fields {
    max-height: none;
    height: 100%;
  }

  #modal-module.module-modal-compact.module-modal-rule-only .module-rule-card,
  #modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"] .equipment-replace-slot-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module.module-modal-compact.module-modal-rule-only .module-rule-actions {
    flex-wrap: wrap;
  }
}

/* Modal audit closure: preserve rounded shells, keep trainer dense, and avoid the black underlay. */
.modal-layer {
  padding: 12px;
}

.modal-backdrop {
  background: transparent;
  backdrop-filter: none;
}

.modal-panel:not(.module-modal-compact):not(.modal-panel-route-picker):not(.modal-panel-account-registry) {
  width: calc(100vw - 24px);
  max-width: calc(100vw - 24px);
  height: calc(100dvh - 24px);
  max-height: calc(100dvh - 24px);
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.055),
    inset 0 0 0 1px rgba(255, 255, 255, 0.018),
    0 18px 48px rgba(0, 0, 0, 0.46);
}

.modal-actions {
  border-color: rgba(201, 169, 112, 0.1);
  background: transparent;
  box-shadow: none;
}

.modal-panel.modal-panel-console,
.modal-panel.modal-panel-presets,
#modal-module.module-modal-workspace {
  width: min(1280px, calc(100vw - 24px));
  max-width: min(1280px, calc(100vw - 24px));
  height: min(88dvh, calc(100dvh - 24px));
  max-height: min(88dvh, calc(100dvh - 24px));
  align-self: center;
}

.modal-panel.modal-panel-console {
  width: min(1120px, calc(100vw - 24px));
  max-width: min(1120px, calc(100vw - 24px));
}

.modal-body-console {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
}

.modal-body-console .runtime-metrics {
  min-height: 0;
}

.modal-body-console .log-output {
  min-height: 0;
  max-height: none;
}

#modal-presets .hunt-preset-layout {
  height: 100%;
  min-height: 0;
}

#modal-presets .hunt-preset-browser,
#modal-presets .hunt-preset-detail {
  min-height: 0;
}

#modal-module.module-modal-workspace .modal-body-module,
#modal-module.module-modal-workspace .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  overflow: hidden;
}

#modal-module.module-modal-workspace .module-extra-fields {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

#modal-module[data-active-module-key="team"] {
  width: calc(100vw - 8px);
  max-width: calc(100vw - 8px);
  height: calc(100dvh - 8px);
  max-height: calc(100dvh - 8px);
}

#modal-module[data-active-module-key="team"] .modal-body-module,
#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"],
#modal-module[data-active-module-key="team"] .module-extra-fields,
#modal-module[data-active-module-key="team"] .team-hunt-shell,
#modal-module[data-active-module-key="team"] .follow-train-shell,
#modal-module[data-active-module-key="team"] .follow-train-layout {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"] {
  padding: 0;
}

#modal-module[data-active-module-key="team"] .team-hunt-shell,
#modal-module[data-active-module-key="team"] .follow-train-layout,
#modal-module[data-active-module-key="team"] .follow-train-workspace,
#modal-module[data-active-module-key="team"] .follow-train-footer,
#modal-module[data-active-module-key="team"] .follow-train-overview {
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: minmax(180px, 320px);
}

#modal-module[data-active-module-key="team"] .follow-train-column,
#modal-module[data-active-module-key="team"] .follow-train-source-card,
#modal-module[data-active-module-key="team"] .follow-train-metric-card {
  padding: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-layout {
  grid-template-columns: minmax(220px, 0.58fr) minmax(0, 1.54fr);
}

#modal-module[data-active-module-key="team"] .follow-train-chain-column {
  grid-template-rows: auto minmax(0, 1fr);
}

#modal-module[data-active-module-key="team"] .follow-train-source-list,
#modal-module[data-active-module-key="team"] .follow-train-chain-list {
  max-height: none;
}

#modal-module[data-active-module-key="team"] .follow-train-chain-list {
  gap: 4px;
}

#modal-module[data-active-module-key="team"] .follow-train-footer {
  grid-template-columns: repeat(4, minmax(130px, 1fr));
}

#modal-module.module-modal-workspace :is(.alarms-shell, .looting-shell, .autoeat-shell) {
  gap: 6px;
  padding-right: 0;
}

#modal-module.module-modal-workspace :is(.alarms-overview, .looting-overview, .autoeat-overview) {
  padding: 8px;
  gap: 6px;
}

#modal-module.module-modal-workspace :is(.alarms-grid, .looting-layout, .autoeat-columns, .autoeat-controls) {
  gap: 6px;
}

#modal-module.module-modal-workspace :is(.alarms-card, .alarms-live-band, .looting-card, .autoeat-source-bank, .autoeat-column, .autoeat-controls) {
  padding: 6px;
  gap: 6px;
}

#modal-module.module-modal-workspace :is(.looting-stat-card, .autoeat-stat-card) {
  min-height: 54px;
  padding: 6px;
}

#modal-module.module-modal-workspace :is(.looting-overview-title, .autoeat-overview-title, .alarms-overview-title) {
  font-size: 16px;
}

#modal-targeting .route-hunt-modal-head-compact,
#modal-targeting .route-hunt-head-stats,
#modal-autowalk .route-pack-actions {
  min-width: 0;
  flex-wrap: wrap;
}

#modal-targeting .route-hunt-head-stats {
  overflow: hidden;
}

#modal-targeting .route-hunt-head-badge {
  flex: 0 0 auto;
}

#targeting-context-line:not([hidden]) {
  max-width: min(64ch, 54vw);
  color: #d8efb7;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-autowalk .route-modal-head {
  min-height: 0;
}

#modal-autowalk .route-pack-toolbar {
  min-height: 0;
  align-items: center;
}

#modal-accounts .account-registry-card,
#modal-route-library-picker .modal-body-route-picker {
  gap: 6px;
}

#modal-module.module-modal-compact[data-active-module-key="trainer"] {
  --compact-module-shell-max: min(86dvh, calc(100dvh - 32px));
  --compact-module-body-max: calc(var(--compact-module-shell-max) - 42px);
  width: min(1280px, calc(100vw - 32px));
  max-width: min(1280px, calc(100vw - 32px));
  height: auto;
  max-height: var(--compact-module-shell-max);
  padding: 6px;
  gap: 6px;
  align-self: center;
}

#modal-module.module-modal-compact[data-active-module-key="trainer"] .modal-body-module,
#modal-module.module-modal-compact[data-active-module-key="trainer"] .modal-module-card[data-module-panel="shared"] {
  height: auto;
  min-height: 0;
  max-height: var(--compact-module-body-max);
  overflow: visible;
}

#modal-module.module-modal-compact[data-active-module-key="trainer"] .modal-module-card[data-module-panel="shared"],
#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trainer"] .modal-module-card[data-module-panel="shared"] {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module.module-modal-compact[data-active-module-key="trainer"] .module-extra-fields {
  display: block;
  max-height: var(--compact-module-body-max);
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

#modal-module[data-active-module-key="trainer"] .trainer-shell {
  gap: 5px;
  align-content: start;
}

#modal-module[data-active-module-key="trainer"] .trainer-shell>.trainer-overview {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 4px;
}

#modal-module[data-active-module-key="trainer"] .trainer-inherited-services {
  display: grid;
  gap: 4px;
}

#modal-module[data-active-module-key="trainer"] .trainer-inherited-services .trainer-overview {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 4px;
}

#modal-module[data-active-module-key="trainer"] :is(.trainer-metric-card, .follow-train-status-card) {
  min-height: 0;
  padding: 5px;
  gap: 1px;
  border-radius: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-metric-card span,
#modal-module[data-active-module-key="trainer"] .follow-train-status-card span,
#modal-module[data-active-module-key="trainer"] .follow-train-source-title {
  font-size: 8px;
  letter-spacing: 0.08em;
}

#modal-module[data-active-module-key="trainer"] .trainer-metric-card strong,
#modal-module[data-active-module-key="trainer"] .follow-train-status-card strong {
  font-size: 13px;
  line-height: 1.08;
}

#modal-module[data-active-module-key="trainer"] .trainer-metric-card small,
#modal-module[data-active-module-key="trainer"] .follow-train-status-card small {
  font-size: 9px;
  line-height: 1.18;
}

#modal-module[data-active-module-key="trainer"] .trainer-service-card .btn.compact {
  min-height: 20px;
  padding: 2px 6px;
  font-size: 8px;
}

#modal-module[data-active-module-key="trainer"] :is(.trainer-duo-presets, .trainer-settings, .trainer-reconnect, .follow-train-column, .follow-train-source-card) {
  padding: 5px;
  gap: 5px;
  border-radius: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-duo-list {
  gap: 4px;
}

#modal-module[data-active-module-key="trainer"] .empty-state {
  min-height: 34px;
  padding: 6px;
  font-size: 10px;
  line-height: 1.24;
}

#modal-module[data-active-module-key="trainer"] .trainer-duo-create {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-duo-create-button {
  min-width: 76px;
  padding-inline: 8px;
}

#modal-module[data-active-module-key="trainer"] .trainer-settings-grid {
  grid-template-columns: repeat(4, minmax(132px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-settings-grid .module-rule-control {
  gap: 2px;
}

#modal-module[data-active-module-key="trainer"] .trainer-settings-grid .module-rule-check {
  min-height: 30px;
  padding: 4px 6px;
}

#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-layout {
  grid-template-columns: minmax(360px, 0.94fr) minmax(270px, 0.72fr);
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .follow-train-source-stack {
  grid-template-rows: repeat(3, minmax(46px, auto));
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .follow-train-source-list {
  gap: 4px;
}

#modal-module[data-active-module-key="trainer"] .follow-train-footer {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .section-head {
  min-height: 0;
}

#modal-module[data-active-module-key="trainer"] .section-head strong {
  font-size: 10px;
  line-height: 1.15;
}

@media (max-width: 900px) {
  .modal-layer {
    padding: 4px;
  }

  .modal-panel:not(.module-modal-compact):not(.modal-panel-route-picker):not(.modal-panel-account-registry) {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  .modal-panel.modal-panel-console,
  .modal-panel.modal-panel-presets,
  #modal-module.module-modal-workspace {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-targeting .route-hunt-modal-head-compact,
  #modal-autowalk .route-pack-toolbar {
    align-items: stretch;
  }

  #modal-targeting .route-hunt-head-stats {
    order: 3;
    width: 100%;
  }

  #modal-module.module-modal-compact[data-active-module-key="trainer"] {
    --compact-module-shell-max: calc(100dvh - 8px);
    --compact-module-body-max: calc(100dvh - 58px);
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-module[data-active-module-key="trainer"] .trainer-settings-grid,
  #modal-module[data-active-module-key="trainer"] .trainer-duo-create,
  #modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-layout,
  #modal-module[data-active-module-key="trainer"] .follow-train-footer {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Final literals for renderer tests and the active condensed modal shell. */
.modal-panel .modal-actions .modal-close-button,
.modal-panel .modal-actions [data-close-modal] {
  border: 1px solid #d65345;
  background: #2e1516;
  color: #ffe8e3;
}

.modal-panel .modal-actions .modal-close-button:hover:not(:disabled),
.modal-panel .modal-actions [data-close-modal]:hover:not(:disabled) {
  border-color: #e8604f;
  background: #3d1e1e;
  box-shadow: none;
  transform: none;
}

.modal-panel .modal-actions .modal-save-button,
.modal-panel .modal-actions [data-save-modules] {
  border: 1px solid #72bf4f;
  background: #173018;
  color: #f4ffe8;
}

.modal-panel .modal-actions .modal-save-button:hover:not(:disabled),
.modal-panel .modal-actions [data-save-modules]:hover:not(:disabled) {
  border-color: #88d462;
  background: #1e3d1f;
  box-shadow: none;
  transform: none;
}

#modal-autowalk.modal-panel,
#modal-targeting.modal-panel,
.modal-panel {
  gap: 5px;
}

#modal-autowalk .modal-body,
#modal-targeting .modal-body,
.modal-body {
  gap: 5px;
}

/* Supreme modal audit closure: this must remain the last modal cascade. */
.modal-layer {
  padding: 8px;
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  width: calc(100vw - 16px);
  max-width: calc(100vw - 16px);
  height: calc(100dvh - 16px);
  max-height: calc(100dvh - 16px);
  padding: 8px;
  gap: 8px;
  border-color: #2c3540;
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 84px),
    #0b0f14;
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.54);
}

.modal-panel-route-picker {
  width: min(560px, calc(100vw - 16px));
  height: auto;
  max-height: calc(100dvh - 16px);
}

.modal-panel-route-launcher {
  width: min(600px, calc(100vw - 16px));
  max-width: min(600px, calc(100vw - 16px));
  height: auto;
  max-height: min(90dvh, calc(100dvh - 16px));
}

.modal-panel-account-registry {
  width: min(980px, calc(100vw - 16px));
  max-width: min(980px, calc(100vw - 16px));
  height: auto;
  max-height: min(90dvh, calc(100dvh - 16px));
}

.modal-panel-console,
.modal-panel-presets,
#modal-module.module-modal-workspace {
  width: min(1280px, calc(100vw - 16px));
  max-width: min(1280px, calc(100vw - 16px));
  height: min(90dvh, calc(100dvh - 16px));
  max-height: min(90dvh, calc(100dvh - 16px));
  align-self: center;
}

.modal-head,
.modal-actions {
  min-height: 38px;
  padding: 6px 8px;
  gap: 8px;
  border: 1px solid #222a33;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.018);
}

.modal-actions {
  justify-content: flex-end;
  padding-top: 6px;
}

.modal-body,
.modal-split-layout,
.modal-scroll-stack,
.route-main-layout,
.route-main-column,
.route-side-scroll,
.route-stack-card-main,
.route-hunt-workspace,
.route-hunt-grid-3col,
.route-hunt-registry,
.route-hunt-presence-grid,
.hunt-preset-layout,
.modal-module-card,
.rune-maker-layout {
  gap: 8px;
}

#modal-autowalk .modal-body,
#modal-targeting .modal-body,
.modal-body {
  gap: 8px;
}

/* Modal audit cascade seed: compact editors before later desktop polish. */
#modal-module.module-modal-compact {
  --module-compact-max: min(82dvh, calc(100dvh - 16px));
  --module-compact-body-max: calc(var(--module-compact-max) - 42px);
  width: min(860px, calc(100vw - 16px));
  max-width: min(860px, calc(100vw - 16px));
  height: auto;
  max-height: var(--module-compact-max);
  padding: 6px;
  gap: 6px;
  align-self: center;
  grid-template-rows: minmax(0, 1fr) auto;
}

#modal-module.module-modal-compact:not(.module-modal-headless) {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

#modal-module.module-modal-compact.module-modal-settings-only {
  width: min(780px, calc(100vw - 16px));
  max-width: min(780px, calc(100vw - 16px));
}

#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] {
  width: min(840px, calc(100vw - 16px));
  max-width: min(840px, calc(100vw - 16px));
}

#modal-module.module-modal-compact[data-active-module-key="banking"],
#modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"],
#modal-module.module-modal-compact[data-active-module-key="amuletAutoReplace"] {
  width: min(1080px, calc(100vw - 16px));
  max-width: min(1080px, calc(100vw - 16px));
}

#modal-module.module-modal-compact .modal-body-module,
#modal-module.module-modal-compact .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  overflow: hidden;
}

#modal-module.module-modal-compact .modal-module-card[data-module-panel="shared"] {
  height: auto;
  max-height: var(--module-compact-body-max);
  padding: 0;
  display: block;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module.module-modal-compact.module-modal-settings-only .modal-module-card[data-module-panel="shared"] {
  overflow: visible;
}

#modal-module.module-modal-compact .module-rule-list,
#modal-module.module-modal-compact .module-extra-fields {
  max-height: var(--module-compact-body-max);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(156px, 1fr));
  grid-auto-rows: min-content;
  align-content: start;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-extra-fields,
#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-extra-fields,
#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-extra-fields {
  grid-template-columns: repeat(3, minmax(140px, 1fr));
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control {
  min-height: 0;
  align-self: start;
  justify-self: stretch;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-rows: auto min-content;
  gap: 3px;
  align-content: start;
  justify-items: start;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check)>span {
  max-width: 100%;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.14;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) :is(input:not([type="checkbox"]), select) {
  width: min(100%, 176px);
  max-width: 176px;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) .modal-number-stepper {
  width: 104px;
  max-width: 104px;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(textarea) {
  grid-column: span 2;
  max-width: none;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control textarea {
  width: min(100%, 360px);
  max-width: 360px;
  min-height: 54px;
}

#modal-module.module-modal-compact.module-modal-rule-only {
  width: min(1040px, calc(100vw - 16px));
  max-width: min(1040px, calc(100vw - 16px));
  max-height: min(86dvh, calc(100dvh - 16px));
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-card {
  padding: 6px;
  gap: 6px;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-sections {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 6px;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-section {
  padding: 0;
  border: 0;
  background: transparent;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid {
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="healer"] {
  width: min(1180px, calc(100vw - 16px));
  max-width: min(1180px, calc(100vw - 16px));
  height: min(82dvh, calc(100dvh - 16px));
  max-height: min(82dvh, calc(100dvh - 16px));
  align-self: center;
}

#modal-module[data-active-module-key="healer"] .modal-body-module,
#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"],
#modal-module[data-active-module-key="team"] .modal-body-module,
#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  overflow: hidden;
}

#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
  height: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(380px, 1.35fr) minmax(240px, 0.65fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 6px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module[data-active-module-key="healer"] #module-rule-list,
#modal-module[data-active-module-key="healer"] #module-extra-fields {
  min-height: 0;
  max-height: none;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module[data-active-module-key="healer"] .healer-shell,
#modal-module[data-active-module-key="healer"] .healer-setup-panel,
#modal-module[data-active-module-key="healer"] .healer-family-panel {
  gap: 6px;
}

#modal-module[data-active-module-key="healer"] .healer-setup-panel,
#modal-module[data-active-module-key="healer"] .healer-family-panel {
  padding: 6px;
}

#modal-module[data-active-module-key="healer"] .healer-setup-head,
#modal-module[data-active-module-key="healer"] .healer-family-head {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

#modal-module[data-active-module-key="healer"] .healer-setup-stats,
#modal-module[data-active-module-key="healer"] .healer-family-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="healer"] .healer-overview-title {
  font-size: 14px;
  line-height: 1.12;
}

#modal-module[data-active-module-key="healer"] .healer-family-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

#modal-module[data-active-module-key="team"] {
  width: min(1240px, calc(100vw - 16px));
  max-width: min(1240px, calc(100vw - 16px));
  height: min(84dvh, calc(100dvh - 16px));
  max-height: min(84dvh, calc(100dvh - 16px));
  align-self: center;
}

#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"] {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module[data-active-module-key="team"] .team-hunt-shell,
#modal-module[data-active-module-key="team"] .follow-train-layout,
#modal-module[data-active-module-key="team"] .follow-train-workspace,
#modal-module[data-active-module-key="team"] .follow-train-footer,
#modal-module[data-active-module-key="team"] .follow-train-overview {
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: repeat(4, minmax(130px, 220px));
  justify-content: start;
  gap: 6px;
}

#modal-module[data-active-module-key="team"] .team-sio-panel {
  padding: 5px;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(6, minmax(92px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-layout {
  grid-template-columns: minmax(280px, 0.56fr) minmax(0, 1.5fr);
}

#modal-module[data-active-module-key="team"] .follow-train-overview {
  grid-template-columns: repeat(6, minmax(96px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-footer {
  grid-template-columns: repeat(5, minmax(118px, 1fr));
}

#modal-targeting,
#modal-autowalk {
  width: min(1440px, calc(100vw - 16px));
  max-width: min(1440px, calc(100vw - 16px));
  height: min(88dvh, calc(100dvh - 16px));
  max-height: min(88dvh, calc(100dvh - 16px));
  align-self: center;
}

@media (min-width: 1181px) {
  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(500px, 1.24fr) minmax(340px, 0.78fr) minmax(350px, 0.86fr);
    gap: 7px;
  }
}

#modal-targeting .route-hunt-config-panel {
  gap: 6px;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  align-content: start;
  overflow: hidden;
}

#modal-targeting .route-hunt-queue-field textarea {
  min-height: 56px;
  max-height: 76px;
}

#modal-targeting .target-queue-policy-card {
  gap: 6px;
  padding: 6px;
}

#modal-targeting .target-policy-field {
  grid-template-rows: auto auto;
  gap: 3px;
}

#modal-targeting .target-policy-copy {
  max-height: 2.4em;
  overflow: hidden;
}

#modal-targeting .route-hunt-runtime-grid {
  grid-template-columns: repeat(3, minmax(96px, 116px));
  gap: 5px 8px;
  justify-content: start;
}

#modal-targeting .route-hunt-wide-field input {
  width: 176px;
  max-width: 176px;
}

#modal-targeting .route-hunt-toggles {
  grid-template-columns: repeat(2, minmax(96px, 132px));
  justify-content: start;
}

#modal-targeting .route-hunt-combat-panel {
  min-height: 0;
  padding: 6px;
  grid-template-rows: auto auto minmax(40px, auto);
}

#modal-targeting .targeting-distance-rule-list {
  min-height: 40px;
  max-height: 180px;
}

#modal-autowalk .route-modal-head {
  min-height: 0;
  padding: 5px 8px;
}

#modal-autowalk .route-modal-head-grid {
  grid-template-columns: minmax(340px, 0.78fr) minmax(380px, 1fr);
  gap: 8px;
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(500px, 1.18fr) minmax(280px, 0.64fr) minmax(320px, 0.82fr);
}

.modal-panel-route-picker {
  width: min(480px, calc(100vw - 16px));
  max-width: min(480px, calc(100vw - 16px));
}

.modal-panel-account-registry {
  width: min(900px, calc(100vw - 16px));
  max-width: min(900px, calc(100vw - 16px));
}

@media (max-width: 1180px) {

  #modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"],
  #modal-module[data-active-module-key="team"] .follow-train-layout,
  #modal-autowalk .route-main-layout,
  #modal-autowalk .route-modal-head-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid,
  #modal-module[data-active-module-key="team"] .follow-train-overview,
  #modal-module[data-active-module-key="team"] .follow-train-footer {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  }
}

@media (max-width: 760px) {

  #modal-module.module-modal-compact,
  #modal-module.module-modal-compact.module-modal-settings-only,
  #modal-module[data-active-module-key="healer"],
  #modal-module[data-active-module-key="team"],
  #modal-targeting,
  #modal-autowalk,
  .modal-panel-account-registry {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-module.module-modal-compact {
    --module-compact-max: calc(100dvh - 8px);
    --module-compact-body-max: calc(100dvh - 58px);
  }

  #modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-extra-fields {
    grid-template-columns: minmax(0, 1fr);
    overflow-y: auto;
  }

  #modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(textarea) {
    grid-column: auto;
  }
}

/* Waypoint tone variables shared by the live preview and route builder lists. */
.waypoint-chip[data-tone],
.waypoint-row[data-tone] {
  --waypoint-rgb: 126, 246, 184;
  --chip-accent: rgba(var(--waypoint-rgb), 0.76);
  --chip-accent-strong: rgba(var(--waypoint-rgb), 0.98);
  --chip-badge: rgba(var(--waypoint-rgb), 0.2);
  --chip-glow: rgba(var(--waypoint-rgb), 0.24);
  --chip-surface: rgba(var(--waypoint-rgb), 0.14);
}

.waypoint-chip[data-tone="action"],
.waypoint-row[data-tone="action"] {
  --waypoint-rgb: 255, 220, 90;
}

.waypoint-chip[data-tone="node"],
.waypoint-row[data-tone="node"] {
  --waypoint-rgb: 80, 204, 255;
}

.waypoint-chip[data-tone="stand"],
.waypoint-row[data-tone="stand"] {
  --waypoint-rgb: 87, 136, 255;
}

.waypoint-chip[data-tone="depot"],
.waypoint-row[data-tone="depot"] {
  --waypoint-rgb: 255, 196, 0;
}

.waypoint-chip[data-tone="lure"],
.waypoint-row[data-tone="lure"] {
  --waypoint-rgb: 255, 95, 214;
}

.waypoint-chip[data-tone="helper"],
.waypoint-row[data-tone="helper"] {
  --waypoint-rgb: 181, 123, 255;
}

.waypoint-chip[data-tone="safe-zone"],
.waypoint-row[data-tone="safe-zone"] {
  --waypoint-rgb: 173, 255, 91;
}

.waypoint-chip[data-tone="avoid"],
.waypoint-row[data-tone="avoid"],
.waypoint-row[data-tone="tile-avoid"] {
  --waypoint-rgb: 255, 170, 67;
}

.waypoint-chip[data-tone="danger-zone"],
.waypoint-row[data-tone="danger-zone"],
.waypoint-chip[data-tone="no-go-zone"],
.waypoint-row[data-tone="no-go-zone"] {
  --waypoint-rgb: 255, 80, 96;
}

.waypoint-chip[data-tone="exit-zone"],
.waypoint-row[data-tone="exit-zone"] {
  --waypoint-rgb: 232, 232, 232;
}

.waypoint-chip[data-tone="stairs-up"],
.waypoint-row[data-tone="stairs-up"] {
  --waypoint-rgb: 123, 226, 255;
}

.waypoint-chip[data-tone="stairs-down"],
.waypoint-row[data-tone="stairs-down"] {
  --waypoint-rgb: 98, 174, 255;
}

.waypoint-chip[data-tone="use-item"],
.waypoint-row[data-tone="use-item"] {
  --waypoint-rgb: 88, 229, 214;
}

.waypoint-chip[data-tone="bank"],
.waypoint-row[data-tone="bank"] {
  --waypoint-rgb: 93, 214, 144;
}

.waypoint-chip[data-tone="shop"],
.waypoint-row[data-tone="shop"] {
  --waypoint-rgb: 255, 185, 94;
}

.waypoint-chip[data-tone="npc-action"],
.waypoint-row[data-tone="npc-action"] {
  --waypoint-rgb: 236, 118, 255;
}

.waypoint-chip[data-tone="daily-task"],
.waypoint-row[data-tone="daily-task"] {
  --waypoint-rgb: 255, 135, 170;
}

.waypoint-chip[data-tone="ladder"],
.waypoint-row[data-tone="ladder"] {
  --waypoint-rgb: 185, 141, 88;
}

.waypoint-chip[data-tone="exani-tera"],
.waypoint-row[data-tone="exani-tera"] {
  --waypoint-rgb: 97, 255, 238;
}

.waypoint-chip[data-tone="exani-hur"],
.waypoint-row[data-tone="exani-hur"] {
  --waypoint-rgb: 116, 231, 142;
}

.waypoint-chip[data-tone="rope"],
.waypoint-row[data-tone="rope"] {
  --waypoint-rgb: 214, 187, 117;
}

.waypoint-chip[data-tone="shovel-hole"],
.waypoint-row[data-tone="shovel-hole"] {
  --waypoint-rgb: 166, 129, 102;
}

.waypoint-row[data-tone="tile-wait"] {
  --waypoint-rgb: 126, 206, 255;
}

.waypoint-chip[data-tone] .waypoint-chip-index,
.waypoint-row[data-tone] .waypoint-row-index,
.waypoint-chip[data-tone] .waypoint-type-pill,
.waypoint-row[data-tone] .waypoint-type-pill {
  border-color: rgba(var(--waypoint-rgb), 0.56);
  color: rgba(255, 255, 255, 0.96);
}

.waypoint-chip[data-tone] .waypoint-chip-detail,
.waypoint-row[data-tone] .waypoint-chip-detail {
  color: rgba(var(--waypoint-rgb), 0.88);
}

/* Modal audit pre-lock. The real cascade lock is kept at the stylesheet end. */
#modal-module.module-modal-compact {
  --module-compact-max: min(82dvh, calc(100dvh - 16px));
  --module-compact-body-max: calc(var(--module-compact-max) - 42px);
  width: min(860px, calc(100vw - 16px));
  max-width: min(860px, calc(100vw - 16px));
  height: auto;
  max-height: var(--module-compact-max);
  padding: 6px;
  gap: 6px;
  align-self: center;
  grid-template-rows: minmax(0, 1fr) auto;
}

#modal-module.module-modal-compact:not(.module-modal-headless) {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

#modal-module.module-modal-compact.module-modal-settings-only {
  width: min(780px, calc(100vw - 16px));
  max-width: min(780px, calc(100vw - 16px));
}

#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] {
  width: min(840px, calc(100vw - 16px));
  max-width: min(840px, calc(100vw - 16px));
}

#modal-module.module-modal-compact[data-active-module-key="banking"],
#modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"],
#modal-module.module-modal-compact[data-active-module-key="amuletAutoReplace"] {
  width: min(1080px, calc(100vw - 16px));
  max-width: min(1080px, calc(100vw - 16px));
}

#modal-module.module-modal-compact .modal-body-module {
  min-height: 0;
  overflow: hidden;
}

#modal-module.module-modal-compact .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  height: auto;
  max-height: var(--module-compact-body-max);
  padding: 0;
  display: block;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

#modal-module.module-modal-compact.module-modal-settings-only .modal-module-card[data-module-panel="shared"] {
  overflow: visible;
}

#modal-module.module-modal-compact .module-rule-list,
#modal-module.module-modal-compact .module-extra-fields {
  max-height: var(--module-compact-body-max);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(156px, 1fr));
  grid-auto-rows: min-content;
  align-content: start;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-extra-fields,
#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-extra-fields {
  grid-template-columns: repeat(3, minmax(140px, 1fr));
}

#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-extra-fields {
  grid-template-columns: repeat(3, minmax(150px, 1fr));
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control {
  min-height: 0;
  align-self: start;
  justify-self: stretch;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-rows: auto min-content;
  gap: 3px;
  align-content: start;
  justify-items: start;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check)>span {
  max-width: 100%;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.14;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) :is(input:not([type="checkbox"]), select) {
  width: min(100%, 176px);
  max-width: 176px;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) .modal-number-stepper {
  width: 104px;
  max-width: 104px;
  grid-template-columns: 58px 42px;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(textarea) {
  grid-column: span 2;
  max-width: none;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control textarea {
  width: min(100%, 360px);
  max-width: 360px;
  min-height: 54px;
}

#modal-module.module-modal-compact.module-modal-rule-only {
  width: min(1040px, calc(100vw - 16px));
  max-width: min(1040px, calc(100vw - 16px));
  max-height: min(86dvh, calc(100dvh - 16px));
}

#modal-module[data-active-module-key="healer"] {
  width: min(1180px, calc(100vw - 16px));
  max-width: min(1180px, calc(100vw - 16px));
  height: min(82dvh, calc(100dvh - 16px));
  max-height: min(82dvh, calc(100dvh - 16px));
  align-self: center;
}

#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
  height: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(380px, 1.35fr) minmax(240px, 0.65fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 6px;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

#modal-module[data-active-module-key="healer"] #module-rule-list,
#modal-module[data-active-module-key="healer"] #module-extra-fields {
  min-height: 0;
  max-height: none;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module[data-active-module-key="healer"] .healer-setup-head,
#modal-module[data-active-module-key="healer"] .healer-family-head {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

#modal-module[data-active-module-key="healer"] .healer-setup-stats,
#modal-module[data-active-module-key="healer"] .healer-family-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="healer"] .healer-family-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: repeat(4, minmax(130px, 220px));
  justify-content: start;
  gap: 6px;
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(6, minmax(92px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-layout {
  grid-template-columns: minmax(280px, 0.56fr) minmax(0, 1.5fr);
}

#modal-module[data-active-module-key="team"] .follow-train-overview {
  grid-template-columns: repeat(6, minmax(96px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-footer {
  grid-template-columns: repeat(5, minmax(118px, 1fr));
}

@media (min-width: 1181px) {
  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(480px, 1.22fr) minmax(340px, 0.78fr) minmax(340px, 0.86fr);
    gap: 7px;
  }
}

#modal-targeting .route-hunt-config-panel {
  gap: 6px;
  grid-template-rows: auto auto auto auto minmax(0, auto);
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
}

#modal-targeting .route-hunt-queue-field textarea {
  min-height: 56px;
  max-height: 76px;
}

#modal-targeting .target-queue-policy-card {
  gap: 6px;
  padding: 6px;
}

#modal-targeting .target-policy-field {
  grid-template-rows: auto auto;
  gap: 3px;
}

#modal-targeting .target-policy-copy {
  max-height: 2.4em;
  overflow: hidden;
}

#modal-targeting .route-hunt-runtime-grid {
  grid-template-columns: repeat(3, minmax(96px, 116px));
  gap: 5px 8px;
  justify-content: start;
}

#modal-targeting .route-hunt-combat-panel {
  min-height: 0;
  padding: 6px;
  grid-template-rows: auto auto minmax(40px, auto);
}

#modal-targeting .targeting-distance-rule-list {
  min-height: 40px;
  max-height: 180px;
}

#modal-autowalk .route-modal-head {
  min-height: 0;
  padding: 5px 8px;
}

#modal-autowalk .route-modal-head-grid {
  grid-template-columns: minmax(340px, 0.78fr) minmax(380px, 1fr);
  gap: 8px;
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(500px, 1.18fr) minmax(280px, 0.64fr) minmax(320px, 0.82fr);
}

.modal-panel-route-picker {
  width: min(480px, calc(100vw - 16px));
  max-width: min(480px, calc(100vw - 16px));
}

.modal-panel-account-registry {
  width: min(900px, calc(100vw - 16px));
  max-width: min(900px, calc(100vw - 16px));
}

@media (max-width: 1180px) {

  #modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"],
  #modal-module[data-active-module-key="team"] .follow-train-layout,
  #modal-autowalk .route-main-layout,
  #modal-autowalk .route-modal-head-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid,
  #modal-module[data-active-module-key="team"] .follow-train-overview,
  #modal-module[data-active-module-key="team"] .follow-train-footer {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  }
}

@media (max-width: 760px) {

  #modal-module.module-modal-compact,
  #modal-module.module-modal-compact.module-modal-settings-only,
  #modal-module[data-active-module-key="healer"],
  .modal-panel-account-registry {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-module.module-modal-compact {
    --module-compact-max: calc(100dvh - 8px);
    --module-compact-body-max: calc(100dvh - 58px);
  }

  #modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-extra-fields {
    grid-template-columns: minmax(0, 1fr);
    overflow-y: auto;
  }

  #modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(textarea) {
    grid-column: auto;
  }
}

/* Modal audit 2026-05-08: content-sized editors, dense rows, and no empty modal acreage. */
#modal-module.module-modal-compact {
  --module-compact-max: min(82dvh, calc(100dvh - 16px));
  --module-compact-body-max: calc(var(--module-compact-max) - 42px);
  width: min(860px, calc(100vw - 16px));
  max-width: min(860px, calc(100vw - 16px));
  height: auto;
  max-height: var(--module-compact-max);
  padding: 6px;
  gap: 6px;
  align-self: center;
  grid-template-rows: minmax(0, 1fr) auto;
}

#modal-module.module-modal-compact:not(.module-modal-headless) {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

#modal-module.module-modal-compact.module-modal-settings-only {
  width: min(780px, calc(100vw - 16px));
  max-width: min(780px, calc(100vw - 16px));
}

#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] {
  width: min(840px, calc(100vw - 16px));
  max-width: min(840px, calc(100vw - 16px));
}

#modal-module.module-modal-compact[data-active-module-key="banking"],
#modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"],
#modal-module.module-modal-compact[data-active-module-key="amuletAutoReplace"] {
  width: min(1080px, calc(100vw - 16px));
  max-width: min(1080px, calc(100vw - 16px));
}

#modal-module.module-modal-compact .modal-body-module {
  min-height: 0;
  overflow: hidden;
}

#modal-module.module-modal-compact .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  height: auto;
  max-height: var(--module-compact-body-max);
  padding: 0;
  display: block;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

#modal-module.module-modal-compact.module-modal-settings-only .modal-module-card[data-module-panel="shared"] {
  overflow: visible;
}

#modal-module.module-modal-compact .module-rule-list,
#modal-module.module-modal-compact .module-extra-fields {
  max-height: var(--module-compact-body-max);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(156px, 1fr));
  grid-auto-rows: min-content;
  align-content: start;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-extra-fields,
#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-extra-fields {
  grid-template-columns: repeat(3, minmax(140px, 1fr));
}

#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-extra-fields {
  grid-template-columns: repeat(3, minmax(150px, 1fr));
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control {
  min-height: 0;
  align-self: start;
  justify-self: stretch;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-rows: auto min-content;
  gap: 3px;
  align-content: start;
  justify-items: start;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check)>span {
  max-width: 100%;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.14;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) :is(input:not([type="checkbox"]), select) {
  width: min(100%, 176px);
  max-width: 176px;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) .modal-number-stepper {
  width: 104px;
  max-width: 104px;
  grid-template-columns: 58px 42px;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(textarea) {
  grid-column: span 2;
  max-width: none;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control textarea {
  width: min(100%, 360px);
  max-width: 360px;
  min-height: 54px;
}

#modal-module.module-modal-compact.module-modal-rule-only {
  width: min(1040px, calc(100vw - 16px));
  max-width: min(1040px, calc(100vw - 16px));
  max-height: min(86dvh, calc(100dvh - 16px));
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-card {
  padding: 6px;
  gap: 6px;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-sections {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 6px;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-section {
  padding: 0;
  border: 0;
  background: transparent;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid {
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="healer"] {
  width: min(1180px, calc(100vw - 16px));
  max-width: min(1180px, calc(100vw - 16px));
  height: min(82dvh, calc(100dvh - 16px));
  max-height: min(82dvh, calc(100dvh - 16px));
  align-self: center;
}

#modal-module[data-active-module-key="healer"] .modal-body-module,
#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  overflow: hidden;
}

#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
  height: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(380px, 1.35fr) minmax(240px, 0.65fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 6px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module[data-active-module-key="healer"] #module-rule-list,
#modal-module[data-active-module-key="healer"] #module-extra-fields {
  min-height: 0;
  max-height: none;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module[data-active-module-key="healer"] .healer-shell,
#modal-module[data-active-module-key="healer"] .healer-setup-panel,
#modal-module[data-active-module-key="healer"] .healer-family-panel {
  gap: 6px;
}

#modal-module[data-active-module-key="healer"] .healer-setup-panel,
#modal-module[data-active-module-key="healer"] .healer-family-panel {
  padding: 6px;
}

#modal-module[data-active-module-key="healer"] .healer-setup-head,
#modal-module[data-active-module-key="healer"] .healer-family-head {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

#modal-module[data-active-module-key="healer"] .healer-setup-stats,
#modal-module[data-active-module-key="healer"] .healer-family-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="healer"] .healer-overview-title {
  font-size: 14px;
  line-height: 1.12;
}

#modal-module[data-active-module-key="healer"] .healer-family-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: repeat(4, minmax(130px, 220px));
  justify-content: start;
  gap: 6px;
}

#modal-module[data-active-module-key="team"] .team-sio-panel {
  padding: 5px;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(6, minmax(92px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-layout {
  grid-template-columns: minmax(280px, 0.56fr) minmax(0, 1.5fr);
}

#modal-module[data-active-module-key="team"] .follow-train-overview {
  grid-template-columns: repeat(6, minmax(96px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-footer {
  grid-template-columns: repeat(5, minmax(118px, 1fr));
}

@media (min-width: 1181px) {
  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(480px, 1.22fr) minmax(340px, 0.78fr) minmax(340px, 0.86fr);
    gap: 7px;
  }
}

#modal-targeting .route-hunt-config-panel {
  gap: 6px;
  grid-template-rows: auto auto auto auto minmax(0, auto);
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
}

#modal-targeting .route-hunt-queue-field textarea {
  min-height: 56px;
  max-height: 76px;
}

#modal-targeting .target-queue-policy-card {
  gap: 6px;
  padding: 6px;
}

#modal-targeting .target-policy-field {
  grid-template-rows: auto auto;
  gap: 3px;
}

#modal-targeting .target-policy-copy {
  max-height: 2.4em;
  overflow: hidden;
}

#modal-targeting .route-hunt-runtime-grid {
  grid-template-columns: repeat(3, minmax(96px, 116px));
  gap: 5px 8px;
  justify-content: start;
}

#modal-targeting .route-hunt-wide-field input {
  width: 176px;
  max-width: 176px;
}

#modal-targeting .route-hunt-toggles {
  grid-template-columns: repeat(2, minmax(96px, 132px));
  justify-content: start;
}

#modal-targeting .route-hunt-combat-panel {
  min-height: 0;
  padding: 6px;
  grid-template-rows: auto auto minmax(40px, auto);
}

#modal-targeting .targeting-distance-rule-list {
  min-height: 40px;
  max-height: 180px;
}

#modal-autowalk .route-modal-head {
  min-height: 0;
  padding: 5px 8px;
}

#modal-autowalk .route-modal-head-grid {
  grid-template-columns: minmax(340px, 0.78fr) minmax(380px, 1fr);
  gap: 8px;
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(500px, 1.18fr) minmax(280px, 0.64fr) minmax(320px, 0.82fr);
}

.modal-panel-route-picker {
  width: min(480px, calc(100vw - 16px));
  max-width: min(480px, calc(100vw - 16px));
}

.modal-panel-account-registry {
  width: min(900px, calc(100vw - 16px));
  max-width: min(900px, calc(100vw - 16px));
}

@media (max-width: 1180px) {

  #modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"],
  #modal-module[data-active-module-key="team"] .follow-train-layout,
  #modal-autowalk .route-main-layout,
  #modal-autowalk .route-modal-head-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid,
  #modal-module[data-active-module-key="team"] .follow-train-overview,
  #modal-module[data-active-module-key="team"] .follow-train-footer {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  }
}

@media (max-width: 760px) {

  #modal-module.module-modal-compact,
  #modal-module.module-modal-compact.module-modal-settings-only,
  #modal-module[data-active-module-key="healer"],
  .modal-panel-account-registry {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-module.module-modal-compact {
    --module-compact-max: calc(100dvh - 8px);
    --module-compact-body-max: calc(100dvh - 58px);
  }

  #modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-extra-fields {
    grid-template-columns: minmax(0, 1fr);
    overflow-y: auto;
  }

  #modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(textarea) {
    grid-column: auto;
  }
}

/* Main desk trim: route controls live in Route Builder, with a hideable logs rail. */
.console-layout {
  grid-template-columns: 1fr minmax(208px, 35%);
  grid-template-areas: "left right";
}

.app[data-logs-column="hidden"] .console-layout {
  grid-template-columns: 1fr 34px;
}

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

#route-live-preview.waypoint-preview-live,
#route-live-preview.waypoint-square-grid {
  --route-waypoint-columns: 10;
  --route-waypoint-grid-gap: 4px;
  --route-waypoint-tile-min-size: 58px;
  --route-waypoint-tile-size:
    max(var(--route-waypoint-tile-min-size),
      calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns)));
  grid-template-columns: repeat(var(--route-waypoint-columns), minmax(0, var(--route-waypoint-tile-size)));
  grid-auto-rows: var(--route-waypoint-tile-size);
  gap: var(--route-waypoint-grid-gap);
  justify-content: start;
  overflow-x: hidden;
  overflow-y: auto;
}

#route-live-preview .route-live-waypoint {
  width: var(--route-waypoint-tile-size);
  height: var(--route-waypoint-tile-size);
  aspect-ratio: 1 / 1;
}

/* Dashboard trim: no visible section legends, no console toolbar, six KPI cells in 2 x 3. */
.console-layout .desk-panel>legend[hidden],
.console-layout .feed-toolbar[hidden],
.feed-summary-note {
  display: none !important;
}

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

.feed-summary-metric {
  min-height: 36px;
  align-content: center;
}

.feed-summary-metric span,
.feed-summary-metric strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modal-scroll-stack,
.route-side-scroll,
.modal-body-accounts,
.modal-body-route-picker,
.module-rule-list,
.module-extra-fields,
.target-profile-list,
.monster-source-list,
.player-archive,
.npc-archive,
.targeting-distance-rule-list,
.hunt-preset-list,
.hunt-preset-detail,
.log-output {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.modal-panel :is(.route-stack-card,
  .route-editor-card,
  .route-drive-card,
  .route-avoid-fields-card,
  .route-tile-rule-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .targeting-config-card,
  .target-source-panel,
  .target-source-policy-card,
  .target-profile-card,
  .target-profile-row,
  .target-set-card,
  .target-watch-group,
  .route-hunt-registry-panel,
  .route-hunt-presence-panel,
  .account-registry-card,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .modal-module-card,
  .module-rule-card,
  .module-rule-section,
  .module-extra-fields,
  .module-card,
  .sub-card,
  .rune-maker-sidebar-card,
  .rune-maker-main) {
  padding: 8px;
  gap: 8px;
  border: 1px solid #222a33;
  border-radius: 5px;
  background: rgba(13, 18, 24, 0.74);
  box-shadow: none;
}

.modal-panel :is(.route-selection-summary,
  .route-hunt-inline-note,
  .route-file-note,
  .route-library-meta,
  .route-library-quick-meta,
  .route-pack-preview,
  .route-danger-meta-item,
  .route-avoid-metric,
  .summary-cell,
  .field-note,
  .module-rule-summary,
  .module-rule-pill,
  .hunt-preset-count-cell) {
  border: 1px solid #222a33;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.022);
  box-shadow: none;
}

.modal-panel .btn {
  min-height: 28px;
  padding: 0 10px;
  border-radius: 4px;
  font-size: 10px;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
}

.modal-panel .btn.compact,
.modal-panel .module-rule-actions .btn {
  min-height: 24px;
  padding: 0 8px;
  font-size: 9px;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select) {
  min-height: 28px;
  height: 28px;
  padding: 4px 8px;
  border-color: #2c3540;
  border-radius: 4px;
  font-size: 10px;
  line-height: 1.2;
}

.modal-panel textarea {
  height: auto;
  min-height: 64px;
  line-height: 1.28;
}

.modal-panel label,
.modal-panel :is(.module-rule-control, .route-head-field, .route-picker-field, .route-coordinate-field) {
  gap: 4px;
  font-size: 9px;
  line-height: 1.16;
  letter-spacing: 0.04em;
}

.modal-panel :is(.form-grid, .route-tune-grid, .route-checks, .route-hunt-runtime-grid, .route-hunt-toggles) {
  gap: 7px;
  align-items: start;
  grid-auto-rows: min-content;
}

.modal-panel :is(.checks label, .route-checks label, .module-rule-check) {
  min-height: 28px;
  padding: 4px 7px;
  gap: 7px;
  border-radius: 4px;
}

.modal-panel input[type="number"] {
  width: 64px;
  max-width: 64px;
}

.modal-panel .modal-number-stepper {
  width: fit-content;
  max-width: 116px;
  height: 28px;
  grid-template-columns: 64px 48px;
  gap: 4px;
}

.modal-panel .modal-number-stepper-input {
  width: 64px;
  max-width: 64px;
}

.modal-panel .modal-number-stepper-buttons {
  height: 28px;
  grid-template-columns: repeat(2, 22px);
  gap: 4px;
}

.modal-panel .modal-number-stepper-button,
#modal-autowalk .route-coordinate-nudge-button {
  width: 22px;
  min-width: 22px;
  height: 28px;
  min-height: 28px;
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(500px, 1.18fr) minmax(330px, 0.84fr) minmax(330px, 0.9fr);
  align-items: stretch;
}

#modal-autowalk .route-main-column {
  gap: 8px;
}

#modal-autowalk .route-side-scroll {
  display: grid;
  grid-auto-rows: min-content;
  align-content: start;
  padding-right: 4px;
}

#modal-autowalk .route-panel-action-grid-waypoints {
  grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(88px, auto));
  gap: 6px;
}

#modal-autowalk .route-panel-action-grid-tile-rules,
#modal-autowalk .route-panel-action-grid-avoid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(auto-fit, minmax(124px, 1fr));
}

#modal-autowalk .route-checks {
  grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
}

#modal-autowalk .route-avoid-category-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

#modal-autowalk .route-avoid-toggle,
#modal-autowalk .route-avoid-category {
  min-height: 34px;
  padding: 6px;
  gap: 4px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

#modal-autowalk .route-avoid-category-copy strong,
#modal-autowalk .route-avoid-toggle-copy strong {
  font-size: 10px;
  line-height: 1.12;
}

#modal-autowalk .route-avoid-category-copy small,
#modal-autowalk .route-avoid-toggle-copy small {
  font-size: 9px;
  line-height: 1.16;
}

#modal-autowalk .route-item-shared-title-grid {
  grid-template-columns: 1fr auto;
  align-items: end;
}

#modal-autowalk .route-waypoint-grid {
  grid-template-columns: 1.5fr 1fr 1fr;
}

#modal-autowalk .route-hunt-launchpad-head {
  display: flex;
  flex-wrap: nowrap;
}

#modal-autowalk .route-hunt-launchpad-head .summary-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
}

#modal-autowalk .route-hunt-launchpad-head .summary-cell {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

#modal-autowalk .route-avoid-metric-grid,
#modal-autowalk .route-danger-meta,
#modal-autowalk .route-danger-action-bar,
#modal-autowalk .route-hunt-launchpad-grid {
  gap: 6px;
}

#modal-autowalk .route-avoid-metric {
  min-height: 40px;
  padding: 6px;
}

#modal-autowalk .route-coordinate-nudge-control {
  grid-template-columns: 82px 50px;
  gap: 4px;
}

#modal-autowalk .route-coordinate-nudge-control input {
  width: 82px;
  max-width: 82px;
}

#modal-autowalk .route-coordinate-nudge-buttons {
  height: 28px;
  grid-template-columns: repeat(2, 23px);
  gap: 4px;
}

#modal-autowalk .route-item-shared-grid {
  grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(136px, auto)) minmax(72px, auto);
}

#modal-autowalk .route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  gap: 5px;
  padding: 5px;
  grid-auto-rows: minmax(50px, auto);
}

#modal-autowalk .route-main-column .route-stack-waypoint-grid .waypoint-row-main,
#modal-autowalk .waypoint-list-grid .waypoint-row-main {
  min-height: 50px;
  padding: 6px 34px 6px 8px;
}

#modal-autowalk .tile-rule-list {
  min-height: 88px;
}

#modal-targeting .route-hunt-modal-head-compact {
  grid-template-columns: auto auto minmax(320px, 1fr);
  gap: 8px;
}

#modal-targeting .route-hunt-head-stats,
#modal-targeting .target-profile-actions,
#modal-targeting .route-hunt-combat-panel .inline-actions,
#modal-targeting .route-hunt-registry-actions .inline-actions {
  gap: 5px;
}

#modal-targeting .route-hunt-search-bar {
  min-height: 28px;
  padding: 3px 8px;
}

#modal-targeting .target-queue-policy-card {
  gap: 8px;
  padding: 8px;
}

#modal-targeting .target-profile-list,
#modal-targeting .monster-source-list,
#modal-targeting .player-archive,
#modal-targeting .npc-archive,
#modal-targeting .targeting-distance-rule-list {
  gap: 7px;
  padding-right: 4px;
}

#modal-targeting .target-profile-grid {
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 6px;
}

#modal-targeting .compact-profile-flags {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

#modal-targeting .target-profile-grid .modal-number-stepper {
  max-width: 108px;
  grid-template-columns: 58px 46px;
}

#modal-targeting .target-profile-grid .modal-number-stepper-input,
#modal-targeting .target-profile-grid input[type="number"] {
  width: 58px;
  max-width: 58px;
}

#modal-targeting .target-profile-grid select {
  max-width: 132px;
}

@media (min-width: 1181px) {
  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(380px, 0.94fr) minmax(480px, 1.14fr) minmax(360px, 0.92fr);
    gap: 8px;
  }
}

#modal-accounts .modal-body-accounts,
#modal-accounts .account-registry-card,
#modal-route-library-picker .modal-body-route-picker,
#modal-presets .hunt-preset-layout,
#modal-module .modal-body-module {
  gap: 8px;
}

#modal-accounts .account-registry-card .form-grid.two {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

#modal-module.module-modal-compact {
  --compact-module-shell-max: min(88dvh, calc(100dvh - 16px));
  --compact-module-body-max: calc(var(--compact-module-shell-max) - 54px);
}

#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
#modal-module.module-modal-compact .anti-idle-control-grid,
#modal-module.module-modal-compact .reconnect-control-grid,
#modal-autowalk .route-tune-grid,
#modal-targeting .route-hunt-runtime-grid {
  grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid,
.modal-panel .module-rule-grid {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 6px;
}

@media (max-width: 1180px) {

  #modal-autowalk .route-main-layout,
  #modal-targeting .route-hunt-grid-3col,
  #modal-targeting .route-hunt-modal-head-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-autowalk .route-stack-card-head,
  #modal-autowalk .route-editor-card-head,
  #modal-autowalk .route-section-head-inline,
  #modal-targeting .target-queue-policy-card,
  #modal-targeting .compact-profile-flags {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .modal-layer {
    padding: 4px;
  }

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  .modal-panel-module,
  .modal-panel-console,
  .modal-panel-presets,
  .modal-panel-account-registry,
  #modal-targeting,
  #modal-autowalk {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
    padding: 6px;
    gap: 6px;
  }

  .modal-panel .modal-number-stepper {
    grid-template-columns: 60px 44px;
  }

  .modal-panel .modal-number-stepper-input,
  .modal-panel input[type="number"] {
    width: 60px;
    max-width: 60px;
  }

  #modal-autowalk .route-item-shared-grid,
  #modal-autowalk .route-avoid-category-grid,
  #modal-autowalk .route-avoid-metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Black-forward polish pass: neutral desk, calmer modals, refined selected tabs. */
:root {
  --bg: #050505;
  --bg-2: #080808;
  --bg-3: #0b0b0b;
  --panel: #101010;
  --panel-2: #0b0b0b;
  --panel-3: #151515;
  --line: #2a2a2a;
  --line-soft: #1f1f1f;
  --line-bright: #77736b;
  --shadow: rgba(0, 0, 0, 0.58);
  --text: #ebebeb;
  --muted: #aaa7a0;
  --accent: #d7b56d;
  --accent-2: #efd996;
  --accent-text: #f54e00;
  --accent-dim: #211a0c;
  --tab-active-bg: #111111;
  --tab-active-bg-hover: #171717;
  --tab-active-text: #f6efe0;
  --tab-active-muted: #dccb9f;
  --tab-active-border: #d7b56d;
  --surface-panel: #0f0f0f;
  --surface-elevated: #141414;
  --surface-inset: rgba(0, 0, 0, 0.42);
  --surface-note: rgba(255, 255, 255, 0.035);
  --focus-ring: 0 0 0 1px #050505, 0 0 0 3px rgba(215, 181, 109, 0.34);
}

.app {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.bot-strip,
.panel-card,
.module-card,
.quick-module-card,
.route-toggle-card,
.sub-card,
.desk-status-cluster,
.desk-action-group,
.control-group,
.desk-metric,
.summary-cell,
.route-library-meta,
.route-type-help,
.target-set-card,
.target-source-column,
.waypoint-chip,
.feed-row,
.waypoint-row,
.feed-card,
.compact-hero,
.compact-board,
.route-live-preview-shell {
  border-color: #252525;
  background: #0f0f0f;
  box-shadow: none;
}

.desk-panel legend,
.section-title,
.module-title,
.route-card-label,
.compact-hero-title,
#desk-title {
  color: #e7d39a;
}

.desk-tag,
.desk-metric span,
.section-meta,
.compact-hero-tag,
.bot-tab-state,
.bot-tab-metric,
.card-link-hint {
  color: #a8a39a;
}

.desk-status[data-tone="ready"] {
  color: #d7d3ca;
}

.btn,
.compact-command-button,
.quick-session-waypoints-button,
.route-panel-button,
.route-add-button,
.route-stop-aggro-button,
.route-reset-panel-button,
.route-off-button,
#new-route,
#window-close,
#refresh,
#compact-view,
#window-pin,
#desk-presets {
  border-color: #323232;
  background: #151515;
  color: #ececec;
  box-shadow: none;
  text-shadow: none;
}

.btn:hover:not(:disabled),
.compact-command-button:hover:not(:disabled),
.quick-session-waypoints-button:hover:not(:disabled),
.route-panel-button:hover:not(:disabled),
.route-add-button:hover:not(:disabled),
.route-stop-aggro-button:hover:not(:disabled),
.route-reset-panel-button:hover:not(:disabled),
.route-off-button:hover:not(:disabled),
#new-route:hover:not(:disabled),
#window-close:hover:not(:disabled),
#refresh:hover:not(:disabled),
#compact-view:hover:not(:disabled),
#window-pin:hover:not(:disabled),
#desk-presets:hover:not(:disabled) {
  border-color: #5e5a52;
  background: #1c1c1c;
  box-shadow: none;
  transform: none;
}

.btn:active:not(:disabled),
.btn[data-pressed="true"]:not(:disabled),
.compact-command-button:active:not(:disabled),
.compact-command-button[data-pressed="true"]:not(:disabled) {
  border-color: rgba(215, 181, 109, 0.82);
  background: #101010;
  box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.12);
}

#new-route,
#desk-presets,
#refresh,
#compact-view,
#window-pin,
#window-pin[aria-pressed="true"]:not(:disabled),
#window-pin.active:not(:disabled),
.route-panel-button,
.route-add-button,
.compact-command-button-route,
.compact-split-card-route,
.route-selection-summary {
  border-color: #3a3a3a;
  background: #141414;
  color: #e7e7e7;
}

#new-route:hover:not(:disabled),
#desk-presets:hover:not(:disabled),
#refresh:hover:not(:disabled),
#compact-view:hover:not(:disabled),
#window-pin:hover:not(:disabled),
.route-panel-button:hover:not(:disabled),
.route-add-button:hover:not(:disabled) {
  border-color: #6b6251;
  background: #1b1b1b;
}

.quick-module-card:hover,
.route-toggle-card:hover,
.quick-module-card:focus-within,
.route-toggle-card:focus-within,
.interactive-summary-card:hover,
.interactive-summary-card:focus-visible,
.interactive-summary-card:focus-within,
.route-overview-metric-button:hover,
.route-overview-metric-button:focus-visible,
.quick-module-open:hover,
.route-toggle-open:hover,
.quick-module-open:focus-visible,
.route-toggle-open:focus-visible {
  border-color: #46433d;
  background: #151515;
  box-shadow: none;
}

.quick-module-card[data-state="off"],
.route-toggle-card[data-state="off"],
.compact-split-card[data-state="off"] {
  border-color: rgba(48, 55, 64, 0.76);
  background: #0b1015;
}

.quick-module-card[data-state="blocked"],
.route-toggle-card[data-state="blocked"],
.compact-split-card[data-state="blocked"] {
  border-color: rgba(215, 181, 109, 0.36);
  background: #171409;
}

.quick-module-card[data-state="snoozed"],
.compact-split-card[data-state="snoozed"] {
  border-color: rgba(110, 199, 230, 0.42);
  background: #0f171b;
}

.quick-module-card[data-state="inherited"],
.compact-split-card[data-state="inherited"],
.quick-module-card[data-state="hidden-owner"],
.compact-split-card[data-state="hidden-owner"] {
  border-color: #343434;
  background: #111111;
}

.bot-tab,
.bot-tab-select {
  border-color: #292929;
  background: #101010;
  color: #ededed;
  box-shadow: none;
}

.bot-tab {
  padding: 1px;
  gap: 1px;
}

.bot-tab-select {
  padding: 1px 3px 1px 5px;
}

.bot-tab:hover,
.bot-tab:focus-within,
.bot-tab-select:hover:not(:disabled) {
  border-color: #555047;
  background: #161616;
  box-shadow: none;
}

.bot-tab.active,
.bot-tab.active:hover,
.bot-tab.active:focus-within {
  border-color: var(--tab-active-border);
  outline-color: rgba(215, 181, 109, 0.28);
  background:
    linear-gradient(180deg, rgba(215, 181, 109, 0.12), transparent 44%),
    var(--tab-active-bg);
  color: var(--tab-active-text);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.055),
    0 0 0 1px rgba(215, 181, 109, 0.18);
}

.bot-tab.active:hover,
.bot-tab.active:hover .bot-tab-select {
  background:
    linear-gradient(180deg, rgba(215, 181, 109, 0.14), transparent 46%),
    var(--tab-active-bg-hover);
}

.bot-tab.active .bot-tab-select {
  border-color: rgba(215, 181, 109, 0.58);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 42%),
    #141414;
  color: var(--tab-active-text);
  box-shadow: inset 3px 0 0 rgba(215, 181, 109, 0.88);
}

.bot-tab.active::before,
.bot-tab.active:hover::before,
.bot-tab.active:focus-within::before {
  inset: 5px auto 5px 3px;
  width: 3px;
  border-radius: 3px;
  opacity: 1;
  background: linear-gradient(180deg, #f0d990, #b98f38);
  box-shadow: 0 0 10px rgba(215, 181, 109, 0.22);
}

.bot-tab.active:not(.drop-before):not(.drop-after)::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 2px;
  display: block;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(215, 181, 109, 0.7), transparent);
  box-shadow: none;
}

.bot-tab.drop-before::after,
.bot-tab.drop-after::after {
  background: #d7b56d;
  box-shadow: none;
}

.bot-tab.active .bot-tab-select strong {
  color: #f7f0de;
}

.bot-tab.active .bot-tab-state,
.bot-tab.active .bot-tab-metric {
  border-color: rgba(215, 181, 109, 0.24);
  background: rgba(215, 181, 109, 0.08);
  color: #dfcf9e;
}

.bot-tab-state.route {
  border-color: rgba(215, 181, 109, 0.34);
  background: rgba(215, 181, 109, 0.08);
  color: #e8d7a6;
}

.bot-tab-metric.live {
  border-color: rgba(126, 201, 108, 0.38);
  color: #c9edb8;
}

.bot-tab-metric.warn,
.bot-tab.stale-alert .bot-tab-state {
  border-color: rgba(215, 181, 109, 0.42);
  color: #ead49c;
}

.bot-tab-metric.alert {
  border-color: rgba(214, 83, 69, 0.48);
  background: rgba(214, 83, 69, 0.1);
  color: #ffd2cc;
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  --modal-ux-bg: #080808;
  --modal-ux-bg-soft: #121212;
  --modal-ux-bg-inset: #040404;
  --modal-ux-line: #2d2d2d;
  --modal-ux-line-soft: #222222;
  --modal-ux-line-hot: #6b6251;
  --modal-ux-text: #ececec;
  --modal-ux-muted: #aaa59b;
  --modal-ux-warn: #d7b56d;
  border-color: #282522;
  background: #080808;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 18px 48px rgba(0, 0, 0, 0.58);
}

.modal-head,
.modal-actions {
  border-color: #232323;
  background: #0d0d0d;
  box-shadow: none;
}

.modal-panel :is(.route-stack-card,
  .route-drive-card,
  .route-editor-card,
  .route-tile-rule-card,
  .route-avoid-fields-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .targeting-config-card,
  .target-source-panel,
  .target-source-policy-card,
  .target-profile-card,
  .target-profile-row,
  .target-set-card,
  .target-watch-group,
  .route-hunt-registry,
  .route-hunt-registry-panel,
  .route-hunt-presence-panel,
  .modal-module-card,
  .module-rule-card,
  .module-rule-section,
  .module-extra-fields,
  .healer-setup-panel,
  .healer-family-panel,
  .looting-overview,
  .looting-card,
  .autoeat-overview,
  .autoeat-source-bank,
  .autoeat-column,
  .autoeat-controls,
  .rune-maker-sidebar-card,
  .rune-maker-main,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .account-registry-card) {
  border-color: #242424;
  background: #101010;
  box-shadow: none;
}

.modal-panel :is(.route-selection-summary,
  .route-hunt-inline-note,
  .route-file-note,
  .route-library-meta,
  .route-pack-preview,
  .route-danger-meta-item,
  .route-avoid-metric,
  .summary-cell,
  .field-note,
  .module-rule-summary,
  .monster-pill,
  .presence-chip,
  .selected-target-chip,
  .target-profile-badge,
  .target-profile-priority,
  .route-hunt-head-badge) {
  border-color: #2a2a2a;
  background: rgba(255, 255, 255, 0.026);
  box-shadow: none;
}

.modal-panel .btn {
  border-color: #303030;
  background: #151515;
  color: #ececec;
  box-shadow: none;
}

.modal-panel .btn:hover:not(:disabled) {
  border-color: #625b51;
  background: #1b1b1b;
  box-shadow: none;
  transform: none;
}

.modal-panel .btn:active:not(:disabled),
.modal-panel .btn[data-pressed="true"]:not(:disabled) {
  border-color: rgba(215, 181, 109, 0.82);
  background: #101010;
  box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.1);
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select),
.modal-panel .modal-number-stepper-button,
#modal-autowalk .route-coordinate-nudge-button {
  border-color: #303030;
  background: #070707;
  color: #ececec;
  box-shadow: none;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select):focus {
  border-color: #d7b56d;
  box-shadow: 0 0 0 1px rgba(215, 181, 109, 0.24);
}

.modal-panel .modal-number-stepper-button:hover:not(:disabled),
#modal-autowalk .route-coordinate-nudge-button:hover:not(:disabled) {
  border-color: #6b6251;
  background: #151515;
}

.modal-panel :is(.checks label, .route-checks label, .module-rule-check),
#modal-targeting :is(.checks label, .module-rule-check),
#modal-autowalk .route-avoid-toggle,
#modal-autowalk .route-avoid-category {
  border-color: #272727;
  background: transparent;
  color: #aaa59b;
  box-shadow: none;
}

.modal-panel :is(.checks label, .route-checks label, .module-rule-check):hover,
#modal-targeting :is(.checks label, .module-rule-check):hover,
#modal-autowalk .route-avoid-toggle:hover,
#modal-autowalk .route-avoid-category:hover {
  border-color: #4b463e;
  background: rgba(255, 255, 255, 0.02);
}

.modal-panel input[type="checkbox"],
#modal-targeting input[type="checkbox"] {
  border-color: #4a4a4a;
  background: #070707;
  box-shadow: none;
}

.modal-panel input[type="checkbox"]::before,
#modal-targeting input[type="checkbox"]::before {
  background: #e9e2cf;
  box-shadow: none;
}

.modal-panel input[type="checkbox"]:checked,
#modal-targeting input[type="checkbox"]:checked {
  border-color: rgba(126, 201, 108, 0.78);
  background: #173018;
}

.modal-panel :is(.checks label, .route-checks label, .module-rule-check):has(input[type="checkbox"]:checked),
.modal-panel :is(.route-avoid-toggle, .route-avoid-category):has(input[type="checkbox"]:checked),
#modal-targeting :is(.checks label, .module-rule-check):has(input[type="checkbox"]:checked) {
  border-color: rgba(126, 201, 108, 0.36);
  background: rgba(23, 48, 24, 0.42);
  color: #e7f5df;
}

#modal-targeting .player-archive .presence-chip,
#modal-targeting .player-archive .presence-chip.live,
#modal-targeting .player-archive .presence-chip.history,
.monster-pill,
.target-profile-badge,
.target-profile-priority,
.route-hunt-head-badge {
  border-color: #2c2c2c;
  background: #111111;
  color: #ececec;
}

#modal-targeting .player-archive .presence-chip.live {
  border-color: rgba(126, 201, 108, 0.58);
  box-shadow: inset 0 0 0 1px rgba(126, 201, 108, 0.18);
}

#modal-targeting .player-archive .presence-chip:hover {
  border-color: #6b6251;
  box-shadow: none;
}

#modal-targeting .player-archive.drag-drop-target {
  background: rgba(215, 181, 109, 0.08);
  box-shadow: inset 0 0 0 1px rgba(215, 181, 109, 0.24);
}

.modal-panel .modal-actions .modal-close-button,
.modal-panel .modal-actions [data-close-modal] {
  border: 1px solid #d65345;
  background: #2e1516;
  color: #ffe8e3;
}

.modal-panel .modal-actions .modal-close-button:hover:not(:disabled),
.modal-panel .modal-actions [data-close-modal]:hover:not(:disabled) {
  border-color: #e8604f;
  background: #3d1e1e;
  box-shadow: none;
  transform: none;
}

.modal-panel .modal-actions .modal-save-button,
.modal-panel .modal-actions [data-save-modules] {
  border: 1px solid #72bf4f;
  background: #173018;
  color: #f4ffe8;
}

.modal-panel .modal-actions .modal-save-button:hover:not(:disabled),
.modal-panel .modal-actions [data-save-modules]:hover:not(:disabled) {
  border-color: #88d462;
  background: #1e3d1f;
  box-shadow: none;
  transform: none;
}

.modal-panel {
  gap: 8px;
}

.modal-body {
  gap: 8px;
}

/* Supreme modal audit: final active rules for every dialog surface. */
:root {
  --modal-audit-edge: 8px;
  --modal-audit-gap: 8px;
  --modal-audit-radius: 6px;
  --modal-audit-control-height: 28px;
  --modal-audit-card-fill: rgba(13, 18, 24, 0.74);
  --modal-audit-note-fill: rgba(255, 255, 255, 0.022);
  --modal-audit-line: #2c3540;
  --modal-audit-line-soft: #222a33;
  --modal-audit-line-hot: #607081;
}

.modal-layer {
  padding: 8px;
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  width: calc(100vw - 16px);
  max-width: calc(100vw - 16px);
  height: calc(100dvh - 16px);
  max-height: calc(100dvh - 16px);
  padding: 8px;
  gap: 8px;
  border-color: var(--modal-audit-line);
  border-radius: var(--modal-audit-radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 84px),
    #0b0f14;
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.54);
}

.modal-panel-route-picker {
  width: min(560px, calc(100vw - 16px));
  height: auto;
  max-height: calc(100dvh - 16px);
}

.modal-panel-account-registry {
  width: min(980px, calc(100vw - 16px));
  max-width: min(980px, calc(100vw - 16px));
  height: auto;
  max-height: min(90dvh, calc(100dvh - 16px));
}

.modal-panel-console,
.modal-panel-presets,
#modal-module.module-modal-workspace {
  width: min(1280px, calc(100vw - 16px));
  max-width: min(1280px, calc(100vw - 16px));
  height: min(90dvh, calc(100dvh - 16px));
  max-height: min(90dvh, calc(100dvh - 16px));
  align-self: center;
}

.modal-head,
.modal-actions {
  min-height: 38px;
  padding: 6px 8px;
  gap: 8px;
  border: 1px solid var(--modal-audit-line-soft);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.018);
}

.modal-actions {
  justify-content: flex-end;
  padding-top: 6px;
}

.modal-body,
.modal-split-layout,
.modal-scroll-stack,
.route-main-layout,
.route-main-column,
.route-side-scroll,
.route-stack-card-main,
.route-hunt-workspace,
.route-hunt-grid-3col,
.route-hunt-registry,
.route-hunt-presence-grid,
.hunt-preset-layout,
.modal-module-card,
.rune-maker-layout {
  gap: 8px;
}

.modal-scroll-stack,
.route-side-scroll,
.modal-body-accounts,
.modal-body-route-picker,
.module-rule-list,
.module-extra-fields,
.target-profile-list,
.monster-source-list,
.player-archive,
.npc-archive,
.targeting-distance-rule-list,
.hunt-preset-list,
.hunt-preset-detail,
.log-output {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.modal-panel :is(.route-stack-card,
  .route-editor-card,
  .route-drive-card,
  .route-avoid-fields-card,
  .route-tile-rule-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .targeting-config-card,
  .target-source-panel,
  .target-source-policy-card,
  .target-profile-card,
  .target-profile-row,
  .target-set-card,
  .target-watch-group,
  .route-hunt-registry-panel,
  .route-hunt-presence-panel,
  .account-registry-card,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .modal-module-card,
  .module-rule-card,
  .module-rule-section,
  .module-extra-fields,
  .module-card,
  .sub-card,
  .rune-maker-sidebar-card,
  .rune-maker-main) {
  padding: 8px;
  gap: 8px;
  border: 1px solid var(--modal-audit-line-soft);
  border-radius: 5px;
  background: var(--modal-audit-card-fill);
  box-shadow: none;
}

.modal-panel :is(.route-selection-summary,
  .route-hunt-inline-note,
  .route-file-note,
  .route-library-meta,
  .route-library-quick-meta,
  .route-pack-preview,
  .route-danger-meta-item,
  .route-avoid-metric,
  .summary-cell,
  .field-note,
  .module-rule-summary,
  .module-rule-pill,
  .hunt-preset-count-cell) {
  border: 1px solid var(--modal-audit-line-soft);
  border-radius: 4px;
  background: var(--modal-audit-note-fill);
  box-shadow: none;
}

.modal-panel .btn {
  min-height: var(--modal-audit-control-height);
  padding: 0 10px;
  border-radius: 4px;
  font-size: 10px;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
}

.modal-panel .btn.compact,
.modal-panel .module-rule-actions .btn {
  min-height: 24px;
  padding: 0 8px;
  font-size: 9px;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select) {
  min-height: var(--modal-audit-control-height);
  height: var(--modal-audit-control-height);
  padding: 4px 8px;
  border-color: var(--modal-audit-line);
  border-radius: 4px;
  font-size: 10px;
  line-height: 1.2;
}

.modal-panel textarea {
  height: auto;
  min-height: 64px;
  line-height: 1.28;
}

.modal-panel label,
.modal-panel :is(.module-rule-control, .route-head-field, .route-picker-field, .route-coordinate-field) {
  gap: 4px;
  font-size: 9px;
  line-height: 1.16;
  letter-spacing: 0.04em;
}

.modal-panel :is(.form-grid, .route-tune-grid, .route-checks, .route-hunt-runtime-grid, .route-hunt-toggles) {
  gap: 7px;
  align-items: start;
  grid-auto-rows: min-content;
}

.modal-panel :is(.checks label, .route-checks label, .module-rule-check) {
  min-height: 28px;
  padding: 4px 7px;
  gap: 7px;
  border-radius: 4px;
}

.modal-panel input[type="number"] {
  width: 64px;
  max-width: 64px;
}

.modal-panel .modal-number-stepper {
  width: fit-content;
  max-width: 116px;
  height: var(--modal-audit-control-height);
  grid-template-columns: 64px 48px;
  gap: 4px;
}

.modal-panel .modal-number-stepper-input {
  width: 64px;
  max-width: 64px;
}

.modal-panel .modal-number-stepper-buttons {
  height: var(--modal-audit-control-height);
  grid-template-columns: repeat(2, 22px);
  gap: 4px;
}

.modal-panel .modal-number-stepper-button,
#modal-autowalk .route-coordinate-nudge-button {
  width: 22px;
  min-width: 22px;
  height: var(--modal-audit-control-height);
  min-height: var(--modal-audit-control-height);
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(500px, 1.18fr) minmax(330px, 0.84fr) minmax(330px, 0.9fr);
  align-items: stretch;
}

#modal-autowalk .route-main-column {
  gap: 8px;
}

#modal-autowalk .route-side-scroll {
  display: grid;
  grid-auto-rows: min-content;
  align-content: start;
  padding-right: 4px;
}

#modal-autowalk .route-panel-action-grid-waypoints {
  grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(88px, auto));
  gap: 6px;
}

#modal-autowalk .route-panel-action-grid-tile-rules,
#modal-autowalk .route-panel-action-grid-avoid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(auto-fit, minmax(124px, 1fr));
}

#modal-autowalk .route-checks {
  grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
}

#modal-autowalk .route-avoid-category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

#modal-autowalk .route-avoid-toggle,
#modal-autowalk .route-avoid-category {
  min-height: 34px;
  padding: 6px 7px;
  gap: 7px;
}

#modal-autowalk .route-avoid-category-copy strong,
#modal-autowalk .route-avoid-toggle-copy strong {
  font-size: 10px;
  line-height: 1.12;
}

#modal-autowalk .route-avoid-category-copy small,
#modal-autowalk .route-avoid-toggle-copy small {
  font-size: 9px;
  line-height: 1.16;
}

#modal-autowalk .route-avoid-metric-grid,
#modal-autowalk .route-danger-meta,
#modal-autowalk .route-danger-action-bar,
#modal-autowalk .route-hunt-launchpad-grid {
  gap: 6px;
}

#modal-autowalk .route-avoid-metric {
  min-height: 40px;
  padding: 6px;
}

#modal-autowalk .route-coordinate-nudge-control {
  grid-template-columns: 82px 50px;
  gap: 4px;
}

#modal-autowalk .route-coordinate-nudge-control input {
  width: 82px;
  max-width: 82px;
}

#modal-autowalk .route-coordinate-nudge-buttons {
  height: var(--modal-audit-control-height);
  grid-template-columns: repeat(2, 23px);
  gap: 4px;
}

#modal-autowalk .route-item-shared-grid {
  grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(136px, auto)) minmax(72px, auto);
}

#modal-autowalk .route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  gap: 5px;
  padding: 5px;
  grid-auto-rows: minmax(50px, auto);
}

#modal-autowalk .route-main-column .route-stack-waypoint-grid .waypoint-row-main,
#modal-autowalk .waypoint-list-grid .waypoint-row-main {
  min-height: 50px;
  padding: 6px 34px 6px 8px;
}

#modal-autowalk .tile-rule-list {
  min-height: 88px;
}

#modal-targeting .route-hunt-modal-head-compact {
  grid-template-columns: auto auto minmax(320px, 1fr);
  gap: 8px;
}

#modal-targeting .route-hunt-head-stats,
#modal-targeting .target-profile-actions,
#modal-targeting .route-hunt-combat-panel .inline-actions,
#modal-targeting .route-hunt-registry-actions .inline-actions {
  gap: 5px;
}

#modal-targeting .route-hunt-search-bar {
  min-height: var(--modal-audit-control-height);
  padding: 3px 8px;
}

#modal-targeting .target-queue-policy-card {
  gap: 8px;
  padding: 8px;
}

#modal-targeting .target-profile-list,
#modal-targeting .monster-source-list,
#modal-targeting .player-archive,
#modal-targeting .npc-archive,
#modal-targeting .targeting-distance-rule-list {
  gap: 7px;
  padding-right: 4px;
}

#modal-targeting .target-profile-grid {
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 6px;
}

#modal-targeting .compact-profile-flags {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

#modal-targeting .target-profile-grid .modal-number-stepper {
  max-width: 108px;
  grid-template-columns: 58px 46px;
}

#modal-targeting .target-profile-grid .modal-number-stepper-input,
#modal-targeting .target-profile-grid input[type="number"] {
  width: 58px;
  max-width: 58px;
}

#modal-targeting .target-profile-grid select {
  max-width: 132px;
}

@media (min-width: 1181px) {
  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(380px, 0.94fr) minmax(480px, 1.14fr) minmax(360px, 0.92fr);
    gap: 8px;
  }
}

#modal-accounts .modal-body-accounts,
#modal-accounts .account-registry-card,
#modal-route-library-picker .modal-body-route-picker,
#modal-presets .hunt-preset-layout,
#modal-module .modal-body-module {
  gap: 8px;
}

#modal-accounts .account-registry-card .form-grid.two {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

#modal-module.module-modal-compact {
  --compact-module-shell-max: min(88dvh, calc(100dvh - (var(--modal-audit-edge) * 2)));
  --compact-module-body-max: calc(var(--compact-module-shell-max) - 54px);
}

#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
#modal-module.module-modal-compact .anti-idle-control-grid,
#modal-module.module-modal-compact .reconnect-control-grid,
#modal-autowalk .route-tune-grid,
#modal-targeting .route-hunt-runtime-grid {
  grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid,
.modal-panel .module-rule-grid {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 6px;
}

@media (max-width: 1180px) {

  #modal-autowalk .route-main-layout,
  #modal-targeting .route-hunt-grid-3col,
  #modal-targeting .route-hunt-modal-head-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-autowalk .route-stack-card-head,
  #modal-autowalk .route-editor-card-head,
  #modal-autowalk .route-section-head-inline,
  #modal-targeting .target-queue-policy-card,
  #modal-targeting .compact-profile-flags {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  :root {
    --modal-audit-edge: 4px;
    --modal-audit-gap: 6px;
  }

  .modal-panel .modal-number-stepper {
    grid-template-columns: 60px 44px;
  }

  .modal-panel .modal-number-stepper-input,
  .modal-panel input[type="number"] {
    width: 60px;
    max-width: 60px;
  }

  #modal-autowalk .route-item-shared-grid,
  #modal-autowalk .route-avoid-category-grid,
  #modal-autowalk .route-avoid-metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.modal-panel .modal-actions .modal-close-button,
.modal-panel .modal-actions [data-close-modal] {
  border: 1px solid #d65345;
  background: #2e1516;
  color: #ffe8e3;
}

.modal-panel .modal-actions .modal-close-button:hover:not(:disabled),
.modal-panel .modal-actions [data-close-modal]:hover:not(:disabled) {
  border-color: #e8604f;
  background: #3d1e1e;
  box-shadow: none;
  transform: none;
}

.modal-panel .modal-actions .modal-save-button,
.modal-panel .modal-actions [data-save-modules] {
  border: 1px solid #72bf4f;
  background: #173018;
  color: #f4ffe8;
}

.modal-panel .modal-actions .modal-save-button:hover:not(:disabled),
.modal-panel .modal-actions [data-save-modules]:hover:not(:disabled) {
  border-color: #88d462;
  background: #1e3d1f;
  box-shadow: none;
  transform: none;
}

#modal-autowalk.modal-panel,
#modal-targeting.modal-panel,
.modal-panel {
  gap: 5px;
}

#modal-autowalk .modal-body,
#modal-targeting .modal-body,
.modal-body {
  gap: 5px;
}

/* Shared rule cards keep power and ordering controls in one compact row. */
.module-rule-card.module-rule-card-with-toggle {
  position: relative;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-card.module-rule-card-with-toggle,
.modal-panel .module-rule-card.module-rule-card-with-toggle,
.route-hunt-workspace .module-rule-card.module-rule-card-with-toggle {
  padding-top: 5px;
}

.module-rule-card .module-rule-corner-toggle,
.modal-panel .module-rule-card .module-rule-corner-toggle {
  width: var(--toggle-width);
  min-width: var(--toggle-width);
  height: var(--toggle-height);
  min-height: var(--toggle-height);
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  color: inherit;
  cursor: pointer;
  transform: none;
}

.module-rule-card .module-rule-corner-toggle input[type="checkbox"],
.modal-panel .module-rule-card .module-rule-corner-toggle input[type="checkbox"] {
  margin: 0;
}

.module-rule-card .module-rule-corner-toggle:hover,
.modal-panel .module-rule-card .module-rule-corner-toggle:hover,
.module-rule-card .module-rule-corner-toggle:has(input[type="checkbox"]:checked),
.modal-panel .module-rule-card .module-rule-corner-toggle:has(input[type="checkbox"]:checked) {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  transform: none;
}

.module-rule-card .module-rule-corner-toggle:has(input[type="checkbox"]:focus-visible),
.modal-panel .module-rule-card .module-rule-corner-toggle:has(input[type="checkbox"]:focus-visible) {
  box-shadow: var(--focus-ring);
}

.modal-panel .module-rule-toolbar {
  gap: 4px;
}

.modal-panel .module-rule-toolbar .module-rule-actions {
  gap: 3px;
}

/* Final modal polish pass: quieter shells, clearer controls, less visual weight. */
.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  border-color: rgba(201, 169, 112, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 16%),
    linear-gradient(180deg, #17120d, #0f0b08);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.045),
    0 16px 42px rgba(0, 0, 0, 0.42);
}

.modal-head {
  border-color: rgba(201, 169, 112, 0.09);
  background: rgba(10, 8, 6, 0.24);
  box-shadow: none;
}

.modal-actions {
  min-height: 32px;
  padding: 4px 0 0;
}

.modal-panel :is(.route-stack-card,
  .route-drive-card,
  .route-editor-card,
  .route-tile-rule-card,
  .route-avoid-fields-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .targeting-config-card,
  .target-source-panel,
  .target-profile-card,
  .target-set-card,
  .target-watch-group,
  .route-hunt-registry,
  .route-hunt-registry-panel,
  .route-hunt-presence-panel,
  .modal-module-card,
  .module-rule-card,
  .healer-setup-panel,
  .healer-family-panel,
  .looting-overview,
  .looting-card,
  .autoeat-overview,
  .autoeat-source-bank,
  .autoeat-column,
  .autoeat-controls,
  .rune-maker-sidebar-card,
  .rune-maker-main,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .account-registry-card) {
  border-color: rgba(201, 169, 112, 0.13);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 42%),
    rgba(16, 12, 8, 0.6);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.022);
}

.modal-panel .module-rule-toolbar {
  justify-content: space-between;
}

.modal-panel .module-rule-toolbar .module-rule-actions {
  margin-left: auto;
  justify-content: flex-end;
}

#modal-module[data-active-module-key="healer"] .healer-family-rule-list .module-rule-toolbar,
#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-toolbar {
  align-items: flex-start;
}

/* Targeting final audit: monster-style players and quiet toggle chrome. */
#modal-targeting .player-archive {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-content: flex-start;
}

#modal-targeting .player-archive .presence-chip,
#modal-targeting .player-archive .presence-chip.live,
#modal-targeting .player-archive .presence-chip.history {
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: 24px;
  padding: 5px 9px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  border: 1px solid var(--line-soft);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 45%),
    #1a140e;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  color: var(--text);
}

#modal-targeting .player-archive .presence-chip.live {
  border-color: rgba(169, 141, 99, 0.68);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    inset 0 0 0 1px rgba(143, 190, 100, 0.32);
}

#modal-targeting .player-archive .presence-chip.history {
  opacity: 0.86;
}

#modal-targeting .player-archive .presence-chip strong {
  max-width: min(220px, 100%);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  letter-spacing: 0.02em;
}

#modal-targeting .player-archive .presence-chip span {
  display: none;
}

#modal-targeting .player-archive .presence-chip:hover {
  border-color: rgba(169, 141, 99, 0.58);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    inset 0 0 0 1px rgba(247, 213, 138, 0.06);
}

#modal-targeting .player-archive.drag-drop-target {
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.07), transparent 30%),
    rgba(20, 16, 11, 0.42);
  box-shadow: inset 0 0 0 1px rgba(247, 213, 138, 0.24);
}

#modal-targeting :is(.checks label, .module-rule-check) {
  border-color: rgba(201, 169, 112, 0.12);
  background: transparent;
  box-shadow: none;
}

#modal-targeting :is(.checks label, .module-rule-check):hover,
#modal-targeting :is(.checks label, .module-rule-check):has(input[type="checkbox"]:checked) {
  border-color: rgba(201, 169, 112, 0.28);
  background: transparent;
  box-shadow: none;
}

#modal-targeting input[type="checkbox"] {
  border-color: rgba(201, 169, 112, 0.34);
  background: transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

#modal-targeting input[type="checkbox"]:checked {
  border-color: rgba(167, 214, 120, 0.84);
  background:
    linear-gradient(180deg, rgba(213, 247, 171, 0.32), rgba(213, 247, 171, 0.05) 46%),
    linear-gradient(180deg, #48682d, #253518);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 -1px 0 rgba(0, 0, 0, 0.32),
    0 0 0 1px rgba(143, 190, 100, 0.12);
}

#modal-targeting input[type="checkbox"]:checked::before {
  background:
    radial-gradient(circle at 32% 30%, rgba(255, 255, 255, 1), rgba(241, 252, 227, 0.98) 44%, rgba(188, 225, 132, 0.96));
}

/* Modules panel: fixed tile rhythm and uncluttered quick summaries. */
.control-card .control-group {
  overflow: hidden;
  padding-right: 0;
}

.control-card .quick-grid {
  min-height: 0;
  height: 100%;
  grid-auto-rows: minmax(0, auto);
  gap: 2px;
  align-content: start;
  overflow: visible;
}

.control-card .quick-module-card {
  min-height: 40px;
  height: auto;
  grid-template-columns: minmax(0, 1fr) minmax(48px, 52px);
  gap: 2px;
  padding: 2px;
  overflow: hidden;
}

.control-card .quick-module-open,
.control-card .quick-module-toggle {
  min-height: 38px;
  height: auto;
  overflow: hidden;
}

.control-card .quick-module-open {
  padding: 3px 6px;
  gap: 0;
}

.control-card .quick-module-open span,
.control-card .quick-module-toggle span {
  max-width: 100%;
  line-height: 1.05;
  white-space: normal;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-wrap: wrap;
}

.control-card .quick-module-open span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 7px;
  letter-spacing: 0.05em;
}

.control-card .quick-module-open strong {
  font-size: 10px;
  line-height: 1.05;
  -webkit-line-clamp: 2;
  overflow-wrap: anywhere;
}

.control-card .quick-module-toggle {
  min-width: 0;
  width: 52px;
  padding: 3px 2px;
  justify-content: center;
  align-items: center;
  gap: 1px;
}

.control-card .quick-module-toggle span {
  text-align: center;
  font-size: 7px;
  letter-spacing: 0.04em;
}

.control-card .quick-module-toggle strong {
  max-width: 100%;
  font-size: 10px;
  line-height: 1.02;
  overflow-wrap: anywhere;
  text-align: center;
}

@media (min-width: 1181px) {
  .route-toggle-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    grid-auto-rows: 46px;
    gap: 3px;
    justify-content: stretch;
    align-items: stretch;
  }

  .route-waypoint-actions-cluster {
    display: contents;
  }

  .route-toggle-card,
  .route-toggle-card-wide,
  .route-reset-card,
  .route-add-waypoint-card {
    width: auto;
    min-width: 0;
    min-height: 0;
    height: 100%;
  }

  .route-toggle-card {
    grid-template-columns: minmax(0, 1fr) minmax(40px, 48px);
    gap: 2px;
    padding: 2px;
  }

  .route-toggle-card:not(.route-reset-card) {
    grid-column: span 2;
  }

  .route-reset-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .route-off-card {
    grid-column: span 2;
  }

  .route-toggle-open,
  .route-toggle-button,
  .route-reset-button {
    min-height: 0;
    height: 100%;
  }

  .route-toggle-open {
    padding: 2px 3px;
  }

  .route-toggle-button:not(.route-reset-button) {
    padding: 0 2px;
  }

  .route-toggle-button:not(.route-reset-button) span {
    display: none;
  }

  .route-toggle-button:not(.route-reset-button) strong {
    display: block;
  }

  .route-toggle-open span,
  .route-toggle-button span,
  .route-reset-button span {
    font-size: 7px;
    line-height: 1.05;
    letter-spacing: 0.04em;
  }

  .route-toggle-button strong,
  .route-reset-button strong {
    font-size: 10px;
    line-height: 1.02;
  }

  .route-reset-button {
    padding: 0 3px;
    gap: 1px;
  }
}

/* Modal action audit: green commits, red exits — flat minimal style. */
.modal-panel .modal-actions .modal-close-button,
.modal-panel .modal-actions [data-close-modal] {
  border: 1px solid #d65345;
  background: #2e1516;
  color: #ffe8e3;
  box-shadow: none;
}

.modal-panel .modal-actions .modal-close-button:hover:not(:disabled),
.modal-panel .modal-actions [data-close-modal]:hover:not(:disabled) {
  border-color: #e8604f;
  background: #3d1e1e;
  box-shadow: none;
  transform: none;
}

.modal-panel .modal-actions .modal-close-button:active:not(:disabled),
.modal-panel .modal-actions .modal-close-button[data-pressed="true"]:not(:disabled) {
  border-color: #ff9a8d;
  background: #2a1110;
  box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.1);
}

.modal-panel .modal-actions .modal-save-button,
.modal-panel .modal-actions [data-save-modules] {
  border: 1px solid #72bf4f;
  background: #173018;
  color: #f4ffe8;
  box-shadow: none;
}

.modal-panel .modal-actions .modal-save-button:hover:not(:disabled),
.modal-panel .modal-actions [data-save-modules]:hover:not(:disabled) {
  border-color: #88d462;
  background: #1e3d1f;
  box-shadow: none;
  transform: none;
}

.modal-panel .modal-actions .modal-save-button:active:not(:disabled),
.modal-panel .modal-actions .modal-save-button[data-pressed="true"]:not(:disabled),
.modal-panel .modal-actions [data-save-modules]:active:not(:disabled) {
  border-color: #b4f28b;
  background: #122612;
  box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.1);
}

/* Modal number inputs use the route nudge pattern instead of native spinboxes. */
.modal-panel input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

.modal-panel input[type="number"]::-webkit-outer-spin-button,
.modal-panel input[type="number"]::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.modal-number-stepper {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 4px;
}

.modal-number-stepper-input {
  min-width: 0;
}

.modal-number-stepper-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(32px, 1fr));
  gap: 3px;
}

.modal-panel .modal-number-stepper-button,
#modal-autowalk .route-coordinate-nudge-button {
  min-width: 32px;
  min-height: 28px;
  padding: 0;
  display: grid;
  place-items: center;
  border-color: rgba(201, 169, 112, 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 45%),
    linear-gradient(180deg, rgba(42, 35, 25, 0.96), rgba(21, 17, 12, 0.96));
}

.modal-panel .modal-number-stepper-button:hover:not(:disabled),
#modal-autowalk .route-coordinate-nudge-button:hover:not(:disabled) {
  border-color: rgba(247, 213, 138, 0.62);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.075), transparent 45%),
    linear-gradient(180deg, rgba(57, 47, 34, 0.98), rgba(28, 23, 16, 0.98));
}

.modal-panel .modal-number-stepper-button:focus-visible,
#modal-autowalk .route-coordinate-nudge-button:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.modal-number-stepper.disabled .modal-number-stepper-buttons {
  opacity: 0.58;
}

.modal-panel .modal-number-stepper-button .route-coordinate-chevron,
#modal-autowalk .route-coordinate-nudge-button .route-coordinate-chevron {
  width: 10px;
  height: 10px;
  border-width: 2px 2px 0 0;
}

/* Final graphite audit pass: app shell plus all modal surfaces. */

.hover-tooltip {
  border-color: rgba(145, 155, 168, 0.56);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 44%),
    #10161c;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.045),
    0 10px 22px rgba(0, 0, 0, 0.32);
  color: #eef1f4;
}

.app {
  border-color: rgba(39, 45, 52, 0.94);
  background: #06080b;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
  text-shadow: none;
}

.bot-strip,
.panel-card,
.module-card,
.quick-module-card,
.route-toggle-card,
.sub-card,
.desk-status-cluster,
.desk-action-group,
.control-group,
.desk-metric,
.summary-cell,
.route-library-meta,
.route-type-help,
.target-set-card,
.target-source-column,
.waypoint-chip,
.feed-row,
.waypoint-row {
  border-color: rgba(39, 45, 52, 0.92);
  background: #0d1217;
  box-shadow: none;
}

.feed-card,
.compact-hero,
.compact-board,
.route-live-preview-shell {
  border-color: rgba(39, 45, 52, 0.92);
  background: #0b1015;
  box-shadow: none;
}

.desk-panel legend,
.section-title,
.module-title,
.route-card-label,
.compact-hero-title,
#desk-title {
  color: #d1d5db;
}

.desk-action-group-safety,
.danger-card,
.target-danger-zone,
.quick-module-card-master-stop {
  border-color: rgba(220, 95, 86, 0.42);
  background: rgba(54, 22, 25, 0.36);
  box-shadow: none;
}

.btn,
.compact-command-button,
.quick-session-waypoints-button,
.route-panel-button,
.route-add-button,
.route-stop-aggro-button,
.route-reset-panel-button,
.route-off-button,
#new-session,
#new-route,
#window-close,
#refresh,
#compact-view,
#window-pin,
#desk-presets {
  border-color: rgba(57, 64, 73, 0.92);
  background: #131920;
  color: #e6e8eb;
  box-shadow: none;
  text-shadow: none;
}

.btn:hover:not(:disabled),
.compact-command-button:hover:not(:disabled),
.quick-session-waypoints-button:hover:not(:disabled),
.route-panel-button:hover:not(:disabled),
.route-add-button:hover:not(:disabled),
.route-stop-aggro-button:hover:not(:disabled),
.route-reset-panel-button:hover:not(:disabled),
.route-off-button:hover:not(:disabled),
#new-session:hover:not(:disabled),
#new-route:hover:not(:disabled),
#window-close:hover:not(:disabled),
#refresh:hover:not(:disabled),
#compact-view:hover:not(:disabled),
#window-pin:hover:not(:disabled),
#desk-presets:hover:not(:disabled) {
  border-color: rgba(116, 124, 134, 0.86);
  background: #192028;
  box-shadow: none;
}

.btn:active:not(:disabled),
.btn[data-pressed="true"]:not(:disabled),
.compact-command-button:active:not(:disabled),
.compact-command-button[data-pressed="true"]:not(:disabled) {
  border-color: rgba(214, 191, 115, 0.78);
}

.btn.primary,
.btn.active,
.tile-btn.active,
.route-save-button,
#new-session,
.modal-panel .btn.primary,
.modal-panel .modal-save-button {
  border-color: #72bf4f;
  background: #20351f;
  color: #f4ffe8;
  box-shadow: none;
}

.btn.primary:hover:not(:disabled),
.btn.active:hover:not(:disabled),
.tile-btn.active:hover:not(:disabled),
.route-save-button:hover:not(:disabled),
#new-session:hover:not(:disabled),
.modal-panel .btn.primary:hover:not(:disabled),
.modal-panel .modal-save-button:hover:not(:disabled),
.modal-panel .modal-actions .modal-save-button:hover:not(:disabled),
.modal-panel .modal-actions [data-save-modules]:hover:not(:disabled) {
  border-color: #88d462;
  background: #1e3d1f;
  box-shadow: none;
}

.btn.danger,
.btn.danger.active,
.route-off-button,
#window-close,
.modal-panel .btn.danger,
.modal-panel .modal-actions .modal-close-button,
.modal-panel .modal-actions [data-close-modal] {
  border-color: #d65345;
  background: #2e1516;
  color: #ffe8e3;
  box-shadow: none;
}

.btn.danger:hover:not(:disabled),
.btn.danger.active:hover:not(:disabled),
.route-off-button:hover:not(:disabled),
#window-close:hover:not(:disabled),
.modal-panel .btn.danger:hover:not(:disabled),
.modal-panel .modal-actions .modal-close-button:hover:not(:disabled),
.modal-panel .modal-actions [data-close-modal]:hover:not(:disabled) {
  border-color: #e8604f;
  background: #3d1e1e;
  box-shadow: none;
}

#new-route,
#desk-presets,
.route-panel-button {
  border-color: rgba(103, 111, 121, 0.86);
  background: #151c23;
  color: #e6e8eb;
}

#refresh,
#compact-view,
.route-add-button {
  border-color: rgba(94, 105, 117, 0.82);
  background: #141b20;
  color: #e3e6ea;
}

#window-pin,
#window-pin[aria-pressed="true"]:not(:disabled),
#window-pin.active:not(:disabled) {
  border-color: rgba(132, 141, 152, 0.72);
  background: #171f27;
  color: #e7eaee;
}

.quick-module-card:hover,
.route-toggle-card:hover,
.quick-module-card:focus-within,
.route-toggle-card:focus-within,
.interactive-summary-card:hover,
.interactive-summary-card:focus-visible,
.interactive-summary-card:focus-within,
.route-overview-metric-button:hover,
.route-overview-metric-button:focus-visible {
  border-color: rgba(92, 102, 114, 0.88);
  background: #12181f;
  box-shadow: none;
}

.quick-module-open:hover,
.route-toggle-open:hover,
.quick-module-open:focus-visible,
.route-toggle-open:focus-visible {
  border-color: rgba(57, 64, 73, 0.9);
  background: rgba(148, 157, 168, 0.055);
  box-shadow: none;
}

.quick-module-card[data-state="off"],
.route-toggle-card[data-state="off"],
.compact-split-card[data-state="off"] {
  border-color: rgba(48, 55, 64, 0.76);
  background: #0b1015;
  box-shadow: none;
}

.quick-module-card[data-state="off"] .quick-module-open strong,
.quick-module-card[data-state="off"] .quick-module-open small,
.route-toggle-card[data-state="off"] .route-toggle-open strong,
.route-toggle-card[data-state="off"] .route-toggle-open small,
.compact-split-card[data-state="off"] .compact-card-open span,
.compact-split-card[data-state="off"] .compact-card-open strong {
  color: #b8bec7;
}

.quick-module-card[data-state="blocked"],
.route-toggle-card[data-state="blocked"],
.compact-split-card[data-state="blocked"] {
  border-color: rgba(202, 138, 4, 0.44);
  background: #17160f;
  box-shadow: none;
}

.quick-module-card[data-state="snoozed"],
.compact-split-card[data-state="snoozed"] {
  border-color: rgba(110, 199, 230, 0.46);
  background: #0f171b;
  box-shadow: none;
}

.quick-module-card[data-state="on"],
.quick-module-card[data-state="all"],
.quick-module-card[data-state="current"],
.quick-module-card[data-state="returning"],
.route-toggle-card[data-state="on"],
.compact-split-card[data-state="on"],
.compact-split-card[data-state="all"],
.compact-split-card[data-state="current"],
.compact-split-card[data-state="returning"],
.quick-session-waypoints-button.active {
  border-color: rgba(126, 201, 108, 0.58);
  background: #121e15;
  box-shadow: none;
}

.quick-module-card[data-state="inherited"],
.compact-split-card[data-state="inherited"] {
  border-color: rgba(129, 145, 139, 0.52);
  background: #111b19;
  box-shadow: none;
}

.quick-module-card[data-state="hidden-owner"],
.compact-split-card[data-state="hidden-owner"] {
  border-color: rgba(118, 126, 137, 0.5);
  background: #10161c;
  box-shadow: none;
}

.compact-command-button-route,
.compact-split-card-route,
.route-stop-aggro-button,
.route-reset-panel-button,
.route-selection-summary {
  border-color: rgba(103, 111, 121, 0.6);
  background: #111820;
  color: #dce0e5;
  box-shadow: none;
}

.bot-tab,
.bot-tab-select {
  border-color: rgba(39, 45, 52, 0.94);
  background: #0d1217;
  color: #e6e8eb;
  box-shadow: none;
}

.bot-tab:hover,
.bot-tab:focus-within,
.bot-tab-select:hover:not(:disabled) {
  border-color: rgba(92, 102, 114, 0.86);
  background: #12181f;
  box-shadow: none;
}

.bot-tab.active,
.bot-tab.active:hover,
.bot-tab.active:focus-within,
.bot-tab.active .bot-tab-select {
  border-color: var(--tab-active-border);
  outline-color: rgba(240, 218, 138, 0.46);
  background: var(--tab-active-bg);
  color: var(--tab-active-text);
  box-shadow: none;
}

.bot-tab.active:hover,
.bot-tab.active:hover .bot-tab-select {
  background: var(--tab-active-bg-hover);
}

.bot-tab.active::before,
.bot-tab.active:hover::before,
.bot-tab.active:focus-within::before {
  opacity: 1;
  width: 3px;
  background: rgba(17, 16, 10, 0.42);
  box-shadow: none;
}

.bot-tab.active:not(.drop-before):not(.drop-after)::after {
  content: none;
  display: none;
}

.bot-tab.drop-before::after,
.bot-tab.drop-after::after {
  background: var(--tab-active-border);
  box-shadow: none;
}

.bot-tab.active .bot-tab-select strong,
.bot-tab.active .bot-tab-state,
.bot-tab.active .bot-tab-metric {
  color: var(--tab-active-text);
}

.bot-tab.active .bot-tab-state,
.bot-tab.active .bot-tab-metric {
  border-color: rgba(17, 16, 10, 0.28);
  background: rgba(17, 16, 10, 0.12);
}

.bot-tab-state.route,
.quick-module-card[data-state="on"] .quick-module-open strong,
.quick-module-card[data-state="on"] .quick-module-open small,
.quick-module-card[data-state="all"] .quick-module-open strong,
.quick-module-card[data-state="all"] .quick-module-open small,
.quick-module-card[data-state="current"] .quick-module-open strong,
.quick-module-card[data-state="current"] .quick-module-open small,
.quick-module-card[data-state="returning"] .quick-module-open strong,
.quick-module-card[data-state="returning"] .quick-module-open small,
.route-toggle-card[data-state="on"] .route-toggle-open strong,
.route-toggle-card[data-state="on"] .route-toggle-open small,
.route-toggle-card[data-state="on"] .route-reset-button strong,
.compact-split-card[data-state="on"] .compact-card-open span,
.compact-split-card[data-state="on"] .compact-card-open strong,
.compact-split-card[data-state="all"] .compact-card-open span,
.compact-split-card[data-state="all"] .compact-card-open strong,
.compact-split-card[data-state="current"] .compact-card-open span,
.compact-split-card[data-state="current"] .compact-card-open strong,
.compact-split-card[data-state="returning"] .compact-card-open span,
.compact-split-card[data-state="returning"] .compact-card-open strong {
  color: #e6eaee;
}

.bot-tab-state,
.bot-tab-metric,
.card-link-hint {
  border-color: rgba(39, 45, 52, 0.88);
  background: rgba(148, 157, 168, 0.045);
}

.modal-layer {
  padding: 12px;
  background: transparent;
}

.modal-backdrop {
  background: transparent;
  backdrop-filter: none;
}

/* Covers Targeting, Route Builder, Saved Route, Accounts, Module variants, Logs, and Presets. */
.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
.modal-panel-route-picker,
#modal-targeting,
#modal-autowalk,
#modal-route-library-picker,
#modal-accounts,
#modal-module,
#modal-logs,
#modal-presets {
  --modal-line: rgba(67, 75, 86, 0.78);
  --modal-line-strong: rgba(183, 190, 199, 0.48);
  --modal-fill: rgba(9, 13, 18, 0.96);
  --modal-card-fill: rgba(15, 20, 27, 0.78);
  --modal-note-fill: rgba(148, 157, 168, 0.045);
  border-color: var(--modal-line);
  background: #11161d;
  background-clip: padding-box;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.34);
  overflow: hidden;
}

.modal-head,
.modal-actions,
#modal-targeting .route-hunt-modal-head-compact,
#modal-autowalk .route-modal-head {
  border-color: rgba(48, 55, 65, 0.84);
  background: rgba(10, 14, 20, 0.72);
  box-shadow: none;
}

.modal-head .section-title,
.modal-head .module-title {
  color: #f1f3f5;
}

.modal-head .section-meta:not([hidden]),
.modal-head-copy .module-current-line,
.modal-head-copy .module-note:not([hidden]),
.modal-panel label,
.modal-panel .module-rule-control,
.modal-panel .route-picker-field,
.modal-panel .route-head-field,
.modal-panel .hunt-preset-search-field {
  color: rgba(184, 191, 201, 0.9);
}

.modal-head-copy .module-state-line,
#targeting-context-line:not([hidden]) {
  color: rgba(199, 204, 211, 0.92);
}

.modal-panel .route-library-meta,
.modal-panel .route-library-quick-meta,
.modal-panel .route-file-note,
.modal-panel .route-selection-summary,
.modal-panel .route-hunt-inline-note,
.modal-panel .route-hunt-search-bar,
.modal-panel .module-rule-summary,
.modal-panel .module-rule-section,
.modal-panel .module-rule-pill,
.modal-panel .summary-cell,
.modal-panel .runtime-metric,
.modal-panel .route-danger-meta-item,
.modal-panel .hunt-preset-count-cell {
  border-color: rgba(48, 55, 65, 0.82);
  background: rgba(148, 157, 168, 0.045);
  color: #dce1e7;
  box-shadow: none;
}

.modal-panel :is(.route-stack-card,
  .route-drive-card,
  .route-editor-card,
  .route-tile-rule-card,
  .route-avoid-fields-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .targeting-config-card,
  .target-source-panel,
  .target-profile-card,
  .target-set-card,
  .target-watch-group,
  .route-hunt-registry,
  .route-hunt-registry-panel,
  .route-hunt-presence-panel,
  .modal-module-card,
  .module-rule-card,
  .module-rule-section,
  .module-extra-fields,
  .healer-setup-panel,
  .healer-family-panel,
  .looting-overview,
  .looting-card,
  .autoeat-overview,
  .autoeat-source-bank,
  .autoeat-column,
  .autoeat-controls,
  .alarms-card,
  .alarms-live-band,
  .rune-maker-sidebar-card,
  .rune-maker-main,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .account-registry-card,
  .trainer-duo-presets,
  .trainer-settings,
  .follow-train-column,
  .follow-train-source-card,
  .follow-train-metric-card,
  .trainer-metric-card,
  .follow-train-status-card) {
  border-color: rgba(48, 55, 65, 0.82);
  background: rgba(15, 20, 27, 0.78);
  box-shadow: none;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select),
.account-registry-card :is(input, textarea, select),
.route-card :is(input, textarea, select) {
  border-color: rgba(67, 75, 86, 0.82);
  background: rgba(6, 9, 13, 0.72);
  color: #edf0f3;
  box-shadow: none;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select):focus,
.account-registry-card :is(input, textarea, select):focus,
.route-card :is(input, textarea, select):focus {
  border-color: rgba(183, 190, 199, 0.72);
  box-shadow: var(--focus-ring);
}

.modal-panel .btn:not(.modal-close-button):not(.modal-save-button):not([data-save-modules]),
.modal-panel .modal-number-stepper-button,
#modal-autowalk .route-coordinate-nudge-button {
  border-color: rgba(67, 75, 86, 0.88);
  background: #171e27;
  color: #e4e7eb;
  box-shadow: none;
}

.modal-panel .btn:not(.modal-close-button):not(.modal-save-button):not([data-save-modules]):hover:not(:disabled),
.modal-panel .modal-number-stepper-button:hover:not(:disabled),
#modal-autowalk .route-coordinate-nudge-button:hover:not(:disabled) {
  border-color: rgba(128, 138, 150, 0.9);
  background: #1d2630;
  box-shadow: none;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle) {
  border-color: rgba(48, 55, 65, 0.84);
  background: rgba(10, 14, 20, 0.58);
  color: rgba(222, 226, 231, 0.84);
  box-shadow: none;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle):hover {
  border-color: rgba(104, 116, 129, 0.88);
  background: rgba(18, 24, 32, 0.68);
}

.modal-panel input[type="checkbox"],
#modal-targeting input[type="checkbox"] {
  border-color: rgba(104, 116, 129, 0.86);
  background: rgba(13, 18, 24, 0.96);
  box-shadow: none;
}

.modal-panel input[type="checkbox"]:checked,
#modal-targeting input[type="checkbox"]:checked {
  border-color: rgba(126, 201, 108, 0.74);
  background: #20351f;
  box-shadow: none;
}

.modal-panel input[type="checkbox"]:checked::before,
#modal-targeting input[type="checkbox"]:checked::before {
  background: #edf7e8;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle):has(input[type="checkbox"]:checked),
#modal-targeting :is(.checks label, .module-rule-check):has(input[type="checkbox"]:checked) {
  border-color: rgba(126, 201, 108, 0.36);
  background: rgba(20, 38, 22, 0.48);
}

#modal-targeting .player-archive .presence-chip,
#modal-targeting .player-archive .presence-chip.live,
#modal-targeting .player-archive .presence-chip.history,
.monster-pill,
.target-profile-badge,
.target-profile-priority,
.route-hunt-head-badge {
  border-color: rgba(67, 75, 86, 0.84);
  background: #10161d;
  color: #e4e7eb;
  box-shadow: none;
}

#modal-targeting .player-archive .presence-chip.live {
  border-color: rgba(126, 201, 108, 0.58);
  box-shadow: none;
}

#modal-targeting .player-archive .presence-chip:hover {
  border-color: rgba(183, 190, 199, 0.62);
  box-shadow: none;
}

#modal-targeting .player-archive.drag-drop-target {
  background: rgba(18, 24, 32, 0.68);
  box-shadow: inset 0 0 0 1px rgba(183, 190, 199, 0.22);
}

.modal-panel .modal-actions .modal-save-button,
.modal-panel .modal-actions [data-save-modules] {
  border-color: #72bf4f;
  background: #20351f;
  color: #f4ffe8;
  box-shadow: none;
}

.modal-panel .modal-actions .modal-close-button,
.modal-panel .modal-actions [data-close-modal] {
  border-color: #d65345;
  background: #442024;
  color: #ffe8e3;
  box-shadow: none;
}

/* Targeting: keep targeting policy and fallback combat in the center column. */
#modal-targeting .route-hunt-modal-head-compact {
  align-items: center;
}

#modal-targeting .route-hunt-config-panel {
  gap: 8px;
  grid-template-rows: auto auto auto auto auto;
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-targeting .target-queue-policy-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 6px;
  align-items: stretch;
}

#modal-targeting .target-policy-field {
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto minmax(24px, auto);
  gap: 4px;
}

#modal-targeting .target-policy-copy {
  min-width: 0;
  display: block;
  color: rgba(188, 196, 205, 0.78);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}

#modal-targeting .target-blacklist-field {
  grid-column: 1 / -1;
}

#modal-targeting .target-blacklist-field textarea {
  min-height: 46px;
  max-height: 84px;
  resize: vertical;
}

#modal-targeting .route-hunt-config-panel .route-hunt-combat-panel {
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(42px, auto);
  gap: 6px;
  padding: 6px;
  overflow: visible;
}

#modal-targeting .route-hunt-combat-panel .route-hunt-panel-head-actions {
  align-items: center;
}

#modal-targeting .route-hunt-combat-panel .inline-actions {
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 5px;
}

#modal-targeting .route-hunt-combat-panel .route-hunt-head-check {
  min-height: 22px;
}

#modal-targeting .route-hunt-config-panel .targeting-distance-rule-list {
  min-height: 42px;
  max-height: 220px;
}

#modal-targeting .route-hunt-workspace .target-profile-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#modal-targeting .route-hunt-workspace .target-profile-flags {
  grid-template-columns: repeat(3, minmax(104px, 1fr));
}

#modal-targeting .compact-profile-flags .target-profile-check span {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.08;
}

@media (min-width: 1181px) {
  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(360px, 0.94fr) minmax(460px, 1.14fr) minmax(340px, 0.92fr);
    gap: 8px;
  }
}

@media (max-width: 1180px) {
  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-targeting .route-hunt-grid-3col .route-hunt-config-panel,
  #modal-targeting .route-hunt-grid-3col .route-hunt-profile-panel,
  #modal-targeting .route-hunt-grid-3col .route-hunt-registry {
    grid-column: 1;
    grid-row: auto;
  }

  #modal-targeting .target-queue-policy-card,
  #modal-targeting .route-hunt-workspace .target-profile-grid,
  #modal-targeting .route-hunt-workspace .target-profile-flags {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Compact control audit: keep short fields from stretching across modal menus. */
.modal-panel,
#modal-targeting,
#modal-autowalk {
  --menu-control-text-max: 220px;
  --menu-control-wide-max: 360px;
  --menu-control-select-max: 190px;
  --menu-control-number-max: 78px;
  --menu-control-stepper-max: 126px;
  --menu-control-track-max: 190px;
  --menu-control-track-wide-max: 240px;
}

.modal-panel :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select) {
  min-width: 0;
}

.modal-panel :is(input[type="text"],
  input[type="password"],
  input[type="search"],
  input[type="url"],
  input:not([type])) {
  width: min(100%, var(--menu-control-text-max));
  max-width: var(--menu-control-text-max);
}

.modal-panel select {
  width: min(100%, var(--menu-control-select-max));
  max-width: var(--menu-control-select-max);
}

.modal-panel input[type="number"] {
  width: min(100%, var(--menu-control-number-max));
  max-width: var(--menu-control-number-max);
}

.modal-panel .modal-number-stepper {
  width: min(100%, var(--menu-control-stepper-max));
  max-width: var(--menu-control-stepper-max);
  flex: 0 1 var(--menu-control-stepper-max);
}

.modal-panel .modal-number-stepper-input {
  width: 100%;
  max-width: none;
}

.modal-panel :is(.module-rule-control:not(.module-rule-check),
  .route-picker-field,
  .route-head-field,
  .hunt-preset-search-field) {
  width: auto;
  max-width: var(--menu-control-text-max);
  justify-self: start;
}

.modal-panel :is(.module-rule-control,
  .route-picker-field,
  .route-head-field,
  .hunt-preset-search-field):has(textarea),
.modal-panel :is(.route-hunt-head-search,
  .route-hunt-wide-field,
  .account-registry-wide-field) {
  max-width: var(--menu-control-wide-max);
}

.modal-panel :is(.route-hunt-head-search input,
  .route-hunt-wide-field input,
  .account-registry-wide-field input,
  .account-registry-wide-field select,
  .account-registry-wide-field textarea,
  .route-picker-field textarea) {
  width: 100%;
  max-width: var(--menu-control-wide-max);
}

.modal-panel .compact-rule-control:not(.module-rule-check) {
  max-width: 210px;
}

.modal-panel .compact-rule-control:not(.module-rule-check)>span {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modal-panel .compact-rule-control:not(.module-rule-check) :is(input:not([type="checkbox"]):not([type="radio"]), select) {
  flex: 0 1 auto;
}

.modal-panel .compact-rule-control:not(.module-rule-check) select {
  width: min(100%, 118px);
  max-width: 118px;
}

.modal-panel .compact-rule-control:not(.module-rule-check) input[type="number"] {
  width: min(100%, 64px);
  max-width: 64px;
}

.modal-panel .compact-rule-control:not(.module-rule-check) .modal-number-stepper {
  width: min(100%, 112px);
  max-width: 112px;
  flex-basis: 112px;
}

.modal-panel .module-rule-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 112px), 168px));
  justify-content: start;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 112px), 168px));
}

#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
#modal-module[data-active-module-key="trainer"] .trainer-settings-grid,
#modal-module.module-modal-compact .anti-idle-control-grid,
#modal-module.module-modal-compact .reconnect-control-grid,
#modal-module.module-modal-workspace .autoeat-controls,
#modal-autowalk .route-tune-grid,
#modal-targeting .route-hunt-runtime-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 136px), var(--menu-control-track-max)));
  justify-content: start;
}

.account-registry-card .form-grid.two {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 156px), var(--menu-control-track-wide-max)));
  justify-content: start;
}

/* Modal UX revamp: final active cascade for dense control surfaces. */
#modal-autowalk,
#modal-targeting,
.modal-panel {
  --modal-ux-bg: #0b0f14;
  --modal-ux-bg-soft: #111720;
  --modal-ux-bg-inset: #070a0e;
  --modal-ux-line: #2c3540;
  --modal-ux-line-soft: #222a33;
  --modal-ux-line-hot: #5f6d7a;
  --modal-ux-text: #e6eaee;
  --modal-ux-muted: #9aa5b1;
  --modal-ux-warn: #d7b46a;
  --modal-ux-good: #72bf4f;
  --modal-ux-danger: #d65345;
  --modal-ux-gap: 5px;
  --modal-ux-control-height: 24px;
  --toggle-width: 28px;
  --toggle-height: 16px;
  --toggle-pad: 2px;
  --toggle-thumb-size: calc(var(--toggle-height) - (var(--toggle-pad) * 2));
  --toggle-thumb-shift: calc(var(--toggle-width) - var(--toggle-thumb-size) - (var(--toggle-pad) * 2));
  color: var(--modal-ux-text);
}

.modal-layer {
  padding: 6px;
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
#modal-autowalk,
#modal-targeting {
  width: calc(100vw - 12px);
  max-width: calc(100vw - 12px);
  height: calc(100dvh - 12px);
  max-height: calc(100dvh - 12px);
  padding: 5px;
  gap: var(--modal-ux-gap);
  border: 1px solid #27313c;
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.022), transparent 78px),
    var(--modal-ux-bg);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.54);
}

.modal-head,
.modal-actions {
  min-height: 32px;
  padding: 4px 6px;
  gap: 8px;
  border: 1px solid var(--modal-ux-line-soft);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.018);
}

.modal-head .section-title,
.modal-head .module-title {
  color: var(--modal-ux-text);
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}

.modal-head .section-meta,
.route-card-label,
.targeting-column-kicker {
  color: var(--modal-ux-muted);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.modal-body,
.modal-split-layout,
.route-main-layout,
.route-main-column,
.route-side-scroll,
.modal-scroll-stack,
.route-stack-card-main,
.route-hunt-workspace,
.route-hunt-grid-3col,
.route-hunt-registry,
.route-hunt-presence-grid {
  gap: var(--modal-ux-gap);
}

.modal-panel :is(.route-stack-card,
  .route-editor-card,
  .route-drive-card,
  .route-avoid-fields-card,
  .route-tile-rule-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .targeting-config-card,
  .target-source-panel,
  .target-source-policy-card,
  .target-profile-card,
  .target-profile-row,
  .target-set-card,
  .target-watch-group,
  .module-rule-card,
  .module-rule-section,
  .module-extra-fields) {
  padding: 6px;
  gap: var(--modal-ux-gap);
  border: 1px solid var(--modal-ux-line-soft);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.014);
  box-shadow: none;
}

.modal-panel :is(.route-selection-summary,
  .route-hunt-inline-note,
  .route-file-note,
  .route-library-meta,
  .route-pack-preview,
  .route-danger-meta-item,
  .route-avoid-metric,
  .summary-cell,
  .field-note,
  .module-rule-summary) {
  border: 1px solid var(--modal-ux-line-soft);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.014);
  box-shadow: none;
}

.modal-panel .btn {
  min-height: var(--modal-ux-control-height);
  padding: 0 8px;
  border: 1px solid var(--modal-ux-line);
  border-radius: 4px;
  background: var(--modal-ux-bg-soft);
  color: var(--modal-ux-text);
  box-shadow: none;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.modal-panel .btn.compact {
  min-height: 22px;
  padding: 0 7px;
  font-size: 9px;
}

.modal-panel .btn:hover:not(:disabled) {
  border-color: var(--modal-ux-line-hot);
  background: #17202a;
  box-shadow: none;
  transform: none;
}

.modal-panel .btn:active:not(:disabled),
.modal-panel .btn[data-pressed="true"]:not(:disabled) {
  background: #0d131a;
  box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.1);
  transform: translateY(1px);
}

.modal-panel .btn.primary,
.modal-panel .btn.active,
.modal-actions .modal-save-button,
.modal-actions [data-save-modules] {
  border-color: var(--modal-ux-good);
  background: #173018;
  color: #f4ffe8;
}

.modal-panel .btn.danger,
.modal-actions .modal-close-button {
  border-color: var(--modal-ux-danger);
  background: #2e1516;
  color: #ffe8e3;
}

.modal-panel :is(label, .module-rule-control, .route-head-field, .route-coordinate-field) {
  gap: 3px;
  color: var(--modal-ux-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.12;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select) {
  min-height: var(--modal-ux-control-height);
  height: var(--modal-ux-control-height);
  padding: 3px 7px;
  border: 1px solid var(--modal-ux-line);
  border-radius: 4px;
  background: var(--modal-ux-bg-inset);
  color: var(--modal-ux-text);
  box-shadow: none;
  font-size: 10px;
  line-height: 1.15;
}

.modal-panel textarea {
  height: auto;
  min-height: 56px;
  line-height: 1.25;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select):focus {
  border-color: #a8b0ba;
  box-shadow: 0 0 0 1px rgba(168, 176, 186, 0.28);
}

.modal-panel input[type="text"],
.modal-panel input[type="search"],
.modal-panel input:not([type]) {
  max-width: 240px;
}

.modal-panel select {
  max-width: 170px;
}

.modal-panel input[type="number"] {
  width: 58px;
  max-width: 58px;
  text-align: left;
}

.modal-panel .modal-number-stepper {
  width: fit-content;
  max-width: 104px;
  height: var(--modal-ux-control-height);
  display: inline-grid;
  grid-template-columns: 58px 42px;
  align-self: start;
  align-items: center;
  gap: 3px;
}

.modal-panel .modal-number-stepper-input {
  width: 58px;
  max-width: 58px;
}

.modal-panel .modal-number-stepper-buttons {
  height: var(--modal-ux-control-height);
  display: grid;
  grid-template-columns: repeat(2, 20px);
  gap: 2px;
  align-items: stretch;
}

.modal-panel .modal-number-stepper-button,
#modal-autowalk .route-coordinate-nudge-button {
  width: 20px;
  min-width: 20px;
  height: var(--modal-ux-control-height);
  min-height: var(--modal-ux-control-height);
  padding: 0;
  border-color: var(--modal-ux-line);
  border-radius: 4px;
  background: #121922;
}

.modal-panel .modal-number-stepper-button .route-coordinate-chevron,
#modal-autowalk .route-coordinate-nudge-button .route-coordinate-chevron {
  width: 8px;
  height: 8px;
  border-width: 2px 2px 0 0;
}

.modal-panel :is(.form-grid, .route-hunt-runtime-grid, .route-tune-grid, .route-checks, .route-hunt-toggles) {
  align-items: start;
  grid-auto-rows: min-content;
}

.modal-panel .form-grid>label {
  align-self: start;
  justify-self: start;
}

.modal-panel :is(.checks label, .route-checks label, .module-rule-check) {
  min-height: 24px;
  padding: 3px 6px;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr);
  gap: 6px;
  border-color: var(--modal-ux-line-soft);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.014);
  color: var(--modal-ux-muted);
  box-shadow: none;
  font-size: 9px;
  letter-spacing: 0;
}

.modal-panel :is(.checks label, .route-checks label, .module-rule-check):hover {
  border-color: var(--modal-ux-line-hot);
  background: rgba(255, 255, 255, 0.028);
  transform: none;
}

.modal-panel input[type="checkbox"] {
  border-color: #576271;
  background: #0b1016;
  box-shadow: none;
}

.modal-panel input[type="checkbox"]::before {
  background: #d6dde5;
  box-shadow: none;
}

.modal-panel input[type="checkbox"]:checked {
  border-color: rgba(114, 191, 79, 0.78);
  background: #20351f;
  box-shadow: none;
}

.modal-panel :is(.checks label, .route-checks label, .module-rule-check):has(input[type="checkbox"]:checked),
.modal-panel :is(.route-avoid-toggle, .route-avoid-category):has(input[type="checkbox"]:checked) {
  border-color: rgba(114, 191, 79, 0.34);
  background: rgba(23, 48, 24, 0.46);
  color: #e7f5df;
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(520px, 1.18fr) minmax(260px, 0.58fr) minmax(300px, 0.74fr);
}

#modal-autowalk .route-stack-card-head,
#modal-autowalk .route-editor-card-head,
#modal-autowalk .route-section-head-inline {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

#modal-autowalk .route-panel-action-grid-waypoints {
  grid-template-columns: minmax(130px, 1fr) repeat(2, minmax(74px, 0.6fr));
}

#modal-autowalk .route-panel-action-grid-tile-rules,
#modal-autowalk .route-panel-action-grid-avoid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(auto-fit, minmax(108px, 132px));
  justify-content: start;
}

#modal-autowalk .route-checks {
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
}

#modal-autowalk .route-coordinate-nudge-control {
  width: fit-content;
  grid-template-columns: 78px 44px;
  align-items: start;
}

#modal-autowalk .route-coordinate-nudge-buttons {
  height: var(--modal-ux-control-height);
  grid-template-columns: repeat(2, 21px);
  gap: 2px;
}

#modal-autowalk .route-coordinate-nudge-control input {
  width: 78px;
  max-width: 78px;
}

#modal-autowalk .route-item-shared-grid {
  grid-template-columns: minmax(130px, 1fr) repeat(2, minmax(124px, auto)) minmax(58px, auto);
}

#modal-autowalk .route-avoid-toggle,
#modal-autowalk .route-avoid-category {
  min-height: 26px;
  padding: 4px 6px;
  gap: 6px;
  border-radius: 4px;
  border-color: var(--modal-ux-line-soft);
  background: rgba(255, 255, 255, 0.014);
}

#modal-autowalk .route-avoid-category-grid {
  gap: 4px;
}

#modal-autowalk .route-avoid-category-copy strong,
#modal-autowalk .route-avoid-toggle-copy strong {
  font-size: 10px;
  line-height: 1.08;
}

#modal-autowalk .route-avoid-category-copy small,
#modal-autowalk .route-avoid-toggle-copy small,
#modal-autowalk .route-avoid-metric strong {
  font-size: 8px;
  line-height: 1.12;
}

#modal-autowalk .route-danger-bar {
  padding: 6px;
  border-color: rgba(214, 83, 69, 0.22);
  background: rgba(46, 21, 22, 0.22);
}

#modal-autowalk .route-danger-meta,
#modal-autowalk .route-danger-action-bar {
  gap: 4px;
}

#modal-autowalk .route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: minmax(46px, auto);
  gap: 4px;
  padding: 4px;
}

#modal-autowalk .route-main-column .route-stack-waypoint-grid .waypoint-row,
#modal-autowalk .waypoint-list-grid .waypoint-row {
  min-height: 46px;
  border-color: var(--modal-ux-line-soft);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.012);
}

#modal-autowalk .route-main-column .route-stack-waypoint-grid .waypoint-row-main,
#modal-autowalk .waypoint-list-grid .waypoint-row-main {
  min-height: 46px;
  padding: 5px 30px 5px 7px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "index title flags"
    "index position flags"
    "index detail flags";
  gap: 1px 7px;
}

#modal-autowalk .waypoint-row-main>strong {
  font-size: 10px;
  letter-spacing: 0;
}

#modal-autowalk .waypoint-chip-position,
#modal-autowalk .waypoint-chip-detail,
#modal-autowalk .waypoint-pill {
  font-size: 8px;
}

#modal-targeting .route-hunt-modal-head-compact {
  display: grid;
  grid-template-columns: auto auto minmax(280px, 1fr);
  align-items: center;
}

#modal-targeting .route-hunt-head-stats {
  gap: 4px;
}

#modal-targeting .route-hunt-head-badge {
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid var(--modal-ux-line-soft);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.014);
}

#modal-targeting .route-hunt-search-bar {
  min-height: 24px;
  padding: 2px 6px;
  border-radius: 4px;
}

#modal-targeting .route-hunt-search-bar input {
  width: 100%;
  max-width: none;
}

@media (min-width: 1181px) {
  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(360px, 0.9fr) minmax(460px, 1.15fr) minmax(340px, 0.9fr);
    gap: 6px;
  }
}

#modal-targeting .route-hunt-profile-panel,
#modal-targeting .route-hunt-config-panel,
#modal-targeting .route-hunt-registry-panel,
#modal-targeting .route-hunt-presence-panel {
  padding: 6px;
  border: 1px solid var(--modal-ux-line-soft);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.012);
}

#modal-targeting .target-profile-list,
#modal-targeting .monster-source-list,
#modal-targeting .player-archive,
#modal-targeting .npc-archive,
#modal-targeting .targeting-distance-rule-list {
  gap: 5px;
  padding-right: 2px;
}

#modal-targeting .target-profile-row {
  padding: 6px;
  border-color: var(--modal-ux-line-soft);
  background: rgba(255, 255, 255, 0.012);
}

#modal-targeting .target-profile-head {
  gap: 5px;
  align-items: center;
}

#modal-targeting .target-profile-priority,
#modal-targeting .target-profile-badge {
  min-height: 18px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.016);
}

#modal-targeting .target-profile-name {
  font-size: 11px;
}

#modal-targeting .target-profile-actions {
  gap: 3px;
}

#modal-targeting .target-profile-grid {
  grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
  gap: 4px;
}

#modal-targeting .target-profile-grid label {
  gap: 2px;
  min-width: 0;
}

#modal-targeting .target-profile-grid .modal-number-stepper {
  max-width: 96px;
  grid-template-columns: 52px 42px;
}

#modal-targeting .target-profile-grid .modal-number-stepper-input,
#modal-targeting .target-profile-grid input[type="number"] {
  width: 52px;
  max-width: 52px;
}

#modal-targeting .target-profile-grid select {
  width: 100%;
  max-width: 112px;
}

#modal-targeting .compact-profile-flags {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

#modal-targeting .compact-profile-flags .target-profile-check {
  min-height: 24px;
  padding: 3px 5px;
}

#modal-targeting .compact-profile-flags .target-profile-check span {
  font-size: 9px;
  line-height: 1.05;
}

#modal-targeting .target-profile-team-kill-grid {
  gap: 4px;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
}

#modal-targeting .target-profile-team-kill-vocations {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

#modal-targeting .target-profile-team-kill-preset select {
  max-width: 108px;
  min-height: 22px;
}

#modal-targeting .target-queue-policy-card {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 6px;
}

#modal-targeting .target-policy-copy {
  font-size: 9px;
  line-height: 1.18;
}

#modal-targeting .route-hunt-runtime-grid {
  grid-template-columns: repeat(auto-fit, minmax(108px, 136px));
  justify-content: start;
}

#modal-targeting .route-hunt-queue-field textarea {
  min-height: 70px;
  max-height: 96px;
}

#modal-targeting .target-blacklist-field textarea {
  min-height: 42px;
}

#modal-targeting .route-hunt-combat-panel {
  padding: 6px;
  border-color: var(--modal-ux-line-soft);
  border-radius: 5px;
}

#modal-targeting .monster-pill,
#modal-targeting .presence-chip,
#modal-targeting .selected-target-chip {
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 4px;
  border-color: var(--modal-ux-line);
  background: rgba(255, 255, 255, 0.016);
}

@media (max-width: 1180px) {

  #modal-autowalk .route-main-layout,
  #modal-targeting .route-hunt-grid-3col,
  #modal-targeting .route-hunt-modal-head-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-autowalk .route-stack-card-head,
  #modal-autowalk .route-editor-card-head,
  #modal-autowalk .route-section-head-inline {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .modal-layer {
    padding: 4px;
  }

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  #modal-autowalk,
  #modal-targeting {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
    padding: 4px;
  }

  #modal-autowalk .route-item-shared-grid,
  #modal-targeting .target-queue-policy-card,
  #modal-targeting .compact-profile-flags {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Final literals for renderer tests and the active condensed modal shell. */
.modal-panel .modal-actions .modal-close-button {
  border: 1px solid #d65345;
  background: #2e1516;
  color: #ffe8e3;
}

.modal-panel .modal-actions .modal-save-button,
.modal-panel .modal-actions [data-save-modules] {
  border: 1px solid #72bf4f;
  background: #173018;
  color: #f4ffe8;
}

.modal-panel {
  gap: 5px;
}

.modal-body {
  gap: 5px;
}

/* Absolute final modal audit closure. Keep this block at EOF. */
.modal-layer {
  padding: 8px;
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  width: calc(100vw - 16px);
  max-width: calc(100vw - 16px);
  height: calc(100dvh - 16px);
  max-height: calc(100dvh - 16px);
  padding: 8px;
  gap: 8px;
  border-color: #2c3540;
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 84px),
    #0b0f14;
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.54);
}

.modal-panel-route-picker {
  width: min(560px, calc(100vw - 16px));
  height: auto;
  max-height: calc(100dvh - 16px);
}

.modal-panel-account-registry {
  width: min(980px, calc(100vw - 16px));
  max-width: min(980px, calc(100vw - 16px));
  height: auto;
  max-height: min(90dvh, calc(100dvh - 16px));
}

.modal-panel-console,
.modal-panel-presets,
#modal-module.module-modal-workspace {
  width: min(1280px, calc(100vw - 16px));
  max-width: min(1280px, calc(100vw - 16px));
  height: min(90dvh, calc(100dvh - 16px));
  max-height: min(90dvh, calc(100dvh - 16px));
  align-self: center;
}

.modal-head,
.modal-actions {
  min-height: 38px;
  padding: 6px 8px;
  gap: 8px;
  border: 1px solid #222a33;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.018);
}

.modal-actions {
  justify-content: flex-end;
  padding-top: 6px;
}

.modal-body,
.modal-split-layout,
.modal-scroll-stack,
.route-main-layout,
.route-main-column,
.route-side-scroll,
.route-stack-card-main,
.route-hunt-workspace,
.route-hunt-grid-3col,
.route-hunt-registry,
.route-hunt-presence-grid,
.hunt-preset-layout,
.modal-module-card,
.rune-maker-layout {
  gap: 8px;
}

.modal-scroll-stack,
.route-side-scroll,
.modal-body-accounts,
.modal-body-route-picker,
.module-rule-list,
.module-extra-fields,
.target-profile-list,
.monster-source-list,
.player-archive,
.npc-archive,
.targeting-distance-rule-list,
.hunt-preset-list,
.hunt-preset-detail,
.log-output {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.modal-panel :is(.route-stack-card,
  .route-editor-card,
  .route-drive-card,
  .route-avoid-fields-card,
  .route-tile-rule-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .targeting-config-card,
  .target-source-panel,
  .target-source-policy-card,
  .target-profile-card,
  .target-profile-row,
  .target-set-card,
  .target-watch-group,
  .route-hunt-registry-panel,
  .route-hunt-presence-panel,
  .account-registry-card,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .modal-module-card,
  .module-rule-card,
  .module-rule-section,
  .module-extra-fields,
  .module-card,
  .sub-card,
  .rune-maker-sidebar-card,
  .rune-maker-main) {
  padding: 8px;
  gap: 8px;
  border: 1px solid #222a33;
  border-radius: 5px;
  background: rgba(13, 18, 24, 0.74);
  box-shadow: none;
}

.modal-panel .btn {
  min-height: 28px;
  padding: 0 10px;
  border-radius: 4px;
  font-size: 10px;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
}

.modal-panel .btn.compact,
.modal-panel .module-rule-actions .btn {
  min-height: 24px;
  padding: 0 8px;
  font-size: 9px;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select) {
  min-height: 28px;
  height: 28px;
  padding: 4px 8px;
  border-color: #2c3540;
  border-radius: 4px;
  font-size: 10px;
  line-height: 1.2;
}

.modal-panel textarea {
  height: auto;
  min-height: 64px;
  line-height: 1.28;
}

.modal-panel label,
.modal-panel :is(.module-rule-control, .route-head-field, .route-picker-field, .route-coordinate-field) {
  gap: 4px;
  font-size: 9px;
  line-height: 1.16;
  letter-spacing: 0.04em;
}

.modal-panel :is(.form-grid, .route-tune-grid, .route-checks, .route-hunt-runtime-grid, .route-hunt-toggles) {
  gap: 7px;
  align-items: start;
  grid-auto-rows: min-content;
}

.modal-panel input[type="number"] {
  width: 64px;
  max-width: 64px;
}

.modal-panel .modal-number-stepper {
  width: fit-content;
  max-width: 116px;
  height: 28px;
  grid-template-columns: 64px 48px;
  gap: 4px;
}

.modal-panel .modal-number-stepper-input {
  width: 64px;
  max-width: 64px;
}

.modal-panel .modal-number-stepper-buttons {
  height: 28px;
  grid-template-columns: repeat(2, 22px);
  gap: 4px;
}

.modal-panel .modal-number-stepper-button,
#modal-autowalk .route-coordinate-nudge-button {
  width: 22px;
  min-width: 22px;
  height: 28px;
  min-height: 28px;
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(500px, 1.18fr) minmax(330px, 0.84fr) minmax(330px, 0.9fr);
  align-items: stretch;
}

#modal-autowalk .route-side-scroll {
  display: grid;
  grid-auto-rows: min-content;
  align-content: start;
  padding-right: 4px;
}

#modal-autowalk .route-panel-action-grid-waypoints {
  grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(88px, auto));
  gap: 6px;
}

#modal-autowalk .route-panel-action-grid-tile-rules,
#modal-autowalk .route-panel-action-grid-avoid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(auto-fit, minmax(124px, 1fr));
}

#modal-autowalk .route-checks {
  grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
}

#modal-autowalk .route-avoid-category-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

#modal-autowalk .route-avoid-toggle,
#modal-autowalk .route-avoid-category {
  min-height: 28px;
  padding: 4px 5px;
  gap: 4px;
}

#modal-autowalk .route-avoid-category-copy strong,
#modal-autowalk .route-avoid-toggle-copy strong {
  font-size: 10px;
  line-height: 1.12;
}

#modal-autowalk .route-avoid-category-copy small,
#modal-autowalk .route-avoid-toggle-copy small {
  font-size: 9px;
  line-height: 1.16;
}

#modal-autowalk .route-coordinate-nudge-control {
  grid-template-columns: 82px 50px;
  gap: 4px;
}

#modal-autowalk .route-coordinate-nudge-control input {
  width: 82px;
  max-width: 82px;
}

#modal-autowalk .route-coordinate-nudge-buttons {
  height: 28px;
  grid-template-columns: repeat(2, 23px);
  gap: 4px;
}

#modal-autowalk .route-item-shared-grid {
  grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(136px, auto)) minmax(72px, auto);
}

#modal-autowalk .route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  gap: 5px;
  padding: 5px;
  grid-auto-rows: minmax(50px, auto);
}

#modal-autowalk .route-main-column .route-stack-waypoint-grid .waypoint-row-main,
#modal-autowalk .waypoint-list-grid .waypoint-row-main {
  min-height: 50px;
  padding: 6px 34px 6px 8px;
}

#modal-autowalk .tile-rule-list {
  min-height: 88px;
}

#modal-targeting .route-hunt-modal-head-compact {
  grid-template-columns: auto auto minmax(320px, 1fr);
  gap: 8px;
}

#modal-targeting .route-hunt-head-stats,
#modal-targeting .target-profile-actions,
#modal-targeting .route-hunt-combat-panel .inline-actions,
#modal-targeting .route-hunt-registry-actions .inline-actions {
  gap: 5px;
}

#modal-targeting .route-hunt-search-bar {
  min-height: 28px;
  padding: 3px 8px;
}

#modal-targeting .target-queue-policy-card {
  gap: 8px;
  padding: 8px;
}

#modal-targeting .target-profile-list,
#modal-targeting .monster-source-list,
#modal-targeting .player-archive,
#modal-targeting .npc-archive,
#modal-targeting .targeting-distance-rule-list {
  gap: 7px;
  padding-right: 4px;
}

#modal-targeting .target-profile-grid {
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 6px;
}

#modal-targeting .compact-profile-flags {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

#modal-targeting .target-profile-grid .modal-number-stepper {
  max-width: 108px;
  grid-template-columns: 58px 46px;
}

#modal-targeting .target-profile-grid .modal-number-stepper-input,
#modal-targeting .target-profile-grid input[type="number"] {
  width: 58px;
  max-width: 58px;
}

#modal-targeting .target-profile-grid select {
  max-width: 132px;
}

#modal-accounts .modal-body-accounts,
#modal-accounts .account-registry-card,
#modal-route-library-picker .modal-body-route-picker,
#modal-presets .hunt-preset-layout,
#modal-module .modal-body-module {
  gap: 8px;
}

#modal-accounts .account-registry-card .form-grid.two {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
#modal-module.module-modal-compact .anti-idle-control-grid,
#modal-module.module-modal-compact .reconnect-control-grid,
#modal-autowalk .route-tune-grid,
#modal-targeting .route-hunt-runtime-grid {
  grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid,
.modal-panel .module-rule-grid {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 6px;
}

@media (min-width: 1181px) {
  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(380px, 0.94fr) minmax(480px, 1.14fr) minmax(360px, 0.92fr);
    gap: 8px;
  }
}

@media (max-width: 1180px) {

  #modal-autowalk .route-main-layout,
  #modal-targeting .route-hunt-grid-3col,
  #modal-targeting .route-hunt-modal-head-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-autowalk .route-stack-card-head,
  #modal-autowalk .route-editor-card-head,
  #modal-autowalk .route-section-head-inline,
  #modal-targeting .target-queue-policy-card,
  #modal-targeting .compact-profile-flags {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .modal-layer {
    padding: 4px;
  }

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  .modal-panel-module,
  .modal-panel-console,
  .modal-panel-presets,
  .modal-panel-account-registry,
  #modal-targeting,
  #modal-autowalk {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
    padding: 6px;
    gap: 6px;
  }

  .modal-panel .modal-number-stepper {
    grid-template-columns: 60px 44px;
  }

  .modal-panel .modal-number-stepper-input,
  .modal-panel input[type="number"] {
    width: 60px;
    max-width: 60px;
  }

  #modal-autowalk .route-item-shared-grid,
  #modal-autowalk .route-avoid-category-grid,
  #modal-autowalk .route-avoid-metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Final black polish lock: must stay after every desktop/modal audit cascade. */
:root {
  --bg: #050505;
  --bg-2: #080808;
  --bg-3: #0b0b0b;
  --panel: #101010;
  --panel-2: #0b0b0b;
  --panel-3: #151515;
  --line: #2a2a2a;
  --line-soft: #1f1f1f;
  --line-bright: #77736b;
  --text: #ebebeb;
  --muted: #aaa7a0;
  --accent: #d7b56d;
  --accent-2: #efd996;
  --accent-text: #f54e00;
  --accent-dim: #211a0c;
  --tab-active-bg: #111111;
  --tab-active-bg-hover: #171717;
  --tab-active-text: #f6efe0;
  --tab-active-muted: #dccb9f;
  --tab-active-border: #d7b56d;
  --surface-panel: #0f0f0f;
  --surface-elevated: #141414;
  --surface-inset: rgba(0, 0, 0, 0.42);
  --surface-note: rgba(255, 255, 255, 0.035);
  --focus-ring: 0 0 0 1px #050505, 0 0 0 3px rgba(215, 181, 109, 0.34);
}

.app {
  border-color: #252525;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.028), transparent 74px),
    #050505;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 16px 34px rgba(0, 0, 0, 0.44);
}

.bot-strip,
.panel-card,
.module-card,
.quick-module-card,
.route-toggle-card,
.sub-card,
.desk-status-cluster,
.desk-action-group,
.control-group,
.desk-metric,
.summary-cell,
.route-library-meta,
.route-type-help,
.target-set-card,
.target-source-column,
.waypoint-chip,
.feed-row,
.waypoint-row,
.feed-card,
.compact-hero,
.compact-board,
.route-live-preview-shell {
  border-color: #252525;
  background: #0f0f0f;
  box-shadow: none;
}

.desk-panel legend,
.section-title,
.module-title,
.route-card-label,
.compact-hero-title,
#desk-title {
  color: #e7d39a;
}

.btn,
.compact-command-button,
.quick-session-waypoints-button,
.route-panel-button,
.route-add-button,
.route-stop-aggro-button,
.route-reset-panel-button,
.route-off-button,
#new-route,
#window-close,
#refresh,
#compact-view,
#window-pin,
#desk-presets {
  border-color: #323232;
  background: #151515;
  color: #ececec;
  box-shadow: none;
  text-shadow: none;
}

.btn:hover:not(:disabled),
.compact-command-button:hover:not(:disabled),
.quick-session-waypoints-button:hover:not(:disabled),
.route-panel-button:hover:not(:disabled),
.route-add-button:hover:not(:disabled),
.route-stop-aggro-button:hover:not(:disabled),
.route-reset-panel-button:hover:not(:disabled),
.route-off-button:hover:not(:disabled),
#new-route:hover:not(:disabled),
#window-close:hover:not(:disabled),
#refresh:hover:not(:disabled),
#compact-view:hover:not(:disabled),
#window-pin:hover:not(:disabled),
#desk-presets:hover:not(:disabled) {
  border-color: #5e5a52;
  background: #1c1c1c;
  box-shadow: none;
  transform: none;
}

#new-route,
#desk-presets,
#refresh,
#compact-view,
#window-pin,
#window-pin[aria-pressed="true"]:not(:disabled),
#window-pin.active:not(:disabled),
.route-panel-button,
.route-add-button,
.compact-command-button-route,
.compact-split-card-route,
.route-selection-summary {
  border-color: #3a3a3a;
  background: #141414;
  color: #e7e7e7;
}

.quick-module-card:hover,
.route-toggle-card:hover,
.quick-module-card:focus-within,
.route-toggle-card:focus-within,
.interactive-summary-card:hover,
.interactive-summary-card:focus-visible,
.interactive-summary-card:focus-within,
.route-overview-metric-button:hover,
.route-overview-metric-button:focus-visible,
.quick-module-open:hover,
.route-toggle-open:hover,
.quick-module-open:focus-visible,
.route-toggle-open:focus-visible {
  border-color: #46433d;
  background: #151515;
  box-shadow: none;
}

.quick-module-card[data-state="off"],
.route-toggle-card[data-state="off"],
.compact-split-card[data-state="off"] {
  border-color: #252525;
  background: #0b0b0b;
}

.quick-module-card[data-state="blocked"],
.route-toggle-card[data-state="blocked"],
.compact-split-card[data-state="blocked"] {
  border-color: rgba(215, 181, 109, 0.36);
  background: #171409;
}

.quick-module-card[data-state="snoozed"],
.compact-split-card[data-state="snoozed"] {
  border-color: rgba(110, 199, 230, 0.42);
  background: #0f171b;
}

.bot-tab,
.bot-tab-select {
  border-color: #292929;
  background: #101010;
  color: #ededed;
  box-shadow: none;
}

.bot-tab {
  padding: 2px;
  gap: 2px;
}

.bot-tab-select {
  padding: 3px 5px 3px 7px;
}

.bot-tab:hover,
.bot-tab:focus-within,
.bot-tab-select:hover:not(:disabled) {
  border-color: #555047;
  background: #161616;
  box-shadow: none;
}

.bot-tab.active,
.bot-tab.active:hover,
.bot-tab.active:focus-within {
  border-color: var(--tab-active-border);
  outline-color: rgba(215, 181, 109, 0.28);
  background:
    linear-gradient(180deg, rgba(215, 181, 109, 0.12), transparent 44%),
    var(--tab-active-bg);
  color: var(--tab-active-text);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.055),
    0 0 0 1px rgba(215, 181, 109, 0.18);
}

.bot-tab.active:hover,
.bot-tab.active:hover .bot-tab-select {
  background:
    linear-gradient(180deg, rgba(215, 181, 109, 0.14), transparent 46%),
    var(--tab-active-bg-hover);
}

.bot-tab.active .bot-tab-select {
  border-color: rgba(215, 181, 109, 0.58);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 42%),
    #141414;
  color: var(--tab-active-text);
  box-shadow: inset 3px 0 0 rgba(215, 181, 109, 0.88);
}

.bot-tab.active::before,
.bot-tab.active:hover::before,
.bot-tab.active:focus-within::before {
  inset: 5px auto 5px 3px;
  width: 3px;
  border-radius: 3px;
  opacity: 1;
  background: linear-gradient(180deg, #f0d990, #b98f38);
  box-shadow: 0 0 10px rgba(215, 181, 109, 0.22);
}

.bot-tab.active:not(.drop-before):not(.drop-after)::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 2px;
  display: block;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(215, 181, 109, 0.7), transparent);
  box-shadow: none;
}

.bot-tab.active .bot-tab-select strong {
  color: #f7f0de;
}

.bot-tab.active .bot-tab-state,
.bot-tab.active .bot-tab-metric {
  border-color: rgba(215, 181, 109, 0.24);
  background: rgba(215, 181, 109, 0.08);
  color: #dfcf9e;
}

.bot-tab-state.route {
  border-color: rgba(215, 181, 109, 0.34);
  background: rgba(215, 181, 109, 0.08);
  color: #e8d7a6;
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  --modal-ux-bg: #080808;
  --modal-ux-bg-soft: #121212;
  --modal-ux-bg-inset: #040404;
  --modal-ux-line: #2d2d2d;
  --modal-ux-line-soft: #222222;
  --modal-ux-line-hot: #6b6251;
  --modal-ux-text: #ececec;
  --modal-ux-muted: #aaa59b;
  --modal-ux-warn: #d7b56d;
  border-color: #282522;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.024), transparent 86px),
    #080808;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 18px 48px rgba(0, 0, 0, 0.58);
}

.modal-head,
.modal-actions {
  gap: 8px;
  border-color: #232323;
  background: #0d0d0d;
  box-shadow: none;
}

.modal-panel :is(.route-stack-card,
  .route-drive-card,
  .route-editor-card,
  .route-tile-rule-card,
  .route-avoid-fields-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .targeting-config-card,
  .target-source-panel,
  .target-source-policy-card,
  .target-profile-card,
  .target-profile-row,
  .target-set-card,
  .target-watch-group,
  .route-hunt-registry,
  .route-hunt-registry-panel,
  .route-hunt-presence-panel,
  .modal-module-card,
  .module-rule-card,
  .module-rule-section,
  .module-extra-fields,
  .healer-setup-panel,
  .healer-family-panel,
  .looting-overview,
  .looting-card,
  .autoeat-overview,
  .autoeat-source-bank,
  .autoeat-column,
  .autoeat-controls,
  .rune-maker-sidebar-card,
  .rune-maker-main,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .account-registry-card) {
  border-color: #242424;
  background: #101010;
  box-shadow: none;
}

.modal-panel :is(.route-selection-summary,
  .route-hunt-inline-note,
  .route-file-note,
  .route-library-meta,
  .route-pack-preview,
  .route-danger-meta-item,
  .route-avoid-metric,
  .summary-cell,
  .field-note,
  .module-rule-summary,
  .monster-pill,
  .presence-chip,
  .selected-target-chip,
  .target-profile-badge,
  .target-profile-priority,
  .route-hunt-head-badge) {
  border-color: #2a2a2a;
  background: rgba(255, 255, 255, 0.026);
  box-shadow: none;
}

.modal-panel .btn {
  border-color: #303030;
  background: #151515;
  color: #ececec;
  box-shadow: none;
}

.modal-panel .btn:hover:not(:disabled) {
  border-color: #625b51;
  background: #1b1b1b;
  box-shadow: none;
  transform: none;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select),
.modal-panel .modal-number-stepper-button,
#modal-autowalk .route-coordinate-nudge-button {
  border-color: #303030;
  background: #070707;
  color: #ececec;
  box-shadow: none;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select):focus {
  border-color: #d7b56d;
  box-shadow: 0 0 0 1px rgba(215, 181, 109, 0.24);
}

.modal-panel input[type="checkbox"],
#modal-targeting input[type="checkbox"] {
  border-color: #4a4a4a;
  background: #070707;
  box-shadow: none;
}

.modal-panel input[type="checkbox"]:checked,
#modal-targeting input[type="checkbox"]:checked {
  border-color: rgba(126, 201, 108, 0.78);
  background: #173018;
}

.modal-panel :is(.checks label, .route-checks label, .module-rule-check):has(input[type="checkbox"]:checked),
.modal-panel :is(.route-avoid-toggle, .route-avoid-category):has(input[type="checkbox"]:checked),
#modal-targeting :is(.checks label, .module-rule-check):has(input[type="checkbox"]:checked) {
  border-color: rgba(126, 201, 108, 0.36);
  background: rgba(23, 48, 24, 0.42);
  color: #e7f5df;
}

#modal-targeting .player-archive .presence-chip,
#modal-targeting .player-archive .presence-chip.live,
#modal-targeting .player-archive .presence-chip.history,
.monster-pill,
.target-profile-badge,
.target-profile-priority,
.route-hunt-head-badge {
  border-color: #2c2c2c;
  background: #111111;
  color: #ececec;
}

.modal-panel .modal-actions .modal-close-button,
.modal-panel .modal-actions [data-close-modal] {
  border: 1px solid #d65345;
  background: #2e1516;
  color: #ffe8e3;
}

.modal-panel .modal-actions .modal-save-button,
.modal-panel .modal-actions [data-save-modules] {
  border: 1px solid #72bf4f;
  background: #173018;
  color: #f4ffe8;
}

.modal-panel {
  gap: 5px;
}

.modal-body {
  gap: 5px;
}

/* Computed-style action color lock for the final black modal cascade. */
.modal-panel .modal-actions .btn.danger.modal-close-button {
  border-color: #d65345;
  background-color: #2e1516;
  color: #ffe8e3;
}

.modal-panel .modal-actions .btn.primary.modal-save-button,
.modal-panel .modal-actions .btn.primary[data-save-modules] {
  border-color: #72bf4f;
  background-color: #173018;
  color: #f4ffe8;
}

.modal-panel .modal-actions .btn.danger.modal-close-button {
  border-color: #d65345 !important;
  background-color: #2e1516 !important;
  color: #ffe8e3 !important;
}

.modal-panel .modal-actions .btn.primary.modal-save-button,
.modal-panel .modal-actions .btn.primary[data-save-modules] {
  border-color: #72bf4f !important;
  background-color: #173018 !important;
  color: #f4ffe8 !important;
}

.modal-panel .modal-actions .btn.danger.modal-close-button {
  background: #2e1516 !important;
}

.modal-panel .modal-actions .btn.primary.modal-save-button,
.modal-panel .modal-actions .btn.primary[data-save-modules] {
  background: #173018 !important;
}

/* Final modal spacing lock for the black desktop cascade. */
.modal-layer {
  padding: 8px;
}

.modal-panel,
.modal-panel-wide,
.modal-panel-targeting,
.route-modal-panel,
.modal-panel-module,
.modal-panel-console,
.modal-panel-presets,
.modal-panel-account-registry,
#modal-targeting,
#modal-autowalk {
  width: calc(100vw - 16px);
  max-width: calc(100vw - 16px);
  height: calc(100dvh - 16px);
  max-height: calc(100dvh - 16px);
  padding: 8px;
  gap: 8px;
  border-radius: 6px;
}

.modal-panel-route-picker {
  width: min(560px, calc(100vw - 16px));
  height: auto;
  max-height: calc(100dvh - 16px);
}

.modal-panel-account-registry {
  width: min(980px, calc(100vw - 16px));
  max-width: min(980px, calc(100vw - 16px));
  height: auto;
  max-height: min(90dvh, calc(100dvh - 16px));
}

.modal-panel-console,
.modal-panel-presets,
#modal-module.module-modal-workspace {
  width: min(1280px, calc(100vw - 16px));
  max-width: min(1280px, calc(100vw - 16px));
  height: min(90dvh, calc(100dvh - 16px));
  max-height: min(90dvh, calc(100dvh - 16px));
  align-self: center;
}

.modal-head,
.modal-actions {
  min-height: 38px;
  padding: 6px 8px;
  gap: 8px;
  border-radius: 5px;
}

.modal-actions {
  justify-content: flex-end;
  padding-top: 6px;
}

.modal-body,
.modal-split-layout,
.modal-scroll-stack,
.route-main-layout,
.route-main-column,
.route-side-scroll,
.route-stack-card-main,
.route-hunt-workspace,
.route-hunt-grid-3col,
.route-hunt-registry,
.route-hunt-presence-grid,
.hunt-preset-layout,
.modal-module-card,
.rune-maker-layout {
  gap: 8px;
}

.modal-panel :is(.route-stack-card,
  .route-editor-card,
  .route-drive-card,
  .route-avoid-fields-card,
  .route-tile-rule-card,
  .route-danger-bar,
  .route-hunt-launchpad,
  .targeting-config-card,
  .target-source-panel,
  .target-source-policy-card,
  .target-profile-card,
  .target-profile-row,
  .target-set-card,
  .target-watch-group,
  .route-hunt-registry-panel,
  .route-hunt-presence-panel,
  .account-registry-card,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .hunt-preset-detail-card,
  .modal-module-card,
  .module-rule-card,
  .module-rule-section,
  .module-extra-fields,
  .module-card,
  .sub-card,
  .rune-maker-sidebar-card,
  .rune-maker-main) {
  padding: 8px;
  gap: 8px;
  border-radius: 5px;
}

.modal-panel .btn {
  min-height: 28px;
  padding: 0 10px;
  border-radius: 4px;
}

.modal-panel .btn.compact,
.modal-panel .module-rule-actions .btn {
  min-height: 24px;
  padding: 0 8px;
}

.modal-panel :is(input:not([type="checkbox"]), textarea, select) {
  min-height: 28px;
  height: 28px;
  padding: 4px 8px;
  border-radius: 4px;
}

.modal-panel textarea {
  height: auto;
  min-height: 64px;
}

.modal-panel input[type="number"] {
  width: 64px;
  max-width: 64px;
}

.modal-panel .modal-number-stepper {
  width: fit-content;
  max-width: 116px;
  height: 28px;
  grid-template-columns: 64px 48px;
  gap: 4px;
}

.modal-panel .modal-number-stepper-input {
  width: 64px;
  max-width: 64px;
}

.modal-panel .modal-number-stepper-buttons {
  height: 28px;
  grid-template-columns: repeat(2, 22px);
  gap: 4px;
}

.modal-panel .modal-number-stepper-button,
#modal-autowalk .route-coordinate-nudge-button {
  width: 22px;
  min-width: 22px;
  height: 28px;
  min-height: 28px;
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(500px, 1.18fr) minmax(330px, 0.84fr) minmax(330px, 0.9fr);
  align-items: stretch;
}

#modal-autowalk .route-side-scroll {
  display: grid;
  grid-auto-rows: min-content;
  align-content: start;
  padding-right: 4px;
}

#modal-autowalk .route-panel-action-grid-waypoints {
  grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(88px, auto));
}

#modal-autowalk .route-avoid-category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

#modal-autowalk .route-avoid-toggle,
#modal-autowalk .route-avoid-category {
  min-height: 34px;
  padding: 6px 7px;
  gap: 7px;
}

#modal-autowalk .route-coordinate-nudge-control {
  grid-template-columns: 82px 50px;
  gap: 4px;
}

#modal-autowalk .route-coordinate-nudge-control input {
  width: 82px;
  max-width: 82px;
}

#modal-autowalk .route-coordinate-nudge-buttons {
  height: 28px;
  grid-template-columns: repeat(2, 23px);
  gap: 4px;
}

#modal-autowalk .route-item-shared-grid {
  grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(136px, auto)) minmax(72px, auto);
}

#modal-autowalk .route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  gap: 5px;
  padding: 5px;
  grid-auto-rows: minmax(50px, auto);
}

#modal-autowalk .tile-rule-list {
  min-height: 88px;
}

#modal-targeting .route-hunt-modal-head-compact {
  grid-template-columns: auto auto minmax(320px, 1fr);
  gap: 8px;
}

#modal-targeting .route-hunt-search-bar {
  min-height: 28px;
  padding: 3px 8px;
}

#modal-targeting .target-queue-policy-card {
  gap: 8px;
  padding: 8px;
}

#modal-targeting .target-profile-list,
#modal-targeting .monster-source-list,
#modal-targeting .player-archive,
#modal-targeting .npc-archive,
#modal-targeting .targeting-distance-rule-list {
  gap: 7px;
  padding-right: 4px;
}

#modal-targeting .target-profile-grid {
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 6px;
}

#modal-targeting .compact-profile-flags {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

#modal-targeting .target-profile-grid .modal-number-stepper {
  max-width: 108px;
  grid-template-columns: 58px 46px;
}

#modal-targeting .target-profile-grid .modal-number-stepper-input,
#modal-targeting .target-profile-grid input[type="number"] {
  width: 58px;
  max-width: 58px;
}

#modal-accounts .modal-body-accounts,
#modal-accounts .account-registry-card,
#modal-route-library-picker .modal-body-route-picker,
#modal-presets .hunt-preset-layout,
#modal-module .modal-body-module {
  gap: 8px;
}

@media (min-width: 1181px) {
  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(380px, 0.94fr) minmax(480px, 1.14fr) minmax(360px, 0.92fr);
    gap: 8px;
  }
}

@media (max-width: 1180px) {

  #modal-autowalk .route-main-layout,
  #modal-targeting .route-hunt-grid-3col,
  #modal-targeting .route-hunt-modal-head-compact {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .modal-layer {
    padding: 4px;
  }

  .modal-panel,
  .modal-panel-wide,
  .modal-panel-targeting,
  .route-modal-panel,
  .modal-panel-module,
  .modal-panel-console,
  .modal-panel-presets,
  .modal-panel-account-registry,
  #modal-targeting,
  #modal-autowalk {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
    padding: 6px;
    gap: 6px;
  }
}

@media (min-width: 1181px) {
  #modal-targeting .route-hunt-workspace-modal {
    padding: 8px;
  }

  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(500px, 1.2fr) minmax(360px, 0.9fr) minmax(360px, 0.92fr);
    gap: 8px;
  }

  #modal-targeting .route-hunt-profile-panel,
  #modal-targeting .route-hunt-config-panel,
  #modal-targeting .route-hunt-registry-panel,
  #modal-targeting .route-hunt-presence-panel,
  #modal-targeting .route-hunt-combat-panel {
    padding: 6px;
  }

  #modal-targeting .route-hunt-config-panel {
    gap: 8px;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    align-content: start;
  }

  #modal-targeting .target-queue-policy-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding: 7px;
  }

  #modal-targeting .target-blacklist-field {
    grid-column: 1 / -1;
  }

  #modal-targeting .route-hunt-runtime-grid {
    grid-template-columns: repeat(3, minmax(94px, max-content));
    gap: 7px 10px;
    align-content: start;
    align-items: start;
    justify-content: start;
  }

  #modal-targeting .route-hunt-runtime-grid>label {
    width: max-content;
    min-width: 0;
    align-self: start;
    justify-self: start;
  }

  #modal-targeting .route-hunt-wide-field {
    grid-column: span 2;
  }

  #modal-targeting .route-hunt-wide-field input {
    width: 176px;
    max-width: 176px;
  }

  #modal-targeting .route-hunt-toggles {
    grid-template-columns: repeat(2, minmax(96px, max-content));
    justify-content: start;
  }

  #modal-targeting .route-hunt-combat-panel {
    min-height: 0;
    grid-template-rows: auto auto minmax(0, 1fr);
    align-content: start;
  }

  #modal-targeting .target-profile-row {
    padding: 5px;
    gap: 5px;
  }

  #modal-targeting .target-profile-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px 6px;
  }

  #modal-targeting .target-profile-grid label {
    display: grid;
    grid-template-columns: minmax(42px, 0.72fr) max-content;
    align-items: center;
    justify-content: stretch;
    column-gap: 5px;
  }

  #modal-targeting .target-profile-grid label span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #modal-targeting .target-profile-grid .modal-number-stepper {
    max-width: 100px;
    grid-template-columns: 56px 40px;
  }

  #modal-targeting .target-profile-grid .modal-number-stepper-input,
  #modal-targeting .target-profile-grid input[type="number"] {
    width: 56px;
    max-width: 56px;
  }

  #modal-targeting .target-profile-grid select {
    max-width: 116px;
  }

  #modal-targeting .compact-profile-flags {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 5px;
  }

  #modal-targeting .compact-profile-flags .target-profile-check {
    min-width: 0;
    justify-content: flex-start;
  }

  #modal-targeting .compact-profile-flags .target-profile-check span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* Session strip and right action grid final polish. */
.top-strip {
  --top-strip-side-width: 376px;
  min-height: var(--top-strip-height);
  height: var(--top-strip-height);
  gap: 4px;
  border-color: rgba(52, 61, 72, 0.96);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 68%),
    #0a0f14;
}

.top-strip-side {
  min-width: 0;
}

.bot-tabs {
  gap: 4px;
  padding: 1px;
}

.bot-tab {
  gap: 3px;
  padding: 2px;
  border-color: rgba(46, 55, 66, 0.96);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 50%),
    #0d1217;
}

.bot-tab:hover,
.bot-tab:focus-within {
  border-color: rgba(104, 116, 130, 0.88);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent 50%),
    #121922;
}

.bot-tab-select {
  border-color: rgba(31, 39, 48, 0.96);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 44%),
    #0b1015;
  padding: 3px 5px 3px 7px;
}

.bot-tab-select strong {
  color: #edf1f5;
  font-size: 10px;
  line-height: 1.1;
}

.bot-tab-state,
.bot-tab-metric {
  border-color: rgba(67, 77, 90, 0.72);
  background: rgba(255, 255, 255, 0.025);
}

.bot-tab.active,
.bot-tab.active:hover,
.bot-tab.active:focus-within {
  border-color: rgba(227, 197, 123, 0.88);
  background:
    linear-gradient(180deg, rgba(227, 197, 123, 0.13), transparent 48%),
    #16140e;
}

.bot-tab.active .bot-tab-select {
  border-color: rgba(227, 197, 123, 0.56);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 44%),
    #101419;
}

.bot-tab-toggle {
  border-color: #4f9b66;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 45%),
    linear-gradient(180deg, #1f6e3d, #123f26);
  color: #eefce8;
  font-size: 8px;
  font-weight: 700;
}

.bot-tab-toggle:hover:not(:disabled) {
  border-color: #72c689;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), transparent 45%),
    linear-gradient(180deg, #27804a, #164d2e);
}

.bot-tab.running .bot-tab-toggle {
  border-color: #d08356;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 45%),
    linear-gradient(180deg, #8b402c, #552319);
  color: #fff0e9;
}

.bot-tab.running .bot-tab-toggle:hover:not(:disabled) {
  border-color: #eea174;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), transparent 45%),
    linear-gradient(180deg, #a24a32, #65291d);
}

.bot-tab.locked .bot-tab-toggle,
.bot-tab-toggle:disabled {
  border-color: rgba(79, 88, 100, 0.74);
  background: #151a20;
  color: #aeb6c0;
}

.desk-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

#new-session {
  grid-column: 1;
  grid-row: 1;
}

#refresh {
  grid-column: 2;
  grid-row: 1;
}

#new-route {
  grid-column: 1;
  grid-row: 2;
}

#desk-accounts {
  grid-column: 2;
  grid-row: 2;
}

#header-stop-all {
  grid-column: 3;
  grid-row: 2;
}

#compact-view {
  grid-column: 1 / -1;
  grid-row: 3;
}

#window-close {
  grid-column: 3;
  grid-row: 1;
}

.desk-actions>.btn {
  --desk-action-border: #64758a;
  --desk-action-top: #253241;
  --desk-action-bottom: #141c25;
  --desk-action-border-hover: #8799af;
  --desk-action-top-hover: #2e3d4f;
  --desk-action-bottom-hover: #1a2530;
  --desk-action-ring: rgba(123, 145, 171, 0.16);
  border-color: var(--desk-action-border);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 46%),
    linear-gradient(180deg, var(--desk-action-top), var(--desk-action-bottom));
  color: #f2f5f7;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.07),
    inset -1px -1px 0 rgba(0, 0, 0, 0.38),
    0 0 0 1px var(--desk-action-ring);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.24);
}

.desk-actions>.btn:hover:not(:disabled) {
  border-color: var(--desk-action-border-hover);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent 46%),
    linear-gradient(180deg, var(--desk-action-top-hover), var(--desk-action-bottom-hover));
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.09),
    inset -1px -1px 0 rgba(0, 0, 0, 0.34),
    0 0 0 1px color-mix(in srgb, var(--desk-action-border-hover) 24%, transparent);
}

#new-session {
  --desk-action-border: #6ecf78;
  --desk-action-top: #2e7b40;
  --desk-action-bottom: #154926;
  --desk-action-border-hover: #96e69b;
  --desk-action-top-hover: #37924c;
  --desk-action-bottom-hover: #1a5a2e;
  --desk-action-ring: rgba(110, 207, 120, 0.18);
}

#refresh {
  --desk-action-border: #58b8ea;
  --desk-action-top: #246d96;
  --desk-action-bottom: #163f61;
  --desk-action-border-hover: #82d0fb;
  --desk-action-top-hover: #2a7fac;
  --desk-action-bottom-hover: #1b4d73;
  --desk-action-ring: rgba(88, 184, 234, 0.18);
}

#window-close {
  --desk-action-border: #df6964;
  --desk-action-top: #8b3438;
  --desk-action-bottom: #4f1d25;
  --desk-action-border-hover: #f18b84;
  --desk-action-top-hover: #a03d41;
  --desk-action-bottom-hover: #60232c;
  --desk-action-ring: rgba(223, 105, 100, 0.2);
}

#new-route {
  --desk-action-border: #b78beb;
  --desk-action-top: #6247a0;
  --desk-action-bottom: #3a2b65;
  --desk-action-border-hover: #cda8fb;
  --desk-action-top-hover: #7354ba;
  --desk-action-bottom-hover: #463478;
  --desk-action-ring: rgba(183, 139, 235, 0.18);
}

#desk-route-files {
  --desk-action-border: #8294d7;
  --desk-action-top: #43569b;
  --desk-action-bottom: #28345f;
  --desk-action-border-hover: #a0b0ed;
  --desk-action-top-hover: #4f65b5;
  --desk-action-bottom-hover: #303e70;
  --desk-action-ring: rgba(130, 148, 215, 0.18);
}

#desk-accounts {
  --desk-action-border: #dfb85c;
  --desk-action-top: #886522;
  --desk-action-bottom: #533c14;
  --desk-action-border-hover: #f1cf7b;
  --desk-action-top-hover: #9e7628;
  --desk-action-bottom-hover: #624818;
  --desk-action-ring: rgba(223, 184, 92, 0.18);
}

#desk-route-panel {
  --desk-action-border: #6fa2d8;
  --desk-action-top: #315f9c;
  --desk-action-bottom: #1d3a61;
  --desk-action-border-hover: #8ebcea;
  --desk-action-top-hover: #3a70b5;
  --desk-action-bottom-hover: #234572;
  --desk-action-ring: rgba(111, 162, 216, 0.18);
}

#desk-hunt-studio {
  --desk-action-border: #5ebba7;
  --desk-action-top: #2b756b;
  --desk-action-bottom: #194945;
  --desk-action-border-hover: #7ed5bf;
  --desk-action-top-hover: #33897d;
  --desk-action-bottom-hover: #1e5651;
  --desk-action-ring: rgba(94, 187, 167, 0.18);
}

#compact-view {
  --desk-action-border: #65c1b0;
  --desk-action-top: #2e756d;
  --desk-action-bottom: #1b4646;
  --desk-action-border-hover: #89dcc8;
  --desk-action-top-hover: #37897f;
  --desk-action-bottom-hover: #215354;
  --desk-action-ring: rgba(101, 193, 176, 0.18);
}

#quick-toggle-cavebot-pause {
  --desk-action-border: #9886e3;
  --desk-action-top: #5a4a9b;
  --desk-action-bottom: #332b61;
  --desk-action-border-hover: #b2a3f4;
  --desk-action-top-hover: #6957b5;
  --desk-action-bottom-hover: #3d3471;
  --desk-action-ring: rgba(152, 134, 227, 0.2);
}

#header-stop-all {
  --desk-action-border: #b2795a;
  --desk-action-top: #6f3c29;
  --desk-action-bottom: #3d211b;
  --desk-action-border-hover: #cf9472;
  --desk-action-top-hover: #824832;
  --desk-action-bottom-hover: #492820;
  --desk-action-ring: rgba(178, 121, 90, 0.2);
}

#window-pin {
  --desk-action-border: #92bd70;
  --desk-action-top: #4e7434;
  --desk-action-bottom: #30491f;
  --desk-action-border-hover: #add68a;
  --desk-action-top-hover: #5c873d;
  --desk-action-bottom-hover: #395625;
  --desk-action-ring: rgba(146, 189, 112, 0.18);
}

#desk-presets {
  --desk-action-border: #b6bd69;
  --desk-action-top: #65742f;
  --desk-action-bottom: #3f4a1d;
  --desk-action-border-hover: #d0d884;
  --desk-action-top-hover: #758738;
  --desk-action-bottom-hover: #4a5722;
  --desk-action-ring: rgba(182, 189, 105, 0.18);
}

/* Final gap specificity lock for the modal shell test and active UI. */
#modal-autowalk.modal-panel,
#modal-targeting.modal-panel,
.modal-panel {
  gap: 8px;
}

#modal-autowalk .modal-body,
#modal-targeting .modal-body,
.modal-body {
  gap: 8px;
}

/* Modal audit true final lock: content-sized editors after all desktop polish. */
#modal-module.module-modal-compact {
  --module-compact-max: min(82dvh, calc(100dvh - 16px));
  --module-compact-body-max: calc(var(--module-compact-max) - 42px);
  width: min(860px, calc(100vw - 16px));
  max-width: min(860px, calc(100vw - 16px));
  height: auto;
  max-height: var(--module-compact-max);
  padding: 6px;
  gap: 6px;
  align-self: center;
  grid-template-rows: minmax(0, 1fr) auto;
}

#modal-module.module-modal-compact:not(.module-modal-headless) {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

#modal-module.module-modal-compact.module-modal-settings-only {
  width: min(780px, calc(100vw - 16px));
  max-width: min(780px, calc(100vw - 16px));
}

#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] {
  width: min(840px, calc(100vw - 16px));
  max-width: min(840px, calc(100vw - 16px));
}

#modal-module.module-modal-compact[data-active-module-key="banking"],
#modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"],
#modal-module.module-modal-compact[data-active-module-key="amuletAutoReplace"] {
  width: min(1080px, calc(100vw - 16px));
  max-width: min(1080px, calc(100vw - 16px));
}

#modal-module.module-modal-compact .modal-body-module,
#modal-module.module-modal-compact .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  overflow: hidden;
}

#modal-module.module-modal-compact .modal-module-card[data-module-panel="shared"] {
  height: auto;
  max-height: var(--module-compact-body-max);
  padding: 0;
  display: block;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module.module-modal-compact.module-modal-settings-only .modal-module-card[data-module-panel="shared"] {
  overflow: visible;
}

#modal-module.module-modal-compact .module-rule-list,
#modal-module.module-modal-compact .module-extra-fields {
  max-height: var(--module-compact-body-max);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(156px, 1fr));
  grid-auto-rows: min-content;
  align-content: start;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-extra-fields,
#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-extra-fields,
#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-extra-fields {
  grid-template-columns: repeat(3, minmax(140px, 1fr));
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control {
  min-height: 0;
  align-self: start;
  justify-self: stretch;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-rows: auto min-content;
  gap: 3px;
  align-content: start;
  justify-items: start;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check)>span {
  max-width: 100%;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.14;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) :is(input:not([type="checkbox"]), select) {
  width: min(100%, 176px);
  max-width: 176px;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:not(.module-rule-check) .modal-number-stepper {
  width: 104px;
  max-width: 104px;
  grid-template-columns: 58px 42px;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(textarea) {
  grid-column: span 2;
  max-width: none;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control textarea {
  width: min(100%, 360px);
  max-width: 360px;
  min-height: 54px;
}

#modal-module.module-modal-compact.module-modal-rule-only {
  width: min(1040px, calc(100vw - 16px));
  max-width: min(1040px, calc(100vw - 16px));
  max-height: min(86dvh, calc(100dvh - 16px));
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-card {
  padding: 6px;
  gap: 6px;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-sections {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 6px;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-section {
  padding: 0;
  border: 0;
  background: transparent;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid {
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="healer"] {
  width: min(1180px, calc(100vw - 16px));
  max-width: min(1180px, calc(100vw - 16px));
  height: min(82dvh, calc(100dvh - 16px));
  max-height: min(82dvh, calc(100dvh - 16px));
  align-self: center;
}

#modal-module[data-active-module-key="healer"] .modal-body-module,
#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"],
#modal-module[data-active-module-key="team"] .modal-body-module,
#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  overflow: hidden;
}

#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
  height: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(380px, 1.35fr) minmax(240px, 0.65fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 6px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module[data-active-module-key="healer"] #module-rule-list,
#modal-module[data-active-module-key="healer"] #module-extra-fields {
  min-height: 0;
  max-height: none;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module[data-active-module-key="healer"] .healer-shell,
#modal-module[data-active-module-key="healer"] .healer-setup-panel,
#modal-module[data-active-module-key="healer"] .healer-family-panel {
  gap: 6px;
}

#modal-module[data-active-module-key="healer"] .healer-setup-panel,
#modal-module[data-active-module-key="healer"] .healer-family-panel {
  padding: 6px;
}

#modal-module[data-active-module-key="healer"] .healer-setup-head,
#modal-module[data-active-module-key="healer"] .healer-family-head {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

#modal-module[data-active-module-key="healer"] .healer-setup-stats,
#modal-module[data-active-module-key="healer"] .healer-family-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="healer"] .healer-overview-title {
  font-size: 14px;
  line-height: 1.12;
}

#modal-module[data-active-module-key="healer"] .healer-family-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

#modal-module[data-active-module-key="team"] {
  width: min(1240px, calc(100vw - 16px));
  max-width: min(1240px, calc(100vw - 16px));
  height: min(84dvh, calc(100dvh - 16px));
  max-height: min(84dvh, calc(100dvh - 16px));
  align-self: center;
}

#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"] {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module[data-active-module-key="team"] .team-hunt-shell,
#modal-module[data-active-module-key="team"] .follow-train-layout,
#modal-module[data-active-module-key="team"] .follow-train-workspace,
#modal-module[data-active-module-key="team"] .follow-train-footer,
#modal-module[data-active-module-key="team"] .follow-train-overview {
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: repeat(4, minmax(130px, 220px));
  justify-content: start;
  gap: 6px;
}

#modal-module[data-active-module-key="team"] .team-sio-panel {
  padding: 5px;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(6, minmax(92px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-layout {
  grid-template-columns: minmax(280px, 0.56fr) minmax(0, 1.5fr);
}

#modal-module[data-active-module-key="team"] .follow-train-overview {
  grid-template-columns: repeat(6, minmax(96px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-footer {
  grid-template-columns: repeat(5, minmax(118px, 1fr));
}

#modal-targeting,
#modal-autowalk {
  width: min(1440px, calc(100vw - 16px));
  max-width: min(1440px, calc(100vw - 16px));
  height: min(88dvh, calc(100dvh - 16px));
  max-height: min(88dvh, calc(100dvh - 16px));
  align-self: center;
}

@media (min-width: 1181px) {
  #modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(500px, 1.24fr) minmax(340px, 0.78fr) minmax(350px, 0.86fr);
    gap: 7px;
  }
}

#modal-targeting .route-hunt-config-panel {
  gap: 6px;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  align-content: start;
  overflow: hidden;
}

#modal-targeting .route-hunt-queue-field textarea {
  min-height: 56px;
  max-height: 76px;
}

#modal-targeting .target-queue-policy-card {
  gap: 6px;
  padding: 6px;
}

#modal-targeting .target-policy-field {
  grid-template-rows: auto auto;
  gap: 3px;
}

#modal-targeting .target-policy-copy {
  max-height: 2.4em;
  overflow: hidden;
}

#modal-targeting .route-hunt-runtime-grid {
  grid-template-columns: repeat(3, minmax(96px, 116px));
  gap: 5px 8px;
  justify-content: start;
}

#modal-targeting .route-hunt-wide-field input {
  width: 176px;
  max-width: 176px;
}

#modal-targeting .route-hunt-toggles {
  grid-template-columns: repeat(2, minmax(96px, 132px));
  justify-content: start;
}

#modal-targeting .route-hunt-combat-panel {
  min-height: 0;
  padding: 6px;
  grid-template-rows: auto auto minmax(40px, auto);
}

#modal-targeting .targeting-distance-rule-list {
  min-height: 40px;
  max-height: 180px;
}

#modal-autowalk .route-modal-head {
  min-height: 0;
  padding: 5px 8px;
}

#modal-autowalk .route-modal-head-grid {
  grid-template-columns: minmax(340px, 0.78fr) minmax(380px, 1fr);
  gap: 8px;
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(500px, 1.18fr) minmax(280px, 0.64fr) minmax(320px, 0.82fr);
}

.modal-panel-route-picker {
  width: min(480px, calc(100vw - 16px));
  max-width: min(480px, calc(100vw - 16px));
}

.modal-panel-account-registry {
  width: min(900px, calc(100vw - 16px));
  max-width: min(900px, calc(100vw - 16px));
}

@media (max-width: 1180px) {

  #modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"],
  #modal-module[data-active-module-key="team"] .follow-train-layout,
  #modal-autowalk .route-main-layout,
  #modal-autowalk .route-modal-head-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid,
  #modal-module[data-active-module-key="team"] .follow-train-overview,
  #modal-module[data-active-module-key="team"] .follow-train-footer {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  }
}

@media (max-width: 760px) {

  #modal-module.module-modal-compact,
  #modal-module.module-modal-compact.module-modal-settings-only,
  #modal-module[data-active-module-key="healer"],
  #modal-module[data-active-module-key="team"],
  #modal-targeting,
  #modal-autowalk,
  .modal-panel-account-registry {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-module.module-modal-compact {
    --module-compact-max: calc(100dvh - 8px);
    --module-compact-body-max: calc(100dvh - 58px);
  }

  #modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-extra-fields {
    grid-template-columns: minmax(0, 1fr);
    overflow-y: auto;
  }

  #modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(textarea) {
    grid-column: auto;
  }
}

/* Flat waypoint grid surfaces after the compact/modal cascade locks. */
.waypoint-square-grid,
.waypoint-preview-live,
.route-main-column .route-stack-waypoint-grid,
#modal-autowalk .route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  background-color: #080a0c;
  background-image: none;
}

.waypoint-square-grid,
.waypoint-preview-live {
  --route-waypoint-grid-gap: 2px;
  column-gap: 2px;
  row-gap: 4px;
}

.waypoint-preview-live {
  padding-inline: 3px;
}

#modal-autowalk .route-main-column .route-stack-waypoint-grid,
#modal-autowalk .waypoint-list-grid {
  gap: 3px;
  padding: 3px;
}

.waypoint-chip[data-tone],
.route-live-waypoint[data-tone],
.waypoint-row[data-tone],
#modal-autowalk .route-main-column .route-stack-waypoint-grid .waypoint-row[data-tone],
#modal-autowalk .waypoint-list-grid .waypoint-row[data-tone] {
  border-color: rgba(var(--waypoint-rgb), 0.62);
}

.waypoint-chip[data-tone],
.route-live-waypoint[data-tone] {
  background: #0b0f12;
}

.waypoint-row[data-tone],
#modal-autowalk .route-main-column .route-stack-waypoint-grid .waypoint-row[data-tone],
#modal-autowalk .waypoint-list-grid .waypoint-row[data-tone] {
  background: #0b0f12;
}

.waypoint-chip[data-tone] .waypoint-chip-index,
.waypoint-row[data-tone] .waypoint-row-index,
.waypoint-chip[data-tone] .waypoint-type-pill,
.waypoint-row[data-tone] .waypoint-type-pill {
  background: rgba(var(--waypoint-rgb), 0.18);
}

.waypoint-chip[data-tone].current,
.waypoint-chip[data-tone].active,
.route-live-waypoint[data-tone].current,
.waypoint-row[data-tone].current {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px rgba(var(--waypoint-rgb), 0.45),
    0 0 18px rgba(var(--waypoint-rgb), 0.2);
}

/* Final route overview control lock. */
.route-overview-card {
  --route-control-height: 46px;
  --route-control-border: #313131;
  --route-control-border-hover: #5e5a52;
  --route-control-bg: #111111;
  --route-control-bg-hover: #171717;
  --route-control-press: #0c0c0c;
  --route-control-state-bg: #151515;
  --route-control-state-border: #383838;
  --route-control-state-muted: #b8b4ac;
  --route-control-on-bg: #17321b;
  --route-control-on-border: #70b760;
  --route-control-on-text: #f2ffe9;
  --route-control-warn-bg: #221a0d;
  --route-control-warn-border: #b58a3d;
  --route-control-warn-text: #f4dda8;
  --route-control-danger-bg: #2b1517;
  --route-control-danger-border: #d65345;
  --route-control-danger-text: #ffe8e3;
}

.route-overview-card .route-toggle-grid {
  gap: 4px;
  align-items: stretch;
}

.route-overview-card .route-mode-card,
.route-overview-card .route-reset-card {
  min-width: 0;
  min-height: var(--route-control-height);
  height: 100%;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-color: var(--route-control-border);
  border-radius: 0;
  background: var(--route-control-bg);
  box-shadow: none;
  transform: none;
}

.route-overview-card .route-mode-card {
  grid-template-columns: minmax(0, 1fr) 48px;
}

.route-overview-card .route-reset-card,
.route-overview-card .route-add-waypoint-card {
  width: auto;
}

.route-overview-card .route-mode-card:hover,
.route-overview-card .route-reset-card:hover,
.route-overview-card .route-mode-card:focus-within,
.route-overview-card .route-reset-card:focus-within {
  border-color: var(--route-control-border-hover);
  background: var(--route-control-bg-hover);
  box-shadow: none;
  transform: none;
}

.route-overview-card .route-mode-card[data-state],
.route-overview-card .route-mode-card[data-state="on"],
.route-overview-card .route-mode-card[data-state="off"] {
  border-color: var(--route-control-border);
  background: var(--route-control-bg);
  box-shadow: none;
}

.route-overview-card .route-mode-card[data-state="blocked"] {
  border-color: rgba(181, 138, 61, 0.54);
  background: var(--route-control-bg);
}

.route-overview-card .route-toggle-open,
.route-overview-card .route-toggle-button,
.route-overview-card .route-reset-button {
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: 0 6px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ececec;
  box-shadow: none;
  text-align: center;
  text-shadow: none;
  transform: none;
}

.route-overview-card .route-mode-card .route-toggle-open {
  align-items: center;
  justify-content: center;
  border-right: 1px solid var(--route-control-state-border);
}

.route-overview-card .route-mode-card .route-toggle-button:not(.route-reset-button) {
  align-items: center;
  justify-content: center;
  border-left: 0;
  background: var(--route-control-state-bg);
  color: var(--route-control-state-muted);
}

.route-overview-card .route-mode-card[data-state="on"] .route-toggle-button:not(.route-reset-button),
.route-overview-card .route-mode-card .route-toggle-button.active:not(.route-reset-button) {
  border-left-color: var(--route-control-on-border);
  background: var(--route-control-on-bg);
  color: var(--route-control-on-text);
}

.route-overview-card .route-mode-card[data-state="blocked"] .route-toggle-button:not(.route-reset-button) {
  background: var(--route-control-warn-bg);
  color: var(--route-control-warn-text);
}

.route-overview-card .route-toggle-open:hover:not(:disabled),
.route-overview-card .route-toggle-open:focus-visible,
.route-overview-card .route-toggle-button:hover:not(:disabled),
.route-overview-card .route-toggle-button:focus-visible,
.route-overview-card .route-reset-button:hover:not(:disabled),
.route-overview-card .route-reset-button:focus-visible {
  border-color: transparent;
  background: rgba(255, 255, 255, 0.04);
  box-shadow: none;
  transform: none;
}

.route-overview-card .route-mode-card .route-toggle-button.active:hover:not(:disabled),
.route-overview-card .route-mode-card[data-state="on"] .route-toggle-button:hover:not(:disabled) {
  background: #1d3c20;
}

.route-overview-card .route-toggle-open:active:not(:disabled),
.route-overview-card .route-toggle-button:active:not(:disabled),
.route-overview-card .route-reset-button:active:not(:disabled) {
  background: var(--route-control-press);
  box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.08);
}

.route-overview-card .route-toggle-open span,
.route-overview-card .route-toggle-button span,
.route-overview-card .route-reset-button span {
  max-width: 100%;
  color: inherit;
  font-size: 7px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
  white-space: normal;
  overflow-wrap: anywhere;
}

.route-overview-card .route-mode-card .route-toggle-button:not(.route-reset-button) span {
  display: none !important;
}

.route-overview-card .route-reset-button strong {
  display: block !important;
  max-width: 100%;
  color: inherit;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}

.route-overview-card .route-mode-card .route-toggle-button:not(.route-reset-button) strong {
  display: none !important;
  max-width: 100%;
  color: inherit;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}

.route-overview-card .route-reset-button {
  gap: 1px;
}

.route-overview-card .route-save-button {
  border-color: transparent;
  background: #152615;
  color: var(--route-control-on-text);
}

.route-overview-card .route-save-button:hover:not(:disabled) {
  background: #1b321b;
}

.route-overview-card .route-off-button,
.route-overview-card .route-off-button:hover:not(:disabled) {
  color: var(--route-control-danger-text);
}

.route-overview-card .route-off-button {
  background: var(--route-control-danger-bg);
}

.route-overview-card .route-off-button:hover:not(:disabled) {
  background: #351b1d;
}

.route-overview-card .route-mode-card:focus-within,
.route-overview-card .route-reset-card:focus-within {
  box-shadow: var(--focus-ring);
}

@media (min-width: 1181px) {
  .route-overview-card .route-toggle-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    grid-auto-rows: var(--route-control-height);
    justify-content: stretch;
  }

  .route-overview-card .route-waypoint-actions-cluster {
    display: contents;
  }

  .route-overview-card .route-mode-card {
    grid-column: span 2;
  }

  .route-overview-card .route-mode-card .route-toggle-button:not(.route-reset-button) strong {
    display: block !important;
  }

  .route-overview-card .route-reset-card {
    grid-column: span 1;
  }

  .route-overview-card .route-off-card {
    grid-column: span 2;
  }
}

/* Main-window route controls: direct buttons, no split-card wrappers. */
.route-overview-card .route-toggle-grid {
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  grid-auto-rows: var(--route-control-height);
  gap: 4px;
  justify-content: stretch;
  align-items: stretch;
}

.route-overview-card .route-control-button {
  width: 100%;
  min-width: 0;
  min-height: var(--route-control-height);
  height: var(--route-control-height);
  padding: 4px 6px;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 1px solid var(--route-control-border);
  border-radius: 0;
  background: var(--route-control-bg);
  color: #ececec;
  box-shadow: none;
  text-align: center;
  text-shadow: none;
  transform: none;
  overflow: hidden;
}

.route-overview-card .route-control-button:hover:not(:disabled),
.route-overview-card .route-control-button:focus-visible {
  border-color: var(--route-control-border-hover);
  background: var(--route-control-bg-hover);
  box-shadow: none;
  transform: none;
}

.route-overview-card .route-control-button:active:not(:disabled),
.route-overview-card .route-control-button[data-pressed="true"]:not(:disabled) {
  background: var(--route-control-press);
  box-shadow: var(--control-shadow-pressed);
  transform: none;
}

.route-overview-card .route-control-button:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.route-overview-card .route-control-button span,
.route-overview-card .route-control-button strong {
  display: block;
  max-width: 100%;
  color: inherit;
  line-height: 1.04;
  letter-spacing: 0;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}

.route-overview-card .route-control-button span {
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
}

.route-overview-card .route-control-button strong {
  font-size: 10px;
  font-weight: 700;
}

.route-overview-card .route-control-button[data-state="off"] strong,
.route-overview-card .route-control-button:not(.active):not([data-state="on"]) strong {
  color: var(--route-control-state-muted);
}

.route-overview-card .route-control-action:not([data-state]) strong {
  color: inherit;
}

.route-overview-card .route-control-button[data-state="on"],
.route-overview-card .route-control-button.active {
  border-color: var(--route-control-on-border);
  background: var(--route-control-on-bg);
  color: var(--route-control-on-text);
}

.route-overview-card .route-control-button[data-state="on"]:hover:not(:disabled),
.route-overview-card .route-control-button.active:hover:not(:disabled) {
  background: #1d3c20;
}

.route-overview-card .route-control-button[data-state="blocked"] {
  border-color: var(--route-control-warn-border);
  background: var(--route-control-warn-bg);
  color: var(--route-control-warn-text);
}

.route-overview-card .route-control-save {
  border-color: rgba(112, 166, 103, 0.72);
  color: var(--route-control-on-text);
}

.route-overview-card .route-control-warn {
  border-color: rgba(181, 138, 61, 0.64);
  color: var(--route-control-warn-text);
}

.route-overview-card .route-control-warn[data-state="on"],
.route-overview-card .route-control-warn.active {
  border-color: var(--route-control-warn-border);
  background: var(--route-control-warn-bg);
  color: var(--route-control-warn-text);
}

.route-overview-card .route-control-danger {
  border-color: var(--route-control-danger-border);
  color: var(--route-control-danger-text);
}

.route-overview-card .route-control-danger:hover:not(:disabled) {
  background: var(--route-control-danger-bg);
}

/* Modal control sizing lock: keep short controls from reserving full-width grid tracks. */
.modal-panel {
  --modal-control-track-tight: 132px;
  --modal-control-track: 176px;
  --modal-control-track-wide: 240px;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
#modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid,
.modal-panel .module-rule-grid,
#modal-module[data-active-module-key="trainer"] .trainer-settings-grid,
#modal-module.module-modal-compact .anti-idle-control-grid,
#modal-module.module-modal-compact .reconnect-control-grid,
#modal-module.module-modal-workspace .autoeat-controls,
#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 124px), var(--modal-control-track)));
  justify-content: start;
}

#modal-accounts .account-registry-card .form-grid.two {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 156px), var(--modal-control-track-wide)));
  justify-content: start;
}

#modal-presets .hunt-preset-toolbar {
  grid-template-columns: minmax(min(100%, 220px), max-content) max-content;
  justify-content: start;
}

#modal-targeting .route-hunt-runtime-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 96px), 116px));
  justify-content: start;
}

#modal-targeting .route-hunt-toggles {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 96px), 132px));
  justify-content: start;
}

#modal-module[data-active-module-key="healer"] .healer-setup-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 112px), var(--modal-control-track)));
  justify-content: start;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: max-content max-content max-content max-content;
  justify-content: start;
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(6, max-content);
  justify-content: start;
}

#modal-module[data-active-module-key="team"] .follow-train-footer {
  grid-template-columns: repeat(5, max-content);
  justify-content: start;
}

#modal-module[data-active-module-key="team"] :is(.team-hunt-control-strip,
  .team-sio-grid,
  .follow-train-footer) .module-rule-control {
  width: max-content;
  max-width: var(--modal-control-track);
  justify-self: start;
}

#modal-module[data-active-module-key="team"] :is(.team-hunt-control-strip,
  .team-sio-grid,
  .follow-train-footer) .module-rule-check {
  max-width: var(--modal-control-track-tight);
}

#modal-module[data-active-module-key="team"] :is(.team-hunt-control-strip,
  .team-sio-grid,
  .follow-train-footer) .module-rule-control:has(select) {
  max-width: var(--modal-control-track);
}

#modal-module[data-active-module-key="team"] :is(.team-hunt-control-strip,
  .team-sio-grid,
  .follow-train-footer) .module-rule-control:has(input[type="number"]),
#modal-module[data-active-module-key="team"] :is(.team-hunt-control-strip,
  .team-sio-grid,
  .follow-train-footer) .module-rule-control:has(.modal-number-stepper) {
  max-width: var(--modal-control-track-tight);
}

@media (max-width: 1180px) {

  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid,
  #modal-module[data-active-module-key="team"] .follow-train-footer {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 124px), var(--modal-control-track)));
  }
}

@media (max-width: 760px) {

  #modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
  #modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid,
  .modal-panel .module-rule-grid,
  #modal-module[data-active-module-key="trainer"] .trainer-settings-grid,
  #modal-module.module-modal-compact .anti-idle-control-grid,
  #modal-module.module-modal-compact .reconnect-control-grid,
  #modal-module.module-modal-workspace .autoeat-controls,
  #modal-autowalk .route-tune-grid,
  #modal-accounts .account-registry-card .form-grid.two,
  #modal-targeting .route-hunt-runtime-grid,
  #modal-targeting .route-hunt-toggles,
  #modal-module[data-active-module-key="healer"] .healer-setup-grid,
  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid,
  #modal-module[data-active-module-key="team"] .follow-train-footer,
  #modal-presets .hunt-preset-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] :is(.team-hunt-control-strip,
    .team-sio-grid,
    .follow-train-footer) .module-rule-control {
    width: 100%;
    max-width: none;
  }
}

/* Final modal audit lock: keep dense modal layouts compact and put state color on switches only. */
.modal-panel,
#modal-targeting,
#modal-autowalk {
  --modal-audit-gap: 5px;
  --modal-audit-toggle-shell-bg: transparent;
  --modal-audit-toggle-shell-border: transparent;
  --modal-audit-toggle-shell-hover: rgba(255, 255, 255, 0.025);
  --modal-audit-toggle-on: #173018;
  --modal-audit-toggle-on-border: rgba(126, 201, 108, 0.78);
}

.modal-panel.open {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.modal-panel .modal-actions {
  flex-shrink: 0;
}

#modal-autowalk .route-modal-head {
  min-height: 0;
  padding: 4px 6px;
  gap: 4px;
}

#modal-autowalk .route-modal-head-grid {
  grid-template-columns: minmax(320px, 0.92fr) minmax(460px, 0.9fr);
  align-items: start;
  gap: 6px;
}

#modal-autowalk .route-modal-head-block-right {
  justify-self: end;
  width: min(100%, 560px);
}

.route-name-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) max-content;
  align-items: end;
  gap: 6px;
}

.route-name-row .route-head-field-name,
.route-name-row .route-head-field-name input {
  width: 100%;
  max-width: none;
}

.route-name-row #new-blank-route {
  align-self: end;
  min-width: 112px;
}

#modal-autowalk .route-head-meta-row-route {
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
}

#modal-autowalk .route-head-meta-row-route .route-file-note,
#modal-autowalk .route-head-meta-row-route .route-validation-summary {
  min-height: 24px;
  padding: 3px 5px;
}

#modal-autowalk .route-pack-toolbar {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 6px;
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(500px, 1.22fr) minmax(250px, 0.56fr) minmax(330px, 0.78fr);
  gap: var(--modal-audit-gap);
}

#modal-autowalk .route-side-scroll {
  display: grid;
  grid-auto-rows: min-content;
  align-content: start;
  gap: var(--modal-audit-gap);
  padding-right: 4px;
}

#modal-autowalk .route-drive-card,
#modal-autowalk .route-avoid-fields-card,
#modal-autowalk .route-tile-rule-card,
#modal-module[data-active-module-key="team"] .team-sio-panel,
#modal-module[data-active-module-key="healer"] .healer-setup-panel,
#modal-module[data-active-module-key="ringAutoReplace"] .equipment-replace-slot,
#modal-module[data-active-module-key="ringAutoReplace"] .equipment-replace-shell {
  align-content: start;
  grid-auto-rows: min-content;
}

#modal-autowalk .route-drive-card .route-section-head-inline {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

#modal-autowalk .route-drive-card .route-card-tools-stretch {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(auto-fit, minmax(106px, 128px));
  justify-content: start;
  align-items: start;
  gap: 5px;
}

#modal-autowalk .route-checks {
  grid-template-columns: repeat(auto-fit, minmax(132px, max-content));
  justify-content: start;
}

.modal-panel .modal-number-stepper {
  max-width: 134px;
  grid-template-columns: 64px minmax(67px, auto);
}

.modal-panel .modal-number-stepper-buttons {
  grid-template-columns: repeat(2, minmax(32px, 1fr));
  gap: 3px;
}

.modal-panel .modal-number-stepper-button,
#modal-autowalk .route-coordinate-nudge-button {
  width: 32px;
  min-width: 32px;
  height: 28px;
  min-height: 28px;
  padding: 0;
  display: grid;
  place-items: center;
  overflow: visible;
}

.modal-panel .modal-number-stepper-button .route-coordinate-chevron,
#modal-autowalk .route-coordinate-nudge-button .route-coordinate-chevron {
  width: 10px;
  height: 10px;
}

#modal-autowalk .route-coordinate-nudge-control {
  grid-template-columns: 82px minmax(67px, auto);
}

#modal-autowalk .route-coordinate-nudge-buttons {
  grid-template-columns: repeat(2, minmax(32px, 1fr));
  gap: 3px;
}

#modal-module.module-modal-compact[data-active-module-key="trainer"],
#modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"] {
  height: min(88dvh, calc(100dvh - 16px));
  max-height: min(88dvh, calc(100dvh - 16px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
}

#modal-module.module-modal-compact[data-active-module-key="trainer"] .modal-body-module,
#modal-module.module-modal-compact[data-active-module-key="trainer"] .modal-module-card[data-module-panel="shared"],
#modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"] .modal-body-module,
#modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  height: 100%;
  max-height: none;
  overflow: hidden;
}

#modal-module.module-modal-compact[data-active-module-key="trainer"] .module-extra-fields,
#modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"] .module-extra-fields {
  min-height: 0;
  height: 100%;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 4px;
  align-content: start;
}

#modal-module[data-active-module-key="trainer"] .trainer-shell,
#modal-module[data-active-module-key="team"] .team-hunt-shell,
#modal-module[data-active-module-key="healer"] .healer-shell {
  align-content: start;
  gap: var(--modal-audit-gap);
}

#modal-module[data-active-module-key="team"] .team-hunt-shell {
  grid-template-rows: min-content minmax(0, 1fr);
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: max-content max-content max-content max-content;
  grid-auto-rows: min-content;
  align-items: start;
  gap: var(--modal-audit-gap);
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(6, max-content);
  grid-auto-rows: min-content;
  align-items: start;
  gap: var(--modal-audit-gap);
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip .module-rule-control,
#modal-module[data-active-module-key="team"] .team-sio-grid .module-rule-control,
#modal-module[data-active-module-key="healer"] .healer-setup-grid .module-rule-control,
#modal-module[data-active-module-key="trainer"] .trainer-settings-grid .module-rule-control {
  align-self: start;
}

#modal-module[data-active-module-key="healer"] .healer-shell {
  grid-template-rows: min-content minmax(0, 1fr);
}

#modal-module[data-active-module-key="ringAutoReplace"] .equipment-replace-slot-grid {
  align-items: start;
}

#modal-module[data-active-module-key="ringAutoReplace"] .equipment-replace-layout,
#modal-module[data-active-module-key="ringAutoReplace"] .equipment-replace-controls {
  align-items: start;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle),
#modal-targeting :is(.checks label, .module-rule-check) {
  border-color: var(--modal-audit-toggle-shell-border);
  background: var(--modal-audit-toggle-shell-bg);
  box-shadow: none;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle):hover,
#modal-targeting :is(.checks label, .module-rule-check):hover {
  border-color: var(--modal-audit-toggle-shell-border);
  background: var(--modal-audit-toggle-shell-hover);
  box-shadow: none;
  transform: none;
}

.modal-panel :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .route-avoid-toggle,
  .route-avoid-category,
  .equipment-replace-power,
  .equipment-replace-toggle):has(input[type="checkbox"]:checked),
#modal-targeting :is(.checks label, .module-rule-check):has(input[type="checkbox"]:checked) {
  border-color: var(--modal-audit-toggle-shell-border);
  background: var(--modal-audit-toggle-shell-bg);
  color: var(--text);
  box-shadow: none;
}

.modal-panel .module-rule-card .module-rule-corner-toggle,
.modal-panel .module-rule-card .module-rule-corner-toggle:hover,
.modal-panel .module-rule-card .module-rule-corner-toggle:has(input[type="checkbox"]:checked) {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.modal-panel input[type="checkbox"],
#modal-targeting input[type="checkbox"] {
  border-color: #4a5663;
  background: #070a0e;
  box-shadow: none;
}

.modal-panel input[type="checkbox"]:checked,
#modal-targeting input[type="checkbox"]:checked {
  border-color: var(--modal-audit-toggle-on-border);
  background: var(--modal-audit-toggle-on);
  box-shadow: none;
}

@media (max-width: 1180px) {

  #modal-autowalk .route-modal-head-grid,
  #modal-autowalk .route-main-layout,
  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-autowalk .route-modal-head-block-right {
    justify-self: stretch;
    width: 100%;
  }

  .route-name-row {
    grid-template-columns: minmax(0, 1fr) max-content;
  }
}

@media (max-width: 760px) {

  .route-name-row,
  #modal-autowalk .route-drive-card .route-card-tools-stretch,
  #modal-autowalk .route-tune-grid,
  #modal-autowalk .route-checks {
    grid-template-columns: minmax(0, 1fr);
  }

  .route-name-row #new-blank-route {
    width: 100%;
  }
}

/* Final live waypoint grid lock: ten fluid square tracks and low-noise hover actions. */
#route-live-preview.waypoint-preview-live,
#route-live-preview.waypoint-square-grid {
  --route-waypoint-columns: 10;
  --route-waypoint-grid-gap: 2px;
  --route-waypoint-tile-min-size: 58px;
  --route-waypoint-tile-size: max(var(--route-waypoint-tile-min-size),
      calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns)));
  grid-template-columns: repeat(var(--route-waypoint-columns), minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: var(--route-waypoint-grid-gap);
  padding: 2px;
  justify-content: stretch;
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#route-live-preview .route-live-waypoint {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
}

#route-live-preview .route-live-waypoint-main {
  padding: 5px 17px 19px 4px;
  gap: 3px;
}

#route-live-preview .route-live-mini-btn {
  width: 17px;
  min-width: 17px;
  height: 17px;
  min-height: 17px;
  border-color: #3a424b;
  background: #0b0f12;
  color: #c9d0d8;
  box-shadow: none;
}

#route-live-preview .route-live-mini-btn:hover:not(:disabled),
#route-live-preview .route-live-mini-btn:focus-visible {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  transform: none;
}

#route-live-preview .route-live-mini-btn-mark {
  width: 14px;
  min-width: 14px;
  height: 14px;
  min-height: 14px;
  left: 3px;
  bottom: 3px;
  border-color: #4a5663;
  border-radius: 3px;
  background: #070a0e;
  color: transparent;
  font-size: 0;
}

#route-live-preview .route-live-mini-btn-mark::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 1px;
  background: transparent;
}

#route-live-preview .route-live-mini-btn-mark:hover:not(:disabled),
#route-live-preview .route-live-mini-btn-mark:focus-visible,
#route-live-preview .route-live-mini-btn-mark[aria-pressed="true"] {
  border-color: #d7a441;
  background: #2b1d0a;
}

#route-live-preview .route-live-mini-btn-mark[aria-pressed="true"]::after {
  background: #d7a441;
}

#route-live-preview .route-live-mini-btn-add {
  right: 3px;
  bottom: 3px;
}

#route-live-preview .route-live-mini-btn-add:hover:not(:disabled),
#route-live-preview .route-live-mini-btn-add:focus-visible {
  border-color: #55c86b;
  background: #0f3118;
  color: #e8ffe9;
}

#route-live-preview .route-live-mini-btn-remove {
  top: 3px;
  right: 3px;
}

#route-live-preview .route-live-mini-btn-remove:hover:not(:disabled),
#route-live-preview .route-live-mini-btn-remove:focus-visible {
  border-color: #e05247;
  background: #351314;
  color: #ffe8e3;
}

/* Final live waypoint grid lock: square tracks scroll instead of compressing. */
#route-live-preview.waypoint-preview-live,
#route-live-preview.waypoint-square-grid {
  --route-waypoint-columns: 10;
  --route-waypoint-grid-gap: 2px;
  --route-waypoint-tile-min-size: 58px;
  --route-waypoint-tile-size: max(var(--route-waypoint-tile-min-size),
      calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns)));
  grid-template-columns: repeat(var(--route-waypoint-columns), var(--route-waypoint-tile-size));
  grid-auto-rows: var(--route-waypoint-tile-size);
  gap: var(--route-waypoint-grid-gap);
  align-content: start;
  justify-content: start;
  overflow-x: auto;
  overflow-y: auto;
}

#route-live-preview .route-live-waypoint {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
}

.waypoint-mark-btn {
  border-color: #4a5663;
  background: #070a0e;
  color: transparent;
  font-size: 0;
  box-shadow: none;
}

.waypoint-mark-btn::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 1px;
  background: transparent;
}

.waypoint-mark-btn:hover:not(:disabled),
.waypoint-mark-btn:focus-visible,
.waypoint-mark-btn[aria-pressed="true"] {
  border-color: #d7a441;
  background: #2b1d0a;
  color: transparent;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.waypoint-mark-btn[aria-pressed="true"]::after {
  background: #d7a441;
}

/* Alarm modal condensation: content-sized shell, no empty grid column. */
#modal-module[data-active-module-key="alarms"] {
  --alarms-modal-max: min(92dvh, calc(100dvh - 8px));
  --alarms-modal-body-max: calc(var(--alarms-modal-max) - 40px);
  width: min(1020px, calc(100vw - 8px));
  max-width: min(1020px, calc(100vw - 8px));
  height: auto;
  max-height: var(--alarms-modal-max);
  align-self: center;
  grid-template-rows: minmax(0, 1fr) auto;
}

#modal-module[data-active-module-key="alarms"] .modal-body-module,
#modal-module[data-active-module-key="alarms"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  height: auto;
  max-height: var(--alarms-modal-body-max);
  overflow: hidden;
}

#modal-module[data-active-module-key="alarms"] .modal-module-card[data-module-panel="shared"] {
  padding: 0;
  display: block;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module[data-active-module-key="alarms"] #module-extra-fields {
  min-height: 0;
  max-height: var(--alarms-modal-body-max);
  padding-right: 4px;
  overflow-x: hidden;
  overflow-y: auto;
}

#modal-module[data-active-module-key="alarms"] .alarms-shell {
  gap: 4px;
  padding-right: 0;
}

#modal-module[data-active-module-key="alarms"] .alarms-overview {
  padding: 5px;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.78fr);
  gap: 5px;
}

#modal-module[data-active-module-key="alarms"] .alarms-overview-title {
  font-size: 16px;
  line-height: 1.08;
}

#modal-module[data-active-module-key="alarms"] .alarms-overview-detail {
  line-height: 1.28;
}

#modal-module[data-active-module-key="alarms"] .alarms-overview-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
}

#modal-module[data-active-module-key="alarms"] .alarms-stat-card {
  min-height: 38px;
  padding: 4px;
  gap: 2px;
}

#modal-module[data-active-module-key="alarms"] .alarms-workbench {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  grid-template-areas:
    "critical scopes"
    "critical blacklist"
    "critical live";
  align-items: start;
  gap: 4px;
}

#modal-module[data-active-module-key="alarms"] .alarms-toolbar {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: end;
  justify-content: space-between;
  padding: 4px 5px;
  border: 1px solid rgba(63, 72, 82, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 36%),
    rgba(11, 15, 20, 0.62);
}

#modal-module[data-active-module-key="alarms"] .alarms-toolbar-group {
  min-width: 0;
  display: grid;
  gap: 2px;
}

#modal-module[data-active-module-key="alarms"] .alarms-segmented,
#modal-module[data-active-module-key="alarms"] .alarms-preset-strip {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}

#modal-module[data-active-module-key="alarms"] .alarms-scope-button.active {
  border-color: rgba(121, 220, 255, 0.46);
  background: rgba(121, 220, 255, 0.12);
  color: #d9f6ff;
}

#modal-module[data-active-module-key="alarms"] .alarms-proximity-panel {
  grid-area: scopes;
}

#modal-module[data-active-module-key="alarms"] .alarms-blacklist-panel {
  grid-area: blacklist;
}

#modal-module[data-active-module-key="alarms"] .alarms-live-band:not(.alarms-critical-band) {
  grid-area: live;
}

#modal-module[data-active-module-key="alarms"] .alarms-critical-band {
  grid-area: critical;
}

#modal-module[data-active-module-key="alarms"] .alarms-panel,
#modal-module[data-active-module-key="alarms"] .alarms-scope-row,
#modal-module[data-active-module-key="alarms"] .alarms-live-band {
  min-width: 0;
  padding: 5px;
  border: 1px solid rgba(63, 72, 82, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 36%),
    rgba(11, 15, 20, 0.62);
  box-shadow: none;
}

#modal-module[data-active-module-key="alarms"] .alarms-panel,
#modal-module[data-active-module-key="alarms"] .alarms-live-band,
#modal-module[data-active-module-key="alarms"] .alarms-scope-list {
  display: grid;
  align-content: start;
  gap: 4px;
}

#modal-module[data-active-module-key="alarms"] .alarms-panel-head,
#modal-module[data-active-module-key="alarms"] .alarms-card-head,
#modal-module[data-active-module-key="alarms"] .alarms-live-head {
  min-width: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 5px;
}

#modal-module[data-active-module-key="alarms"] .alarms-card-title {
  font-size: 12px;
  line-height: 1.1;
}

#modal-module[data-active-module-key="alarms"] .alarms-scope-row {
  display: grid;
  grid-template-columns: minmax(132px, 1fr) max-content;
  align-items: end;
  gap: 5px;
}

#modal-module[data-active-module-key="alarms"] .alarms-scope-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

#modal-module[data-active-module-key="alarms"] .alarms-card-grid {
  display: grid;
  grid-template-columns: max-content repeat(2, max-content);
  align-items: end;
  justify-content: end;
  gap: 4px;
}

#modal-module[data-active-module-key="alarms"] .alarms-card-grid .module-rule-control,
#modal-module[data-active-module-key="alarms"] .alarms-master-strip .module-rule-control,
#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .module-rule-control {
  width: max-content;
  max-width: 136px;
  justify-self: start;
}

#modal-module[data-active-module-key="alarms"] .alarms-card-grid .module-rule-check,
#modal-module[data-active-module-key="alarms"] .alarms-master-strip .module-rule-check,
#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .module-rule-check {
  min-height: 28px;
  padding: 2px 4px;
  align-self: end;
}

#modal-module[data-active-module-key="alarms"] .alarms-master-strip .alarms-volume-field {
  width: 180px;
  max-width: 180px;
}

#modal-module[data-active-module-key="alarms"] .alarms-volume-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  gap: 6px;
  align-items: center;
}

#modal-module[data-active-module-key="alarms"] .alarms-volume-row input[type="range"] {
  width: 100%;
  min-width: 0;
}

#modal-module[data-active-module-key="alarms"] .alarms-volume-row output {
  color: #fbf5e7;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  text-align: right;
}

#modal-module[data-active-module-key="alarms"] .alarms-card-grid .modal-number-stepper,
#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .modal-number-stepper {
  width: 118px;
  max-width: 118px;
  grid-template-columns: 54px 61px;
}

#modal-module[data-active-module-key="alarms"] .alarms-token-strip {
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 3px;
}

#modal-module[data-active-module-key="alarms"] .alarms-token {
  min-height: 22px;
  padding: 3px 5px;
}

#modal-module[data-active-module-key="alarms"] .alarms-blacklist-field textarea {
  min-height: 48px;
  max-height: 76px;
  resize: vertical;
}

#modal-module[data-active-module-key="alarms"] .alarms-live-strip {
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
  max-height: 118px;
  overflow-x: hidden;
  overflow-y: auto;
}

#modal-module[data-active-module-key="alarms"] .alarms-live-entry {
  min-height: 26px;
  padding: 4px;
  gap: 5px;
}

#modal-module[data-active-module-key="alarms"] .alarms-live-entry .btn.compact {
  min-height: 22px;
  padding: 3px 7px;
}

#modal-module[data-active-module-key="alarms"] .alarms-protector-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, max-content));
  align-items: start;
  justify-content: start;
  gap: 4px;
}

#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .alarms-blacklist-field,
#modal-module[data-active-module-key="alarms"] .alarms-protector-grid textarea {
  min-width: 180px;
  max-width: 220px;
}

#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .module-rule-control:not(.module-rule-check)>span {
  white-space: normal;
  line-height: 1.14;
}

@media (max-width: 900px) {

  #modal-module[data-active-module-key="alarms"] .alarms-overview,
  #modal-module[data-active-module-key="alarms"] .alarms-workbench {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="alarms"] .alarms-workbench {
    grid-template-areas:
      "scopes"
      "blacklist"
      "live"
      "critical";
  }
}

@media (max-width: 640px) {
  #modal-module[data-active-module-key="alarms"] {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-module[data-active-module-key="alarms"] .alarms-scope-row,
  #modal-module[data-active-module-key="alarms"] .alarms-card-grid,
  #modal-module[data-active-module-key="alarms"] .alarms-master-strip,
  #modal-module[data-active-module-key="alarms"] .alarms-protector-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="alarms"] .alarms-overview-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #modal-module[data-active-module-key="alarms"] .alarms-card-grid .module-rule-control,
  #modal-module[data-active-module-key="alarms"] .alarms-master-strip .module-rule-control,
  #modal-module[data-active-module-key="alarms"] .alarms-master-strip .alarms-volume-field,
  #modal-module[data-active-module-key="alarms"] .alarms-protector-grid .module-rule-control {
    width: 100%;
    max-width: none;
  }
}

/* Team Hunt modal compact top row: all route and Sio controls in one row. */
#modal-module[data-active-module-key="team"] .team-hunt-shell {
  grid-template-rows: min-content minmax(0, 1fr);
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row {
  min-width: 0;
  max-width: 100%;
  display: grid;
  grid-template-columns: max-content;
  align-items: start;
  justify-content: start;
  align-content: start;
  gap: 5px;
  overflow: visible;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-panel,
#modal-module[data-active-module-key="team"] .team-sio-panel {
  width: max-content;
  max-width: 100%;
  height: max-content;
  min-height: 0;
  padding: 4px;
  align-self: start;
  align-content: start;
  grid-auto-rows: min-content;
  gap: 4px;
  border-color: rgba(48, 55, 65, 0.82);
  background: rgba(15, 20, 27, 0.78);
  box-shadow: none;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: 118px 118px 66px 118px 118px 118px max-content;
  grid-auto-rows: min-content;
  align-items: start;
  align-content: start;
  justify-content: start;
  height: max-content;
  gap: 4px;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-strip>.team-sio-panel {
  display: contents;
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(5, 100px);
  grid-auto-rows: min-content;
  align-items: start;
  align-content: start;
  justify-content: start;
  height: max-content;
  gap: 4px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .target-sources-head {
  padding: 0;
  border-bottom: 0;
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .section-meta,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .field-note {
  display: none;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .section-head strong {
  font-size: 11px;
  line-height: 1;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control {
  width: max-content;
  max-width: 128px;
  min-height: 0;
  align-self: start;
  justify-self: start;
  gap: 2px;
  font-size: 9px;
  line-height: 1.08;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check {
  min-height: 22px;
  max-width: 108px;
  padding: 1px 3px;
  grid-template-columns: var(--toggle-width) minmax(0, max-content);
  gap: 3px;
  border-color: transparent;
  background: transparent;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check>span,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control>span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row select {
  width: 128px;
  max-width: 128px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row input[type="number"] {
  width: 46px;
  max-width: 46px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper {
  width: 100px;
  max-width: 100px;
  flex-basis: 100px;
  grid-template-columns: 46px 51px;
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-buttons {
  grid-template-columns: repeat(2, 24px);
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-button {
  width: 24px;
  min-width: 24px;
  height: 22px;
  min-height: 22px;
}

@media (max-width: 900px) {
  #modal-module[data-active-module-key="team"] .team-hunt-top-row {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-control-panel,
  #modal-module[data-active-module-key="team"] .team-sio-panel {
    width: 100%;
  }

  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid {
    grid-template-columns: repeat(auto-fit, minmax(104px, max-content));
  }
}

/* Final modal density lock: settings grids must not stretch empty vertical rows. */
.modal-panel :is(.form-grid,
  .module-rule-grid,
  .module-extra-fields,
  .trainer-settings-grid,
  .healer-setup-grid,
  .anti-idle-control-grid,
  .reconnect-control-grid,
  .autoeat-controls,
  .route-tune-grid,
  .route-checks,
  .route-hunt-runtime-grid,
  .route-hunt-toggles) {
  align-content: start;
  grid-auto-rows: min-content;
}

.modal-panel :is(.module-rule-control, .route-head-field, .route-picker-field, .route-coordinate-field) {
  min-height: 0;
  align-self: start;
}

/* Route window cleanup: center controls use the same compact square as module toggles. */
.route-overview-card {
  --route-control-height: 48px;
}

.route-overview-card .route-toggle-grid {
  grid-template-columns: repeat(auto-fit, 58px);
  grid-auto-rows: var(--route-control-height);
  justify-content: start;
  align-items: start;
  gap: 4px;
}

.route-overview-card .route-control-button {
  width: 58px;
  min-width: 58px;
  max-width: 58px;
  height: var(--route-control-height);
  min-height: var(--route-control-height);
  padding: 4px 5px;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.route-overview-card .route-control-button span,
.route-overview-card .route-control-button strong {
  line-height: 1.04;
}

.route-overview-card .route-control-button span {
  font-size: 8px;
}

.route-overview-card .route-control-button strong {
  font-size: 10px;
}

/* Route modal cleanup: keep the center and right columns dense and prevent field clipping. */
#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(500px, 1.18fr) minmax(280px, 0.68fr) minmax(350px, 0.9fr);
  gap: 6px;
}

#modal-autowalk .route-side-scroll,
#modal-autowalk .modal-scroll-stack {
  gap: 6px;
}

#modal-autowalk .route-drive-card,
#modal-autowalk .route-editor-card,
#modal-autowalk .route-avoid-fields-card,
#modal-autowalk .route-tile-rule-card,
#modal-autowalk .route-hunt-launchpad {
  gap: 6px;
}

#modal-autowalk .route-drive-card .route-card-tools-stretch {
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
}

#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

#modal-autowalk .route-tune-grid label,
#modal-autowalk .route-waypoint-grid label,
#modal-autowalk .route-tile-rule-grid label,
#modal-autowalk .route-item-shared-grid label,
#modal-autowalk .route-coordinate-field {
  min-height: 0;
  align-self: start;
  justify-content: flex-start;
}

#modal-autowalk .route-tune-grid .modal-number-stepper {
  width: min(100%, 116px);
  max-width: 116px;
}

#modal-autowalk .route-item-shared-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 4px;
}

#modal-autowalk .route-item-shared-grid>.route-coordinate-field:first-child {
  grid-column: 1 / -1;
}

#modal-autowalk .route-coordinate-nudge-control {
  grid-template-columns: minmax(0, 1fr) 50px;
  gap: 4px;
}

#modal-autowalk .route-coordinate-nudge-control input {
  width: 100%;
  max-width: none;
}

#modal-autowalk .route-coordinate-nudge-buttons {
  grid-template-columns: repeat(2, 23px);
}

@media (max-width: 1180px) {
  #modal-autowalk .route-main-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Dense modal control pass: compact panel strips should size to their controls, not to generic modal fields. */
#modal-module[data-active-module-key="team"] .team-hunt-top-row {
  grid-template-columns: minmax(0, max-content) minmax(0, max-content);
  align-items: start;
  gap: 4px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-panel,
#modal-module[data-active-module-key="team"] .team-sio-panel {
  padding: 3px 4px;
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip,
#modal-module[data-active-module-key="team"] .team-sio-grid {
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control {
  gap: 1px;
  font-size: 8px;
  line-height: 1.05;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check {
  min-height: 20px;
  padding: 0 2px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row :is(input:not([type="checkbox"]), select) {
  min-height: 22px;
  height: 22px;
  padding: 2px 6px;
  font-size: 9px;
  line-height: 1.1;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper {
  height: 22px;
  max-width: 96px;
  grid-template-columns: 44px 49px;
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-input {
  width: 44px;
  max-width: 44px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-buttons {
  height: 22px;
  grid-template-columns: repeat(2, 23px);
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-button {
  width: 23px;
  min-width: 23px;
  height: 22px;
  min-height: 22px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-button .route-coordinate-chevron {
  width: 8px;
  height: 8px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .field-note {
  display: none;
}

#modal-module[data-active-module-key="team"] .follow-train-column {
  gap: 5px;
  padding: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-row {
  padding: 4px;
}

#modal-module[data-active-module-key="team"] .follow-train-slot-index {
  min-width: 24px;
  min-height: 24px;
  font-size: 9px;
}

#modal-module[data-active-module-key="team"] .follow-train-source-button strong,
#modal-module[data-active-module-key="team"] .follow-train-row-copy strong {
  font-size: 11px;
}

#modal-module[data-active-module-key="team"] .follow-train-role-field {
  min-width: 104px;
  font-size: 8px;
}

#modal-module[data-active-module-key="team"] .follow-train-role-field select,
#modal-module[data-active-module-key="team"] .follow-train-role-field input[type="number"] {
  min-width: 104px;
  max-width: 132px;
}

#modal-module[data-active-module-key="team"] .follow-train-spread-field,
#modal-module[data-active-module-key="team"] .follow-train-spread-field input[type="number"] {
  min-width: 62px;
  max-width: 68px;
}

#modal-module[data-active-module-key="team"] .follow-train-check-field {
  min-width: 66px;
  min-height: 22px;
  padding: 0 5px;
}

#modal-targeting .route-hunt-runtime-grid>label,
#modal-targeting .route-hunt-toggles>label,
#modal-autowalk .route-tune-grid>label {
  gap: 2px;
  font-size: 8px;
  line-height: 1.08;
}

#modal-targeting .route-hunt-runtime-grid :is(input:not([type="checkbox"]), select),
#modal-autowalk .route-tune-grid :is(input:not([type="checkbox"]), select) {
  min-height: 24px;
  height: 24px;
  padding: 3px 6px;
}

#modal-targeting .route-hunt-runtime-grid .modal-number-stepper,
#modal-autowalk .route-tune-grid .modal-number-stepper {
  height: 24px;
  max-width: 106px;
  grid-template-columns: 56px 46px;
}

#modal-targeting .route-hunt-runtime-grid .modal-number-stepper-input,
#modal-autowalk .route-tune-grid .modal-number-stepper-input {
  width: 56px;
  max-width: 56px;
}

#modal-targeting .route-hunt-runtime-grid .modal-number-stepper-buttons,
#modal-autowalk .route-tune-grid .modal-number-stepper-buttons {
  height: 24px;
  grid-template-columns: repeat(2, 21px);
}

#modal-targeting .route-hunt-runtime-grid .modal-number-stepper-button,
#modal-autowalk .route-tune-grid .modal-number-stepper-button {
  width: 21px;
  min-width: 21px;
  height: 24px;
  min-height: 24px;
}

@media (max-width: 900px) {
  #modal-module[data-active-module-key="team"] .team-hunt-top-row {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid {
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  }
}

/* Repair compact modal field stacking: labels and inputs must stay in the same tight track. */
#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row,
  .follow-train-footer) .module-rule-control:not(.module-rule-check),
#modal-autowalk .route-tune-grid>label,
#modal-targeting .route-hunt-runtime-grid>label {
  min-height: 0;
  height: auto;
  max-height: none;
  display: grid;
  grid-template-rows: min-content min-content;
  align-content: start;
  justify-content: start;
  align-items: start;
  gap: 2px;
  overflow: visible;
}

#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row,
  .follow-train-footer) .module-rule-control:not(.module-rule-check)>span:not(.modal-number-stepper),
#modal-autowalk .route-tune-grid>label>span:not(.modal-number-stepper),
#modal-targeting .route-hunt-runtime-grid>label>span:not(.modal-number-stepper) {
  display: block;
  min-height: 10px;
  line-height: 1.08;
}

#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row,
  .follow-train-footer) .modal-number-stepper,
#modal-autowalk .route-tune-grid .modal-number-stepper,
#modal-targeting .route-hunt-runtime-grid .modal-number-stepper {
  align-self: start;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

/* Embedded chevron controls: keep stepper buttons inside the input bounds. */
.modal-panel .modal-number-stepper,
#modal-module[data-active-module-key] .modal-number-stepper.modal-number-stepper,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper.modal-number-stepper,
#modal-targeting .modal-number-stepper.modal-number-stepper,
#modal-autowalk .modal-number-stepper.modal-number-stepper {
  position: relative;
  width: fit-content;
  max-width: max-content;
  height: auto;
  display: inline-grid;
  grid-template-columns: minmax(0, max-content);
  align-items: stretch;
  gap: 0;
  overflow: visible;
}

.modal-panel .modal-number-stepper-input,
#modal-module[data-active-module-key] .modal-number-stepper-input.modal-number-stepper-input,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper-input.modal-number-stepper-input,
#modal-targeting .modal-number-stepper-input.modal-number-stepper-input,
#modal-autowalk .modal-number-stepper-input.modal-number-stepper-input {
  width: 70px;
  max-width: 70px;
  padding-right: 31px;
}

.modal-panel .modal-number-stepper-buttons,
#modal-module[data-active-module-key] .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-targeting .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-autowalk .modal-number-stepper-buttons.modal-number-stepper-buttons {
  position: absolute;
  top: 3px;
  right: 3px;
  bottom: 3px;
  height: auto;
  display: grid;
  grid-template-columns: repeat(2, 13px);
  align-items: stretch;
  gap: 2px;
  z-index: 1;
}

.modal-panel .modal-number-stepper-button,
#modal-module[data-active-module-key] .modal-number-stepper-button.modal-number-stepper-button,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper-button.modal-number-stepper-button,
#modal-targeting .modal-number-stepper-button.modal-number-stepper-button,
#modal-autowalk .modal-number-stepper-button.modal-number-stepper-button {
  width: 13px;
  min-width: 13px;
  height: auto;
  min-height: 0;
  padding: 0;
  border-radius: 3px;
  overflow: hidden;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-input {
  width: 62px;
  max-width: 62px;
  padding-right: 28px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-buttons {
  grid-template-columns: repeat(2, 12px);
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-button {
  width: 12px;
  min-width: 12px;
}

#modal-autowalk .route-coordinate-nudge-control {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

#modal-autowalk .route-coordinate-nudge-control input {
  padding-right: 31px;
}

#modal-autowalk .route-coordinate-nudge-buttons {
  position: absolute;
  top: 3px;
  right: 3px;
  bottom: 3px;
  height: auto;
  display: grid;
  grid-template-columns: repeat(2, 13px);
  align-items: stretch;
  gap: 2px;
  z-index: 1;
}

#modal-autowalk .route-coordinate-nudge-button {
  width: 13px;
  min-width: 13px;
  height: auto;
  min-height: 0;
  padding: 0;
  border-radius: 3px;
  overflow: hidden;
}

.modal-panel .modal-number-stepper-button .route-coordinate-chevron,
#modal-autowalk .route-coordinate-nudge-button .route-coordinate-chevron {
  width: 6px;
  height: 6px;
  border-width: 1.5px 1.5px 0 0;
}

.modal-panel .modal-number-stepper-button .route-coordinate-chevron-up,
#modal-autowalk .route-coordinate-nudge-button .route-coordinate-chevron-up {
  transform: translateY(1px) rotate(-45deg);
}

.modal-panel .modal-number-stepper-button .route-coordinate-chevron-down,
#modal-autowalk .route-coordinate-nudge-button .route-coordinate-chevron-down {
  transform: translateY(-1px) rotate(135deg);
}

#modal-autowalk .route-coordinate-nudge-button .route-coordinate-chevron-left {
  transform: translateX(1px) rotate(-135deg);
}

#modal-autowalk .route-coordinate-nudge-button .route-coordinate-chevron-right {
  transform: translateX(-1px) rotate(45deg);
}

/* Modal UX repair: shared actions and steppers stay compact without collapsing labels. */
.modal-panel .modal-actions {
  min-height: 28px;
  padding: 3px 6px;
  gap: 5px;
  align-items: center;
  border-radius: 4px;
}

.modal-panel .modal-actions .btn {
  min-width: 64px;
  min-height: 22px;
  padding: 0 8px;
  font-size: 10px;
  line-height: 1;
}

.modal-panel .modal-actions .modal-save-button,
.modal-panel .modal-actions [data-save-modules] {
  min-width: 82px;
}

.modal-panel .modal-number-stepper,
#modal-module[data-active-module-key] .modal-number-stepper.modal-number-stepper,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper.modal-number-stepper,
#modal-targeting .modal-number-stepper.modal-number-stepper,
#modal-autowalk .modal-number-stepper.modal-number-stepper {
  position: relative;
  width: 70px;
  max-width: 70px;
  height: 24px;
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  overflow: visible;
}

.modal-panel .modal-number-stepper-input,
#modal-module[data-active-module-key] .modal-number-stepper-input.modal-number-stepper-input,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper-input.modal-number-stepper-input,
#modal-targeting .modal-number-stepper-input.modal-number-stepper-input,
#modal-autowalk .modal-number-stepper-input.modal-number-stepper-input {
  width: 70px;
  max-width: 70px;
  height: 24px;
  min-height: 24px;
  padding-right: 24px;
}

.modal-panel .modal-number-stepper-buttons,
#modal-module[data-active-module-key] .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-targeting .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-autowalk .modal-number-stepper-buttons.modal-number-stepper-buttons {
  position: absolute;
  top: 3px;
  right: 3px;
  bottom: 3px;
  width: 16px;
  height: auto;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 1px;
  z-index: 1;
}

.modal-panel .modal-number-stepper-button,
#modal-module[data-active-module-key] .modal-number-stepper-button.modal-number-stepper-button,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper-button.modal-number-stepper-button,
#modal-targeting .modal-number-stepper-button.modal-number-stepper-button,
#modal-autowalk .modal-number-stepper-button.modal-number-stepper-button {
  width: 16px;
  min-width: 16px;
  height: auto;
  min-height: 0;
  padding: 0;
  border-radius: 2px;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.modal-panel .modal-number-stepper-button .route-coordinate-chevron,
#modal-targeting .modal-number-stepper-button .route-coordinate-chevron,
#modal-autowalk .modal-number-stepper-button .route-coordinate-chevron {
  width: 5px;
  height: 5px;
  border-width: 1.5px 1.5px 0 0;
}

.modal-panel .modal-number-stepper-button .route-coordinate-chevron-up,
#modal-targeting .modal-number-stepper-button .route-coordinate-chevron-up,
#modal-autowalk .modal-number-stepper-button .route-coordinate-chevron-up {
  transform: translateY(1px) rotate(-45deg);
}

.modal-panel .modal-number-stepper-button .route-coordinate-chevron-down,
#modal-targeting .modal-number-stepper-button .route-coordinate-chevron-down,
#modal-autowalk .modal-number-stepper-button .route-coordinate-chevron-down {
  transform: translateY(-1px) rotate(135deg);
}

#modal-module[data-active-module-key="team"] .team-hunt-shell {
  gap: 6px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row {
  grid-template-columns: minmax(360px, max-content) minmax(520px, 1fr);
  align-items: start;
  gap: 6px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-panel,
#modal-module[data-active-module-key="team"] .team-sio-panel {
  width: 100%;
  max-width: none;
  height: max-content;
  min-height: 0;
  padding: 5px 6px;
  gap: 5px;
  border-color: #242a31;
  background: #0d1117;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip,
#modal-module[data-active-module-key="team"] .team-sio-grid {
  align-items: end;
  align-content: start;
  gap: 5px 6px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: 126px 126px 70px 126px 126px 126px;
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: max-content repeat(5, minmax(64px, max-content));
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control {
  min-height: 0;
  width: auto;
  max-width: none;
  gap: 2px;
  font-size: 10px;
  line-height: 1.12;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control:not(.module-rule-check) {
  display: grid;
  grid-template-rows: min-content 24px;
  align-content: end;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check {
  min-height: 24px;
  height: 24px;
  max-width: none;
  padding: 0 4px;
  grid-template-columns: var(--toggle-width) max-content;
  align-items: center;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check>span,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control>span {
  min-height: 11px;
  max-width: 100%;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.08;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row :is(input:not([type="checkbox"]), select) {
  min-height: 24px;
  height: 24px;
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 10px;
  line-height: 1.1;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip select {
  width: 126px;
  max-width: 126px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper {
  width: 64px;
  max-width: 64px;
  height: 24px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-input {
  width: 64px;
  max-width: 64px;
  height: 24px;
  min-height: 24px;
  padding-right: 23px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-buttons {
  width: 15px;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-button {
  width: 15px;
  min-width: 15px;
  height: auto;
  min-height: 0;
}

@media (max-width: 1050px) {
  #modal-module[data-active-module-key="team"] .team-hunt-top-row {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid {
    grid-template-columns: repeat(auto-fit, minmax(88px, max-content));
  }
}

/* Modal toggle-button lock: labels carry state color; checkbox tracks stay hidden. */
.modal-panel :is(.module-rule-check,
  .checks label,
  .route-checks label,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-toggle,
  .route-avoid-category),
.modal-panel .module-rule-card .module-rule-corner-toggle {
  position: relative;
  width: fit-content;
  min-width: 0;
  max-width: 100%;
  min-height: 24px;
  height: auto;
  max-height: none;
  padding: 3px 8px;
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  gap: 0;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(15, 23, 42, 0.5);
  box-shadow: none;
  color: var(--muted);
  cursor: pointer;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.1;
  text-align: center;
  text-transform: none;
  transform: none;
  overflow: hidden;
}

.modal-panel .module-rule-card .module-rule-corner-toggle {
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  padding: 0;
}

.modal-panel :is(.module-rule-check,
  .checks label,
  .route-checks label,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-category)>input[type="checkbox"],
.modal-panel .module-rule-card .module-rule-corner-toggle>input[type="checkbox"],
.modal-panel .route-avoid-toggle .route-avoid-toggle-control {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: inherit;
  z-index: 1;
}

.modal-panel .route-avoid-toggle .route-avoid-toggle-control input[type="checkbox"] {
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.modal-panel :is(.module-rule-check,
  .checks label,
  .route-checks label,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-toggle,
  .route-avoid-category,
  .module-rule-corner-toggle) input[type="checkbox"]::before {
  display: none;
  content: none;
}

.modal-panel :is(.module-rule-check,
  .checks label,
  .route-checks label,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-toggle,
  .route-avoid-category)>span:not(.visually-hidden),
.modal-panel :is(.route-avoid-toggle-copy, .route-avoid-category-copy) {
  position: relative;
  z-index: 0;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.1;
  text-align: center;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}

.modal-panel :is(.route-avoid-toggle-copy strong, .route-avoid-category-copy strong) {
  color: inherit;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.1;
  text-transform: none;
}

.modal-panel :is(.route-avoid-toggle-copy small, .route-avoid-category-copy small),
.modal-panel :is(.module-rule-check, .checks label, .route-checks label)>.field-note {
  display: none;
}

.modal-panel :is(.module-rule-check,
  .checks label,
  .route-checks label,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-toggle,
  .route-avoid-category):hover,
.modal-panel .module-rule-card .module-rule-corner-toggle:hover {
  border-color: rgba(148, 163, 184, 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 46%),
    rgba(18, 26, 36, 0.6);
  box-shadow: none;
  color: var(--text);
  transform: none;
}

.modal-panel :is(.module-rule-check,
  .checks label,
  .route-checks label,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-toggle,
  .route-avoid-category):has(input[type="checkbox"]:checked),
.modal-panel .module-rule-card .module-rule-corner-toggle:has(input[type="checkbox"]:checked) {
  border-color: rgba(143, 190, 100, 0.42);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.13), transparent 48%),
    rgba(28, 47, 28, 0.72);
  color: #d8efb7;
  box-shadow: none;
}

.modal-panel :is(.module-rule-check,
  .checks label,
  .route-checks label,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-toggle,
  .route-avoid-category):has(input[type="checkbox"]:focus-visible),
.modal-panel .module-rule-card .module-rule-corner-toggle:has(input[type="checkbox"]:focus-visible) {
  border-color: rgba(247, 213, 138, 0.52);
  box-shadow: 0 0 0 1px rgba(247, 213, 138, 0.12);
}

.modal-panel :is(.module-rule-check,
  .checks label,
  .route-checks label,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-toggle,
  .route-avoid-category):has(input[type="checkbox"]:disabled),
.modal-panel .module-rule-card .module-rule-corner-toggle:has(input[type="checkbox"]:disabled) {
  opacity: 0.5;
  cursor: default;
}

#modal-module[data-active-module-key="alarms"] :is(.alarms-card-grid,
  .alarms-master-strip,
  .alarms-protector-grid) .module-rule-check,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check,
#modal-module[data-active-module-key="team"] .follow-train-check-field,
#modal-targeting :is(.route-hunt-head-check, .target-profile-check) {
  width: fit-content;
  min-height: 24px;
  height: auto;
  max-height: none;
  padding: 3px 8px;
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  gap: 0;
}

#modal-module[data-active-module-key="team"] .follow-train-check-field {
  min-width: 58px;
  max-width: 72px;
}

#modal-targeting .target-profile-check {
  min-width: 0;
}

#modal-targeting :is(.route-hunt-head-check, .target-profile-check)>span:not(.visually-hidden),
#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check>span,
#modal-module[data-active-module-key="team"] .follow-train-check-field>span {
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  font-size: 9px;
  font-weight: 750;
  line-height: 1.1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Spell caster modal audit: keep attack spell rules readable instead of using the generic dense grid. */
#modal-module[data-active-module-key="spellCaster"].module-modal-compact.module-modal-rule-only {
  --spell-rule-gap: 6px;
  --spell-rule-control-height: 26px;
  --spell-rule-number-width: 74px;
  width: min(940px, calc(100vw - 16px));
  max-width: min(940px, calc(100vw - 16px));
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-list {
  gap: 8px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-inline-toolbar {
  min-height: 28px;
  padding: 0 2px;
  align-items: center;
  justify-content: flex-end;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-card.module-rule-card-with-toggle {
  padding: 8px;
  gap: 8px;
  border-color: rgba(78, 91, 105, 0.72);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 38%),
    rgba(12, 16, 21, 0.96);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar {
  min-height: 28px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar .module-rule-actions {
  margin-left: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 5px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-actions .btn {
  min-height: 24px;
  padding: 0 8px;
  font-size: 10px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 8px 10px;
  align-items: end;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section {
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spell-rule-gap);
  align-items: end;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-control {
  width: 100%;
  max-width: none;
  min-width: 0;
  align-self: end;
  justify-self: stretch;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-control:not(.module-rule-check) {
  display: grid;
  grid-template-rows: min-content var(--spell-rule-control-height);
  gap: 3px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-control>span {
  color: #aeb7c2;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
  text-transform: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-control :is(input:not([type="checkbox"]), select),
#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper,
#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input {
  min-height: var(--spell-rule-control-height);
  height: var(--spell-rule-control-height);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-control :is(input:not([type="checkbox"]), select) {
  max-width: none;
  font-size: 11px;
}

#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper,
#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input {
  width: var(--spell-rule-number-width);
  max-width: var(--spell-rule-number-width);
}

#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input {
  padding-right: 24px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-check {
  width: 100%;
  min-width: 0;
  min-height: var(--spell-rule-control-height);
  padding: 0 8px;
  align-self: end;
  justify-self: stretch;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-check>span {
  text-align: center;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="label"]) {
  grid-column: span 3;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="words"]) {
  grid-column: span 4;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="pattern"]) {
  grid-column: span 2;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="minMana"]) {
  grid-column: span 3;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="targetNames"]) {
  grid-column: span 4;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="minTargetCount"]),
#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="surroundCount"]) {
  grid-column: span 3;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="specificSurroundCreature"]) {
  grid-column: span 4;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="requireNoPlayers"]) {
  grid-column: span 2;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="label"]) .module-rule-grid {
  grid-template-columns: minmax(106px, 1fr) 74px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="words"]) .module-rule-grid {
  grid-template-columns: minmax(140px, 1fr) 86px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="pattern"]) .module-rule-grid {
  grid-template-columns: minmax(0, 1fr);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="minMana"]) .module-rule-grid {
  grid-template-columns: repeat(2, var(--spell-rule-number-width));
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="surroundCount"]) .module-rule-grid {
  grid-template-columns: max-content var(--spell-rule-number-width) var(--spell-rule-number-width);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="specificSurroundCreature"]) .module-rule-grid {
  grid-template-columns: max-content minmax(120px, 1fr) var(--spell-rule-number-width);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="targetNames"]) .module-rule-grid {
  grid-template-columns: minmax(150px, 1fr) var(--spell-rule-number-width);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="minTargetCount"]) .module-rule-grid {
  grid-template-columns: var(--spell-rule-number-width) minmax(92px, 1fr);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="requireNoPlayers"]) .module-rule-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 860px) {
  #modal-module[data-active-module-key="spellCaster"].module-modal-compact.module-modal-rule-only {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
  }

  #modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  #modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="label"]),
  #modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="words"]),
  #modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="targetNames"]) {
    grid-column: span 3;
  }

  #modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="pattern"]),
  #modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="minMana"]),
  #modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="minTargetCount"]),
  #modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="surroundCount"]),
  #modal-module[data-active-module-key="spellCaster"] .module-rule-section:has([data-rule-field="requireNoPlayers"]) {
    grid-column: span 3;
  }
}

@media (max-width: 560px) {
  #modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar .module-rule-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  #modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="spellCaster"] .module-rule-section {
    grid-column: 1 / -1 !important;
  }
}

/* Terminal modal field density: keep compact editors sized to controls instead of equal-width tracks. */
#modal-targeting .target-profile-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 132px), max-content));
  justify-content: start;
  align-items: start;
  gap: 5px 10px;
}

#modal-targeting .target-profile-grid>.module-rule-control {
  width: max-content;
  max-width: 100%;
  min-height: 0;
  display: grid;
  align-items: center;
  align-content: start;
  justify-content: start;
  justify-self: start;
  gap: 2px 5px;
  overflow: visible;
}

#modal-targeting .target-profile-grid>.module-rule-control:has(input[type="number"]) {
  grid-template-columns: max-content var(--modal-audit-number-width);
  grid-template-rows: min-content;
}

#modal-targeting .target-profile-grid>.module-rule-control:has(select) {
  width: var(--modal-control-track-tight);
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: min-content var(--modal-audit-control-height);
}

#modal-targeting .target-profile-grid>.module-rule-control>span:not(.modal-number-stepper) {
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  line-height: 1.08;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-targeting .target-profile-grid select {
  width: var(--modal-control-track-tight);
  max-width: var(--modal-control-track-tight);
}

#modal-targeting .compact-profile-flags {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 78px), max-content));
  justify-content: start;
  align-items: start;
  gap: 5px 6px;
}

#modal-targeting .compact-profile-flags .target-profile-check {
  width: max-content;
  min-width: 0;
  max-width: 118px;
  justify-self: start;
}

#modal-autowalk :is(.route-waypoint-grid,
  .waypoint-box-lure-fields,
  .waypoint-action-fields,
  .route-tile-rule-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 132px), max-content));
  justify-content: start;
  align-items: start;
  gap: 5px 10px;
}

#modal-autowalk :is(.route-waypoint-grid,
  .waypoint-box-lure-fields,
  .waypoint-action-fields,
  .route-tile-rule-grid)> :is(label, .route-coordinate-field) {
  width: max-content;
  max-width: 100%;
  justify-self: start;
}

#modal-autowalk :is(.route-waypoint-grid,
  .waypoint-box-lure-fields,
  .waypoint-action-fields,
  .route-tile-rule-grid) select {
  width: min(150px, 100%);
  max-width: 150px;
}

@media (max-width: 760px) {

  #modal-targeting .target-profile-grid,
  #modal-targeting .compact-profile-flags,
  #modal-autowalk :is(.route-waypoint-grid,
    .waypoint-box-lure-fields,
    .waypoint-action-fields,
    .route-tile-rule-grid) {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-targeting .target-profile-grid>.module-rule-control,
  #modal-targeting .compact-profile-flags .target-profile-check,
  #modal-autowalk :is(.route-waypoint-grid,
    .waypoint-box-lure-fields,
    .waypoint-action-fields,
    .route-tile-rule-grid)> :is(label, .route-coordinate-field) {
    width: 100%;
    max-width: none;
  }

  #modal-targeting .target-profile-grid>.module-rule-control:has(input[type="number"]) {
    grid-template-columns: minmax(0, 1fr) var(--modal-audit-number-width);
    grid-template-rows: min-content;
  }

  #modal-targeting .target-profile-grid>.module-rule-control:has(select),
  #modal-targeting .target-profile-grid select {
    width: 100%;
    max-width: none;
  }
}

/* Team Hunt density and scrolling repair. Keep the whole module usable inside the modal. */
#modal-module[data-active-module-key="team"] {
  width: min(1260px, calc(100vw - 16px));
  max-width: min(1260px, calc(100vw - 16px));
  height: min(92dvh, calc(100dvh - 16px));
  max-height: min(92dvh, calc(100dvh - 16px));
  grid-template-rows: minmax(0, 1fr) auto;
}

#modal-module[data-active-module-key="team"]>.modal-body-module {
  min-height: 0;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"],
#modal-module[data-active-module-key="team"] .module-extra-fields {
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: visible;
}

#modal-module[data-active-module-key="team"] .module-extra-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

#modal-module[data-active-module-key="team"] .team-hunt-shell {
  min-height: 0;
  height: auto;
  grid-template-rows: min-content min-content minmax(0, 1fr);
  gap: 4px;
  overflow: visible;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row {
  grid-template-columns: max-content;
  gap: 4px;
  align-items: start;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-panel,
#modal-module[data-active-module-key="team"] .team-sio-panel {
  width: auto;
  max-width: 100%;
  padding: 3px 4px;
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: 112px 112px 64px 112px 112px 112px max-content;
  gap: 3px 5px;
  align-items: end;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-strip>.team-sio-panel {
  display: contents;
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(5, 100px);
  gap: 3px 5px;
  align-items: end;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control:not(.module-rule-check) {
  width: auto;
  max-width: none;
  grid-template-rows: 11px 24px;
  gap: 1px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control>span {
  min-height: 11px;
  font-size: 8px;
  line-height: 1.05;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip select {
  width: 112px;
  max-width: 112px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip .module-rule-control:last-child select {
  width: 112px;
  max-width: 112px;
}

#modal-module[data-active-module-key="team"] .team-outfit-panel {
  padding: 4px 5px;
  gap: 4px;
  border-radius: 5px;
}

#modal-module[data-active-module-key="team"] .team-outfit-panel .section-head {
  min-height: 24px;
  align-items: center;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-outfit-panel .section-meta {
  display: none;
}

#modal-module[data-active-module-key="team"] .team-outfit-head-actions {
  gap: 4px;
}

#modal-module[data-active-module-key="team"] .team-outfit-toggle {
  width: auto;
  min-width: 0;
}

#modal-module[data-active-module-key="team"] .team-outfit-toggle .module-rule-control {
  min-height: 22px;
  padding: 2px 6px;
}

#modal-module[data-active-module-key="team"] .team-outfit-list {
  grid-template-columns: repeat(2, minmax(360px, 1fr));
  grid-auto-rows: 34px;
  gap: 3px;
  max-height: 75px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module[data-active-module-key="team"] .team-outfit-row {
  min-height: 34px;
  height: 34px;
  grid-template-columns: 16px minmax(0, 1fr) max-content;
  gap: 4px;
  padding: 2px 4px;
  border-radius: 4px;
}

#modal-module[data-active-module-key="team"] .team-outfit-swatch {
  width: 14px;
  height: 14px;
  border-radius: 3px;
}

#modal-module[data-active-module-key="team"] .team-outfit-title {
  grid-template-columns: minmax(72px, max-content) minmax(70px, 1fr);
  gap: 1px 5px;
}

#modal-module[data-active-module-key="team"] .team-outfit-title strong,
#modal-module[data-active-module-key="team"] .team-outfit-title span {
  font-size: 10px;
  line-height: 1.05;
}

#modal-module[data-active-module-key="team"] .team-outfit-title small {
  display: none;
}

#modal-module[data-active-module-key="team"] .team-outfit-actions .btn.compact,
#modal-module[data-active-module-key="team"] .team-outfit-head-actions .btn.compact {
  min-height: 20px;
  padding: 2px 6px;
  font-size: 9px;
}

#modal-module[data-active-module-key="team"] .team-outfit-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 3px;
  min-width: 0;
}

#modal-module[data-active-module-key="team"] .team-outfit-vocation-field {
  min-width: 72px;
  max-width: 78px;
}

#modal-module[data-active-module-key="team"] .team-outfit-vocation-field select {
  width: 76px;
  min-height: 20px;
  padding: 1px 18px 1px 5px;
  font-size: 9px;
}

#modal-module[data-active-module-key="team"] .team-outfit-preset-check {
  min-width: 50px;
  min-height: 20px;
  padding: 2px 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-shell,
#modal-module[data-active-module-key="team"] .follow-train-layout {
  min-height: 0;
  height: auto;
}

#modal-module[data-active-module-key="team"] .follow-train-layout {
  grid-template-columns: minmax(220px, 0.38fr) minmax(0, 1fr);
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-column {
  padding: 5px;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-chain-column {
  grid-template-rows: auto auto minmax(0, 1fr);
  max-height: min(44dvh, 370px);
}

#modal-module[data-active-module-key="team"] .follow-train-manual-strip {
  align-self: start;
}

#modal-module[data-active-module-key="team"] .follow-train-manual-strip .module-rule-control {
  width: 100%;
  gap: 2px;
}

#modal-module[data-active-module-key="team"] .follow-train-manual-strip .module-rule-control>span {
  min-height: 10px;
  font-size: 8px;
  line-height: 1.05;
}

#modal-module[data-active-module-key="team"] .follow-train-manual-strip textarea {
  width: 100%;
  max-width: none;
  min-height: 28px;
  max-height: 42px;
  padding: 4px 6px;
  font-size: 9px;
  line-height: 1.15;
}

#modal-module[data-active-module-key="team"] .follow-train-settings-strip {
  gap: 3px 5px;
  align-items: end;
  justify-content: start;
}

#modal-module[data-active-module-key="team"] .follow-train-settings-strip .module-rule-control {
  width: max-content;
  max-width: 122px;
  gap: 1px;
  font-size: 8px;
  line-height: 1.05;
}

#modal-module[data-active-module-key="team"] .follow-train-settings-strip .module-rule-control:not(.module-rule-check) {
  grid-template-rows: 10px 22px;
}

#modal-module[data-active-module-key="team"] .follow-train-settings-strip .module-rule-control>span {
  min-height: 10px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="team"] .follow-train-settings-strip :is(input:not([type="checkbox"]), select) {
  min-height: 22px;
  height: 22px;
  padding: 2px 6px;
  font-size: 9px;
  line-height: 1.1;
}

#modal-module[data-active-module-key="team"] .follow-train-settings-strip select {
  width: 118px;
  max-width: 118px;
}

#modal-module[data-active-module-key="team"] .follow-train-settings-strip .module-rule-check {
  min-height: 22px;
  height: 22px;
  padding: 0 6px;
  border-color: rgba(48, 55, 65, 0.84);
  background: rgba(10, 14, 20, 0.58);
}

#modal-module[data-active-module-key="team"] .follow-train-settings-strip .follow-train-route-kite-toggle {
  min-width: 78px;
  max-width: 92px;
}

#modal-module[data-active-module-key="team"] .follow-train-settings-strip .modal-number-stepper {
  width: 70px;
  max-width: 70px;
  height: 22px;
}

#modal-module[data-active-module-key="team"] .follow-train-source-stack {
  grid-template-rows: minmax(76px, 0.7fr) minmax(84px, 1fr);
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-source-card {
  padding: 5px;
  gap: 4px;
}

#modal-module[data-active-module-key="team"] .follow-train-chain-list,
#modal-module[data-active-module-key="team"] .follow-train-source-list {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

#modal-module[data-active-module-key="team"] .follow-train-row {
  padding: 3px 4px;
}

#modal-module[data-active-module-key="team"] .follow-train-row-head {
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-slot-wrap {
  min-width: 0;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-row-copy {
  min-width: 0;
  max-width: 100%;
}

#modal-module[data-active-module-key="team"] .follow-train-row-title {
  min-width: 0;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-row-title strong {
  display: block;
  flex: 1 1 auto;
  min-width: 88px;
  max-width: 145px;
  color: var(--text);
}

#modal-module[data-active-module-key="team"] .follow-train-row-badges {
  flex: 0 0 auto;
}

#modal-module[data-active-module-key="team"] .follow-train-row-actions {
  min-width: 0;
  width: 100%;
  justify-content: flex-end;
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .follow-train-role-field {
  min-width: 88px;
  max-width: 118px;
}

#modal-module[data-active-module-key="team"] .follow-train-role-field select {
  width: 100%;
  min-width: 88px;
  max-width: 118px;
}

#modal-module[data-active-module-key="team"] .follow-train-spread-field,
#modal-module[data-active-module-key="team"] .follow-train-spread-field input[type="number"] {
  min-width: 54px;
  max-width: 58px;
}

#modal-module[data-active-module-key="team"] .follow-train-row-buttons {
  flex-wrap: nowrap;
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .follow-train-footer {
  grid-template-columns: repeat(auto-fit, minmax(96px, max-content));
  gap: 4px;
}

@media (max-width: 980px) {
  #modal-module[data-active-module-key="team"] {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-top-row,
  #modal-module[data-active-module-key="team"] .follow-train-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid {
    grid-template-columns: repeat(auto-fit, minmax(70px, max-content));
  }

  #modal-module[data-active-module-key="team"] .team-outfit-list {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .follow-train-chain-column {
    max-height: none;
  }

  #modal-module[data-active-module-key="team"] .follow-train-row-head {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .follow-train-row-actions {
    justify-content: flex-start;
  }
}

/* Scrollable modal contract: keep headers/actions visible and scroll oversized content. */
#modal-layer.modal-layer {
  overflow: hidden;
}

#modal-layer>.modal-panel.open {
  min-height: 0;
  overflow: hidden;
}

#modal-layer>.modal-panel> :is(.modal-head, .modal-actions) {
  flex: 0 0 auto;
}

#modal-layer>.modal-panel>.modal-body {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

#modal-layer>#modal-module.module-modal-headless.open {
  grid-template-rows: minmax(0, 1fr) auto;
}

#modal-layer>#modal-module[data-active-module-key="team"]>.modal-body-module,
#modal-layer>#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="team"] .module-extra-fields {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

/* Tactical Navigation is a Tier-4 headless workbench: let the shell own the whole
   surface with no modal-level scrolling (only the battle list/tabs scroll). */
#modal-layer>#modal-module[data-active-module-key="navigationTactical"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="navigationTactical"] #module-extra-fields,
#modal-layer>#modal-module[data-active-module-key="navigationTactical"] .module-extra-fields-navigation-tactical {
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  overflow: hidden !important;
  display: block !important;
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="navigationTactical"]>.modal-body-module {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  display: block !important;
  padding: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-shell {
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: min-content min-content minmax(0, 1fr);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-outfit-panel {
  min-height: 0;
}

#modal-layer>#modal-module[data-active-module-key="team"] :is(.follow-train-shell,
  .follow-train-layout,
  .follow-train-column,
  .follow-train-source-stack,
  .follow-train-source-card,
  .follow-train-chain-column,
  .follow-train-workspace) {
  min-height: 0;
}

#modal-layer>#modal-module[data-active-module-key="team"] :is(.follow-train-source-list,
  .follow-train-chain-list) {
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
}

/* Standard modal toggle buttons: one compact label, hidden checkbox, color-only state. */
.modal-panel :is(.module-rule-check,
  .module-rule-corner-toggle,
  .checks label,
  .route-checks label) {
  position: relative;
  min-width: max-content;
  min-height: 24px;
  max-height: none;
  padding: 3px 8px;
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  justify-content: center;
  gap: 0;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(15, 23, 42, 0.5);
  color: var(--muted);
  cursor: pointer;
  overflow: hidden;
}

.modal-panel :is(.module-rule-check,
  .module-rule-corner-toggle,
  .checks label,
  .route-checks label)>input[type="checkbox"] {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}

.modal-panel :is(.module-rule-check,
  .module-rule-corner-toggle,
  .checks label,
  .route-checks label)>span:not(.visually-hidden) {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  color: inherit;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modal-panel :is(.module-rule-check,
  .checks label,
  .route-checks label)>.field-note {
  display: none;
}

.modal-panel :is(.module-rule-check,
  .module-rule-corner-toggle,
  .checks label,
  .route-checks label):has(input[type="checkbox"]:checked) {
  border-color: rgba(143, 190, 100, 0.42);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.13), transparent 48%),
    rgba(28, 47, 28, 0.72);
  color: #d8efb7;
}

.modal-panel :is(.module-rule-check,
  .module-rule-corner-toggle,
  .checks label,
  .route-checks label):has(input[type="checkbox"]:focus-visible) {
  border-color: rgba(247, 213, 138, 0.52);
  box-shadow: 0 0 0 1px rgba(247, 213, 138, 0.12);
}

.modal-panel :is(.module-rule-check,
  .module-rule-corner-toggle,
  .checks label,
  .route-checks label):has(input[type="checkbox"]:disabled) {
  opacity: 0.5;
  cursor: default;
}

.modal-panel .module-rule-card .module-rule-corner-toggle {
  width: 24px;
  min-width: 24px;
  padding: 0;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check,
#modal-module[data-active-module-key="team"] .follow-train-check-field {
  height: auto;
  min-height: 24px;
  padding: 3px 8px;
  grid-template-columns: minmax(0, 1fr);
}

#modal-module[data-active-module-key="team"] .follow-train-check-field {
  min-width: 58px;
  max-width: 72px;
}

#modal-module[data-active-module-key="team"] .follow-train-reorder-buttons {
  display: inline-grid;
  grid-template-columns: repeat(2, 22px);
  gap: 3px;
  align-items: center;
}

#modal-module[data-active-module-key="team"] .follow-train-order-button {
  width: 22px;
  min-width: 22px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(15, 23, 42, 0.56);
  color: var(--text-soft);
  cursor: pointer;
}

#modal-module[data-active-module-key="team"] .follow-train-order-button:hover:not(:disabled),
#modal-module[data-active-module-key="team"] .follow-train-order-button:focus-visible {
  border-color: rgba(247, 213, 138, 0.42);
  color: var(--text);
}

#modal-module[data-active-module-key="team"] .follow-train-order-button:disabled {
  opacity: 0.36;
  cursor: default;
}

#modal-module[data-active-module-key="team"] .follow-train-order-button .route-coordinate-chevron {
  width: 7px;
  height: 7px;
  border-width: 1.5px 1.5px 0 0;
}

#modal-module[data-active-module-key="team"] .team-outfit-panel {
  display: grid;
  gap: 7px;
  padding: 7px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 7px;
  background: #0d1117;
}

#modal-module[data-active-module-key="team"] .team-outfit-panel .section-head {
  align-items: center;
  gap: 8px;
}

#modal-module[data-active-module-key="team"] .team-outfit-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
  flex-wrap: wrap;
}

#modal-module[data-active-module-key="team"] .team-outfit-toggle {
  width: 164px;
  min-width: 150px;
}

#modal-module[data-active-module-key="team"] .team-outfit-toggle .module-rule-control {
  margin: 0;
  min-height: 26px;
  padding: 3px 6px;
}

#modal-module[data-active-module-key="team"] .team-outfit-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 5px;
  min-width: 0;
}

#modal-module[data-active-module-key="team"] .team-outfit-row {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) max-content;
  align-items: center;
  gap: 6px;
  min-width: 0;
  min-height: 42px;
  padding: 5px 6px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 6px;
  background: rgba(15, 23, 42, 0.54);
}

#modal-module[data-active-module-key="team"] .team-outfit-row.leader {
  border-color: rgba(255, 82, 72, 0.32);
  background: rgba(68, 20, 24, 0.34);
}

#modal-module[data-active-module-key="team"] .team-outfit-row.current {
  box-shadow: inset 0 0 0 1px rgba(234, 242, 248, 0.22);
}

#modal-module[data-active-module-key="team"] .team-outfit-swatch {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  background: var(--team-outfit-gradient);
  border: 1px solid color-mix(in srgb, var(--team-outfit-accent) 72%, transparent);
  box-shadow:
    0 0 0 2px rgba(0, 0, 0, 0.16),
    0 0 10px color-mix(in srgb, var(--team-outfit-marker) 36%, transparent);
}

#modal-module[data-active-module-key="team"] .team-outfit-copy {
  min-width: 0;
}

#modal-module[data-active-module-key="team"] .team-outfit-title {
  display: grid;
  grid-template-columns: minmax(82px, max-content) minmax(86px, 1fr);
  align-items: baseline;
  gap: 2px 7px;
  min-width: 0;
}

#modal-module[data-active-module-key="team"] .team-outfit-title strong,
#modal-module[data-active-module-key="team"] .team-outfit-title span,
#modal-module[data-active-module-key="team"] .team-outfit-title small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="team"] .team-outfit-title strong {
  color: var(--text);
  font-size: 11px;
}

#modal-module[data-active-module-key="team"] .team-outfit-title span {
  color: var(--muted);
  font-size: 10px;
}

#modal-module[data-active-module-key="team"] .team-outfit-title small {
  grid-column: 1 / -1;
  color: rgba(203, 213, 225, 0.76);
  font-size: 10px;
}

#modal-module[data-active-module-key="team"] .team-outfit-actions {
  display: flex;
  gap: 3px;
  align-items: center;
  justify-content: flex-end;
}

@media (max-width: 900px) {

  #modal-module[data-active-module-key="team"] .team-outfit-panel .section-head,
  #modal-module[data-active-module-key="team"] .team-outfit-head-actions {
    align-items: stretch;
  }

  #modal-module[data-active-module-key="team"] .team-outfit-head-actions {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  #modal-module[data-active-module-key="team"] .team-outfit-toggle {
    width: min(100%, 190px);
  }

  #modal-module[data-active-module-key="team"] .team-outfit-list {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-outfit-row {
    grid-template-columns: 24px minmax(0, 1fr) max-content;
  }

  #modal-module[data-active-module-key="team"] .team-outfit-actions {
    justify-content: flex-end;
  }
}

/* Modal control audit: number steppers and route nudges must never stretch with panel rows. */
.modal-panel {
  --modal-audit-control-height: 24px;
  --modal-audit-number-width: 70px;
  --modal-audit-number-button-width: 16px;
  --modal-audit-number-button-inset: 3px;
}

.modal-panel :is(.form-grid,
  .module-rule-grid,
  .module-extra-fields,
  .route-tune-grid,
  .route-waypoint-grid,
  .route-tile-rule-grid,
  .route-item-shared-grid,
  .route-hunt-runtime-grid,
  .trainer-settings-grid,
  .healer-setup-grid,
  .anti-idle-control-grid,
  .reconnect-control-grid,
  .autoeat-controls,
  .alarms-card-grid,
  .alarms-master-strip,
  .alarms-protector-grid) {
  align-items: start;
  align-content: start;
  grid-auto-rows: min-content;
}

.modal-panel :is(.form-grid, .module-rule-grid, .module-extra-fields)> :is(label, .module-rule-control),
#modal-autowalk :is(.route-tune-grid, .route-waypoint-grid, .route-tile-rule-grid, .route-item-shared-grid)> :is(label, .route-coordinate-field),
#modal-targeting .route-hunt-runtime-grid>label {
  min-width: 0;
  min-height: 0;
  align-self: start;
  justify-self: start;
  align-content: start;
  overflow: visible;
}

.modal-panel :is(label, .module-rule-control):has(.modal-number-stepper) {
  display: grid;
  grid-template-rows: min-content var(--modal-audit-control-height);
  gap: 2px;
  justify-items: start;
}

.modal-panel .modal-number-stepper,
#modal-module[data-active-module-key] .modal-number-stepper.modal-number-stepper,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper.modal-number-stepper,
#modal-targeting .modal-number-stepper.modal-number-stepper,
#modal-autowalk .modal-number-stepper.modal-number-stepper {
  position: relative;
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr);
  flex: 0 0 var(--modal-audit-number-width);
  width: var(--modal-audit-number-width);
  min-width: var(--modal-audit-number-width);
  max-width: var(--modal-audit-number-width);
  height: var(--modal-audit-control-height);
  min-height: var(--modal-audit-control-height);
  max-height: var(--modal-audit-control-height);
  align-self: start;
  justify-self: start;
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  vertical-align: top;
}

.modal-panel .modal-number-stepper-input,
#modal-module[data-active-module-key] .modal-number-stepper-input.modal-number-stepper-input,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper-input.modal-number-stepper-input,
#modal-targeting .modal-number-stepper-input.modal-number-stepper-input,
#modal-autowalk .modal-number-stepper-input.modal-number-stepper-input {
  width: var(--modal-audit-number-width);
  min-width: var(--modal-audit-number-width);
  max-width: var(--modal-audit-number-width);
  height: var(--modal-audit-control-height);
  min-height: var(--modal-audit-control-height);
  max-height: var(--modal-audit-control-height);
  padding-right: calc(var(--modal-audit-number-button-width) + (var(--modal-audit-number-button-inset) * 2) + 2px);
}

.modal-panel .modal-number-stepper-buttons,
#modal-module[data-active-module-key] .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-targeting .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-autowalk .modal-number-stepper-buttons.modal-number-stepper-buttons {
  position: absolute;
  top: var(--modal-audit-number-button-inset);
  right: var(--modal-audit-number-button-inset);
  bottom: var(--modal-audit-number-button-inset);
  width: var(--modal-audit-number-button-width);
  height: auto;
  min-height: 0;
  max-height: calc(var(--modal-audit-control-height) - (var(--modal-audit-number-button-inset) * 2));
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 1px;
  z-index: 1;
  overflow: hidden;
}

.modal-panel .modal-number-stepper-button,
#modal-module[data-active-module-key] .modal-number-stepper-button.modal-number-stepper-button,
#modal-module.module-modal-compact.module-modal-settings-only .modal-number-stepper-button.modal-number-stepper-button,
#modal-targeting .modal-number-stepper-button.modal-number-stepper-button,
#modal-autowalk .modal-number-stepper-button.modal-number-stepper-button {
  width: var(--modal-audit-number-button-width);
  min-width: var(--modal-audit-number-button-width);
  max-width: var(--modal-audit-number-button-width);
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 0;
  border-radius: 2px;
  display: grid;
  place-items: center;
  overflow: hidden;
}

#modal-autowalk .route-coordinate-nudge-control {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  height: var(--modal-audit-control-height);
  min-height: var(--modal-audit-control-height);
  max-height: var(--modal-audit-control-height);
  align-self: start;
  gap: 0;
  overflow: hidden;
}

#modal-autowalk .route-coordinate-nudge-control input {
  width: 100%;
  max-width: none;
  height: var(--modal-audit-control-height);
  min-height: var(--modal-audit-control-height);
  max-height: var(--modal-audit-control-height);
  padding-right: 33px;
}

#modal-autowalk .route-coordinate-nudge-buttons {
  position: absolute;
  top: var(--modal-audit-number-button-inset);
  right: var(--modal-audit-number-button-inset);
  bottom: var(--modal-audit-number-button-inset);
  width: 29px;
  height: auto;
  min-height: 0;
  max-height: calc(var(--modal-audit-control-height) - (var(--modal-audit-number-button-inset) * 2));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 1px;
  z-index: 1;
  overflow: hidden;
}

#modal-autowalk .route-coordinate-nudge-button {
  width: 14px;
  min-width: 14px;
  max-width: 14px;
  height: auto;
  min-height: 0;
  padding: 0;
  border-radius: 2px;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.modal-panel .modal-number-stepper-button .route-coordinate-chevron,
#modal-targeting .modal-number-stepper-button .route-coordinate-chevron,
#modal-autowalk .modal-number-stepper-button .route-coordinate-chevron,
#modal-autowalk .route-coordinate-nudge-button .route-coordinate-chevron {
  width: 5px;
  height: 5px;
  border-width: 1.5px 1.5px 0 0;
}

/* Modal shell spacing contract: keep outer modal gutters stable while inner controls stay dense. */
#modal-layer.modal-layer {
  padding: 8px;
}

#modal-layer>.modal-panel {
  gap: 8px;
}

#modal-layer>.modal-panel> :is(.modal-head, .modal-body, .modal-actions) {
  gap: 8px;
}

#modal-layer>.modal-panel>.modal-actions {
  min-height: 28px;
  padding: 3px 6px;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row {
  grid-template-columns: minmax(360px, max-content) minmax(520px, 1fr);
  gap: 6px;
  align-items: start;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-panel,
#modal-module[data-active-module-key="team"] .team-sio-panel {
  width: 100%;
  max-width: none;
  height: max-content;
  padding: 5px 6px;
  gap: 5px;
  background: #0d1117;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: 126px 126px 70px 126px 126px 126px;
  align-items: end;
  gap: 5px 6px;
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: max-content repeat(5, minmax(64px, max-content));
  align-items: end;
  gap: 5px 6px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control {
  width: auto;
  max-width: none;
  gap: 2px;
  font-size: 10px;
  line-height: 1.12;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control:not(.module-rule-check) {
  grid-template-rows: min-content 24px;
  align-content: end;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check {
  height: 24px;
  min-height: 24px;
  padding: 0 4px;
  grid-template-columns: var(--toggle-width) max-content;
  align-items: center;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control>span,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check>span {
  min-height: 11px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.08;
  white-space: nowrap;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row :is(input:not([type="checkbox"]), select) {
  min-height: 24px;
  height: 24px;
  font-size: 10px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip select {
  width: 126px;
  max-width: 126px;
}

@media (max-width: 1050px) {
  #modal-module[data-active-module-key="team"] .team-hunt-top-row {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid {
    grid-template-columns: repeat(auto-fit, minmax(88px, max-content));
  }
}

/* Terminal Team Hunt toggle lock: later row-density rules must not restore a switch column. */
#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check,
#modal-module[data-active-module-key="team"] .follow-train-check-field {
  width: fit-content;
  min-height: 24px;
  height: auto;
  max-height: none;
  padding: 3px 8px;
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  gap: 0;
}

#modal-module[data-active-module-key="team"] .follow-train-check-field {
  min-width: 58px;
  max-width: 72px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check>span,
#modal-module[data-active-module-key="team"] .follow-train-check-field>span {
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  font-size: 9px;
  font-weight: 750;
  line-height: 1.1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Final Team Hunt layout closure: this stays last so the important roster modal wins later density rules. */
#modal-module[data-active-module-key="team"] {
  width: min(1260px, calc(100vw - 16px));
  max-width: min(1260px, calc(100vw - 16px));
  height: min(92dvh, calc(100dvh - 16px));
  max-height: min(92dvh, calc(100dvh - 16px));
  grid-template-rows: minmax(0, 1fr) auto;
}

#modal-module[data-active-module-key="team"]>.modal-body-module {
  min-height: 0;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"],
#modal-module[data-active-module-key="team"] .module-extra-fields {
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: visible;
}

#modal-module[data-active-module-key="team"] .module-extra-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

#modal-module[data-active-module-key="team"] .team-hunt-shell {
  min-height: 0;
  height: auto;
  grid-template-rows: min-content min-content minmax(0, 1fr);
  gap: 4px;
  overflow: visible;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row {
  grid-template-columns: max-content;
  gap: 4px;
  align-items: start;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-panel,
#modal-module[data-active-module-key="team"] .team-sio-panel {
  width: auto;
  max-width: 100%;
  padding: 3px 4px;
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip {
  grid-template-columns: 112px 112px 64px 112px 112px 112px max-content;
  gap: 3px 5px;
  align-items: end;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-strip>.team-sio-panel {
  display: contents;
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(5, 100px);
  gap: 3px 5px;
  align-items: end;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control:not(.module-rule-check) {
  width: auto;
  max-width: none;
  grid-template-rows: 11px 24px;
  gap: 1px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control>span {
  min-height: 11px;
  font-size: 8px;
  line-height: 1.05;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip select {
  width: 112px;
  max-width: 112px;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip .module-rule-control:last-child select {
  width: 112px;
  max-width: 112px;
}

#modal-module[data-active-module-key="team"] .team-outfit-panel {
  padding: 4px 5px;
  gap: 4px;
  border-radius: 5px;
}

#modal-module[data-active-module-key="team"] .team-outfit-panel .section-head {
  min-height: 24px;
  align-items: center;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .team-outfit-panel .section-meta {
  display: none;
}

#modal-module[data-active-module-key="team"] .team-outfit-head-actions {
  gap: 4px;
}

#modal-module[data-active-module-key="team"] .team-outfit-toggle {
  width: auto;
  min-width: 0;
}

#modal-module[data-active-module-key="team"] .team-outfit-toggle .module-rule-control {
  min-height: 22px;
  padding: 2px 6px;
}

#modal-module[data-active-module-key="team"] .team-outfit-list {
  display: flex;
  flex-direction: row;
  gap: 3px;
  max-height: 38px;
  overflow-x: auto;
  overflow-y: hidden;
}

#modal-module[data-active-module-key="team"] .team-outfit-row {
  min-height: 30px;
  height: 30px;
  display: grid;
  flex: 0 0 auto;
  min-width: 220px;
  grid-template-columns: 16px minmax(0, 1fr) max-content;
  gap: 4px;
  padding: 2px 4px;
  border-radius: 4px;
}

#modal-module[data-active-module-key="team"] .team-outfit-swatch {
  width: 14px;
  height: 14px;
  border-radius: 3px;
}

#modal-module[data-active-module-key="team"] .team-outfit-title {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

#modal-module[data-active-module-key="team"] .team-outfit-title strong,
#modal-module[data-active-module-key="team"] .team-outfit-title span {
  font-size: 10px;
  line-height: 1.05;
}

#modal-module[data-active-module-key="team"] .team-outfit-title small {
  display: none;
}

#modal-module[data-active-module-key="team"] .team-outfit-actions .btn.compact,
#modal-module[data-active-module-key="team"] .team-outfit-head-actions .btn.compact {
  min-height: 20px;
  padding: 2px 6px;
  font-size: 9px;
}

#modal-module[data-active-module-key="team"] .follow-train-shell,
#modal-module[data-active-module-key="team"] .follow-train-layout {
  min-height: 0;
  height: auto;
}

#modal-module[data-active-module-key="team"] .follow-train-layout {
  grid-template-columns: minmax(220px, 0.38fr) minmax(0, 1fr);
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-column {
  padding: 5px;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-chain-column {
  max-height: min(44dvh, 370px);
}

#modal-module[data-active-module-key="team"] .follow-train-source-stack {
  grid-template-rows: minmax(76px, 0.7fr) minmax(84px, 1fr);
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-source-card {
  padding: 5px;
  gap: 4px;
}

#modal-module[data-active-module-key="team"] .follow-train-chain-list,
#modal-module[data-active-module-key="team"] .follow-train-source-list {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

#modal-module[data-active-module-key="team"] .follow-train-row {
  padding: 3px 4px;
}

#modal-module[data-active-module-key="team"] .follow-train-row-head {
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-slot-wrap {
  min-width: 0;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-row-copy {
  min-width: 0;
  max-width: 100%;
}

#modal-module[data-active-module-key="team"] .follow-train-row-title {
  min-width: 0;
  gap: 5px;
}

#modal-module[data-active-module-key="team"] .follow-train-row-title strong {
  display: block;
  flex: 1 1 auto;
  min-width: 88px;
  max-width: 145px;
  color: var(--text);
}

#modal-module[data-active-module-key="team"] .follow-train-row-badges {
  flex: 0 0 auto;
}

#modal-module[data-active-module-key="team"] .follow-train-row-actions {
  min-width: 0;
  width: 100%;
  justify-content: flex-end;
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .follow-train-role-field {
  min-width: 88px;
  max-width: 118px;
}

#modal-module[data-active-module-key="team"] .follow-train-role-field select {
  width: 100%;
  min-width: 88px;
  max-width: 118px;
}

#modal-module[data-active-module-key="team"] .follow-train-spread-field,
#modal-module[data-active-module-key="team"] .follow-train-spread-field input[type="number"] {
  min-width: 54px;
  max-width: 58px;
}

#modal-module[data-active-module-key="team"] .follow-train-row-buttons {
  flex-wrap: nowrap;
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .follow-train-footer {
  grid-template-columns: repeat(auto-fit, minmax(96px, max-content));
  gap: 4px;
}

@media (max-width: 980px) {
  #modal-module[data-active-module-key="team"] {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-top-row,
  #modal-module[data-active-module-key="team"] .follow-train-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-hunt-control-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid {
    grid-template-columns: repeat(auto-fit, minmax(70px, max-content));
  }

  #modal-module[data-active-module-key="team"] .team-outfit-list {
    flex-wrap: nowrap;
  }

  #modal-module[data-active-module-key="team"] .follow-train-chain-column {
    max-height: none;
  }

  #modal-module[data-active-module-key="team"] .follow-train-row-head {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .follow-train-row-actions {
    justify-content: flex-start;
  }
}

/* Teamhunt modal header-control repair: keep settings compact above the roster. */
#modal-module[data-active-module-key="team"]>.modal-body-module,
#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"],
#modal-module[data-active-module-key="team"] .module-extra-fields,
#modal-module[data-active-module-key="team"] .team-hunt-shell,
#modal-module[data-active-module-key="team"] .follow-train-shell,
#modal-module[data-active-module-key="team"] .follow-train-layout {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

#modal-module[data-active-module-key="team"] .team-hunt-shell {
  display: grid;
  grid-template-rows: min-content min-content minmax(0, 1fr);
  align-content: stretch;
}

#modal-module[data-active-module-key="team"] .follow-train-layout {
  align-items: stretch;
}

#modal-module[data-active-module-key="team"] .follow-train-source-column {
  grid-template-rows: auto auto minmax(0, 1fr);
}

#modal-module[data-active-module-key="team"] .follow-train-chain-column {
  grid-template-rows: auto auto minmax(0, 1fr);
  max-height: none;
}

#modal-module[data-active-module-key="team"] .follow-train-workspace {
  min-height: 0;
  overflow: hidden;
}

#modal-module[data-active-module-key="team"] .follow-train-chain-list,
#modal-module[data-active-module-key="team"] .follow-train-source-list {
  min-height: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
}

#modal-module[data-active-module-key="team"] .follow-train-settings-strip {
  align-self: start;
  align-items: end;
  grid-auto-rows: min-content;
}

@media (min-width: 981px) and (max-height: 640px) {
  #modal-module[data-active-module-key="team"] .team-hunt-top-row {
    grid-template-columns: max-content max-content;
  }

  #modal-module[data-active-module-key="team"]>.modal-body-module {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  #modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"],
  #modal-module[data-active-module-key="team"] .module-extra-fields,
  #modal-module[data-active-module-key="team"] .team-hunt-shell,
  #modal-module[data-active-module-key="team"] .follow-train-shell,
  #modal-module[data-active-module-key="team"] .follow-train-layout {
    height: auto;
    overflow: visible;
  }

  #modal-module[data-active-module-key="team"] .follow-train-layout {
    grid-template-columns: minmax(220px, 0.38fr) minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .team-outfit-list {
    flex-wrap: nowrap;
  }

  #modal-module[data-active-module-key="team"] .follow-train-row-head {
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .follow-train-row-actions {
    justify-content: flex-end;
  }
}

@media (max-width: 980px) {
  #modal-module[data-active-module-key="team"] .team-hunt-shell {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

/* Team Hunt modal final alignment: full-width header, button-like toggles, one scroll owner on the source column. */
#modal-module[data-active-module-key="team"] {
  width: min(1320px, calc(100vw - 8px));
  max-width: calc(100vw - 8px);
}

#modal-module[data-active-module-key="team"]>.modal-body-module,
#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"],
#modal-module[data-active-module-key="team"] .module-extra-fields,
#modal-module[data-active-module-key="team"] .team-hunt-shell {
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

#modal-module[data-active-module-key="team"] .team-hunt-shell {
  display: grid;
  grid-template-rows: min-content min-content minmax(0, 1fr);
  gap: 5px;
  width: 100%;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  overflow: visible;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-panel {
  width: 100%;
  max-width: none;
  padding: 5px 6px;
  display: grid;
  gap: 5px;
  border-color: rgba(57, 64, 73, 0.92);
  background: #0d1117;
  box-shadow: none;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-strip,
#modal-module[data-active-module-key="team"] .team-sio-grid {
  width: 100%;
  max-width: none;
  display: grid;
  gap: 5px 6px;
  align-items: end;
  justify-content: stretch;
}

#modal-module[data-active-module-key="team"] .team-hunt-policy-strip {
  grid-template-columns: repeat(6, minmax(96px, 1fr));
}

#modal-module[data-active-module-key="team"] .team-hunt-settings-strip {
  grid-template-columns: minmax(74px, 0.55fr) minmax(116px, 1fr) max-content minmax(106px, 0.82fr) max-content;
}

#modal-module[data-active-module-key="team"] .team-sio-panel {
  width: 100%;
  max-width: none;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(5, minmax(72px, 1fr));
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control:not(.module-rule-check) {
  width: 100%;
  max-width: none;
  grid-template-rows: min-content 24px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control:has(select) select,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control:has(input:not([type="checkbox"])) input:not([type="checkbox"]),
#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control .modal-number-stepper {
  width: 100%;
  max-width: none;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control .modal-number-stepper {
  grid-template-columns: minmax(0, 1fr) 49px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check:not(.follow-train-route-kite-toggle) {
  width: fit-content;
  max-width: none;
  min-height: 24px;
  height: 24px;
  padding: 3px 8px;
}

#modal-module[data-active-module-key="team"] .follow-train-route-kite-toggle {
  min-width: 76px;
  min-height: 24px;
  height: 24px;
  padding: 3px 9px;
  align-self: end;
  border-color: rgba(57, 64, 73, 0.92);
  background: #131920;
  color: #e6e8eb;
}

#modal-module[data-active-module-key="team"] .follow-train-route-kite-toggle:hover {
  border-color: rgba(116, 124, 134, 0.86);
  background: #192028;
}

#modal-module[data-active-module-key="team"] .follow-train-route-kite-toggle.active,
#modal-module[data-active-module-key="team"] .follow-train-route-kite-toggle:has(input:checked) {
  border-color: #72bf4f;
  background: #20351f;
  color: #f4ffe8;
}

#modal-module[data-active-module-key="team"] .follow-train-route-kite-toggle input {
  position: absolute;
  width: 1px;
  min-width: 1px;
  height: 1px;
  min-height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

#modal-module[data-active-module-key="team"] .follow-train-route-kite-toggle span {
  color: inherit;
  font-size: 9px;
  font-weight: 750;
  line-height: 1.1;
}

#modal-module[data-active-module-key="team"] .follow-train-layout {
  min-height: 0;
  height: 100%;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
  align-items: stretch;
}

#modal-module[data-active-module-key="team"] .follow-train-source-column {
  grid-template-rows: minmax(0, 1fr);
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

#modal-module[data-active-module-key="team"] .follow-train-source-stack {
  min-height: 100%;
  display: grid;
  grid-template-rows: minmax(190px, 1fr) auto auto;
  gap: 5px;
  align-content: start;
  overflow: visible;
}

#modal-module[data-active-module-key="team"] .follow-train-source-card {
  min-height: auto;
  padding: 5px;
  display: grid;
  grid-template-rows: auto auto;
  gap: 4px;
  overflow: visible;
  border-color: rgba(57, 64, 73, 0.62);
  background: rgba(8, 12, 17, 0.58);
  box-shadow: none;
}

#modal-module[data-active-module-key="team"] .follow-train-character-card {
  min-height: min(330px, 48dvh);
}

#modal-module[data-active-module-key="team"] .follow-train-source-list {
  max-height: none;
  overflow: visible;
  padding-right: 0;
  scrollbar-gutter: auto;
}

#modal-module[data-active-module-key="team"] .follow-train-manual-card {
  align-self: start;
}

#modal-module[data-active-module-key="team"] .follow-train-manual-strip,
#modal-module[data-active-module-key="team"] .follow-train-manual-strip .module-rule-control,
#modal-module[data-active-module-key="team"] .follow-train-manual-strip textarea {
  width: 100%;
  max-width: none;
}

#modal-module[data-active-module-key="team"] .follow-train-manual-strip textarea {
  min-height: 42px;
  max-height: 96px;
}

#modal-module[data-active-module-key="team"] .follow-train-chain-column {
  min-height: 0;
  max-height: none;
  overflow: hidden;
}

#modal-module[data-active-module-key="team"] .follow-train-workspace,
#modal-module[data-active-module-key="team"] .follow-train-chain-list {
  min-height: 0;
  overflow-x: hidden;
}

#modal-module[data-active-module-key="team"] .follow-train-chain-list {
  overflow-y: auto;
}

@media (max-width: 1050px) {

  #modal-module[data-active-module-key="team"] .team-hunt-policy-strip,
  #modal-module[data-active-module-key="team"] .team-hunt-settings-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid {
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  }

  #modal-module[data-active-module-key="team"] .follow-train-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] .follow-train-source-column {
    max-height: none;
  }
}

/* Team Hunt final compact header: three fixed-height groups in one row. */
#modal-module[data-active-module-key="team"] .team-hunt-top-row {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: visible;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-panel {
  width: 100%;
  max-width: none;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-grid {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(278px, 0.8fr) minmax(574px, 1.55fr) minmax(372px, 1fr);
  gap: 5px;
  align-items: start;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-panel {
  position: relative;
  min-width: 0;
  height: 46px;
  min-height: 46px;
  max-height: 46px;
  padding: 11px 5px 4px;
  display: grid;
  align-items: end;
  border: 1px solid rgba(57, 64, 73, 0.92);
  border-radius: 5px;
  background: #0d1117;
  overflow: hidden;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-label {
  position: absolute;
  top: 2px;
  left: 6px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  pointer-events: none;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-controls {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 4px;
  align-items: end;
  align-content: end;
  justify-content: stretch;
}

#modal-module[data-active-module-key="team"] .team-hunt-policy-strip {
  grid-template-columns: minmax(0, 104px) minmax(0, 104px) minmax(0, 62px);
}

#modal-module[data-active-module-key="team"] .team-hunt-sync-strip {
  grid-template-columns: repeat(3, minmax(0, 92px)) repeat(5, minmax(0, 54px));
}

#modal-module[data-active-module-key="team"] .team-hunt-settings-strip {
  grid-template-columns: minmax(0, 54px) minmax(0, 100px) minmax(0, 70px) minmax(0, 60px) minmax(0, 72px);
}

#modal-module[data-active-module-key="team"] .team-hunt-sync-strip>.team-sio-panel,
#modal-module[data-active-module-key="team"] .team-hunt-sync-strip .team-sio-grid {
  display: contents;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .field-note {
  display: none;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control {
  min-width: 0;
  width: 100%;
  max-width: none;
  min-height: 0;
  gap: 1px;
  font-size: 9px;
  line-height: 1.05;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control:not(.module-rule-check) {
  display: grid;
  grid-template-rows: 10px 23px;
  align-content: end;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control>span,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check>span {
  min-width: 0;
  min-height: 10px;
  max-width: 100%;
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  font-weight: 750;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row :is(input:not([type="checkbox"]), select) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 23px;
  min-height: 23px;
  max-height: 23px;
  padding-top: 2px;
  padding-bottom: 2px;
  font-size: 9px;
  line-height: 1.05;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper {
  position: relative;
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 23px;
  min-height: 23px;
  max-height: 23px;
  overflow: hidden;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-input {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 23px;
  min-height: 23px;
  max-height: 23px;
  padding-right: 20px;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-buttons {
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  width: 14px;
  height: auto;
  min-height: 0;
  max-height: 19px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-button {
  width: 14px;
  min-width: 14px;
  max-width: 14px;
  height: auto;
  min-height: 0;
  padding: 0;
  display: grid;
  place-items: center;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check:not(.follow-train-route-kite-toggle),
#modal-module[data-active-module-key="team"] .follow-train-route-kite-toggle {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 23px;
  min-height: 23px;
  max-height: 23px;
  padding: 3px 5px;
  align-self: end;
  justify-content: center;
  grid-template-columns: minmax(0, max-content);
}

#modal-module[data-active-module-key="team"] .follow-train-route-kite-toggle input {
  position: absolute;
  width: 1px;
  min-width: 1px;
  height: 1px;
  min-height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

#modal-module[data-active-module-key="team"] .team-outfit-panel {
  padding: 5px;
  gap: 4px;
  border-radius: 5px;
}

#modal-module[data-active-module-key="team"] .team-outfit-panel .section-head {
  min-height: 24px;
  align-items: center;
  gap: 6px;
}

#modal-module[data-active-module-key="team"] .team-outfit-title-row {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

#modal-module[data-active-module-key="team"] .team-outfit-title-row>strong {
  white-space: nowrap;
}

#modal-module[data-active-module-key="team"] .team-outfit-roster-field {
  min-width: 82px;
  display: grid;
}

#modal-module[data-active-module-key="team"] .team-outfit-roster-field select {
  width: 82px;
  min-height: 22px;
  height: 22px;
  padding: 2px 18px 2px 6px;
  font-size: 9px;
}

#modal-module[data-active-module-key="team"] .team-outfit-head-actions {
  gap: 4px;
  flex-wrap: nowrap;
}

#modal-module[data-active-module-key="team"] .team-outfit-toggle {
  width: auto;
  min-width: 0;
}

#modal-module[data-active-module-key="team"] .team-outfit-toggle .module-rule-control {
  min-height: 22px;
  height: 22px;
  padding: 2px 6px;
}

#modal-module[data-active-module-key="team"] .team-outfit-head-actions .btn.compact {
  min-height: 22px;
  height: 22px;
  padding: 2px 7px;
  font-size: 9px;
  white-space: nowrap;
}

#modal-module[data-active-module-key="team"] .team-outfit-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(206px, 1fr));
  grid-auto-rows: 34px;
  gap: 3px;
  max-height: 110px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module[data-active-module-key="team"] .team-outfit-row {
  min-height: 34px;
  height: 34px;
  grid-template-columns: 12px minmax(24px, 1fr) max-content;
  gap: 3px;
  padding: 2px 3px;
  border-radius: 4px;
}

#modal-module[data-active-module-key="team"] .team-outfit-row.unfocused {
  opacity: 0.74;
}

#modal-module[data-active-module-key="team"] .team-outfit-row.focused {
  border-color: color-mix(in srgb, var(--team-outfit-marker, rgba(247, 213, 138, 0.5)) 46%, rgba(169, 141, 99, 0.2));
}

#modal-module[data-active-module-key="team"] .team-outfit-swatch {
  width: 12px;
  height: 12px;
  border-radius: 3px;
}

#modal-module[data-active-module-key="team"] .team-outfit-title {
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 3px;
}

#modal-module[data-active-module-key="team"] .team-outfit-title strong {
  min-width: 16px;
  color: var(--text);
  font-size: 10px;
  line-height: 1;
  text-align: center;
}

#modal-module[data-active-module-key="team"] .team-outfit-title span {
  font-size: 8px;
  line-height: 1.05;
}

#modal-module[data-active-module-key="team"] .team-outfit-title small {
  display: none;
}

#modal-module[data-active-module-key="team"] .team-outfit-actions {
  gap: 2px;
  flex-wrap: nowrap;
}

#modal-module[data-active-module-key="team"] .team-outfit-vocation-field {
  min-width: 54px;
  max-width: 54px;
}

#modal-module[data-active-module-key="team"] .team-outfit-vocation-field select {
  width: 54px;
  min-height: 20px;
  height: 20px;
  padding: 1px 14px 1px 3px;
  font-size: 8px;
}

#modal-module[data-active-module-key="team"] .team-outfit-preset-check {
  width: 22px;
  min-width: 22px;
  min-height: 20px;
  height: 20px;
  padding: 2px;
  justify-content: center;
}

#modal-module[data-active-module-key="team"] .team-outfit-preset-check span {
  display: none;
}

#modal-module[data-active-module-key="team"] .team-outfit-actions .btn.compact {
  min-height: 20px;
  height: 20px;
  width: 22px;
  min-width: 22px;
  padding: 2px 0;
  font-size: 8px;
}

/* Final route launcher lock: keep this chooser content-sized after broad modal cascades. */
#modal-layer>#modal-route-launcher.modal-panel-route-launcher {
  width: min(760px, calc(100vw - 16px));
  max-width: min(760px, calc(100vw - 16px));
  height: auto;
  max-height: calc(100dvh - 16px);
  align-self: center;
  justify-self: center;
}

#modal-route-launcher>.modal-body-route-launcher {
  overflow-y: auto;
}

#modal-route-launcher .route-launcher-grid {
  grid-template-columns: minmax(220px, 1fr) minmax(132px, 176px) minmax(104px, max-content) minmax(104px, max-content);
  grid-template-areas:
    "route mode start walk";
  gap: 6px;
  align-items: end;
}

#modal-route-launcher .route-launch-mode-field {
  grid-area: mode;
  width: 100%;
}

#modal-route-launcher .route-launch-route-field {
  grid-area: route;
}

#modal-route-launcher .route-launch-start-field {
  grid-area: start;
}

#modal-route-launcher .route-launch-walk-field {
  grid-area: walk;
}

#modal-route-launcher .route-launch-main-field {
  min-width: 0;
}

#modal-route-launcher .route-launch-toggle-field {
  min-width: 0;
  width: 100%;
  justify-items: stretch;
}

#modal-route-launcher .route-launch-toggle-field input {
  justify-self: end;
}

#modal-route-launcher .modal-actions {
  justify-content: flex-end;
}

@media (max-width: 620px) {
  #modal-layer>#modal-route-launcher.modal-panel-route-launcher {
    width: calc(100vw - 12px);
    max-width: calc(100vw - 12px);
    max-height: calc(100dvh - 12px);
  }

  #modal-route-launcher .route-launcher-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "route"
      "mode"
      "start"
      "walk";
  }

  #modal-route-launcher .route-launch-mode-field,
  #modal-route-launcher .route-launch-toggle-field {
    width: 100%;
    justify-items: start;
  }

  #modal-route-launcher .route-launch-toggle-field input {
    justify-self: start;
  }
}

@keyframes bot-tab-alarm-danger {

  0%,
  100% {
    border-color: rgba(229, 83, 67, 0.96);
    box-shadow:
      0 0 0 1px rgba(229, 83, 67, 0.44),
      0 0 16px rgba(229, 83, 67, 0.3);
  }

  50% {
    border-color: rgba(255, 221, 115, 0.98);
    box-shadow:
      0 0 0 1px rgba(255, 221, 115, 0.52),
      0 0 20px rgba(255, 221, 115, 0.38);
  }
}

@keyframes bot-tab-alarm-watch {

  0%,
  100% {
    border-color: rgba(121, 220, 255, 0.72);
    box-shadow: 0 0 0 1px rgba(121, 220, 255, 0.2);
  }

  50% {
    border-color: rgba(247, 213, 138, 0.78);
    box-shadow: 0 0 12px rgba(247, 213, 138, 0.22);
  }
}

@keyframes bot-tab-alarm-death {

  0%,
  100% {
    border-color: rgba(210, 78, 78, 0.92);
    box-shadow:
      0 0 0 1px rgba(210, 78, 78, 0.34),
      0 0 14px rgba(210, 78, 78, 0.22);
  }

  50% {
    border-color: rgba(170, 170, 170, 0.86);
    box-shadow:
      0 0 0 1px rgba(170, 170, 170, 0.22),
      0 0 10px rgba(170, 170, 170, 0.14);
  }
}

.bot-tab.alarm-active {
  animation: bot-tab-alarm-watch 1.35s steps(2, end) infinite;
}

.bot-tab.alarm-active:is(.hostile-alert, .staff-alert, .health-alert) {
  animation: bot-tab-alarm-danger 0.72s steps(2, end) infinite;
}

.bot-tab.alarm-active.death-alert {
  animation: bot-tab-alarm-death 2.2s steps(2, end) infinite;
}

.bot-tab.alarm-active .bot-tab-select {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 40%),
    rgba(33, 18, 15, 0.96);
}

.bot-tab.alarm-active .bot-tab-state {
  border-color: rgba(255, 221, 115, 0.46);
  color: #ffe6a8;
}

/* Route modal layout repair: one-line header, left live grid, restored editor column. */
#modal-autowalk .route-modal-head {
  min-height: 0;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: end;
  gap: 6px;
  padding: 4px 6px;
}

#modal-autowalk .route-modal-head-top {
  display: block;
  min-width: 0;
}

#modal-autowalk .route-modal-head-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(360px, 1.05fr);
  align-items: end;
  gap: 6px;
}

#modal-autowalk .route-modal-head-block {
  min-width: 0;
  display: grid;
  align-items: end;
  gap: 5px;
}

#modal-autowalk .route-modal-head-block-left {
  grid-template-columns: minmax(170px, 1fr) minmax(150px, 0.78fr);
}

#modal-autowalk .route-modal-head-block-left .route-head-meta-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: end;
  gap: 4px;
}

#modal-autowalk .route-modal-head-block-right {
  width: auto;
  justify-self: stretch;
  grid-template-columns: minmax(230px, 1fr) minmax(190px, 0.8fr);
}

#modal-autowalk .route-name-row {
  grid-template-columns: minmax(170px, 1fr) max-content;
  align-items: end;
  gap: 5px;
}

#modal-autowalk .route-head-meta-row-route {
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
}

#modal-autowalk .route-modal-head .route-library-meta,
#modal-autowalk .route-modal-head .route-file-note,
#modal-autowalk .route-modal-head .route-validation-summary {
  min-height: 24px;
  padding: 3px 5px;
}

#modal-autowalk .route-pack-toolbar {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, max-content) max-content;
  align-items: end;
  gap: 5px;
}

#modal-autowalk .route-pack-preview {
  max-width: 220px;
  max-height: 30px;
  padding: 3px 5px;
  overflow: auto;
}

#modal-autowalk .route-pack-actions {
  flex-wrap: nowrap;
  gap: 4px;
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr);
  gap: 6px;
}

#modal-targeting .route-hunt-grid-3col {
  grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 6px;
}

#modal-autowalk .route-stack-card-main {
  grid-template-rows: auto auto auto minmax(0, 1fr);
}

#modal-autowalk #waypoint-list[hidden] {
  display: none !important;
}

#modal-autowalk .route-main-column .route-overview-card {
  width: 100%;
  height: 100%;
  min-height: 0;
  align-content: stretch;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  overflow: hidden;
}

#modal-autowalk .route-main-column .route-overview-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

#modal-autowalk .route-main-column .route-overview-note:empty,
#modal-autowalk .route-main-column .route-overview-note[hidden] {
  display: none;
}

#modal-autowalk .route-main-column .route-toggle-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: 44px;
  gap: 4px;
}

#modal-autowalk .route-main-column .route-control-button {
  min-height: 44px;
  height: 44px;
  padding: 3px 5px;
}

#modal-autowalk .route-main-column .route-live-preview-shell {
  min-height: 0;
  height: 100%;
  max-height: none;
  grid-template-rows: minmax(0, 1fr);
}

#modal-autowalk .route-main-column .route-live-preview-shell[data-marked="true"] {
  grid-template-rows: auto minmax(0, 1fr);
}

/* Final live waypoint grid lock: nine square columns and vertical-only scroll in the modal. */
#modal-autowalk #route-live-preview.waypoint-preview-live,
#modal-autowalk #route-live-preview.waypoint-square-grid {
  --route-waypoint-columns: 9;
  --route-waypoint-grid-gap: 2px;
  --route-waypoint-tile-min-size: 0px;
  --route-waypoint-tile-size: calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns));
  width: 100%;
  min-width: 0;
  min-height: 0;
  grid-template-columns: repeat(var(--route-waypoint-columns), minmax(0, 1fr));
  grid-auto-rows: var(--route-waypoint-tile-size);
  gap: var(--route-waypoint-grid-gap);
  align-content: start;
  justify-content: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 2px;
  scrollbar-gutter: stable;
}

#modal-autowalk #route-live-preview .route-live-waypoint {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
}

#modal-autowalk .route-editor-shared-panel .route-coordinate-storage {
  display: grid;
}

#modal-autowalk .route-drive-card {
  gap: 5px;
}

#modal-autowalk .route-drive-card .route-section-head-inline {
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

#modal-autowalk .route-drive-card .route-card-tools-stretch {
  grid-template-columns: minmax(0, 1fr);
}

#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

#modal-autowalk .route-tune-grid>label {
  width: 100%;
  min-width: 0;
}

#modal-autowalk .route-tune-grid>label:has(#vocation) {
  grid-column: span 2;
}

#modal-autowalk .route-checks {
  grid-template-columns: repeat(2, minmax(0, max-content));
  justify-content: start;
  gap: 4px;
}

#modal-autowalk .route-checks label {
  min-height: 24px;
  padding-inline: 8px;
}

#modal-autowalk .route-avoid-fields-card {
  gap: 4px;
}

#modal-autowalk .route-pane-head-avoid {
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 5px;
}

#modal-autowalk .route-avoid-toggle {
  width: 100%;
  justify-self: stretch;
  min-height: 24px;
  padding: 3px 7px;
}

#modal-autowalk .route-avoid-category-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3px;
}

#modal-autowalk .route-avoid-category {
  width: 100%;
  min-height: 24px;
  padding: 3px 5px;
}

#modal-autowalk :is(.route-avoid-toggle-copy small, .route-avoid-category-copy small) {
  display: none;
}

#modal-autowalk .route-avoid-metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px;
}

#modal-autowalk .route-avoid-metric {
  min-height: 24px;
  padding: 4px 5px;
}

#modal-autowalk .route-avoid-metric strong {
  font-size: 7px;
  line-height: 1.1;
}

#modal-autowalk .route-panel-action-grid-avoid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

#modal-autowalk .route-avoid-category-summary {
  min-height: 0;
  padding: 3px 5px;
}

#modal-autowalk :is(.route-avoid-toggle, .route-avoid-category)[data-state="on"],
#modal-autowalk :is(.route-avoid-toggle, .route-avoid-category):has(input[type="checkbox"]:checked) {
  border-color: rgba(143, 190, 100, 0.82);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.2), transparent 52%),
    rgba(28, 56, 29, 0.9);
  color: #eefbdc;
  box-shadow: inset 0 0 0 1px rgba(143, 190, 100, 0.16);
}

#modal-autowalk :is(.route-avoid-toggle, .route-avoid-category)[data-state="off"],
#modal-autowalk .route-avoid-category[data-disabled="true"] {
  border-color: rgba(148, 163, 184, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(15, 23, 42, 0.5);
  color: var(--muted);
  box-shadow: none;
}

#modal-autowalk .route-avoid-category[data-disabled="true"] {
  opacity: 0.55;
}

@media (max-width: 900px) {

  #modal-autowalk .route-modal-head,
  #modal-autowalk .route-modal-head-grid,
  #modal-autowalk .route-main-layout,
  #modal-targeting .route-hunt-grid-3col,
  #modal-targeting .route-hunt-modal-head-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-autowalk .route-pack-toolbar,
  #modal-autowalk .route-modal-head-block-right {
    justify-self: stretch;
  }
}

@media (max-width: 760px) {

  #modal-autowalk .route-modal-head-block-left,
  #modal-autowalk .route-modal-head-block-right,
  #modal-autowalk .route-name-row,
  #modal-autowalk .route-pack-toolbar,
  #modal-autowalk .route-tune-grid,
  #modal-autowalk .route-checks,
  #modal-autowalk .route-main-column .route-overview-grid,
  #modal-autowalk .route-main-column .route-toggle-grid,
  #modal-autowalk .route-avoid-category-grid,
  #modal-autowalk .route-avoid-metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* UI cleanup lock: no double-stack power buttons, no On/Off badges inside modal toggles. */
.control-card .quick-module-toggle,
.quick-module-toggle,
.route-overview-card .route-control-button,
#modal-autowalk .route-main-column .route-control-button {
  flex-direction: row;
  width: 100%;
  min-width: 0;
  min-height: 38px;
  height: 38px;
  padding: 0 6px;
  align-items: center;
  justify-content: center;
  gap: 0;
  border-color: rgba(57, 64, 73, 0.92);
  background: #111820;
  color: #e3e6ea;
  box-shadow: none;
  text-align: center;
}

.control-card .quick-module-toggle span,
.quick-module-toggle span,
.route-overview-card .route-control-button span,
#modal-autowalk .route-main-column .route-control-button span {
  display: none;
}

.control-card .quick-module-toggle strong,
.quick-module-toggle strong,
.route-overview-card .route-control-button strong,
#modal-autowalk .route-main-column .route-control-button strong {
  max-width: 100%;
  color: inherit;
  font-size: 10px;
  font-weight: 760;
  line-height: 1.08;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.control-card .quick-module-toggle:hover:not(:disabled),
.quick-module-toggle:hover:not(:disabled),
.route-overview-card .route-control-button:hover:not(:disabled),
#modal-autowalk .route-main-column .route-control-button:hover:not(:disabled) {
  border-color: rgba(116, 124, 134, 0.86);
  background: #151d25;
  box-shadow: none;
}

.control-card .quick-module-toggle.active,
.quick-module-toggle.active,
.route-overview-card .route-control-button.active,
#modal-autowalk .route-main-column .route-control-button.active,
.control-card .quick-module-toggle.active:hover:not(:disabled),
.quick-module-toggle.active:hover:not(:disabled),
.route-overview-card .route-control-button.active:hover:not(:disabled),
#modal-autowalk .route-main-column .route-control-button.active:hover:not(:disabled) {
  border-color: rgba(126, 201, 108, 0.54);
  background: #121a16;
  color: #e6eaee;
  box-shadow: none;
}

.modal-panel .module-rule-check::before,
.modal-panel .module-rule-check:has(input[type="checkbox"]:checked)::before {
  content: none;
  display: none;
}

.modal-panel .module-rule-card .module-rule-corner-toggle {
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  border-color: rgba(148, 163, 184, 0.24);
  background: rgba(15, 23, 42, 0.48);
  color: #9aa4b2;
}

.modal-panel .module-rule-card .module-rule-corner-toggle .module-rule-toggle-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: none;
  opacity: 0.78;
}

.modal-panel .module-rule-card .module-rule-corner-toggle:has(input[type="checkbox"]:checked) {
  border-color: rgba(126, 201, 108, 0.54);
  background: rgba(18, 30, 21, 0.86);
  color: #d8efb7;
}

.modal-panel .module-rule-card .module-rule-corner-toggle:has(input[type="checkbox"]:focus-visible) {
  border-color: rgba(247, 213, 138, 0.56);
  box-shadow: 0 0 0 1px rgba(247, 213, 138, 0.14);
}

.modal-head,
.modal-actions {
  border: 0;
}

.modal-panel :is(.route-section-head,
  .modal-section-head,
  .route-pane-head,
  .target-sources-head,
  .target-watch-group-head,
  .target-watch-panel-head,
  .module-rule-head,
  .rune-maker-list-head,
  .hunt-preset-toolbar) {
  border-bottom: 0;
  box-shadow: none;
}

.modal-panel :is(.route-stack-card,
  .route-editor-card,
  .route-drive-card,
  .route-tile-rule-card,
  .route-avoid-fields-card,
  .route-danger-bar,
  .targeting-config-card,
  .target-source-panel,
  .target-profile-card,
  .target-set-card,
  .target-watch-group,
  .modal-module-card,
  .module-rule-card,
  .rune-maker-sidebar-card,
  .rune-maker-main,
  .hunt-preset-browser,
  .hunt-preset-detail,
  .account-registry-card) {
  border-color: rgba(63, 72, 82, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.016), transparent 32%),
    rgba(10, 15, 20, 0.58);
  box-shadow: none;
}

#modal-module[data-active-module-key="team"] :is(.follow-train-status-card strong,
  .follow-train-metric-card strong) {
  font-size: 12px;
  line-height: 1.1;
}

#modal-module[data-active-module-key="team"] :is(.follow-train-source-button strong,
  .follow-train-row-copy strong,
  .follow-train-doctrine-head strong,
  .team-outfit-title strong) {
  font-size: 11px;
  line-height: 1.12;
}

#modal-module[data-active-module-key="team"] :is(.follow-train-source-title,
  .follow-train-role,
  .follow-train-badge,
  .follow-train-metric-card span,
  .follow-train-status-card span,
  .follow-train-runtime-item span) {
  font-size: 8px;
  letter-spacing: 0.04em;
}

/* Final modal grouping repair: keep controls attached to their section instead of spread through empty panel space. */
.modal-panel {
  --modal-group-track: 224px;
  --modal-group-track-wide: 286px;
  --modal-text-control: 180px;
  --modal-select-control: 150px;
  --modal-number-control: 70px;
  --modal-group-line: rgba(75, 87, 101, 0.72);
  --modal-group-fill: rgba(8, 12, 17, 0.72);
}

#modal-module.module-modal-compact.module-modal-rule-only {
  width: min(760px, calc(100vw - 16px));
  max-width: min(760px, calc(100vw - 16px));
}

#modal-module.module-modal-compact.module-modal-rule-only[data-active-module-key="manaTrainer"] {
  width: min(980px, calc(100vw - 16px));
  max-width: min(980px, calc(100vw - 16px));
}

#modal-module.module-modal-compact.module-modal-rule-only[data-active-module-key="banking"] {
  width: min(860px, calc(100vw - 16px));
  max-width: min(860px, calc(100vw - 16px));
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-card.module-rule-card-with-toggle {
  padding: 8px;
  gap: 8px;
  border-color: rgba(75, 87, 101, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 38%),
    #0d1117;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-toolbar {
  min-height: 28px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(75, 87, 101, 0.58);
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--modal-group-track)), var(--modal-group-track)));
  gap: 8px;
  align-items: start;
  align-content: start;
  justify-content: start;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-section {
  min-width: 0;
  min-height: 0;
  padding: 6px;
  display: grid;
  gap: 5px;
  align-content: start;
  border: 1px solid var(--modal-group-line);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 44%),
    var(--modal-group-fill);
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-section-title {
  display: block;
  color: #9da8b5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.1;
  text-transform: none;
}

#modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 82px), max-content));
  gap: 5px 6px;
  align-items: end;
  align-content: start;
  justify-content: start;
  grid-auto-rows: min-content;
}

#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field) {
  justify-self: start;
}

#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field):has(input:not([type="checkbox"]):not([type="number"])) {
  width: min(100%, var(--modal-text-control));
}

#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field):has(select) {
  width: min(100%, var(--modal-select-control));
}

#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field):has(textarea) {
  width: min(100%, 360px);
}

#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field):has(input[type="number"], .modal-number-stepper) {
  width: var(--modal-number-control);
  max-width: var(--modal-number-control);
}

#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field) :is(input:not([type="checkbox"]), select, textarea) {
  width: 100%;
  max-width: 100%;
}

#modal-module.module-modal-compact .module-rule-check {
  width: max-content;
  max-width: 100%;
  justify-self: start;
}

#modal-module[data-active-module-key="spellCaster"].module-modal-compact.module-modal-rule-only {
  width: min(720px, calc(100vw - 16px));
  max-width: min(720px, calc(100vw - 16px));
  --spell-rule-control-height: 24px;
  --spell-rule-number-width: 70px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
  grid-template-columns: repeat(2, minmax(min(100%, 0px), var(--modal-group-track-wide)));
  gap: 8px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section {
  grid-column: auto;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="identity"],
#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="cast"],
#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="target"] {
  grid-column: span 1;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="identity"] .module-rule-grid,
#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="cast"] .module-rule-grid,
#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="target"] .module-rule-grid {
  grid-template-columns: minmax(0, 180px) var(--modal-number-control);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="identity"] .module-rule-grid {
  grid-template-columns: minmax(0, 180px) 70px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="pattern"] .module-rule-grid {
  grid-template-columns: minmax(0, var(--modal-select-control));
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="mana"] .module-rule-grid {
  grid-template-columns: repeat(2, var(--modal-number-control));
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="generic-surround"] .module-rule-grid {
  grid-template-columns: max-content var(--modal-number-control) var(--modal-number-control);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="specific-surround"] .module-rule-grid {
  grid-template-columns: max-content minmax(120px, 1fr) var(--modal-number-control);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="count"] .module-rule-grid,
#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="player-safety"] .module-rule-grid,
#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="safety"] .module-rule-grid {
  grid-template-columns: repeat(2, max-content);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-check {
  width: max-content;
  min-width: 0;
  justify-self: start;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-control :is(input:not([type="checkbox"]), select),
#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper,
#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input {
  height: var(--spell-rule-control-height);
  min-height: var(--spell-rule-control-height);
}

#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper,
#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input {
  width: var(--spell-rule-number-width);
  min-width: var(--spell-rule-number-width);
  max-width: var(--spell-rule-number-width);
}

#modal-module[data-active-module-key="autoEat"].module-modal-compact {
  width: min(760px, calc(100vw - 16px));
  max-width: min(760px, calc(100vw - 16px));
  height: auto;
  max-height: min(88dvh, calc(100dvh - 16px));
  align-self: center;
}

#modal-module[data-active-module-key="autoEat"]>.modal-body-module {
  min-height: 0;
  max-height: calc(min(88dvh, calc(100dvh - 16px)) - 42px);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module[data-active-module-key="autoEat"] .modal-module-card[data-module-panel="shared"],
#modal-module[data-active-module-key="autoEat"] .module-extra-fields-autoeat {
  min-height: 0;
  height: auto;
  max-height: none;
  padding: 0;
  display: block;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

#modal-module[data-active-module-key="autoEat"] #module-rule-list {
  display: none;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-shell-compact {
  display: grid;
  gap: 5px;
  padding: 0;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-compact-panel,
#modal-module[data-active-module-key="autoEat"] .autoeat-list-panel,
#modal-module[data-active-module-key="autoEat"] .autoeat-source-strip,
#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel {
  min-width: 0;
  padding: 5px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(118, 154, 102, 0.28);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(8, 12, 9, 0.82);
  box-shadow: none;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-compact-head,
#modal-module[data-active-module-key="autoEat"] .autoeat-list-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-compact-head>div {
  min-width: 0;
  display: grid;
  gap: 1px;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-compact-head strong,
#modal-module[data-active-module-key="autoEat"] .autoeat-list-head strong {
  overflow: hidden;
  color: #f3f5f6;
  font-size: 11px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-compact-head span,
#modal-module[data-active-module-key="autoEat"] .autoeat-compact-head small,
#modal-module[data-active-module-key="autoEat"] .autoeat-list-head span {
  overflow: hidden;
  color: #b9c1ca;
  font-size: 9px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-controls-compact {
  padding: 0;
  display: grid;
  grid-template-columns: minmax(96px, 120px) repeat(2, max-content);
  gap: 5px;
  align-items: end;
  border: 0;
  background: transparent;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-compact-control {
  min-height: 24px;
  padding: 3px 5px;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-cadence-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-cadence-field>span:first-child {
  grid-column: 1 / -1;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-cadence-field input {
  width: 78px;
  min-height: 24px;
  height: 24px;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-control-unit {
  align-self: center;
  color: #8e99a4;
  font-size: 9px;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-list-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#modal-module[data-active-module-key="autoEat"] .autoeat-list-row {
  min-width: 0;
  display: grid;
  gap: 4px;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-token-strip {
  min-height: 26px;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-source-strip {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip {
  min-width: 0;
  padding: 4px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px;
  align-items: center;
  border: 1px solid rgba(78, 91, 70, 0.62);
  border-radius: 4px;
  background: rgba(5, 9, 6, 0.52);
}

#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip[data-state="priority"] {
  border-color: rgba(126, 201, 108, 0.42);
}

#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip[data-state="blocked"] {
  border-color: rgba(219, 108, 92, 0.42);
}

#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip-copy {
  min-width: 0;
  display: grid;
  gap: 1px;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip-copy strong,
#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip-copy span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip-copy strong {
  color: #f3f5f6;
  font-size: 10px;
  line-height: 1.1;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip-copy span {
  color: #b9c1ca;
  font-size: 8px;
  line-height: 1.1;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip-actions {
  display: flex;
  gap: 3px;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip-actions .btn,
#modal-module[data-active-module-key="autoEat"] .autoeat-list-head .btn {
  min-height: 20px;
  padding-inline: 6px;
  font-size: 9px;
}

#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel {
  border-color: rgba(99, 184, 217, 0.28);
  background:
    linear-gradient(90deg, rgba(99, 184, 217, 0.08), transparent 64%),
    rgba(6, 11, 13, 0.82);
}

#modal-module[data-active-module-key="autoEat"] .anti-idle-workspace-compact {
  display: grid;
  gap: 5px;
}

#modal-module[data-active-module-key="autoEat"] .anti-idle-compact-status {
  min-height: 26px;
  padding: 4px 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  border: 1px solid rgba(99, 184, 217, 0.28);
  border-radius: 4px;
  background: rgba(2, 8, 12, 0.5);
}

#modal-module[data-active-module-key="autoEat"] .anti-idle-compact-status strong,
#modal-module[data-active-module-key="autoEat"] .anti-idle-compact-status span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="autoEat"] .anti-idle-compact-status strong {
  flex: 0 0 auto;
  color: #f3f5f6;
  font-size: 10px;
  line-height: 1.1;
}

#modal-module[data-active-module-key="autoEat"] .anti-idle-compact-status span {
  min-width: 0;
  color: #b9c1ca;
  font-size: 9px;
  line-height: 1.1;
  text-align: right;
}

#modal-module[data-active-module-key="autoEat"] .anti-idle-control-grid-compact {
  grid-template-columns: minmax(84px, 100px) minmax(78px, 96px) minmax(0, 1fr) auto;
  gap: 4px;
  align-items: end;
}

#modal-module[data-active-module-key="autoEat"] .anti-idle-preset-group {
  display: flex;
  flex-wrap: nowrap;
  gap: 3px;
}

#modal-module[data-active-module-key="autoEat"] .anti-idle-preset-group .btn,
#modal-module[data-active-module-key="autoEat"] .anti-idle-test {
  min-height: 22px;
  padding-inline: 6px;
  font-size: 9px;
}

@media (max-width: 760px) {
  #modal-module[data-active-module-key="autoEat"].module-modal-compact {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-module[data-active-module-key="autoEat"] .autoeat-list-panel,
  #modal-module[data-active-module-key="autoEat"] .autoeat-controls-compact,
  #modal-module[data-active-module-key="autoEat"] .anti-idle-control-grid-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="autoEat"] .anti-idle-preset-group {
    flex-wrap: wrap;
  }
}

#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
#modal-accounts .account-registry-card .form-grid.two,
#modal-route-launcher .route-launcher-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 176px), max-content));
  justify-content: start;
  align-items: end;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control,
#modal-accounts .account-registry-card .route-picker-field,
#modal-route-launcher .route-picker-field {
  justify-self: start;
}

#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(input:not([type="checkbox"]):not([type="number"])),
#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(select),
#modal-accounts .account-registry-card .route-picker-field:has(input),
#modal-accounts .account-registry-card .route-picker-field:has(select),
#modal-route-launcher .route-picker-field:has(input),
#modal-route-launcher .route-picker-field:has(select) {
  width: min(100%, 176px);
}

#modal-accounts .account-registry-wide-field {
  width: min(100%, 360px);
  grid-column: 1 / -1;
}

@media (max-width: 760px) {

  #modal-module.module-modal-compact.module-modal-rule-only,
  #modal-module.module-modal-compact.module-modal-rule-only[data-active-module-key="manaTrainer"],
  #modal-module.module-modal-compact.module-modal-rule-only[data-active-module-key="banking"],
  #modal-module[data-active-module-key="spellCaster"].module-modal-compact.module-modal-rule-only {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
  }

  #modal-module.module-modal-compact.module-modal-rule-only .module-rule-sections,
  #modal-module[data-active-module-key="spellCaster"] .module-rule-sections,
  #modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
  #modal-accounts .account-registry-card .form-grid.two,
  #modal-route-launcher .route-launcher-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field):has(input:not([type="checkbox"]):not([type="number"]), select, textarea),
  #modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(input:not([type="checkbox"]):not([type="number"]), select),
  #modal-accounts .account-registry-card .route-picker-field,
  #modal-route-launcher .route-picker-field {
    width: 100%;
  }
}

/* Final session alarm visibility override. */
.bot-tab.alarm-active {
  animation: bot-tab-alarm-watch 1.35s steps(2, end) infinite;
}

.bot-tab.alarm-active:is(.hostile-alert, .staff-alert, .health-alert) {
  animation: bot-tab-alarm-danger 0.72s steps(2, end) infinite;
}

.bot-tab.alarm-active.death-alert {
  animation: bot-tab-alarm-death 2.2s steps(2, end) infinite;
}

.bot-tab.alarm-active .bot-tab-select {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 40%),
    rgba(33, 18, 15, 0.96);
}

.bot-tab.alarm-active .bot-tab-state {
  border-color: rgba(255, 221, 115, 0.46);
  color: #ffe6a8;
}

/* Session strip scale and selected-tab finish. */
.app:not([data-view-mode="compact"]) .top-strip {
  width: 35%;
  min-height: auto;
  height: auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: min-content;
  gap: 3px;
}

.app:not([data-view-mode="compact"]) .top-strip-main,
.app:not([data-view-mode="compact"]) .bot-tabs {
  display: contents;
}

.app:not([data-view-mode="compact"]) .top-strip-side {
  grid-column: 3;
  grid-row: 1;
}

.app:not([data-view-mode="compact"]) .desk-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 3px;
  height: 100%;
}

.app:not([data-view-mode="compact"]) .desk-actions>.btn {
  min-height: 0;
  height: 100%;
  padding: 0 4px;
  font-size: 8px;
  line-height: 1.02;
}

.app:not([data-view-mode="compact"]) .desk-actions>.header-action-new-session,
.app:not([data-view-mode="compact"]) .desk-actions>.header-action-sync-tabs,
.app:not([data-view-mode="compact"]) .desk-actions>.header-action-close-client,
.app:not([data-view-mode="compact"]) .desk-actions>.header-action-new-route,
.app:not([data-view-mode="compact"]) .desk-actions>.header-action-accounts,
.app:not([data-view-mode="compact"]) .desk-actions>.header-action-stop-all {
  border-color: var(--desk-action-border);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 46%),
    linear-gradient(180deg, var(--desk-action-top), var(--desk-action-bottom));
  color: #f2f5f7;
}

.app:not([data-view-mode="compact"]) .desk-actions>.header-action-new-session {
  --desk-action-border: #6ecf78;
  --desk-action-top: #2e7b40;
  --desk-action-bottom: #154926;
  --desk-action-border-hover: #96e69b;
  --desk-action-top-hover: #37924c;
  --desk-action-bottom-hover: #1a5a2e;
  --desk-action-ring: rgba(110, 207, 120, 0.18);
}

.app:not([data-view-mode="compact"]) .desk-actions>.header-action-sync-tabs {
  --desk-action-border: #58b8ea;
  --desk-action-top: #246d96;
  --desk-action-bottom: #163f61;
  --desk-action-border-hover: #82d0fb;
  --desk-action-top-hover: #2a7fac;
  --desk-action-bottom-hover: #1b4d73;
  --desk-action-ring: rgba(88, 184, 234, 0.18);
}

.app:not([data-view-mode="compact"]) .desk-actions>.header-action-close-client {
  --desk-action-border: #df6964;
  --desk-action-top: #8b3438;
  --desk-action-bottom: #4f1d25;
  --desk-action-border-hover: #f18b84;
  --desk-action-top-hover: #a03d41;
  --desk-action-bottom-hover: #60232c;
  --desk-action-ring: rgba(223, 105, 100, 0.2);
}

.app:not([data-view-mode="compact"]) .desk-actions>.header-action-new-route {
  --desk-action-border: #b78beb;
  --desk-action-top: #6247a0;
  --desk-action-bottom: #3a2b65;
  --desk-action-border-hover: #cda8fb;
  --desk-action-top-hover: #7354ba;
  --desk-action-bottom-hover: #463478;
  --desk-action-ring: rgba(183, 139, 235, 0.18);
}

.app:not([data-view-mode="compact"]) .desk-actions>.header-action-accounts {
  --desk-action-border: #dfb85c;
  --desk-action-top: #886522;
  --desk-action-bottom: #533c14;
  --desk-action-border-hover: #f1cf7b;
  --desk-action-top-hover: #9e7628;
  --desk-action-bottom-hover: #624818;
  --desk-action-ring: rgba(223, 184, 92, 0.18);
}

.app:not([data-view-mode="compact"]) .desk-actions>.header-action-stop-all {
  --desk-action-border: #b2795a;
  --desk-action-top: #6f3c29;
  --desk-action-bottom: #3d211b;
  --desk-action-border-hover: #cf9472;
  --desk-action-top-hover: #824832;
  --desk-action-bottom-hover: #492820;
  --desk-action-ring: rgba(178, 121, 90, 0.2);
}

.app:not([data-view-mode="compact"]) .bot-tabs {
  gap: 3px;
  padding: 0;
}

.app:not([data-view-mode="compact"]) .bot-tabs[data-density="regular"] {
  --bot-tab-width: auto;
  --bot-tab-min-width: 0;
  --bot-tab-toggle-width: auto;
}

.app:not([data-view-mode="compact"]) .bot-tabs[data-density="condensed"] {
  --bot-tab-width: auto;
  --bot-tab-min-width: 0;
  --bot-tab-toggle-width: auto;
}

.app:not([data-view-mode="compact"]) .bot-tab {
  gap: 1px;
  padding: 0 1px;
}

.app:not([data-view-mode="compact"]) .bot-tab,
.app:not([data-view-mode="compact"]) .bot-tab:hover,
.app:not([data-view-mode="compact"]) .bot-tab:focus-within,
.app:not([data-view-mode="compact"]) .bot-tab.active,
.app:not([data-view-mode="compact"]) .bot-tab.active:hover,
.app:not([data-view-mode="compact"]) .bot-tab.active:focus-within {
  --bot-tab-lift: 0px;
}

.app:not([data-view-mode="compact"]) .bot-tab-select {
  padding: 1px 3px;
}

.app:not([data-view-mode="compact"]) .bot-tab-select strong {
  font-size: 10px;
  line-height: 1.06;
}

.app:not([data-view-mode="compact"]) .bot-tab-state {
  min-height: 11px;
  font-size: 6px;
  line-height: 1;
}

.app:not([data-view-mode="compact"]) .bot-tab-state.route {
  font-size: 7px;
  line-height: 1;
}

.app:not([data-view-mode="compact"]) .bot-tab-metric {
  min-height: 11px;
  padding-inline: 2px;
  font-size: 6px;
  line-height: 1;
}

.app:not([data-view-mode="compact"]) .bot-tab-toggle {
  padding: 0;
  font-size: 6px;
  line-height: 1;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.app:not([data-view-mode="compact"]) .bot-tab.active,
.app:not([data-view-mode="compact"]) .bot-tab.active:hover,
.app:not([data-view-mode="compact"]) .bot-tab.active:focus-within {
  border-color: rgba(139, 0, 139, 0.78);
  outline-color: rgba(139, 0, 139, 0.28);
  background:
    linear-gradient(180deg, rgba(139, 0, 139, 0.16), transparent 48%),
    #151b20;
  box-shadow: none;
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-select,
.app:not([data-view-mode="compact"]) .bot-tab.active:hover .bot-tab-select {
  border-color: rgba(139, 0, 139, 0.46);
  background:
    linear-gradient(180deg, rgba(139, 0, 139, 0.94), rgba(139, 0, 139, 0.98)),
    #8b008b;
  color: var(--text);
  box-shadow: none;
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-select strong,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-state,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric {
  color: var(--text);
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-state,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.live {
  color: #174a24;
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.warn,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.alert {
  color: #5a3512;
}

.app:not([data-view-mode="compact"]) .bot-tab.active::before,
.app:not([data-view-mode="compact"]) .bot-tab.active:hover::before,
.app:not([data-view-mode="compact"]) .bot-tab.active:focus-within::before,
.app:not([data-view-mode="compact"]) .bot-tab.active:not(.drop-before):not(.drop-after)::after {
  content: none;
  display: none;
  opacity: 0;
}

.feed-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(38px, auto));
  gap: 5px;
}

.feed-summary-metric {
  min-height: 38px;
  padding: 5px 6px;
}

.feed-summary-metric span {
  font-size: 9px;
  line-height: 1.05;
}

.feed-summary-metric strong {
  font-size: 12px;
  line-height: 1.1;
}

/* Module grid: global left, combat center, support right — 3 equal columns, no scroll. */
.control-card .quick-grid {
  height: auto;
  min-height: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(0, auto);
  align-items: start;
  align-content: start;
  overflow: visible;
}

.control-card .quick-module-column {
  min-width: 0;
  min-height: 0;
  height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: minmax(40px, max-content);
  gap: 2px;
  align-content: start;
  overflow: visible;
}

.control-card .quick-global-module-column {
  grid-column: 1;
}

.control-card .quick-local-module-grid {
  grid-column: 2;
  grid-template-columns: minmax(0, 1fr);
}

.control-card .quick-other-module-column {
  grid-column: 3;
}

.control-card .quick-module-card-global {
  min-height: 40px;
  height: auto;
}

@media (max-width: 1040px) {
  .control-card .quick-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 420px) {

  .control-card .quick-grid,
  .control-card .quick-local-module-grid {
    grid-template-columns: 1fr;
  }

  .control-card .quick-global-module-column,
  .control-card .quick-local-module-grid,
  .control-card .quick-other-module-column {
    grid-column: 1;
  }
}

/* Spell caster modal cleanup: compact grouped rows and textless rule toggles. */
.modal-panel .module-rule-card .module-rule-corner-toggle {
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
}

.modal-panel .module-rule-card .module-rule-corner-toggle .module-rule-toggle-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid currentColor;
  background: currentColor;
  opacity: 0.72;
}

.modal-panel .module-rule-check {
  width: auto;
  min-width: 0;
  min-height: 24px;
  padding: 3px 7px;
  display: inline-grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  justify-content: start;
  justify-items: start;
  gap: 5px;
}

.modal-panel .module-rule-check>span:not(.visually-hidden) {
  text-align: left;
}

#modal-module[data-active-module-key="spellCaster"].module-modal-compact.module-modal-rule-only {
  --spell-rule-gap: 6px;
  --spell-rule-control-height: 24px;
  --spell-rule-number-width: 70px;
  --compact-module-shell-max: min(72dvh, calc(100dvh - 24px));
  --compact-module-body-max: calc(var(--compact-module-shell-max) - 52px);
  width: min(860px, calc(100vw - 16px));
  max-width: min(860px, calc(100vw - 16px));
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-list {
  gap: 6px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-inline-toolbar {
  min-height: 26px;
  padding: 0;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-card.module-rule-card-with-toggle {
  padding: 7px;
  gap: 7px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar {
  min-height: 24px;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar .module-rule-actions {
  margin-left: 0;
  justify-content: end;
  gap: 4px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-actions .btn {
  min-width: 48px;
  min-height: 24px;
  padding: 0 8px;
  font-size: 10px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-actions .btn.danger {
  min-width: 58px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
  display: grid;
  grid-template-columns: minmax(190px, 210px) minmax(230px, 260px) minmax(130px, 150px) minmax(150px, 170px);
  gap: 7px 8px;
  align-items: start;
  justify-content: start;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section {
  min-width: 0;
  padding: 5px;
  display: grid;
  gap: 4px;
  border: 1px solid rgba(71, 83, 96, 0.46);
  border-radius: 5px;
  background: rgba(8, 12, 17, 0.38);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section-title {
  display: block;
  color: #94a3b8;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-grid {
  display: grid;
  gap: var(--spell-rule-gap);
  align-items: end;
  justify-content: start;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-control:not(.module-rule-check) {
  display: grid;
  grid-template-rows: min-content var(--spell-rule-control-height);
  gap: 2px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-control>span {
  color: #aeb7c2;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
  text-transform: none;
  white-space: nowrap;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-control :is(input:not([type="checkbox"]), select),
#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper,
#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input {
  height: var(--spell-rule-control-height);
  min-height: var(--spell-rule-control-height);
}

#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper,
#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input {
  width: var(--spell-rule-number-width);
  min-width: var(--spell-rule-number-width);
  max-width: var(--spell-rule-number-width);
}

#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input {
  padding-right: 23px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="identity"] .module-rule-grid {
  grid-template-columns: minmax(102px, 1fr) 70px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="cast"] .module-rule-grid {
  grid-template-columns: minmax(140px, 1fr) 70px;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="pattern"] .module-rule-grid {
  grid-template-columns: minmax(112px, 1fr);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="mana"] .module-rule-grid {
  grid-template-columns: repeat(2, var(--spell-rule-number-width));
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="generic-surround"] .module-rule-grid {
  grid-template-columns: max-content var(--spell-rule-number-width) var(--spell-rule-number-width);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="specific-surround"] .module-rule-grid {
  grid-template-columns: max-content minmax(120px, 1fr) var(--spell-rule-number-width);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="target"] .module-rule-grid {
  grid-template-columns: minmax(124px, 1fr) var(--spell-rule-number-width);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="count"] .module-rule-grid {
  grid-template-columns: var(--spell-rule-number-width) max-content;
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="safety"] .module-rule-grid {
  grid-template-columns: repeat(2, max-content);
}

#modal-module[data-active-module-key="spellCaster"] .module-rule-check {
  align-self: end;
  justify-self: start;
}

@media (max-width: 900px) {
  #modal-module[data-active-module-key="spellCaster"].module-modal-compact.module-modal-rule-only {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
  }

  #modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
    grid-template-columns: minmax(190px, 210px) minmax(230px, 260px);
  }
}

@media (max-width: 560px) {
  #modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar .module-rule-actions {
    justify-content: start;
    flex-wrap: wrap;
  }

  #modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="spellCaster"] .module-rule-section .module-rule-grid,
  #modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="safety"] .module-rule-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Final desk clamp: keep the control surface tight without a transparent input gutter. */
:root {
  --desk-shell-width: 480px;
  --desk-shell-content-width: calc(var(--desk-shell-width) - 18px);
  --selected-session-bg: #101418;
  --selected-session-panel: #141a20;
  --selected-session-panel-hover: #182027;
  --selected-session-line: #d3b66c;
  --selected-session-line-soft: rgba(211, 182, 108, 0.34);
  --selected-session-text: #f1efe7;
  --selected-session-muted: #d6c99f;
}

.window-frame {
  justify-content: flex-start;
  align-items: stretch;
}

body.modal-open .window-frame {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

body.modal-surface-closing .window-frame {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.modal-layer[data-surface-state="opening"] {
  opacity: 0;
  pointer-events: none;
}

.app:not([data-view-mode="compact"]) {
  width: min(var(--desk-shell-width), 100vw);
  max-width: 100vw;
}

.app:not([data-view-mode="compact"]) .top-strip {
  width: 100%;
}

.app:not([data-view-mode="compact"]) .console-layout {
  grid-template-columns: 1fr minmax(196px, 34%);
  grid-template-areas: "left right";
}

.app:not([data-view-mode="compact"])[data-logs-column="hidden"] .console-layout {
  grid-template-columns: 1fr 34px;
}

.app:not([data-view-mode="compact"]) .right-column {
  display: grid;
}

.control-card .control-group {
  padding: 0;
  border: 0;
  background: transparent;
}

#quick-toggle-cavebot-pause {
  --desk-action-border: #9a6686;
  --desk-action-top: #45253a;
  --desk-action-bottom: #261724;
  --desk-action-border-hover: #b4819f;
  --desk-action-top-hover: #523047;
  --desk-action-bottom-hover: #2f1d2c;
  --desk-action-ring: rgba(154, 102, 134, 0.2);
}

.app:not([data-view-mode="compact"]) .bot-tab.active,
.app:not([data-view-mode="compact"]) .bot-tab.active:hover,
.app:not([data-view-mode="compact"]) .bot-tab.active:focus-within {
  border-color: var(--selected-session-line);
  outline-color: rgba(211, 182, 108, 0.22);
  background: var(--selected-session-bg);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.04),
    inset -1px -1px 0 rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(211, 182, 108, 0.18);
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-select,
.app:not([data-view-mode="compact"]) .bot-tab.active:hover .bot-tab-select,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-select:hover:not(:disabled) {
  border-color: var(--selected-session-line);
  background: var(--selected-session-panel);
  color: var(--selected-session-text);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.05),
    inset -1px -1px 0 rgba(0, 0, 0, 0.42);
}

.app:not([data-view-mode="compact"]) .bot-tab.active:hover .bot-tab-select,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-select:hover:not(:disabled) {
  background: var(--selected-session-panel-hover);
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-select strong {
  color: var(--selected-session-text);
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-state,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric {
  border-color: var(--selected-session-line-soft);
  background: rgba(255, 255, 255, 0.045);
  color: var(--selected-session-muted);
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.live {
  color: #cbe7bb;
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.warn,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.alert {
  color: #ecd39f;
}

.app:not([data-view-mode="compact"]) .bot-tab.active::before,
.app:not([data-view-mode="compact"]) .bot-tab.active:hover::before,
.app:not([data-view-mode="compact"]) .bot-tab.active:focus-within::before {
  content: "";
  display: block;
  opacity: 1;
  width: 2px;
  background: #d3b66c;
  box-shadow: none;
}

.app:not([data-view-mode="compact"]) .bot-tab.active:not(.drop-before):not(.drop-after)::after {
  content: "";
  display: block;
  left: 6px;
  right: 6px;
  bottom: 1px;
  height: 1px;
  opacity: 1;
  background: rgba(211, 182, 108, 0.72);
  box-shadow: none;
}

/* Header action final palette lock: keep the six-button grid on action vars after legacy ID rules. */
.app:not([data-view-mode="compact"]) .desk-actions>#new-session.header-action-new-session,
.app:not([data-view-mode="compact"]) .desk-actions>#refresh.header-action-sync-tabs,
.app:not([data-view-mode="compact"]) .desk-actions>#window-close.header-action-close-client,
.app:not([data-view-mode="compact"]) .desk-actions>#new-route.header-action-new-route,
.app:not([data-view-mode="compact"]) .desk-actions>#desk-accounts.header-action-accounts,
.app:not([data-view-mode="compact"]) .desk-actions>#header-stop-all.header-action-stop-all {
  border-color: var(--desk-action-border);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 46%),
    linear-gradient(180deg, var(--desk-action-top), var(--desk-action-bottom));
  color: #f2f5f7;
}

/* Final route modal override: keep the repaired modal layout after all legacy cascades. */
#modal-autowalk .route-modal-head {
  min-height: 0;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: end;
  gap: 6px;
  padding: 4px 6px;
}

#modal-autowalk .route-modal-head-top {
  display: block;
  min-width: 0;
}

#modal-autowalk .route-modal-head-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(360px, 1.05fr);
  align-items: end;
  gap: 6px;
}

#modal-autowalk .route-modal-head-block-left {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(170px, 1fr) minmax(150px, 0.78fr);
  align-items: end;
  gap: 5px;
}

#modal-autowalk .route-modal-head-block-left .route-head-meta-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: end;
  gap: 4px;
}

#modal-autowalk .route-modal-head-block-right {
  width: auto;
  justify-self: stretch;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) minmax(190px, 0.8fr);
  align-items: end;
  gap: 5px;
}

#modal-autowalk .route-name-row {
  grid-template-columns: minmax(170px, 1fr) max-content;
  align-items: end;
  gap: 5px;
}

#modal-autowalk .route-head-meta-row-route {
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
}

#modal-autowalk .route-pack-toolbar {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, max-content) max-content;
  align-items: end;
  gap: 5px;
}

#modal-autowalk .route-pack-actions {
  flex-wrap: nowrap;
  gap: 4px;
}

#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr);
  gap: 6px;
}

#modal-targeting .route-hunt-grid-3col {
  grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 6px;
}

#modal-autowalk .route-stack-card-main {
  grid-template-rows: auto auto auto minmax(0, 1fr);
}

#modal-autowalk #waypoint-list[hidden] {
  display: none !important;
}

#modal-autowalk .route-main-column .route-overview-card {
  width: 100%;
  height: 100%;
  min-height: 0;
  align-content: stretch;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  overflow: hidden;
}

#modal-autowalk .route-main-column .route-overview-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

#modal-autowalk .route-main-column .route-toggle-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: 44px;
  gap: 4px;
}

#modal-autowalk .route-main-column .route-control-button {
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 44px;
  height: 44px;
  padding: 3px 5px;
}

#modal-autowalk .route-main-column .route-live-preview-shell {
  min-height: 0;
  height: 100%;
  max-height: none;
  grid-template-rows: minmax(0, 1fr);
}

#modal-autowalk .route-main-column .route-live-preview-shell[data-marked="true"] {
  grid-template-rows: auto minmax(0, 1fr);
}

/* Final live waypoint grid lock: nine square columns and vertical-only scroll in the modal. */
#modal-autowalk #route-live-preview.waypoint-preview-live,
#modal-autowalk #route-live-preview.waypoint-square-grid {
  --route-waypoint-columns: 9;
  --route-waypoint-grid-gap: 2px;
  --route-waypoint-tile-min-size: 0px;
  --route-waypoint-tile-size: calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns));
  width: 100%;
  min-width: 0;
  min-height: 0;
  grid-template-columns: repeat(var(--route-waypoint-columns), minmax(0, 1fr));
  grid-auto-rows: var(--route-waypoint-tile-size);
  gap: var(--route-waypoint-grid-gap);
  align-content: start;
  justify-content: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 2px;
  scrollbar-gutter: stable;
}

#modal-autowalk #route-live-preview .route-live-waypoint {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
}

#modal-autowalk .route-editor-shared-panel .route-coordinate-storage {
  display: grid;
}

#modal-autowalk .route-drive-card {
  gap: 5px;
}

#modal-autowalk .route-drive-card .route-section-head-inline {
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

#modal-autowalk .route-drive-card .route-card-tools-stretch {
  grid-template-columns: minmax(0, 1fr);
}

#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

#modal-autowalk .route-tune-grid>label {
  width: 100%;
  min-width: 0;
}

#modal-autowalk .route-tune-grid>label:has(#vocation) {
  grid-column: span 2;
}

#modal-autowalk .route-checks {
  grid-template-columns: repeat(2, minmax(0, max-content));
  justify-content: start;
  gap: 4px;
}

#modal-autowalk .route-checks label {
  min-height: 24px;
  padding-inline: 8px;
}

#modal-autowalk .route-avoid-fields-card {
  gap: 4px;
}

#modal-autowalk .route-pane-head-avoid {
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 5px;
}

#modal-autowalk .route-avoid-toggle {
  width: 100%;
  justify-self: stretch;
  min-height: 24px;
  padding: 3px 7px;
}

#modal-autowalk .route-avoid-category-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3px;
}

#modal-autowalk .route-avoid-category {
  width: 100%;
  min-height: 24px;
  padding: 3px 5px;
}

#modal-autowalk :is(.route-avoid-toggle-copy small, .route-avoid-category-copy small) {
  display: none;
}

#modal-autowalk .route-avoid-metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px;
}

#modal-autowalk .route-avoid-metric {
  min-height: 24px;
  padding: 4px 5px;
}

#modal-autowalk .route-panel-action-grid-avoid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

#modal-autowalk .route-avoid-category-summary {
  min-height: 0;
  padding: 3px 5px;
}

#modal-autowalk :is(.route-avoid-toggle, .route-avoid-category)[data-state="on"],
#modal-autowalk :is(.route-avoid-toggle, .route-avoid-category):has(input[type="checkbox"]:checked) {
  border-color: rgba(143, 190, 100, 0.82);
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.2), transparent 52%),
    rgba(28, 56, 29, 0.9);
  color: #eefbdc;
  box-shadow: inset 0 0 0 1px rgba(143, 190, 100, 0.16);
}

#modal-autowalk :is(.route-avoid-toggle, .route-avoid-category)[data-state="off"],
#modal-autowalk .route-avoid-category[data-disabled="true"] {
  border-color: rgba(148, 163, 184, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(15, 23, 42, 0.5);
  color: var(--muted);
  box-shadow: none;
}

#modal-autowalk .route-avoid-category[data-disabled="true"] {
  opacity: 0.55;
}

@media (max-width: 900px) {

  #modal-targeting .route-hunt-grid-3col,
  #modal-autowalk .route-modal-head,
  #modal-autowalk .route-modal-head-grid,
  #modal-autowalk .route-main-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-autowalk .route-pack-toolbar,
  #modal-autowalk .route-modal-head-block-right {
    justify-self: stretch;
  }
}

@media (max-width: 760px) {

  #modal-autowalk .route-modal-head-block-left,
  #modal-autowalk .route-modal-head-block-right,
  #modal-autowalk .route-name-row,
  #modal-autowalk .route-pack-toolbar,
  #modal-autowalk .route-tune-grid,
  #modal-autowalk .route-checks,
  #modal-autowalk .route-main-column .route-overview-grid,
  #modal-autowalk .route-main-column .route-toggle-grid,
  #modal-autowalk .route-avoid-category-grid,
  #modal-autowalk .route-avoid-metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Modal checkbox-switch rollback: keep state on the switch, not on green button labels. */
.modal-panel :is(.module-rule-check, .checks label, .route-checks label),
.modal-panel :is(.equipment-replace-power, .equipment-replace-toggle, .route-avoid-category),
#modal-targeting :is(.route-hunt-head-check, .target-profile-check),
#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row .module-rule-check, .follow-train-check-field, .follow-train-route-kite-toggle),
#modal-module[data-active-module-key="alarms"] :is(.alarms-card-grid, .alarms-master-strip, .alarms-protector-grid) .module-rule-check {
  position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 28px !important;
  height: auto !important;
  max-height: none !important;
  padding: 4px 6px !important;
  display: grid !important;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: start !important;
  justify-items: start !important;
  place-items: center start !important;
  gap: 7px !important;
  border: 1px solid rgba(169, 141, 99, 0.16) !important;
  border-radius: var(--toggle-surface-radius) !important;
  background: rgba(14, 11, 8, 0.34) !important;
  box-shadow: none !important;
  color: rgba(239, 228, 207, 0.78) !important;
  cursor: pointer !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
  text-align: left !important;
  text-transform: none !important;
  transform: none !important;
  overflow: visible !important;
}

.modal-panel .route-avoid-toggle {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 28px !important;
  height: auto !important;
  padding: 4px 6px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  align-items: center !important;
  gap: 7px !important;
  border: 1px solid rgba(169, 141, 99, 0.16) !important;
  border-radius: var(--toggle-surface-radius) !important;
  background: rgba(14, 11, 8, 0.34) !important;
  box-shadow: none !important;
  color: rgba(239, 228, 207, 0.78) !important;
  cursor: pointer !important;
  transform: none !important;
  overflow: visible !important;
}

.modal-panel :is(.module-rule-check, .checks label, .route-checks label, .equipment-replace-power, .equipment-replace-toggle, .route-avoid-category)>input[type="checkbox"],
.modal-panel .route-avoid-toggle .route-avoid-toggle-control,
.modal-panel .route-avoid-toggle .route-avoid-toggle-control input[type="checkbox"],
#modal-targeting :is(.route-hunt-head-check, .target-profile-check)>input[type="checkbox"],
#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row .module-rule-check, .follow-train-check-field, .follow-train-route-kite-toggle)>input[type="checkbox"] {
  position: static !important;
  inset: auto !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  max-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  max-height: var(--toggle-height) !important;
  margin: 0 !important;
  padding: 0 var(--toggle-pad) !important;
  display: inline-flex !important;
  align-items: center !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: auto !important;
}

.modal-panel .route-avoid-toggle .route-avoid-toggle-control {
  padding: 0 !important;
  overflow: visible !important;
}

.modal-panel :is(.module-rule-check, .checks label, .route-checks label, .equipment-replace-power, .equipment-replace-toggle, .route-avoid-toggle, .route-avoid-category)>span:not(.visually-hidden),
.modal-panel :is(.route-avoid-toggle-copy, .route-avoid-category-copy),
#modal-targeting :is(.route-hunt-head-check, .target-profile-check)>span:not(.visually-hidden),
#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row .module-rule-check, .follow-train-check-field, .follow-train-route-kite-toggle)>span:not(.visually-hidden) {
  position: static !important;
  z-index: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  gap: 1px !important;
  overflow: visible !important;
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  text-align: left !important;
  text-overflow: clip !important;
  text-transform: none !important;
  white-space: normal !important;
}

.modal-panel :is(.route-avoid-toggle-copy strong, .route-avoid-category-copy strong) {
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  text-align: left !important;
  white-space: normal !important;
}

.modal-panel :is(.route-avoid-toggle-copy small, .route-avoid-category-copy small),
.modal-panel :is(.module-rule-check, .checks label, .route-checks label)>.field-note {
  display: block !important;
  color: rgba(184, 171, 147, 0.78) !important;
  font-size: 8px !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
  text-align: left !important;
}

.modal-panel .module-rule-check>.field-note {
  grid-column: 2 !important;
  margin-top: -1px !important;
}

.modal-panel :is(.module-rule-check, .checks label, .route-checks label, .equipment-replace-power, .equipment-replace-toggle, .route-avoid-toggle, .route-avoid-category):hover,
#modal-targeting :is(.route-hunt-head-check, .target-profile-check):hover,
#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row .module-rule-check, .follow-train-check-field, .follow-train-route-kite-toggle):hover {
  border-color: rgba(201, 169, 112, 0.4) !important;
  background: rgba(255, 255, 255, 0.03) !important;
  color: var(--text) !important;
  box-shadow: none !important;
  transform: none !important;
}

.modal-panel :is(.module-rule-check, .checks label, .route-checks label, .equipment-replace-power, .equipment-replace-toggle, .route-avoid-toggle, .route-avoid-category):has(input[type="checkbox"]:checked),
#modal-targeting :is(.route-hunt-head-check, .target-profile-check):has(input[type="checkbox"]:checked),
#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row .module-rule-check, .follow-train-check-field, .follow-train-route-kite-toggle):has(input[type="checkbox"]:checked) {
  border-color: rgba(169, 141, 99, 0.16) !important;
  background: rgba(14, 11, 8, 0.34) !important;
  color: var(--text) !important;
  box-shadow: none !important;
}

.modal-panel :is(.module-rule-check, .checks label, .route-checks label, .equipment-replace-power, .equipment-replace-toggle, .route-avoid-toggle, .route-avoid-category) input[type="checkbox"]::before,
#modal-targeting :is(.route-hunt-head-check, .target-profile-check) input[type="checkbox"]::before,
#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row .module-rule-check, .follow-train-check-field, .follow-train-route-kite-toggle) input[type="checkbox"]::before {
  display: block !important;
  content: "" !important;
}

.modal-panel .module-rule-check::before,
.modal-panel .module-rule-check:has(input[type="checkbox"]:checked)::before {
  display: none !important;
  content: none !important;
}

.modal-panel .module-rule-card .module-rule-corner-toggle {
  position: relative !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
}

.modal-panel .module-rule-card .module-rule-corner-toggle>input[type="checkbox"] {
  position: static !important;
  inset: auto !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  margin: 0 !important;
  padding: 0 var(--toggle-pad) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: auto !important;
}

.modal-panel .module-rule-card .module-rule-corner-toggle .module-rule-toggle-dot {
  display: none !important;
}

#modal-module[data-active-module-key="alarms"] .alarms-scope-button.active {
  border-color: rgba(121, 220, 255, 0.46) !important;
  background: rgba(121, 220, 255, 0.12) !important;
  color: #d9f6ff !important;
}

/* Modal header cleanup: keep route controls useful instead of stacking title rows. */
.modal-panel-titleless.open {
  grid-template-rows: minmax(0, 1fr) auto;
}

.modal-panel-titleless>.modal-head {
  display: none !important;
}

#modal-targeting .route-hunt-context-copy {
  display: none;
}

#modal-targeting .route-hunt-context-copy:has(#targeting-context-line:not([hidden])) {
  display: grid;
}

#modal-targeting .route-hunt-modal-head-compact {
  grid-template-columns: auto minmax(280px, 1fr);
}

#modal-targeting .route-hunt-modal-head-compact:has(#targeting-context-line:not([hidden])) {
  grid-template-columns: max-content auto minmax(280px, 1fr);
}

#modal-autowalk .route-modal-head {
  display: block;
  min-height: 0;
  padding: 4px 6px;
}

#modal-autowalk .route-modal-head-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(200px, 0.75fr) minmax(220px, 0.85fr) minmax(0, 1fr);
  align-items: end;
  gap: 5px;
}

#modal-autowalk .route-modal-head-block {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 3px;
}

#modal-autowalk .route-file-row,
#modal-autowalk .route-name-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: end;
  gap: 5px;
}

#modal-autowalk .route-head-field,
#modal-autowalk .route-head-field-name {
  width: 100%;
  min-width: 0;
}

#modal-autowalk .route-head-field select,
#modal-autowalk .route-head-field input {
  width: 100%;
  max-width: none;
}

#modal-autowalk #load-route {
  min-width: 48px;
  align-self: end;
}

#modal-autowalk #new-blank-route {
  min-width: 104px;
  align-self: end;
}

#modal-autowalk .route-library-meta,
#modal-autowalk .route-modal-head .route-file-note,
#modal-autowalk .route-modal-head .route-validation-summary {
  min-height: 22px;
  padding: 3px 5px;
  overflow: hidden;
}

#modal-autowalk .route-modal-head .route-file-note {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 5px;
}

#modal-autowalk .route-modal-head .route-file-note strong {
  font-size: 8px;
  line-height: 1.05;
  white-space: nowrap;
}

#modal-autowalk .route-modal-head .route-file-note span {
  display: block !important;
  min-width: 0;
  font-size: 9px;
  line-height: 1.08;
}

#modal-autowalk .route-head-meta-row-route {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
}

#modal-autowalk .route-pack-toolbar {
  min-width: 0;
  display: none;
  grid-template-columns: max-content;
  justify-self: end;
  align-self: end;
  gap: 4px;
}

#modal-autowalk .route-pack-toolbar:has(#route-pack-preview:not([hidden])) {
  display: grid;
  grid-column: 1 / -1;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) max-content;
}

#modal-autowalk .route-pack-preview[hidden] {
  display: none !important;
}

#modal-autowalk .route-pack-actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 3px;
}

#modal-autowalk .route-pack-actions .btn {
  min-width: 0;
  min-height: 24px;
  height: 24px;
  padding-inline: 6px;
  font-size: 8.5px;
}

#modal-autowalk .route-stack-card-head,
#modal-autowalk .route-drive-card .route-section-head-inline {
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
}

#modal-autowalk .route-stack-card-head .route-panel-action-grid-waypoints,
#modal-autowalk .route-drive-card .route-card-tools-stretch {
  width: 100%;
}

@media (max-width: 900px) {

  #modal-targeting .route-hunt-modal-head-compact,
  #modal-targeting .route-hunt-modal-head-compact:has(#targeting-context-line:not([hidden])),
  #modal-autowalk .route-modal-head-grid,
  #modal-autowalk .route-file-row,
  #modal-autowalk .route-name-row,
  #modal-autowalk .route-modal-head .route-file-note,
  #modal-autowalk .route-pack-toolbar,
  #modal-autowalk .route-pack-toolbar:has(#route-pack-preview:not([hidden])) {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-autowalk .route-pack-toolbar,
  #modal-autowalk .route-pack-toolbar:has(#route-pack-preview:not([hidden])) {
    grid-column: auto;
    justify-self: stretch;
  }

  #modal-autowalk .route-pack-actions {
    justify-content: start;
    flex-wrap: wrap;
  }
}

/* Absolute final modal grouping repair: keep the last modal cascade from scattering rule fields. */
#modal-layer>.modal-panel {
  --modal-group-track: 224px;
  --modal-group-track-wide: 286px;
  --modal-text-control: 180px;
  --modal-select-control: 150px;
  --modal-number-control: 70px;
  --modal-group-line: rgba(75, 87, 101, 0.72);
  --modal-group-fill: rgba(8, 12, 17, 0.72);
}

#modal-layer>#modal-module.module-modal-compact.module-modal-rule-only {
  width: min(760px, calc(100vw - 16px));
  max-width: min(760px, calc(100vw - 16px));
}

#modal-layer>#modal-module.module-modal-compact.module-modal-rule-only[data-active-module-key="manaTrainer"] {
  width: min(980px, calc(100vw - 16px));
  max-width: min(980px, calc(100vw - 16px));
}

#modal-layer>#modal-module.module-modal-compact.module-modal-rule-only[data-active-module-key="banking"] {
  width: min(860px, calc(100vw - 16px));
  max-width: min(860px, calc(100vw - 16px));
}

#modal-layer>#modal-module.module-modal-compact.module-modal-rule-only .module-rule-card.module-rule-card-with-toggle {
  padding: 8px;
  gap: 8px;
  border-color: rgba(75, 87, 101, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 38%),
    #0d1117;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-rule-only .module-rule-toolbar {
  min-height: 28px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(75, 87, 101, 0.58);
}

#modal-layer>#modal-module.module-modal-compact.module-modal-rule-only .module-rule-sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--modal-group-track)), var(--modal-group-track)));
  gap: 8px;
  align-items: start;
  align-content: start;
  justify-content: start;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-rule-only .module-rule-section {
  min-width: 0;
  min-height: 0;
  padding: 6px;
  display: grid;
  gap: 5px;
  align-content: start;
  border: 1px solid var(--modal-group-line);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 44%),
    var(--modal-group-fill);
}

#modal-layer>#modal-module.module-modal-compact.module-modal-rule-only .module-rule-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 82px), max-content));
  gap: 5px 6px;
  align-items: end;
  align-content: start;
  justify-content: start;
  grid-auto-rows: min-content;
}

#modal-layer>#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field) {
  justify-self: start;
}

#modal-layer>#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field):has(input:not([type="checkbox"]):not([type="number"])) {
  width: min(100%, var(--modal-text-control));
}

#modal-layer>#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field):has(select) {
  width: min(100%, var(--modal-select-control));
}

#modal-layer>#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field):has(textarea) {
  width: min(100%, 360px);
}

#modal-layer>#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field):has(input[type="number"], .modal-number-stepper) {
  width: var(--modal-number-control);
  max-width: var(--modal-number-control);
}

#modal-layer>#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field) :is(input:not([type="checkbox"]), select, textarea) {
  width: 100%;
  max-width: 100%;
}

#modal-layer>#modal-module.module-modal-compact .module-rule-check {
  width: max-content;
  max-width: 100%;
  justify-self: start;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"].module-modal-compact.module-modal-rule-only {
  width: min(720px, calc(100vw - 16px));
  max-width: min(720px, calc(100vw - 16px));
  --spell-rule-control-height: 24px;
  --spell-rule-number-width: 70px;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
  grid-template-columns: repeat(2, minmax(0, var(--modal-group-track-wide)));
  gap: 8px;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section {
  grid-column: auto;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="identity"] .module-rule-grid,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="cast"] .module-rule-grid,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="target"] .module-rule-grid {
  grid-template-columns: minmax(0, 180px) var(--modal-number-control);
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="identity"] .module-rule-grid {
  grid-template-columns: minmax(0, 180px) 70px;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="pattern"] .module-rule-grid {
  grid-template-columns: minmax(0, var(--modal-select-control));
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="mana"] .module-rule-grid {
  grid-template-columns: repeat(2, var(--modal-number-control));
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="generic-surround"] .module-rule-grid {
  grid-template-columns: max-content var(--modal-number-control) var(--modal-number-control);
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="specific-surround"] .module-rule-grid {
  grid-template-columns: max-content minmax(120px, 1fr) var(--modal-number-control);
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="count"] .module-rule-grid,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="player-safety"] .module-rule-grid,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="safety"] .module-rule-grid {
  grid-template-columns: repeat(2, max-content);
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
#modal-layer>#modal-accounts .account-registry-card .form-grid.two,
#modal-layer>#modal-route-launcher .route-launcher-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 176px), max-content));
  justify-content: start;
  align-items: end;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control,
#modal-layer>#modal-accounts .account-registry-card .route-picker-field,
#modal-layer>#modal-route-launcher .route-picker-field {
  justify-self: start;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(input:not([type="checkbox"]):not([type="number"])),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(select),
#modal-layer>#modal-accounts .account-registry-card .route-picker-field:has(input),
#modal-layer>#modal-accounts .account-registry-card .route-picker-field:has(select),
#modal-layer>#modal-route-launcher .route-picker-field:has(input),
#modal-layer>#modal-route-launcher .route-picker-field:has(select) {
  width: min(100%, 176px);
}

#modal-layer>#modal-accounts .account-registry-wide-field {
  width: min(100%, 360px);
  grid-column: 1 / -1;
}

@media (max-width: 760px) {

  #modal-layer>#modal-module.module-modal-compact.module-modal-rule-only,
  #modal-layer>#modal-module.module-modal-compact.module-modal-rule-only[data-active-module-key="manaTrainer"],
  #modal-layer>#modal-module.module-modal-compact.module-modal-rule-only[data-active-module-key="banking"],
  #modal-layer>#modal-module[data-active-module-key="spellCaster"].module-modal-compact.module-modal-rule-only {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
  }

  #modal-layer>#modal-module.module-modal-compact.module-modal-rule-only .module-rule-sections,
  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-sections,
  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only .module-extra-fields,
  #modal-layer>#modal-accounts .account-registry-card .form-grid.two,
  #modal-layer>#modal-route-launcher .route-launcher-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-layer>#modal-module.module-modal-compact :is(.module-rule-control, .route-picker-field):has(input:not([type="checkbox"]):not([type="number"]), select, textarea),
  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only .module-rule-control:has(input:not([type="checkbox"]):not([type="number"]), select),
  #modal-layer>#modal-accounts .account-registry-card .route-picker-field,
  #modal-layer>#modal-route-launcher .route-picker-field {
    width: 100%;
  }
}

#modal-layer>#modal-route-launcher .route-launcher-grid {
  grid-template-columns: minmax(220px, 1fr) minmax(132px, 176px) minmax(104px, max-content) minmax(104px, max-content);
  justify-content: stretch;
  align-items: end;
}

#modal-layer>#modal-route-launcher .route-launch-main-field:has(select) {
  width: min(100%, 240px);
}

#modal-layer>#modal-route-launcher .route-launch-mode-field:has(select) {
  width: min(100%, 176px);
}

#modal-layer>#modal-route-launcher .route-launch-toggle-field:has(input) {
  width: max-content;
  min-width: 82px;
  justify-items: end;
}

#modal-layer>#modal-route-launcher .route-launch-toggle-field input {
  justify-self: end;
}

@media (max-width: 760px) {
  #modal-layer>#modal-route-launcher .route-launcher-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-layer>#modal-route-launcher .route-launch-main-field:has(select),
  #modal-layer>#modal-route-launcher .route-launch-mode-field:has(select),
  #modal-layer>#modal-route-launcher .route-launch-toggle-field:has(input) {
    width: 100%;
    justify-items: start;
  }

  #modal-layer>#modal-route-launcher .route-launch-toggle-field input {
    justify-self: start;
  }
}

/* ── Right column: editor card header inline ───────────────────────── */
#modal-autowalk .route-editor-card-head {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

#modal-autowalk .route-editor-head-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
}

#modal-autowalk .route-editor-head-inline .section-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--muted);
}

#modal-autowalk .route-editor-head-inline .route-editor-mode-toggle {
  flex-shrink: 0;
}

/* Suppress the "No route item selected" status bar — it's now an empty compact strip */
#modal-autowalk #waypoint-selection-summary:empty,
#modal-autowalk #waypoint-selection-summary:not(:has(*)):not([data-route-item-label]) {
  display: none;
}

#modal-autowalk #waypoint-selection-summary.route-selection-summary-compact {
  min-height: 0;
  padding: 3px 6px;
}

/* ── Right column: waypoint grid 3-col (Type / Step Radius / Timer) ── */
#modal-autowalk .route-item-shared-title-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 5px;
  margin-bottom: 6px;
}

#modal-autowalk .route-item-shared-title-grid>.route-coordinate-field {
  min-width: 0;
}

#modal-autowalk .route-item-shared-title-grid .route-editor-mode-toggle {
  display: grid;
  grid-template-columns: repeat(2, minmax(58px, max-content));
  width: auto;
  margin: 0;
  gap: 3px;
}

#modal-autowalk .route-item-shared-title-grid .route-editor-mode-toggle .btn {
  min-height: 22px;
  padding-inline: 6px;
  white-space: nowrap;
}

#modal-autowalk .route-waypoint-grid {
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.75fr) minmax(0, 0.75fr);
  gap: 5px;
  align-items: end;
}

#modal-autowalk .route-waypoint-grid>label {
  align-self: end;
}

/* ── Right column: coordinate grid – X/Y/Z in one row ── */
#modal-autowalk .route-item-shared-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: 4px;
}

#modal-autowalk .route-item-shared-grid>.route-coordinate-field:first-child {
  grid-column: auto;
}

/* ── Right column: targeting launchpad compact ─────────────────────── */
#modal-autowalk .route-hunt-launchpad {
  display: grid;
  gap: 5px;
}

#modal-autowalk .route-hunt-launchpad-head {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}

#modal-autowalk .route-hunt-launchpad-head .route-hunt-launchpad-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

#modal-autowalk .route-hunt-launchpad .route-hunt-launchpad-grid.summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

#modal-autowalk .route-hunt-launchpad .summary-cell {
  min-width: 0;
  min-height: 32px;
  padding: 3px 5px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 1px;
}

#modal-autowalk .route-hunt-launchpad .summary-cell span {
  max-width: 100%;
  font-size: 7px;
  line-height: 1;
  letter-spacing: 0.03em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-autowalk .route-hunt-launchpad .summary-cell strong {
  font-size: 11px;
  line-height: 1;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-grid {
  grid-template-columns: minmax(178px, 0.52fr) minmax(278px, 0.8fr) minmax(574px, 1.55fr) minmax(372px, 1fr);
}

#modal-module[data-active-module-key="team"] .team-hunt-route-panel {
  min-width: 178px;
}

/* Final route header toolbar: one dense row, aligned as a professional route control strip. */
#modal-autowalk .route-modal-head {
  --route-toolbar-height: 28px;
  min-height: calc(var(--route-toolbar-height) + 10px);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 4px;
  padding: 4px 6px 5px;
}

#modal-autowalk .route-toolbar-row {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns:
    minmax(86px, 136px) 52px minmax(0, 0.78fr) minmax(168px, 1.76fr) 86px minmax(0, 0.72fr);
  align-items: center;
  gap: 6px;
}

#modal-autowalk .route-toolbar-row> :not(.route-pack-toolbar) {
  min-width: 0;
}

#modal-autowalk .route-toolbar-row .route-head-field {
  display: block;
  width: 100%;
  min-width: 0;
  gap: 0;
}

#modal-autowalk .route-toolbar-row>.btn,
#modal-autowalk .route-toolbar-row>.route-head-field :is(select, input) {
  width: 100%;
  min-width: 0;
  min-height: var(--route-toolbar-height);
  height: var(--route-toolbar-height);
  max-height: var(--route-toolbar-height);
  box-sizing: border-box;
  font-size: 10px;
  line-height: 1;
}

#modal-autowalk .route-toolbar-row>.route-head-field :is(select, input) {
  padding: 0 8px;
  border: 1px solid rgba(93, 105, 116, 0.58);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent 48%),
    rgba(10, 14, 18, 0.88);
  color: #f3f0e8;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    inset 0 -1px 0 rgba(0, 0, 0, 0.36);
  letter-spacing: 0;
  text-transform: none;
}

#modal-autowalk .route-toolbar-row>.route-head-field input {
  font-weight: 800;
}

#modal-autowalk .route-name-input-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
}

#modal-autowalk .route-name-input-wrap input {
  padding-right: 74px !important;
}

#modal-autowalk .route-name-input-wrap .route-rename-button {
  position: absolute;
  top: 3px;
  right: 3px;
  bottom: 3px;
  width: 64px;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 0 6px;
  border-color: rgba(93, 105, 116, 0.74);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 46%),
    linear-gradient(180deg, #29323c, #171d24);
  color: #eef4fb;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
}

#modal-autowalk .route-name-input-wrap .route-rename-button:hover:not(:disabled) {
  border-color: rgba(121, 149, 178, 0.86);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.085), transparent 46%),
    linear-gradient(180deg, #344251, #1d2630);
}

#modal-autowalk #load-route.route-load-button {
  border-color: rgba(76, 154, 231, 0.88);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 45%),
    linear-gradient(180deg, #1f5f9f, #123a66);
  color: #edf7ff;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.12),
    inset -1px -1px 0 rgba(0, 0, 0, 0.44),
    0 0 0 1px rgba(76, 154, 231, 0.14);
}

#modal-autowalk #load-route.route-load-button:hover:not(:disabled) {
  border-color: rgba(117, 190, 255, 0.96);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent 45%),
    linear-gradient(180deg, #2873bb, #164777);
}

#modal-autowalk #load-route.route-load-button:active:not(:disabled),
#modal-autowalk #load-route.route-load-button[data-pressed="true"]:not(:disabled) {
  border-color: rgba(158, 211, 255, 0.98);
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.32),
    inset 0 0 0 999px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(76, 154, 231, 0.18);
}

#modal-autowalk .route-toolbar-row>.btn {
  padding: 0 8px;
  font-weight: 800;
  letter-spacing: 0;
}

#modal-autowalk .route-file-info-block,
#modal-autowalk .route-save-status {
  min-width: 0;
  min-height: var(--route-toolbar-height);
  height: var(--route-toolbar-height);
  max-height: var(--route-toolbar-height);
  box-sizing: border-box;
  border: 1px solid rgba(93, 105, 116, 0.46);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 52%),
    rgba(13, 17, 21, 0.78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  overflow: hidden;
}

#modal-autowalk .route-file-info-block {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 7px;
}

#modal-autowalk .route-file-info-block .route-library-meta {
  min-width: 0;
  display: block !important;
  flex: 1 1 auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(230, 225, 214, 0.82);
  font-size: 9.5px;
  font-weight: 800;
  line-height: var(--route-toolbar-height);
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#modal-autowalk .route-file-info-block .route-validation-summary[hidden] {
  display: none !important;
}

#modal-autowalk .route-file-info-block .route-validation-summary:not([hidden]) {
  min-width: 72px;
  max-width: min(42%, 330px);
  display: block !important;
  flex: 0 1 auto;
  min-height: 0;
  height: auto;
  padding: 0 0 0 7px;
  border: 0;
  border-left: 1px solid rgba(93, 105, 116, 0.54);
  background: transparent;
  font-size: 9px;
  font-weight: 800;
  line-height: var(--route-toolbar-height);
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#modal-autowalk .route-save-status {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 0 7px;
}

#modal-autowalk .route-save-status strong {
  min-width: 0;
  color: #e5c981;
  font-size: 8.5px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

#modal-autowalk .route-save-status span {
  min-width: 0;
  display: block !important;
  color: rgba(243, 240, 232, 0.88);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: right;
  text-transform: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#modal-autowalk .route-save-status strong[data-state="ready"] {
  color: #bde89f;
}

#modal-autowalk .route-save-status strong[data-state="draft"] {
  color: #e8b8a7;
}

#modal-autowalk .route-toolbar-row>.route-pack-toolbar {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  #modal-autowalk .route-toolbar-row {
    grid-template-columns:
      minmax(78px, 0.72fr) 46px minmax(0, 0.68fr) minmax(142px, 1.38fr) 76px minmax(0, 0.62fr);
    gap: 4px;
  }

  #modal-autowalk .route-toolbar-row>.btn,
  #modal-autowalk .route-toolbar-row>.route-head-field :is(select, input) {
    font-size: 9px;
  }

  #modal-autowalk .route-file-info-block,
  #modal-autowalk .route-save-status {
    padding-inline: 5px;
  }
}

/* Final alarms modal alignment: local type scale, fixed control tracks, and even protector rows. */
#modal-layer>#modal-module[data-active-module-key="alarms"] {
  width: min(1080px, calc(100vw - 18px));
  max-width: min(1080px, calc(100vw - 18px));
  --alarm-gap: 7px;
  --alarm-side-track: clamp(318px, 35vw, 368px);
  --alarm-proximity-controls: 258px;
  --alarm-proximity-toggle: 78px;
  --alarm-proximity-number: 72px;
  --alarm-protector-track: minmax(118px, 1fr);
  --alarm-control-height: 26px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-shell {
  gap: var(--alarm-gap);
  color: var(--text);
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-overview {
  padding: 8px;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.78fr);
  gap: var(--alarm-gap);
  align-items: stretch;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-overview-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--alarm-gap);
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-stat-card {
  min-height: 52px;
  padding: 7px;
  gap: 3px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-overview-kicker, .alarms-card-kicker, .alarms-stat-card span, .alarms-live-action) {
  font-size: 9px;
  letter-spacing: 0;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-overview-title {
  font-size: 17px;
  line-height: 1.12;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-card-title {
  font-size: 13px;
  line-height: 1.16;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-overview-detail, .alarms-live-head span, .alarms-live-copy span, .alarms-card-note) {
  font-size: 11px;
  line-height: 1.32;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-stat-card strong {
  font-size: 13px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-stat-card small {
  font-size: 10px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar {
  padding: 6px 8px;
  align-items: center;
  gap: var(--alarm-gap);
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-segmented, .alarms-preset-strip) {
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-scope-button, .alarms-preset-button) {
  min-height: 25px;
  padding: 4px 9px;
  font-size: 10px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-workbench {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: var(--alarm-gap);
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-panel, .alarms-scope-row, .alarms-live-band) {
  padding: 8px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-panel, .alarms-live-band, .alarms-scope-list) {
  gap: var(--alarm-gap);
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-panel-head {
  min-height: 30px;
  align-items: center;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-master-strip {
  display: grid;
  grid-template-columns: max-content 180px;
  gap: 8px;
  align-items: end;
  justify-content: end;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-scope-row {
  min-height: 68px;
  grid-template-columns: minmax(0, 1fr) var(--alarm-proximity-controls);
  align-items: center;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-card-grid {
  width: var(--alarm-proximity-controls);
  grid-template-columns: var(--alarm-proximity-toggle) repeat(2, var(--alarm-proximity-number));
  justify-content: end;
  align-items: end;
  gap: 6px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-card-grid .module-rule-control,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-card-grid .module-rule-check {
  width: 100% !important;
  max-width: none !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-card-grid .module-rule-check {
  min-height: var(--alarm-control-height) !important;
  padding: 4px 6px !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-number-field {
  width: var(--alarm-proximity-number) !important;
  max-width: var(--alarm-proximity-number) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-card-grid .modal-number-stepper {
  position: relative;
  width: var(--alarm-proximity-number);
  max-width: var(--alarm-proximity-number);
  height: var(--alarm-control-height);
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  overflow: visible;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-card-grid .modal-number-stepper-input {
  width: 100%;
  max-width: none;
  height: var(--alarm-control-height);
  min-height: var(--alarm-control-height);
  padding-right: 22px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-card-grid .modal-number-stepper-buttons {
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  width: 14px;
  height: auto;
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 1px;
  z-index: 1;
  overflow: hidden;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-card-grid .modal-number-stepper-button {
  width: 14px;
  min-width: 14px;
  height: auto;
  min-height: 0;
  padding: 0;
  border-radius: 2px;
  display: grid;
  place-items: center;
  overflow: hidden;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-blacklist-field textarea {
  min-height: 68px;
  max-height: 110px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-live-strip {
  max-height: 150px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-live-entry-empty,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-token {
  font-size: 11px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid {
  grid-template-columns: repeat(auto-fit, var(--alarm-protector-track));
  justify-content: stretch;
  align-items: start;
  gap: 7px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .module-rule-control {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .module-rule-check {
  min-height: 22px !important;
  padding: 2px 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .module-rule-control:has(.modal-number-stepper) {
  min-width: 0;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .modal-number-stepper {
  position: relative;
  width: 100%;
  max-width: none;
  height: var(--alarm-control-height);
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  overflow: visible;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .modal-number-stepper-input {
  width: 100%;
  max-width: none;
  height: var(--alarm-control-height);
  min-height: var(--alarm-control-height);
  padding-right: 30px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .modal-number-stepper-buttons {
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  width: 26px;
  height: auto;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 1px;
  z-index: 1;
  overflow: hidden;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .modal-number-stepper-button {
  width: auto;
  min-width: 12px;
  height: auto;
  min-height: 0;
  padding: 0;
  border-radius: 2px;
  display: grid;
  place-items: center;
  overflow: hidden;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .module-rule-control:has(textarea) {
  grid-column: span 2;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid textarea {
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 58px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .module-rule-control>span:not(.visually-hidden) {
  font-size: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: 0;
  white-space: normal;
}

@media (max-width: 900px) {

  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-overview,
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-workbench {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-overview-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  #modal-layer>#modal-module[data-active-module-key="alarms"] {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
  }

  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-overview-stats,
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-scope-row,
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-card-grid,
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-card-grid,
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-number-field {
    width: 100% !important;
    max-width: none !important;
  }

  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .module-rule-control:has(textarea) {
    grid-column: auto;
  }
}

/* Final portrait dashboard layout repair. */
.app:not([data-view-mode="compact"]) .top-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
}

.app:not([data-view-mode="compact"]) .top-strip-main {
  grid-column: 1 / 3;
  grid-row: 1;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
}

.app:not([data-view-mode="compact"]) .bot-tabs {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  overflow-x: auto;
  overflow-y: hidden;
}

.app:not([data-view-mode="compact"]) .bot-tabs>.empty-state {
  flex: 1 1 100%;
  min-height: 100%;
}

.app:not([data-view-mode="compact"]) .top-strip-side {
  grid-column: 3;
  grid-row: 1;
}

.app:not([data-view-mode="compact"]) .console-layout,
.app:not([data-view-mode="compact"])[data-logs-column="hidden"] .console-layout {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "left";
  align-items: start;
  overflow: visible;
}

.app:not([data-view-mode="compact"]) .right-column {
  display: none;
}

.app:not([data-view-mode="compact"]) .left-column {
  width: 100%;
  justify-self: start;
  grid-template-rows: auto;
}

.app:not([data-view-mode="compact"]) .control-card,
.app:not([data-view-mode="compact"]) .control-card .control-group,
.app:not([data-view-mode="compact"]) .control-card .quick-grid {
  min-height: 0;
  height: auto;
  overflow: visible;
}

.app:not([data-view-mode="compact"]) .control-card .quick-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  align-content: start;
}

.app:not([data-view-mode="compact"]) .control-card .quick-module-column,
.app:not([data-view-mode="compact"]) .control-card .quick-global-module-column,
.app:not([data-view-mode="compact"]) .control-card .quick-local-module-grid,
.app:not([data-view-mode="compact"]) .control-card .quick-other-module-column {
  min-height: 0;
  height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: none;
  grid-auto-flow: row;
  grid-auto-rows: minmax(40px, max-content);
  align-content: start;
  overflow: visible;
}

.app:not([data-view-mode="compact"]) .control-card .quick-module-card {
  grid-column: 1 / -1;
  order: initial;
}

.app:not([data-view-mode="compact"]) .control-card .control-group {
  justify-content: center;
}

/* Absolute final header layout: compact rows with the top-right action cell reserved. */
.app:not([data-view-mode="compact"]) .top-strip {
  --header-row-height: 52px;
  height: auto;
  min-height: calc((var(--header-row-height) * var(--header-session-row-count, 1)) + 8px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: none;
  grid-auto-rows: var(--header-row-height);
  grid-auto-flow: row;
  gap: 3px;
  align-items: stretch;
}

.app:not([data-view-mode="compact"]) .top-strip-main {
  display: contents;
}

.app:not([data-view-mode="compact"]) .top-strip-side {
  grid-column: 3;
  grid-row: 1;
  min-width: 0;
  min-height: 0;
}

.app:not([data-view-mode="compact"]) .bot-tabs {
  display: contents;
}

.app:not([data-view-mode="compact"]) .bot-tabs>.empty-state {
  grid-column: 1 / span 2;
  grid-row: 1;
  min-height: 100%;
  height: calc(100% + 2px);
  margin-bottom: -2px;
}

.app:not([data-view-mode="compact"]) .bot-tabs .bot-tab {
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 0;
  flex: none;
  gap: 1px;
  padding: 0 1px;
}

.app:not([data-view-mode="compact"]) .desk-actions {
  height: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 3px;
}

.app:not([data-view-mode="compact"]) .desk-actions>.btn {
  min-height: 0;
  height: 100%;
  padding: 0 4px;
  font-size: 8px;
  line-height: 1.08;
}

.app:not([data-view-mode="compact"]) #new-session {
  --desk-action-border: #6ecf78;
  --desk-action-top: #2e7b40;
  --desk-action-bottom: #154926;
  --desk-action-border-hover: #96e69b;
  --desk-action-top-hover: #37924c;
  --desk-action-bottom-hover: #1a5a2e;
  --desk-action-ring: rgba(110, 207, 120, 0.18);
  grid-column: 1;
  grid-row: 1;
}

.app:not([data-view-mode="compact"]) #refresh {
  --desk-action-border: #58b8ea;
  --desk-action-top: #246d96;
  --desk-action-bottom: #163f61;
  --desk-action-border-hover: #82d0fb;
  --desk-action-top-hover: #2a7fac;
  --desk-action-bottom-hover: #1b4d73;
  --desk-action-ring: rgba(88, 184, 234, 0.18);
  grid-column: 2;
  grid-row: 1;
}

.app:not([data-view-mode="compact"]) #window-close {
  --desk-action-border: #df6964;
  --desk-action-top: #8b3438;
  --desk-action-bottom: #4f1d25;
  --desk-action-border-hover: #f18b84;
  --desk-action-top-hover: #a03d41;
  --desk-action-bottom-hover: #60232c;
  --desk-action-ring: rgba(223, 105, 100, 0.2);
  grid-column: 3;
  grid-row: 1;
}

.app:not([data-view-mode="compact"]) #new-route {
  --desk-action-border: #b78beb;
  --desk-action-top: #6247a0;
  --desk-action-bottom: #3a2b65;
  --desk-action-border-hover: #cda8fb;
  --desk-action-top-hover: #7354ba;
  --desk-action-bottom-hover: #463478;
  --desk-action-ring: rgba(183, 139, 235, 0.18);
  grid-column: 1;
  grid-row: 2;
}

.app:not([data-view-mode="compact"]) #desk-accounts {
  --desk-action-border: #dfb85c;
  --desk-action-top: #886522;
  --desk-action-bottom: #533c14;
  --desk-action-border-hover: #f1cf7b;
  --desk-action-top-hover: #9e7628;
  --desk-action-bottom-hover: #624818;
  --desk-action-ring: rgba(223, 184, 92, 0.18);
  grid-column: 2;
  grid-row: 2;
}

/* Toggle layout audit lock: stable switch/text columns across desktop and modals. */
.quick-module-toggle,
.control-card .quick-module-toggle,
.route-overview-card .route-control-button,
#modal-autowalk .route-main-column .route-control-button {
  overflow: hidden;
}

.quick-module-toggle strong,
.control-card .quick-module-toggle strong,
.route-overview-card .route-control-button strong,
#modal-autowalk .route-main-column .route-control-button strong,
.bot-tab-toggle {
  max-width: 100%;
  min-width: 0;
  display: block;
  overflow: hidden;
  overflow-wrap: anywhere;
  line-height: 1.06;
  text-align: center;
  text-overflow: clip;
  white-space: normal;
}

.bot-tab-toggle {
  padding-inline: 3px;
  display: grid;
  place-items: center;
  white-space: nowrap;
}

#modal-layer :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-category,
  .route-avoid-toggle),
#modal-targeting :is(.checks label, .module-rule-check, .target-profile-check),
#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row .module-rule-check,
  .follow-train-check-field,
  .follow-train-route-kite-toggle,
  .team-outfit-preset-check),
#modal-module[data-active-module-key="alarms"] :is(.alarms-card-grid,
  .alarms-master-strip,
  .alarms-protector-grid) .module-rule-check {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 28px !important;
  height: auto !important;
  max-height: none !important;
  padding: 4px 6px !important;
  display: grid !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 7px !important;
  border-radius: var(--toggle-surface-radius) !important;
  line-height: 1.18 !important;
  text-align: left !important;
  overflow: hidden !important;
}

#modal-layer :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle),
#modal-targeting :is(.checks label, .module-rule-check, .target-profile-check),
#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row .module-rule-check,
  .follow-train-check-field,
  .follow-train-route-kite-toggle,
  .team-outfit-preset-check),
#modal-module[data-active-module-key="alarms"] :is(.alarms-card-grid,
  .alarms-master-strip,
  .alarms-protector-grid) .module-rule-check {
  grid-template-columns: var(--toggle-width) minmax(0, 1fr) !important;
}

#modal-layer :is(.route-avoid-category, .route-avoid-toggle),
#modal-autowalk :is(.route-avoid-category, .route-avoid-toggle) {
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
}

#modal-layer :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-category)>input[type="checkbox"],
#modal-layer .route-avoid-toggle .route-avoid-toggle-control,
#modal-layer .route-avoid-toggle .route-avoid-toggle-control>input[type="checkbox"],
#modal-targeting :is(.checks label, .module-rule-check, .target-profile-check)>input[type="checkbox"],
#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row .module-rule-check,
  .follow-train-check-field,
  .follow-train-route-kite-toggle,
  .team-outfit-preset-check)>input[type="checkbox"] {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  max-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  max-height: var(--toggle-height) !important;
  margin: 0 !important;
  justify-self: start !important;
  align-self: center !important;
  flex: 0 0 var(--toggle-width) !important;
}

#modal-layer :is(.route-avoid-category, .route-avoid-toggle) input[type="checkbox"],
#modal-autowalk :is(.route-avoid-category, .route-avoid-toggle) input[type="checkbox"] {
  justify-self: end !important;
}

#modal-layer .route-avoid-toggle .route-avoid-toggle-control {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  padding: 0 !important;
  display: grid !important;
  justify-items: end !important;
  overflow: visible !important;
}

#modal-layer :is(.checks label,
  .route-checks label,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle)>span:not(.visually-hidden),
#modal-layer :is(.route-avoid-toggle-copy, .route-avoid-category-copy),
#modal-targeting :is(.checks label, .module-rule-check, .target-profile-check)>span:not(.visually-hidden),
#modal-module[data-active-module-key="team"] :is(.team-hunt-top-row .module-rule-check,
  .follow-train-check-field,
  .follow-train-route-kite-toggle,
  .team-outfit-preset-check)>span:not(.visually-hidden) {
  min-width: 0 !important;
  max-width: 100% !important;
  display: block !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
  text-align: left !important;
  text-overflow: clip !important;
  text-transform: none !important;
  white-space: normal !important;
}

#modal-layer :is(.route-avoid-toggle-copy strong,
  .route-avoid-category-copy strong,
  .target-profile-team-kill-check strong),
#modal-layer :is(.route-avoid-toggle-copy small,
  .route-avoid-category-copy small,
  .target-profile-team-kill-check small) {
  max-width: 100% !important;
  display: block !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  line-height: 1.16 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer :is(.module-rule-check, .checks label, .route-checks label)>.field-note {
  grid-column: 2 !important;
  min-width: 0 !important;
  margin-top: -1px !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

#modal-route-launcher .route-launch-toggle-field {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 28px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 7px !important;
}

#modal-route-launcher .route-launch-toggle-field span {
  min-width: 0 !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  text-align: left !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-route-launcher .route-launch-toggle-field input {
  justify-self: end !important;
}

#modal-autowalk .route-pane-head-avoid {
  grid-template-columns: minmax(0, 1fr) minmax(112px, max-content) !important;
}

#modal-autowalk .route-avoid-toggle {
  width: 100% !important;
  min-width: 112px !important;
  max-width: 170px !important;
}

/* Final modal chevron pass: embedded controls stay inside number inputs with usable hit areas. */
#modal-layer>.modal-panel {
  --modal-number-control: 84px;
  --modal-stepper-height: 28px;
  --modal-stepper-width: max(var(--modal-number-control, 70px), 84px);
  --modal-stepper-chevron-width: 18px;
  --modal-stepper-chevron-gap: 2px;
  --modal-stepper-chevron-inset: 3px;
  --modal-stepper-chevron-zone: calc((var(--modal-stepper-chevron-width) * 2) + var(--modal-stepper-chevron-gap));
  --modal-stepper-chevron-padding: calc(var(--modal-stepper-chevron-zone) + (var(--modal-stepper-chevron-inset) * 2) + 4px);
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] {
  --spell-rule-number-width: var(--modal-stepper-width);
}

#modal-layer>#modal-module[data-active-module-key="alarms"] {
  --alarm-proximity-number: var(--modal-stepper-width);
}

#modal-layer>.modal-panel .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key] .modal-number-stepper.modal-number-stepper,
#modal-layer>#modal-targeting .modal-number-stepper.modal-number-stepper,
#modal-layer>#modal-autowalk .modal-number-stepper.modal-number-stepper {
  position: relative !important;
  display: inline-grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: var(--modal-stepper-width) !important;
  min-width: var(--modal-stepper-width) !important;
  max-width: var(--modal-stepper-width) !important;
  height: var(--modal-stepper-height) !important;
  min-height: var(--modal-stepper-height) !important;
  max-height: var(--modal-stepper-height) !important;
  align-items: stretch !important;
  gap: 0 !important;
  overflow: hidden !important;
}

#modal-layer>.modal-panel .modal-number-stepper-input,
#modal-layer>#modal-module[data-active-module-key] .modal-number-stepper-input.modal-number-stepper-input,
#modal-layer>#modal-targeting .modal-number-stepper-input.modal-number-stepper-input,
#modal-layer>#modal-autowalk .modal-number-stepper-input.modal-number-stepper-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--modal-stepper-height) !important;
  min-height: var(--modal-stepper-height) !important;
  max-height: var(--modal-stepper-height) !important;
  padding-right: var(--modal-stepper-chevron-padding) !important;
}

#modal-layer>.modal-panel .modal-number-stepper-buttons,
#modal-layer>#modal-module[data-active-module-key] .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-layer>#modal-targeting .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-layer>#modal-autowalk .modal-number-stepper-buttons.modal-number-stepper-buttons {
  position: absolute !important;
  top: var(--modal-stepper-chevron-inset) !important;
  right: var(--modal-stepper-chevron-inset) !important;
  bottom: var(--modal-stepper-chevron-inset) !important;
  left: auto !important;
  width: var(--modal-stepper-chevron-zone) !important;
  min-width: var(--modal-stepper-chevron-zone) !important;
  max-width: var(--modal-stepper-chevron-zone) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(var(--modal-stepper-height) - (var(--modal-stepper-chevron-inset) * 2)) !important;
  display: grid !important;
  grid-template-columns: repeat(2, var(--modal-stepper-chevron-width)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: var(--modal-stepper-chevron-gap) !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

#modal-layer>.modal-panel .modal-number-stepper-button,
#modal-layer>#modal-module[data-active-module-key] .modal-number-stepper-button.modal-number-stepper-button,
#modal-layer>#modal-targeting .modal-number-stepper-button.modal-number-stepper-button,
#modal-layer>#modal-autowalk .modal-number-stepper-button.modal-number-stepper-button {
  width: var(--modal-stepper-chevron-width) !important;
  min-width: var(--modal-stepper-chevron-width) !important;
  max-width: var(--modal-stepper-chevron-width) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-coordinate-nudge-control {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--modal-stepper-height) !important;
  min-height: var(--modal-stepper-height) !important;
  max-height: var(--modal-stepper-height) !important;
  align-items: stretch !important;
  gap: 0 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-coordinate-nudge-control input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--modal-stepper-height) !important;
  min-height: var(--modal-stepper-height) !important;
  max-height: var(--modal-stepper-height) !important;
  padding-right: var(--modal-stepper-chevron-padding) !important;
}

#modal-layer>#modal-autowalk .route-coordinate-nudge-buttons {
  position: absolute !important;
  top: var(--modal-stepper-chevron-inset) !important;
  right: var(--modal-stepper-chevron-inset) !important;
  bottom: var(--modal-stepper-chevron-inset) !important;
  left: auto !important;
  width: var(--modal-stepper-chevron-zone) !important;
  min-width: var(--modal-stepper-chevron-zone) !important;
  max-width: var(--modal-stepper-chevron-zone) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(var(--modal-stepper-height) - (var(--modal-stepper-chevron-inset) * 2)) !important;
  display: grid !important;
  grid-template-columns: repeat(2, var(--modal-stepper-chevron-width)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: var(--modal-stepper-chevron-gap) !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-coordinate-nudge-button {
  width: var(--modal-stepper-chevron-width) !important;
  min-width: var(--modal-stepper-chevron-width) !important;
  max-width: var(--modal-stepper-chevron-width) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}

#modal-layer>.modal-panel .modal-number-stepper-button .route-coordinate-chevron,
#modal-layer>#modal-targeting .modal-number-stepper-button .route-coordinate-chevron,
#modal-layer>#modal-autowalk .modal-number-stepper-button .route-coordinate-chevron,
#modal-layer>#modal-autowalk .route-coordinate-nudge-button .route-coordinate-chevron {
  width: 7px !important;
  height: 7px !important;
  border-width: 1.5px 1.5px 0 0 !important;
}

/* Terminal compact modal standard: named field rows stay grouped and content-sized. */
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) {
  width: fit-content !important;
  min-width: min(280px, calc(100vw - 16px)) !important;
  max-width: calc(100vw - 16px) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) #module-extra-fields {
  display: grid !important;
  grid-template-columns: minmax(0, max-content) !important;
  justify-content: start !important;
  align-items: start !important;
  align-content: start !important;
  overflow: visible !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only .module-option-rows {
  display: grid !important;
  width: max-content !important;
  max-width: 100% !important;
  gap: 6px !important;
  justify-content: start !important;
  align-items: start !important;
  align-content: start !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only .module-option-row {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: max-content !important;
  gap: 6px !important;
  align-items: end !important;
  justify-content: start !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only .module-option-row .module-rule-control {
  min-width: 0 !important;
  min-height: 0 !important;
  justify-self: start !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only .module-option-row .module-rule-control:has(textarea) {
  width: min(360px, calc(100vw - 28px)) !important;
  max-width: min(360px, calc(100vw - 28px)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only .module-option-row .field-note {
  display: none !important;
}

#modal-layer>#modal-route-library-picker,
#modal-layer>#modal-route-launcher {
  width: fit-content !important;
  min-width: min(280px, calc(100vw - 16px)) !important;
  max-width: calc(100vw - 16px) !important;
}

#modal-layer>#modal-route-library-picker .modal-body-route-picker {
  grid-template-columns: minmax(0, 240px) !important;
  justify-content: start !important;
  align-items: start !important;
}

#modal-layer>#modal-route-library-picker .route-picker-field,
#modal-layer>#modal-route-library-picker .route-library-quick-meta {
  width: min(240px, calc(100vw - 28px)) !important;
  max-width: min(240px, calc(100vw - 28px)) !important;
}

@media (max-width: 520px) {
  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows):not([data-active-module-key="antiParalyze"]) {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
  }

  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:not([data-active-module-key="antiParalyze"]) #module-extra-fields:has(.module-option-rows),
  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:not([data-active-module-key="antiParalyze"]) .module-option-rows {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:not([data-active-module-key="antiParalyze"]) .module-option-row {
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:not([data-active-module-key="antiParalyze"]) .module-option-row .module-rule-control {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Terminal haste compact density lock: keep the bot-panel row layout and fix proportions only. */
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] {
  --haste-control-height: 25px;
  --haste-spell-width: 224px;
  --haste-hotkey-width: 112px;
  --haste-number-width: 82px;
  --haste-fluid-toggle-width: 134px;
  --haste-fluid-name-width: 136px;
  --haste-fluid-hotkey-width: 96px;
  --haste-condition-width: 168px;
  --haste-idle-width: 150px;
  --modal-stepper-height: var(--haste-control-height);
  --modal-stepper-width: var(--haste-number-width);
  --modal-stepper-chevron-width: 16px;
  --modal-stepper-chevron-gap: 1px;
  --modal-stepper-chevron-inset: 2px;
  --modal-stepper-chevron-zone: calc((var(--modal-stepper-chevron-width) * 2) + var(--modal-stepper-chevron-gap));
  --modal-stepper-chevron-padding: calc(var(--modal-stepper-chevron-zone) + (var(--modal-stepper-chevron-inset) * 2) + 4px);
  width: fit-content !important;
  min-width: min(280px, calc(100vw - 16px)) !important;
  max-width: calc(100vw - 16px) !important;
  gap: 4px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .modal-head {
  min-height: 31px !important;
  padding: 4px 6px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] #module-extra-fields {
  grid-template-columns: minmax(0, max-content) !important;
  max-width: calc(100vw - 28px) !important;
  overflow: visible !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows {
  gap: 4px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-row {
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  gap: 5px !important;
  align-items: end !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] [data-module-option-row="haste-main"] {
  grid-template-columns: minmax(0, var(--haste-spell-width)) minmax(0, var(--haste-hotkey-width)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] [data-module-option-row="haste-gates"] {
  grid-template-columns: repeat(3, minmax(0, var(--haste-number-width))) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] [data-module-option-row="haste-support"] {
  grid-template-columns:
    minmax(0, var(--haste-fluid-toggle-width))
    minmax(0, var(--haste-fluid-name-width))
    minmax(0, var(--haste-fluid-hotkey-width))
    minmax(0, var(--haste-number-width)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] [data-module-option-row="haste-extra-4"] {
  grid-template-columns: minmax(0, var(--haste-condition-width)) minmax(0, var(--haste-idle-width)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-row .module-rule-control {
  min-width: 0 !important;
  max-width: none !important;
  justify-self: stretch !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-row .module-rule-control:not(.module-rule-check) {
  display: grid !important;
  grid-template-rows: min-content var(--haste-control-height) !important;
  gap: 2px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-row .module-rule-control>span:not(.visually-hidden) {
  overflow: hidden !important;
  color: rgba(216, 204, 180, 0.8) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-row .module-rule-control:not(.module-rule-check) :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-row .modal-number-stepper {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--haste-control-height) !important;
  min-height: var(--haste-control-height) !important;
  max-height: var(--haste-control-height) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-row .module-rule-control:not(.module-rule-check) :is(input:not([type="checkbox"]), select) {
  padding-block: 2px !important;
  padding-inline: 6px !important;
  font-size: 10px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteWords"]) {
  width: var(--haste-spell-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteHotkey"]) {
  width: var(--haste-hotkey-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteMinMana"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteMinManaPercent"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteCooldownMs"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteManaFluidCooldownMs"]) {
  width: var(--haste-number-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteManaFluidEnabled"]) {
  width: var(--haste-fluid-toggle-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteManaFluidName"]) {
  width: var(--haste-fluid-name-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteManaFluidHotkey"]) {
  width: var(--haste-fluid-hotkey-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteRequireNoTargets"]) {
  width: var(--haste-condition-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteRequireStationary"]) {
  width: var(--haste-idle-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-row .module-rule-check {
  min-height: var(--haste-control-height) !important;
  height: var(--haste-control-height) !important;
  padding: 3px 6px !important;
  gap: 5px !important;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr) !important;
  align-self: end !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-row .module-rule-check>input[type="checkbox"] {
  align-self: center !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .modal-actions {
  min-height: 29px !important;
  padding: 4px 6px !important;
  gap: 5px !important;
  justify-content: flex-end !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .modal-actions .btn {
  min-height: 23px !important;
  padding: 2px 8px !important;
  font-size: 9px !important;
}

@media (max-width: 520px) {
  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
  }

  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] #module-extra-fields {
    max-width: calc(100vw - 20px) !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
  }

  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows {
    width: max-content !important;
    grid-template-columns: minmax(0, max-content) !important;
  }
}

/* Terminal anti-paralyze compact lock: two dense rows, matching the Saved Routes tile discipline. */
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] {
  --anti-paralyze-text-width: 176px;
  --anti-paralyze-short-width: var(--modal-stepper-width);
  width: min(324px, calc(100vw - 16px)) !important;
  max-width: min(324px, calc(100vw - 16px)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] #module-extra-fields {
  display: grid !important;
  grid-template-columns: minmax(0, max-content) !important;
  justify-content: start !important;
  align-items: start !important;
  align-content: start !important;
  overflow: visible !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .anti-paralyze-grid {
  width: max-content !important;
  max-width: 100% !important;
  gap: 6px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .anti-paralyze-row-1 {
  grid-template-columns: minmax(0, var(--anti-paralyze-text-width)) minmax(0, var(--anti-paralyze-short-width)) !important;
  gap: 6px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .anti-paralyze-row-2 {
  grid-template-columns: repeat(3, minmax(0, var(--anti-paralyze-short-width))) !important;
  gap: 6px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .anti-paralyze-grid .module-rule-control {
  min-width: 0 !important;
  justify-self: stretch !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-rule-control:has([data-module-option-field="antiParalyzeWords"]) {
  width: var(--anti-paralyze-text-width) !important;
  max-width: var(--anti-paralyze-text-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-rule-control:has([data-module-option-field="antiParalyzeHotkey"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-rule-control:has([data-module-option-field="antiParalyzeMinMana"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-rule-control:has([data-module-option-field="antiParalyzeMinManaPercent"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-rule-control:has([data-module-option-field="antiParalyzeCooldownMs"]) {
  width: var(--anti-paralyze-short-width) !important;
  max-width: var(--anti-paralyze-short-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .module-rule-control :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .modal-number-stepper {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 340px) {
  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] {
    --anti-paralyze-text-width: clamp(132px, calc(100vw - 150px), 176px);
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
  }
}

/* Terminal toggle text lock: explicit selectors beat older equal-specificity route rules. */
#modal-layer>#modal-autowalk .route-avoid-category,
#modal-layer>#modal-autowalk .route-avoid-toggle,
#modal-autowalk .route-avoid-category,
#modal-autowalk .route-avoid-toggle {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  align-items: center !important;
  gap: 7px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-avoid-category-copy,
#modal-layer>#modal-autowalk .route-avoid-toggle-copy,
#modal-autowalk .route-avoid-category-copy,
#modal-autowalk .route-avoid-toggle-copy {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  text-align: left !important;
}

#modal-layer>#modal-autowalk .route-avoid-category input[type="checkbox"],
#modal-layer>#modal-autowalk .route-avoid-toggle input[type="checkbox"],
#modal-autowalk .route-avoid-category input[type="checkbox"],
#modal-autowalk .route-avoid-toggle input[type="checkbox"] {
  justify-self: end !important;
}

/* Terminal route preview lock: keep the left route grid expanded with square cards. */
#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.72fr) minmax(0, 0.78fr) !important;
  gap: 6px !important;
}

#modal-autowalk .route-main-column {
  grid-template-rows: minmax(0, 1fr) auto auto !important;
  gap: 6px !important;
}

#modal-autowalk .route-main-column .route-overview-card {
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 0 !important;
  padding: 4px !important;
  overflow: hidden !important;
}

#modal-autowalk :is(.route-overview-grid, .route-toggle-grid, #route-overview-note) {
  display: none !important;
}

#modal-autowalk .route-main-column .route-live-preview-shell {
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  padding: 3px !important;
  overflow: hidden !important;
}

#modal-autowalk #route-live-preview.waypoint-preview-live,
#modal-autowalk #route-live-preview.waypoint-square-grid {
  --route-waypoint-columns: 9;
  --route-waypoint-grid-gap: 2px;
  --route-waypoint-tile-size: calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns));
  display: grid !important;
  grid-template-columns: repeat(var(--route-waypoint-columns), minmax(0, 1fr)) !important;
  grid-auto-rows: var(--route-waypoint-tile-size) !important;
  gap: var(--route-waypoint-grid-gap) !important;
  align-content: start !important;
  justify-content: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 2px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-autowalk #route-live-preview .route-live-waypoint {
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  align-self: stretch !important;
  overflow: hidden !important;
  border-radius: 4px !important;
}

@media (max-width: 900px) {
  #modal-autowalk .route-main-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Desk lateral panels: expanded app margin with the main shell locked to its original width. */
:root {
  --desk-side-panel-default-width: 160px;
  --desk-side-panel-wide-width: 160px;
  --desk-side-panel-width: var(--desk-side-panel-default-width);
  --desk-side-panel-gap: 2px;
  --desk-battle-panel-width: 190px;
  --desk-battle-panel-gap: 2px;
  --desk-battle-panel-total-width: 0px;
  --desk-side-panel-header-row-height: 52px;
  --desk-side-panel-header-extra: 13px;
  --desk-side-panel-top-offset: calc(var(--desk-side-panel-header-row-height) + var(--desk-side-panel-header-extra));
  --desk-side-panel-bottom-offset: 0px;
  --desk-expanded-width: calc(var(--desk-battle-panel-total-width) + var(--desk-shell-width) + var(--desk-side-panel-width) + var(--desk-side-panel-gap));
  --desk-side-panel-left: calc(var(--desk-battle-panel-total-width) + var(--desk-shell-width) + var(--desk-side-panel-gap));
  --desk-side-panel-visible-width: min(var(--desk-side-panel-width), max(0px, calc(100vw - var(--desk-side-panel-left))));
}

.app:not([data-view-mode="compact"])[data-battle-panel="open"] {
  --desk-battle-panel-total-width: calc(var(--desk-battle-panel-width) + var(--desk-battle-panel-gap));
  width: min(calc(var(--desk-battle-panel-total-width) + var(--desk-shell-width)), 100vw);
  max-width: min(calc(var(--desk-battle-panel-total-width) + var(--desk-shell-width)), 100vw);
  align-items: stretch;
}

.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) {
  width: min(var(--desk-expanded-width), 100vw);
  max-width: min(var(--desk-expanded-width), 100vw);
  align-items: stretch;
}

.app:not([data-view-mode="compact"])[data-side-panel="route"] {
  --desk-side-panel-width: var(--desk-side-panel-wide-width);
  --desk-expanded-width: calc(var(--desk-battle-panel-total-width) + var(--desk-shell-width) + var(--desk-side-panel-width) + var(--desk-side-panel-gap));
}

.app:not([data-view-mode="compact"])[data-battle-panel="open"] .top-strip,
.app:not([data-view-mode="compact"])[data-battle-panel="open"] .dashboard-shell {
  margin-left: var(--desk-battle-panel-total-width);
  width: min(var(--desk-shell-width), calc(100vw - var(--desk-battle-panel-total-width)));
  max-width: min(var(--desk-shell-width), calc(100vw - var(--desk-battle-panel-total-width)));
}

.battle-side-panel {
  position: absolute;
  z-index: 31;
  top: auto;
  bottom: var(--desk-side-panel-bottom-offset);
  left: 0;
  width: min(var(--desk-battle-panel-width), 100vw);
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 6px;
  display: grid;
  grid-template-rows: auto auto;
  gap: 5px;
  border-color: var(--line);
  border-radius: 6px;
  /* Match the main window and right lateral panel background. */
  background: var(--desk-side-panel-bg);
  box-shadow: var(--shadow-panel);
  overflow: hidden;
  contain: layout paint style;
  -webkit-app-region: no-drag;
}

.app:not([data-view-mode="compact"])[data-battle-panel="open"] #battle-column-content {
  display: grid;
}

.app:not([data-battle-panel="open"]) #battle-column-content,
.app[data-view-mode="compact"] #battle-column-content {
  display: none !important;
}

#battle-column-content::before {
  content: none;
}

.battle-panel-toolbar {
  min-width: 0;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  gap: 5px;
  align-items: center;
}

.battle-target-clear {
  min-width: 0;
  height: 18px;
  padding: 0 5px;
  border: 1px solid rgba(211, 109, 98, 0.42);
  border-radius: 3px;
  background: rgba(52, 26, 29, 0.42);
  color: rgba(255, 210, 205, 0.86);
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.battle-target-clear:hover:not(:disabled),
.battle-target-clear:focus-visible {
  border-color: rgba(226, 128, 116, 0.78);
  background: rgba(77, 32, 34, 0.68);
}

.battle-panel-close {
  min-width: 18px;
  width: 18px;
  height: 18px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(211, 109, 98, 0.62);
  border-radius: 3px;
  background: rgba(52, 26, 29, 0.62);
  color: rgba(255, 210, 205, 0.94);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.battle-panel-close:hover:not(:disabled),
.battle-panel-close:focus-visible {
  border-color: rgba(226, 128, 116, 0.9);
  background: rgba(77, 32, 34, 0.78);
}

.battle-panel-title {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.battle-panel-title span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.battle-panel-title strong {
  min-width: 0;
  color: var(--text);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.05;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.battle-list {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-auto-rows: minmax(34px, max-content);
  gap: 3px;
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
}

.battle-empty-state {
  min-height: 58px;
  padding: 8px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(132, 143, 156, 0.35);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.025);
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.battle-row {
  min-width: 0;
  min-height: 34px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 24px;
  gap: 4px;
  align-items: center;
  padding: 3px;
  border: 1px solid rgba(58, 70, 84, 0.76);
  border-radius: 4px;
  background: rgba(12, 17, 22, 0.84);
}

.battle-row[data-current-target="true"] {
  border-color: rgba(214, 191, 115, 0.78);
  background:
    linear-gradient(180deg, rgba(214, 191, 115, 0.12), rgba(214, 191, 115, 0.025)),
    rgba(12, 17, 22, 0.9);
}

.battle-row[data-kind="player"][data-attacking-self="true"] {
  border-color: rgba(211, 109, 98, 0.84);
}

.battle-avatar {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(132, 143, 156, 0.46);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(232, 234, 237, 0.86);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  overflow: hidden;
}

.battle-row[data-kind="player"] .battle-avatar {
  border-color: rgba(120, 184, 217, 0.45);
  color: rgba(185, 223, 245, 0.94);
}

.battle-main {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.battle-name-line,
.battle-meta-line,
.battle-badges {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 3px;
  overflow: hidden;
}

.battle-name-line strong {
  min-width: 0;
  color: var(--text);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.05;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.battle-meta-line {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.battle-badge {
  max-width: 100%;
  padding: 1px 3px;
  border: 1px solid rgba(132, 143, 156, 0.35);
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.035);
  color: rgba(232, 234, 237, 0.82);
  font-size: 7px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.battle-badge[data-tone="target"] {
  border-color: rgba(214, 191, 115, 0.48);
  color: rgba(242, 222, 150, 0.95);
}

.battle-badge[data-tone="danger"] {
  border-color: rgba(211, 109, 98, 0.55);
  color: rgba(255, 204, 198, 0.96);
}

.battle-badge[data-tone="player"] {
  border-color: rgba(120, 184, 217, 0.45);
  color: rgba(185, 223, 245, 0.94);
}

.battle-action {
  width: 22px;
  min-width: 22px;
  height: 24px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(214, 191, 115, 0.52);
  border-radius: 4px;
  background: rgba(214, 191, 115, 0.09);
  color: rgba(242, 222, 150, 0.96);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.battle-action:hover:not(:disabled),
.battle-action:focus-visible {
  border-color: rgba(237, 213, 137, 0.86);
  background: rgba(214, 191, 115, 0.17);
}

.battle-action:disabled {
  opacity: 0.5;
  cursor: default;
}

.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) .console-layout {
  width: 100%;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "left" !important;
  gap: var(--gap);
  align-items: start;
  overflow: visible;
}

.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) .dashboard-shell {
  width: min(var(--desk-shell-width), 100%);
  max-width: min(var(--desk-shell-width), 100%);
  position: relative;
  display: grid !important;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) .left-column {
  grid-area: left;
  width: 100%;
  justify-self: start;
  min-height: 0;
  overflow: hidden;
}

.app:not([data-view-mode="compact"])[data-side-panel="none"] .console-layout {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "left" !important;
}

.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column {
  display: grid !important;
  position: absolute;
  z-index: 30;
  top: var(--desk-side-panel-top-offset);
  bottom: var(--desk-side-panel-bottom-offset);
  left: var(--desk-side-panel-left);
  grid-template-rows: minmax(0, 1fr);
  width: var(--desk-side-panel-visible-width);
  min-width: 0;
  min-height: 0;
  height: auto;
  overflow: hidden;
  contain: layout paint;
  -webkit-app-region: no-drag;
}

.app:not([data-view-mode="compact"]):is([data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column {
  /* Bottom-up lateral panels: bound the column between the header offset and the
     bottom margin so the card fills the strip and content can rise from the floor
     instead of overflowing off the top of the window. */
  top: var(--desk-side-panel-top-offset);
  grid-template-rows: minmax(0, 1fr);
  align-content: stretch;
}

.app:not([data-view-mode="compact"])[data-side-panel="none"] .right-column {
  display: none !important;
}

.app:not([data-view-mode="compact"])[data-side-panel="logs"] #logs-column-content,
.app:not([data-view-mode="compact"])[data-side-panel="route"] #route-track-column-content,
.app:not([data-view-mode="compact"])[data-side-panel="global"] #global-modules-column-content,
.app:not([data-view-mode="compact"])[data-side-panel="client"] #client-tools-column-content,
.app:not([data-view-mode="compact"])[data-side-panel="special"] #special-stuff-column-content {
  display: grid;
}

#logs-column-content,
#route-track-column-content,
#global-modules-column-content,
#client-tools-column-content,
#special-stuff-column-content {
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  contain: layout paint style;
}

#global-modules-column-content,
#client-tools-column-content,
#special-stuff-column-content {
  height: 100%;
  min-height: 0;
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
  contain: layout style;
}

.route-track-card {
  padding: 5px;
  border-color: rgba(214, 191, 115, 0.28);
  background:
    linear-gradient(180deg, rgba(214, 191, 115, 0.08), transparent 30%),
    linear-gradient(135deg, rgba(127, 196, 106, 0.06), transparent 56%),
    #080c10;
}

.route-track-panel {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 5px;
  cursor: default;
}

.route-track-recorder-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  align-items: stretch;
  align-content: start;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.route-track-control {
  position: relative;
  min-width: 0;
  min-height: 28px;
  height: 28px;
  aspect-ratio: auto;
  padding: 3px;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  place-items: center;
  gap: 2px;
  border: 1px solid rgba(96, 111, 128, 0.7);
  border-radius: 4px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 58%),
    #111820;
  color: var(--text);
  cursor: pointer;
  overflow: hidden;
  text-align: center;
  transition: border-color 120ms ease, background 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.route-track-control:hover:not(:disabled),
.route-track-control:focus-visible {
  border-color: rgba(216, 191, 114, 0.72);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 58%),
    #151e27;
  box-shadow: 0 0 0 1px rgba(216, 191, 114, 0.12);
}

.route-track-control:active:not(:disabled) {
  transform: translateY(1px);
}

.route-track-control span,
.route-track-control strong {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.route-track-control span {
  align-self: end;
  color: rgba(232, 234, 237, 0.9);
  font-size: 9px;
  font-weight: var(--weight-strong);
}

.route-track-control strong {
  align-self: start;
  min-width: 16px;
  padding: 2px 4px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.18);
  color: rgba(232, 234, 237, 0.78);
  font-size: 8px;
  font-weight: var(--weight-strong);
}

.route-track-control[data-state="selected"] {
  border-color: rgba(120, 184, 217, 0.82);
  background:
    linear-gradient(180deg, rgba(120, 184, 217, 0.18), rgba(120, 184, 217, 0.045) 58%),
    #0c151b;
}

.route-track-control[data-state="recording"] {
  border-color: rgba(211, 109, 98, 0.95);
  background:
    linear-gradient(180deg, rgba(211, 109, 98, 0.28), rgba(211, 109, 98, 0.07) 58%),
    #1b1110;
  box-shadow:
    0 0 0 1px rgba(211, 109, 98, 0.22),
    0 0 14px rgba(211, 109, 98, 0.14);
}

.route-track-control[data-state="recording"]::before {
  content: "";
  position: absolute;
  inset: 3px auto auto 3px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #f0786d;
  box-shadow: 0 0 7px rgba(240, 120, 109, 0.58);
}

.route-track-control[data-state="ready"] strong {
  color: rgba(127, 196, 106, 0.95);
  border-color: rgba(127, 196, 106, 0.28);
}

.route-track-quick-button {
  border-color: rgba(120, 184, 217, 0.68);
  background:
    linear-gradient(180deg, rgba(120, 184, 217, 0.16), rgba(120, 184, 217, 0.04) 58%),
    #0d151b;
}

.route-track-quick-button span {
  align-self: center;
  font-size: 10px;
}

.route-track-recorder-button:not([data-route-recorder-type="cave"])[data-state="off"] {
  display: none;
}

.route-stage-add-btn {
  padding: 2px 7px;
  font-size: 11px;
  min-height: 22px;
  height: 22px;
  white-space: nowrap;
}

.route-stage-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 6px 8px;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(96, 111, 128, 0.35);
  border-top: none;
  border-radius: 0 0 4px 4px;
}

.route-stage-picker[hidden] {
  display: none;
}

.route-stage-picker-btn {
  padding: 2px 8px;
  font-size: 11px;
  border: 1px solid rgba(96, 111, 128, 0.6);
  border-radius: 4px;
  background: #111820;
  color: var(--text);
  cursor: pointer;
  white-space: nowrap;
}

.route-stage-picker-btn:hover {
  border-color: rgba(216, 191, 114, 0.7);
  background: #151e27;
}

.route-stage-picker-empty {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
  padding: 2px 0;
}

.route-stage-custom-row {
  display: flex;
  gap: 4px;
  width: 100%;
  margin-top: 2px;
  padding-top: 5px;
  border-top: 1px solid rgba(96, 111, 128, 0.25);
}

.route-stage-custom-input {
  flex: 1;
  min-width: 0;
  padding: 2px 6px;
  font-size: 11px;
  height: 22px;
  border: 1px solid rgba(96, 111, 128, 0.6);
  border-radius: 4px;
  background: #0d1319;
  color: var(--text);
}

.route-stage-custom-input:focus {
  outline: none;
  border-color: rgba(216, 191, 114, 0.6);
}

.route-track-square {
  --route-track-columns: 3;
  --route-track-gap: 4px;
  min-width: 0;
  min-height: 0;
  width: 100%;
  height: 100%;
  padding: 4px;
  display: grid;
  grid-template-columns: repeat(var(--route-track-columns), minmax(0, 1fr));
  grid-auto-rows: var(--desk-side-panel-slot-height, 44px);
  gap: var(--route-track-gap);
  align-content: start;
  border: 1px solid rgba(169, 141, 99, 0.28);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 32%),
    #050708;
  cursor: default;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.route-track-square>.empty-state {
  grid-column: 1 / -1;
  min-height: 72px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(214, 191, 115, 0.28);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.025);
  color: var(--muted);
  font-size: var(--text-xs);
  font-weight: var(--weight-strong);
}

.route-track-tile[data-tone] {
  --waypoint-rgb: 126, 246, 184;
}

.route-track-tile[data-tone="action"] {
  --waypoint-rgb: 255, 220, 90;
}

.route-track-tile[data-tone="node"] {
  --waypoint-rgb: 80, 204, 255;
}

.route-track-tile[data-tone="stand"] {
  --waypoint-rgb: 87, 136, 255;
}

.route-track-tile[data-tone="depot"] {
  --waypoint-rgb: 255, 196, 0;
}

.route-track-tile[data-tone="lure"] {
  --waypoint-rgb: 255, 95, 214;
}

.route-track-tile[data-tone="helper"] {
  --waypoint-rgb: 181, 123, 255;
}

.route-track-tile[data-tone="safe-zone"] {
  --waypoint-rgb: 173, 255, 91;
}

.route-track-tile[data-tone="avoid"] {
  --waypoint-rgb: 255, 170, 67;
}

.route-track-tile[data-tone="danger-zone"],
.route-track-tile[data-tone="no-go-zone"] {
  --waypoint-rgb: 255, 80, 96;
}

.route-track-tile[data-tone="exit-zone"] {
  --waypoint-rgb: 232, 232, 232;
}

.route-track-tile[data-tone="stairs-up"] {
  --waypoint-rgb: 123, 226, 255;
}

.route-track-tile[data-tone="stairs-down"] {
  --waypoint-rgb: 98, 174, 255;
}

.route-track-tile[data-tone="use-item"] {
  --waypoint-rgb: 88, 229, 214;
}

.route-track-tile[data-tone="bank"] {
  --waypoint-rgb: 93, 214, 144;
}

.route-track-tile[data-tone="shop"] {
  --waypoint-rgb: 255, 185, 94;
}

.route-track-tile[data-tone="npc-action"] {
  --waypoint-rgb: 236, 118, 255;
}

.route-track-tile[data-tone="daily-task"] {
  --waypoint-rgb: 255, 135, 170;
}

.route-track-tile[data-tone="ladder"] {
  --waypoint-rgb: 185, 141, 88;
}

.route-track-tile[data-tone="exani-tera"] {
  --waypoint-rgb: 97, 255, 238;
}

.route-track-tile[data-tone="exani-hur"] {
  --waypoint-rgb: 116, 231, 142;
}

.route-track-tile[data-tone="rope"] {
  --waypoint-rgb: 214, 187, 117;
}

.route-track-tile[data-tone="shovel-hole"] {
  --waypoint-rgb: 166, 129, 102;
}

.route-track-tile {
  --waypoint-rgb: 126, 246, 184;
  position: relative;
  min-width: 0;
  min-height: 48px;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 4px 4px 12px;
  display: grid;
  grid-template-rows: auto minmax(12px, 1fr) auto auto;
  align-items: stretch;
  gap: 2px;
  border: 1px solid rgba(var(--waypoint-rgb), 0.42);
  border-radius: 4px;
  background:
    linear-gradient(180deg, rgba(var(--waypoint-rgb), 0.16), rgba(var(--waypoint-rgb), 0.04) 54%),
    #0a0e12;
  color: var(--text);
  cursor: pointer;
  overflow: hidden;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.route-track-tile::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: rgba(var(--waypoint-rgb), 0.72);
}

.route-track-tile:hover:not(:disabled),
.route-track-tile:focus-visible {
  border-color: rgba(var(--waypoint-rgb), 0.78);
  background:
    linear-gradient(180deg, rgba(var(--waypoint-rgb), 0.22), rgba(var(--waypoint-rgb), 0.06) 58%),
    #0d1317;
  box-shadow: 0 0 0 1px rgba(var(--waypoint-rgb), 0.2);
}

.route-track-tile:active:not(:disabled),
.route-track-tile[data-pressed="true"]:not(:disabled) {
  transform: translateY(1px);
}

.route-track-tile-top {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2px;
}

.route-track-index,
.route-track-kind,
.route-track-label,
.route-track-meta,
.route-track-detail,
.route-track-state {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0;
}

.route-track-index,
.route-track-kind,
.route-track-state {
  color: rgba(255, 255, 255, 0.92);
  font-size: 7px;
  font-weight: var(--weight-strong);
  line-height: 1;
  white-space: nowrap;
}

.route-track-index,
.route-track-kind {
  padding: 2px 3px;
  border: 1px solid rgba(var(--waypoint-rgb), 0.38);
  border-radius: 3px;
  background: rgba(var(--waypoint-rgb), 0.13);
}

.route-track-kind {
  max-width: 22px;
  text-align: center;
}

.route-track-label {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: var(--text);
  font-size: 8px;
  font-weight: var(--weight-strong);
  line-height: 1.08;
  text-align: left;
}

.route-track-meta,
.route-track-detail {
  color: rgba(var(--waypoint-rgb), 0.82);
  font-size: 6px;
  font-weight: var(--weight-medium);
  line-height: 1.05;
  white-space: nowrap;
}

.route-track-detail {
  color: rgba(226, 230, 234, 0.66);
}

.route-track-state {
  position: absolute;
  right: 3px;
  bottom: 3px;
  max-width: calc(100% - 6px);
  padding: 2px 3px;
  border: 1px solid rgba(var(--waypoint-rgb), 0.48);
  border-radius: 3px;
  background: rgba(3, 5, 7, 0.72);
  color: rgba(var(--waypoint-rgb), 0.95);
  font-size: 6px;
  text-transform: uppercase;
}

.route-track-tile.current,
.route-track-tile.focus {
  border-color: rgba(var(--waypoint-rgb), 0.86);
  background:
    linear-gradient(180deg, rgba(var(--waypoint-rgb), 0.26), rgba(var(--waypoint-rgb), 0.08) 58%),
    #0e1612;
  box-shadow:
    0 0 0 1px rgba(var(--waypoint-rgb), 0.24),
    0 0 16px rgba(var(--waypoint-rgb), 0.12);
}

.route-track-tile.selected {
  outline: 1px solid rgba(234, 214, 142, 0.88);
  outline-offset: -2px;
}

/* Route modal final lock: ten square waypoint cards, center-bottom targeting, compact hazard toggles. */
#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(0, 1.68fr) minmax(260px, 0.66fr) minmax(300px, 0.74fr) !important;
  gap: 6px !important;
}

#modal-autowalk .route-main-column {
  grid-template-rows: minmax(0, 1fr) auto auto !important;
  min-height: 0 !important;
}

#modal-autowalk .route-main-column .route-overview-card,
#modal-autowalk .route-main-column .route-live-preview-shell {
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
}

#modal-autowalk .route-main-column .route-overview-card {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  padding: 4px !important;
  overflow: hidden !important;
}

#modal-autowalk .route-main-column .route-live-preview-shell {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  padding: 3px !important;
  overflow: hidden !important;
}

#modal-autowalk .route-main-column .route-live-preview-shell[data-marked="true"] {
  grid-template-rows: auto minmax(0, 1fr) !important;
}

#modal-autowalk #route-live-preview.waypoint-preview-live,
#modal-autowalk #route-live-preview.waypoint-square-grid {
  --route-waypoint-columns: 10;
  --route-waypoint-grid-gap: 2px;
  --route-waypoint-tile-size: calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns));
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(var(--route-waypoint-columns), minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: var(--route-waypoint-tile-size) !important;
  gap: var(--route-waypoint-grid-gap) !important;
  align-content: start !important;
  justify-content: stretch !important;
  padding: 2px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-autowalk #route-live-preview .route-live-waypoint.waypoint-chip {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  border: 1px solid rgba(var(--waypoint-rgb, 126, 246, 184), 0.42) !important;
  border-radius: 4px !important;
  background:
    linear-gradient(180deg, rgba(var(--waypoint-rgb, 126, 246, 184), 0.22), rgba(var(--waypoint-rgb, 126, 246, 184), 0.08) 48%),
    #0b1115 !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035) !important;
  overflow: hidden !important;
}

#modal-autowalk #route-live-preview .route-live-waypoint-main {
  padding: 5px 17px 18px 5px !important;
  gap: 2px !important;
}

#modal-autowalk #route-live-preview .route-live-waypoint strong {
  font-size: 10px !important;
  line-height: 1.08 !important;
}

#modal-autowalk #route-live-preview .route-live-waypoint .waypoint-chip-position,
#modal-autowalk #route-live-preview .route-live-waypoint .waypoint-chip-detail {
  font-size: 8px !important;
  line-height: 1.05 !important;
}

#modal-autowalk .route-mid-column .route-side-scroll {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  align-content: stretch !important;
  overflow: hidden !important;
}

#modal-autowalk .route-mid-column .route-avoid-fields-card {
  min-height: 0 !important;
  overflow: hidden !important;
}

#modal-autowalk .route-mid-column .tile-rule-list {
  min-height: 0 !important;
  max-height: 96px !important;
  overflow-y: auto !important;
}

#modal-autowalk .route-hunt-launchpad-mid {
  align-self: end !important;
  padding: 5px !important;
  gap: 3px !important;
}

#modal-autowalk .route-hunt-launchpad-mid .route-hunt-launchpad-head {
  grid-template-columns: minmax(82px, 0.75fr) minmax(0, 1fr) !important;
  gap: 4px !important;
}

#modal-autowalk .route-hunt-launchpad-mid #route-open-hunt-studio {
  min-width: 0 !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 3px 6px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

#modal-autowalk .route-hunt-launchpad-mid .route-hunt-launchpad-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 3px !important;
}

#modal-autowalk .route-hunt-launchpad-mid .summary-cell {
  min-height: 24px !important;
  padding: 2px 4px !important;
  gap: 1px !important;
}

#modal-autowalk .route-hunt-launchpad-mid .summary-cell span {
  font-size: 7px !important;
  line-height: 1 !important;
}

#modal-autowalk .route-hunt-launchpad-mid .summary-cell strong {
  font-size: 10px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-autowalk .route-avoid-category,
#modal-autowalk .route-avoid-category {
  min-height: 36px !important;
  padding: 4px 3px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: min-content var(--toggle-height) !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 2px !important;
}

#modal-layer>#modal-autowalk .route-avoid-category-copy,
#modal-autowalk .route-avoid-category-copy {
  width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
  text-align: center !important;
}

#modal-layer>#modal-autowalk .route-avoid-category-copy strong,
#modal-autowalk .route-avoid-category-copy strong {
  display: block !important;
  color: inherit !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

#modal-layer>#modal-autowalk .route-avoid-category input[type="checkbox"],
#modal-autowalk .route-avoid-category input[type="checkbox"] {
  position: static !important;
  grid-row: 2 !important;
  justify-self: center !important;
  align-self: center !important;
  opacity: 1 !important;
}

@media (max-width: 900px) {
  #modal-autowalk .route-main-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-autowalk .route-mid-column .route-side-scroll {
    grid-template-rows: auto auto auto !important;
    overflow-y: auto !important;
  }
}

.app:not([data-view-mode="compact"])[data-side-panel="global"] #global-modules-column-content,
.app:not([data-view-mode="compact"])[data-side-panel="client"] #client-tools-column-content,
.app:not([data-view-mode="compact"])[data-side-panel="special"] #special-stuff-column-content {
  display: grid;
}

#global-modules-column-content.module-side-card,
#client-tools-column-content.module-side-card,
#special-stuff-column-content.module-side-card {
  padding: 5px;
  border-color: var(--line);
  border-radius: 6px;
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

#global-modules-column-content.module-side-card::before,
#client-tools-column-content.module-side-card::before,
#special-stuff-column-content.module-side-card::before {
  content: none;
}

.module-side-card .control-group {
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  border: 0;
  background: transparent;
  overflow: hidden;
}

.module-side-card .module-side-grid {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: minmax(0, auto);
  gap: 2px;
  align-items: start;
  /* Anchor the stack to the bottom margin and let modules rise from there;
     overflow scrolls upward so the last card always sits on the floor. */
  align-content: end;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.module-side-card .quick-module-column,
.module-side-card .module-side-column {
  min-width: 0;
  min-height: 0;
  height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: none;
  grid-auto-flow: row;
  grid-auto-rows: minmax(40px, max-content);
  gap: 2px;
  align-content: end;
  overflow: visible;
}

.module-side-card .module-side-column-primary {
  grid-column: 1;
}

.module-side-card .module-side-column-secondary {
  grid-column: 1;
}

.module-side-card .module-side-column-tertiary {
  grid-column: 1;
}

.module-side-card .quick-module-card {
  min-width: 0;
  min-height: 40px;
  height: auto;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) minmax(48px, 52px);
  gap: 2px;
  order: initial;
  padding: 2px;
  overflow: hidden;
}

.module-side-card .quick-module-open,
.module-side-card .quick-module-toggle {
  min-height: 38px;
  height: auto;
  overflow: hidden;
}

.module-side-card .quick-module-open {
  padding: 3px 6px;
  gap: 0;
}

.module-side-card .quick-module-open span,
.module-side-card .quick-module-toggle span {
  max-width: 100%;
  line-height: 1.05;
  white-space: normal;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-wrap: wrap;
}

.module-side-card .quick-module-open span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 7px;
  letter-spacing: 0.05em;
}

.module-side-card .quick-module-open strong {
  font-size: 10px;
  line-height: 1.05;
  overflow-wrap: anywhere;
  -webkit-line-clamp: 2;
}

.module-side-card .quick-module-toggle {
  min-width: 0;
  width: 52px;
  padding: 3px 2px;
  justify-content: center;
  align-items: center;
  gap: 1px;
}

.module-side-card .quick-module-toggle span {
  text-align: center;
  font-size: 7px;
  letter-spacing: 0.04em;
}

.module-side-card .quick-module-toggle strong {
  max-width: 100%;
  font-size: 10px;
  line-height: 1.02;
  overflow-wrap: anywhere;
  text-align: center;
}

/* Logs lateral panel: quiet activity feed with dense KPIs and scan-friendly rows. */
#logs-column-content.feed-card {
  position: relative;
  isolation: isolate;
  padding: 6px;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 5px;
  border-color: rgba(58, 70, 84, 0.86);
  border-radius: 4px;
  background: rgba(7, 10, 13, 0.78);
  box-shadow: none;
}

#logs-column-content.feed-card::before {
  content: none;
}

#logs-column-content .feed-toolbar {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
}

#logs-column-content .feed-toolbar-copy {
  min-width: 0;
  min-height: 32px;
  padding: 0 1px 3px;
  display: grid;
  align-content: center;
  gap: 1px;
  border: 0;
  border-bottom: 1px solid rgba(78, 91, 106, 0.42);
  border-radius: 0;
  background: transparent;
}

#logs-column-content .feed-toolbar-copy span,
#logs-column-content .feed-toolbar-copy strong,
#logs-column-content .feed-toolbar-copy small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#logs-column-content .feed-toolbar-copy span {
  color: #9ca8b4;
  font-size: 8px;
  font-weight: var(--weight-strong);
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

#logs-column-content .feed-toolbar-copy strong {
  color: #e6eaee;
  font-size: 12px;
  font-weight: var(--weight-strong);
  line-height: 1.08;
}

#logs-column-content .feed-toolbar-copy small {
  color: #a7b0ba;
  font-size: 9px;
  font-weight: var(--weight-medium);
  line-height: 1.15;
}

#logs-column-content .feed-open-button {
  min-width: 0;
  min-height: 42px;
  height: 100%;
  padding: 0 8px;
  border-radius: 5px;
  border-color: rgba(94, 137, 224, 0.52);
  background:
    linear-gradient(180deg, rgba(112, 154, 225, 0.22), rgba(50, 72, 112, 0.2)),
    #111923;
  color: #eaf2ff;
  font-size: 9px;
  font-weight: var(--weight-strong);
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

#logs-column-content .feed-open-button:hover:not(:disabled),
#logs-column-content .feed-open-button:focus-visible {
  border-color: rgba(125, 170, 242, 0.86);
  background:
    linear-gradient(180deg, rgba(125, 170, 242, 0.3), rgba(54, 84, 132, 0.24)),
    #142033;
}

#logs-column-content .feed-summary {
  min-width: 0;
  min-height: 0;
}

#logs-column-content .feed-summary-card {
  padding: 4px;
  border-color: rgba(65, 78, 94, 0.76);
  border-radius: 4px;
  background: rgba(10, 14, 19, 0.78);
  box-shadow: none;
}

#logs-column-content .feed-summary-card[data-tone="live"] {
  border-color: rgba(125, 211, 167, 0.42);
  background:
    linear-gradient(180deg, rgba(125, 211, 167, 0.08), transparent 58%),
    rgba(10, 17, 15, 0.9);
}

#logs-column-content .feed-summary-card[data-tone="ready"] {
  border-color: rgba(96, 165, 250, 0.42);
  background:
    linear-gradient(180deg, rgba(96, 165, 250, 0.08), transparent 58%),
    rgba(10, 15, 22, 0.9);
}

#logs-column-content .feed-summary-card[data-tone="warn"] {
  border-color: rgba(243, 201, 105, 0.44);
}

#logs-column-content .feed-summary-card[data-tone="error"] {
  border-color: rgba(229, 118, 106, 0.48);
  background:
    linear-gradient(180deg, rgba(229, 118, 106, 0.08), transparent 58%),
    rgba(20, 11, 11, 0.9);
}

#logs-column-content .feed-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: none;
  gap: 3px;
}

#logs-column-content .feed-summary-metric {
  min-width: 0;
  min-height: 30px;
  padding: 4px 5px;
  align-content: center;
  gap: 1px;
  border-color: rgba(61, 72, 86, 0.7);
  border-radius: 4px;
  background: rgba(13, 19, 26, 0.68);
}

#logs-column-content .feed-summary-metric[data-feed-metric="feed"],
#logs-column-content .feed-summary-metric[data-feed-metric="last"] {
  border-color: rgba(96, 165, 250, 0.34);
}

#logs-column-content .feed-summary-metric[data-feed-metric="decision"],
#logs-column-content .feed-summary-metric[data-feed-metric="blocker"] {
  border-color: rgba(125, 211, 167, 0.3);
}

#logs-column-content .feed-summary-metric[data-feed-metric="target"],
#logs-column-content .feed-summary-metric[data-feed-metric="matches"] {
  border-color: rgba(243, 201, 105, 0.32);
}

#logs-column-content .feed-summary-metric span {
  color: #95a4b7;
  font-size: 8px;
  font-weight: var(--weight-strong);
  letter-spacing: 0;
  line-height: 1;
}

#logs-column-content .feed-summary-metric strong {
  color: #e8edf2;
  font-size: 11px;
  font-weight: var(--weight-strong);
  line-height: 1.08;
}

#logs-column-content .event-feed {
  min-width: 0;
  min-height: 0;
  padding: 0 2px 1px 0;
  display: grid;
  grid-auto-rows: minmax(42px, max-content);
  gap: 4px;
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#logs-column-content .feed-row {
  --feed-tone-rgb: 148, 163, 184;
  min-width: 0;
  min-height: 0;
  padding: 4px;
  display: grid;
  grid-template-columns: 4px minmax(0, 1fr);
  gap: 5px;
  border-color: rgba(var(--feed-tone-rgb), 0.26);
  border-radius: 4px;
  background: rgba(11, 16, 22, 0.72);
  box-shadow: none;
}

#logs-column-content .feed-row.latest {
  border-color: rgba(var(--feed-tone-rgb), 0.5);
  background: rgba(13, 20, 28, 0.82);
}

#logs-column-content .feed-row[data-tone="alert"] {
  --feed-tone-rgb: 229, 118, 106;
}

#logs-column-content .feed-row[data-tone="route"] {
  --feed-tone-rgb: 243, 201, 105;
}

#logs-column-content .feed-row[data-tone="file"] {
  --feed-tone-rgb: 191, 173, 140;
}

#logs-column-content .feed-row[data-tone="live"] {
  --feed-tone-rgb: 125, 211, 167;
}

#logs-column-content .feed-row[data-tone="ready"] {
  --feed-tone-rgb: 96, 165, 250;
}

#logs-column-content .feed-row-rail {
  width: 4px;
  min-height: 100%;
  border-radius: 3px;
  background: rgb(var(--feed-tone-rgb));
  box-shadow: 0 0 12px rgba(var(--feed-tone-rgb), 0.22);
}

#logs-column-content .feed-row-main {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 4px;
}

#logs-column-content .feed-row-head {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 4px;
}

#logs-column-content .feed-row time {
  color: #9eabb9;
  font-size: 9px;
  line-height: 1;
}

#logs-column-content .feed-row-badge {
  min-width: 0;
  min-height: 15px;
  max-width: 100%;
  padding: 0 5px;
  border-color: rgba(var(--feed-tone-rgb), 0.42);
  border-radius: 3px;
  background: rgba(var(--feed-tone-rgb), 0.11);
  color: #edf2f7;
  font-size: 8px;
  font-weight: var(--weight-strong);
  letter-spacing: 0;
  line-height: 1;
}

#logs-column-content .feed-row strong {
  color: #e8edf2;
  font-size: 10px;
  font-weight: var(--weight-strong);
  line-height: 1.2;
  -webkit-line-clamp: 2;
}

#logs-column-content .feed-empty-state {
  min-height: 104px;
  padding: 10px;
  border-color: rgba(70, 82, 96, 0.82);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 56%),
    rgba(10, 14, 19, 0.92);
}

#logs-column-content .feed-empty-state strong {
  color: #edf2f7;
  font-size: 12px;
}

#logs-column-content .feed-empty-state span {
  color: #a9b4c0;
  font-size: 10px;
}

/* Native drag rails for the frameless main BrowserWindow. */
.main-window-drag-rails {
  position: absolute;
  inset: 0;
  z-index: 90;
  pointer-events: none;
}

.main-window-drag-rail {
  position: absolute;
  pointer-events: auto;
  cursor: move;
  -webkit-app-region: drag;
}

.main-window-drag-rail-top {
  top: 0;
  left: 8px;
  right: 8px;
  height: 8px;
}

.main-window-drag-rail-right {
  top: 8px;
  right: 0;
  bottom: 8px;
  width: 8px;
}

.main-window-drag-rail-bottom {
  left: 8px;
  right: 8px;
  bottom: 0;
  height: 8px;
}

.main-window-drag-rail-left {
  top: 8px;
  bottom: 8px;
  left: 0;
  width: 8px;
}

/* Shared close/save action lock: color must change on hover after all modal and route overrides. */
:root {
  --close-action-border: #d65345;
  --close-action-border-hover: #f06d5c;
  --close-action-bg: #2e1516;
  --close-action-bg-hover: #421f20;
  --close-action-bg-pressed: #230f10;
  --close-action-text: #ffe8e3;
  --save-action-border: #72bf4f;
  --save-action-border-hover: #94df6b;
  --save-action-bg: #173018;
  --save-action-bg-hover: #214821;
  --save-action-bg-pressed: #112611;
  --save-action-text: #f4ffe8;
}

button:is(.modal-close-button, [data-close-modal]),
button#window-close.header-action-close-client {
  transition: border-color 140ms ease, background 140ms ease, background-color 140ms ease, color 140ms ease;
}

.modal-panel .modal-actions button:is(.modal-close-button, [data-close-modal]) {
  border-color: #d65345 !important;
  background: #2e1516 !important;
  background-color: #2e1516 !important;
  color: #ffe8e3 !important;
}

.modal-panel .modal-actions button:is(.modal-close-button, [data-close-modal]):hover:not(:disabled) {
  border-color: #f06d5c !important;
  background: #421f20 !important;
  background-color: #421f20 !important;
  color: #fff3ef !important;
}

.modal-panel .modal-actions button:is(.modal-close-button, [data-close-modal]):active:not(:disabled),
.modal-panel .modal-actions button:is(.modal-close-button, [data-close-modal])[data-pressed="true"]:not(:disabled) {
  background: #230f10 !important;
  background-color: #230f10 !important;
}

button#window-close.header-action-close-client {
  border-color: #d65345;
  background: #2e1516;
  background-color: #2e1516;
  color: #ffe8e3;
}

#quick-save-session-settings[data-feedback="success"] {
  border-color: var(--save-action-border) !important;
  background: var(--save-action-bg) !important;
  background-color: var(--save-action-bg) !important;
  color: var(--save-action-text) !important;
}

#quick-save-session-settings[data-feedback="success"]:hover:not(:disabled) {
  border-color: var(--save-action-border-hover) !important;
  background: var(--save-action-bg-hover) !important;
  background-color: var(--save-action-bg-hover) !important;
}

button#window-close.header-action-close-client:hover:not(:disabled) {
  border-color: #f06d5c;
  background: #421f20;
  background-color: #421f20;
  color: #fff3ef;
}

.app:not([data-view-mode="compact"]) .desk-actions>#window-close.header-action-close-client:hover:not(:disabled) {
  border-color: var(--desk-action-border-hover);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent 46%),
    linear-gradient(180deg, var(--desk-action-top-hover), var(--desk-action-bottom-hover));
}

button:is(
  #save-targeting,
  #save-autowalk,
  #save-account,
  #save-tile-rule,
  #route-quick-save-button,
  #monster-archive-targets,
  .modal-save-button,
  [data-save-modules],
  [data-team-outfit-select-current],
  [data-team-outfit-apply-member],
  [data-team-outfit-apply-all]
) {
  transition: border-color 140ms ease, background 140ms ease, background-color 140ms ease, color 140ms ease;
}

button:is(
  #save-targeting,
  #save-autowalk,
  #save-account,
  #save-tile-rule,
  #route-quick-save-button,
  #monster-archive-targets,
  .modal-save-button,
  [data-save-modules],
  [data-team-outfit-select-current],
  [data-team-outfit-apply-member],
  [data-team-outfit-apply-all]
),
.route-overview-card .route-control-save {
  border-color: #72bf4f !important;
  background: #173018 !important;
  background-color: #173018 !important;
  color: #f4ffe8 !important;
}

button:is(
  #save-targeting,
  #save-autowalk,
  #save-account,
  #save-tile-rule,
  #route-quick-save-button,
  #monster-archive-targets,
  .modal-save-button,
  [data-save-modules],
  [data-team-outfit-select-current],
  [data-team-outfit-apply-member],
  [data-team-outfit-apply-all]
):hover:not(:disabled),
.route-overview-card .route-control-save:hover:not(:disabled) {
  border-color: #94df6b !important;
  background: #214821 !important;
  background-color: #214821 !important;
  color: #fbfff4 !important;
}

button:is(
  #save-targeting,
  #save-autowalk,
  #save-account,
  #save-tile-rule,
  #route-quick-save-button,
  #monster-archive-targets,
  .modal-save-button,
  [data-save-modules],
  [data-team-outfit-select-current],
  [data-team-outfit-apply-member],
  [data-team-outfit-apply-all]
):active:not(:disabled),
button:is(
  #save-targeting,
  #save-autowalk,
  #save-account,
  #save-tile-rule,
  #route-quick-save-button,
  #monster-archive-targets,
  .modal-save-button,
  [data-save-modules],
  [data-team-outfit-select-current],
  [data-team-outfit-apply-member],
  [data-team-outfit-apply-all]
)[data-pressed="true"]:not(:disabled),
.route-overview-card .route-control-save:active:not(:disabled),
.route-overview-card .route-control-save[data-pressed="true"]:not(:disabled) {
  background: #112611 !important;
  background-color: #112611 !important;
}

/* Team Hunt final compact header: two tight rows, no horizontal scroll. */
#modal-module[data-active-module-key="team"] .team-hunt-top-row {
  --team-hunt-control-height: 22px;
  --team-hunt-number-width: 58px;
  --modal-stepper-height: var(--team-hunt-control-height);
  --modal-stepper-width: var(--team-hunt-number-width);
  --modal-stepper-chevron-width: 12px;
  --modal-stepper-chevron-gap: 1px;
  --modal-stepper-chevron-inset: 2px;
  --modal-stepper-chevron-zone: var(--modal-stepper-chevron-width);
  --modal-stepper-chevron-padding: 18px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  justify-content: stretch;
  overflow: visible;
}

#modal-module[data-active-module-key="team"] .team-hunt-control-panel {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-grid {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-flow: row;
  gap: 4px;
  align-items: stretch;
  overflow-x: hidden;
  overflow-y: hidden;
  overscroll-behavior-x: auto;
  scrollbar-gutter: auto;
}

#modal-module[data-active-module-key="team"] .team-hunt-route-panel {
  grid-column: span 3;
}

#modal-module[data-active-module-key="team"] .team-hunt-hunt-panel {
  grid-column: span 4;
}

#modal-module[data-active-module-key="team"] .team-hunt-sync-panel,
#modal-module[data-active-module-key="team"] .team-hunt-healer-panel {
  grid-column: span 5;
}

#modal-module[data-active-module-key="team"] .team-hunt-spacing-panel {
  grid-column: span 4;
}

#modal-module[data-active-module-key="team"] .team-hunt-challenge-panel {
  grid-column: span 4;
}

#modal-module[data-active-module-key="team"] .team-hunt-sio-panel {
  grid-column: span 7;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-panel {
  position: relative;
  min-width: 0;
  width: 100%;
  height: auto;
  min-height: 48px;
  max-height: none;
  padding: 12px 5px 4px;
  display: grid;
  align-content: end;
  align-items: end;
  border: 1px solid rgba(57, 64, 73, 0.92);
  border-radius: 5px;
  background: #0d1117;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  overflow: hidden;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-label {
  position: absolute;
  top: 3px;
  left: 6px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  pointer-events: none;
}

#modal-module[data-active-module-key="team"] .team-hunt-header-controls,
#modal-module[data-active-module-key="team"] .team-hunt-control-strip,
#modal-module[data-active-module-key="team"] .team-sio-grid,
#modal-module[data-active-module-key="team"] .team-hunt-settings-strip.follow-train-settings-strip {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  display: grid;
  gap: 3px;
  align-items: end;
  align-content: end;
  justify-content: stretch;
}

#modal-module[data-active-module-key="team"] .team-hunt-policy-strip {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) var(--team-hunt-number-width);
}

#modal-module[data-active-module-key="team"] .team-hunt-sync-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#modal-module[data-active-module-key="team"] .team-hunt-settings-strip {
  grid-template-columns:
    minmax(0, 0.65fr) minmax(78px, 1.1fr) minmax(0, 0.72fr)
    minmax(0, 0.65fr) minmax(0, 0.98fr);
}

#modal-module[data-active-module-key="team"] .team-hunt-challenge-strip {
  grid-template-columns:
    minmax(46px, 0.72fr) minmax(62px, 1fr) repeat(4, minmax(42px, 0.62fr));
}

#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

#modal-module[data-active-module-key="team"] .team-hunt-sync-strip>.team-sio-panel {
  display: grid;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .field-note {
  display: none;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control {
  min-width: 0;
  width: 100%;
  max-width: none;
  min-height: 0;
  gap: 1px;
  align-self: end;
  justify-self: stretch;
  font-size: 9px;
  line-height: 1;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control:not(.module-rule-check) {
  display: grid;
  grid-template-rows: 9px var(--team-hunt-control-height);
  align-content: end;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-control>span,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check>span {
  min-width: 0;
  min-height: 9px;
  max-width: 100%;
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  font-weight: 750;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check>span {
  min-height: 0;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row :is(input:not([type="checkbox"]), select) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: var(--team-hunt-control-height);
  min-height: var(--team-hunt-control-height);
  max-height: var(--team-hunt-control-height);
  padding-top: 2px;
  padding-bottom: 2px;
  font-size: 9px;
  line-height: 1.05;
}

#modal-module[data-active-module-key="team"] .team-hunt-route-field {
  width: 100%;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check,
#modal-module[data-active-module-key="team"] .follow-train-route-kite-toggle {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: var(--team-hunt-control-height) !important;
  height: var(--team-hunt-control-height) !important;
  max-height: var(--team-hunt-control-height) !important;
  padding: 2px 4px !important;
  display: grid !important;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 4px !important;
  overflow: hidden !important;
}

#modal-module[data-active-module-key="team"] .team-hunt-top-row .module-rule-check>input[type="checkbox"],
#modal-module[data-active-module-key="team"] .follow-train-route-kite-toggle>input[type="checkbox"] {
  justify-self: start !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper.modal-number-stepper,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper.modal-number-stepper {
  position: relative !important;
  display: inline-grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: var(--team-hunt-number-width) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--team-hunt-control-height) !important;
  min-height: var(--team-hunt-control-height) !important;
  max-height: var(--team-hunt-control-height) !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-input.modal-number-stepper-input,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-input.modal-number-stepper-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--team-hunt-control-height) !important;
  min-height: var(--team-hunt-control-height) !important;
  max-height: var(--team-hunt-control-height) !important;
  padding-right: var(--modal-stepper-chevron-padding) !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-buttons.modal-number-stepper-buttons {
  position: absolute !important;
  top: var(--modal-stepper-chevron-inset) !important;
  right: var(--modal-stepper-chevron-inset) !important;
  bottom: var(--modal-stepper-chevron-inset) !important;
  left: auto !important;
  width: var(--modal-stepper-chevron-width) !important;
  min-width: var(--modal-stepper-chevron-width) !important;
  max-width: var(--modal-stepper-chevron-width) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--modal-stepper-chevron-gap) !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-button.modal-number-stepper-button,
#modal-module[data-active-module-key="team"] .team-hunt-top-row .modal-number-stepper-button.modal-number-stepper-button {
  width: var(--modal-stepper-chevron-width) !important;
  min-width: var(--modal-stepper-chevron-width) !important;
  max-width: var(--modal-stepper-chevron-width) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
}

@media (max-width: 1100px) {
  #modal-module[data-active-module-key="team"] .team-hunt-header-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  #modal-module[data-active-module-key="team"] .team-hunt-route-panel {
    grid-column: span 2;
  }

  #modal-module[data-active-module-key="team"] .team-hunt-hunt-panel {
    grid-column: span 4;
  }

  #modal-module[data-active-module-key="team"] .team-hunt-sync-panel,
  #modal-module[data-active-module-key="team"] .team-hunt-healer-panel,
  #modal-module[data-active-module-key="team"] .team-hunt-spacing-panel,
  #modal-module[data-active-module-key="team"] .team-hunt-challenge-panel {
    grid-column: span 3;
  }

  #modal-module[data-active-module-key="team"] .team-hunt-sio-panel {
    grid-column: span 3;
  }
}

@media (max-width: 760px) {
  #modal-module[data-active-module-key="team"] .team-hunt-header-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="team"] :is(.team-hunt-route-panel,
    .team-hunt-hunt-panel,
    .team-hunt-sync-panel,
    .team-hunt-healer-panel,
    .team-hunt-spacing-panel,
    .team-hunt-challenge-panel,
    .team-hunt-sio-panel) {
    grid-column: 1;
  }

  #modal-module[data-active-module-key="team"] .team-hunt-settings-strip,
  #modal-module[data-active-module-key="team"] .team-hunt-challenge-strip,
  #modal-module[data-active-module-key="team"] .team-sio-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 92px), 1fr));
  }
}

/* Lightweight UX system: one quiet visual layer across desk, compact, and modals. */
:root {
  --ux-surface-base: #070a0d;
  --ux-surface-panel: #0b1015;
  --ux-surface-card: #0f151b;
  --ux-surface-card-hover: #121921;
  --ux-control: #151b22;
  --ux-control-hover: #1a222b;
  --ux-border: rgba(58, 66, 76, 0.9);
  --ux-border-soft: rgba(42, 49, 57, 0.92);
  --ux-border-strong: rgba(109, 120, 134, 0.82);
  --ux-text: #e8eaed;
  --ux-muted: #a4abb4;
  --ux-accent: #d8bf72;
  --ux-state-on: #7fc46a;
  --ux-state-off: #5f7688;
  --ux-state-info: #78b8d9;
  --ux-state-warn: #d8a85f;
  --ux-state-danger: #d36d62;
  --ux-radius-sm: 3px;
  --ux-radius-md: 4px;
  --ux-focus: 0 0 0 1px #050607, 0 0 0 3px rgba(216, 191, 114, 0.28);
  --ux-transition: 100ms ease;
}

html {
  color-scheme: dark;
}

::selection {
  background: rgba(216, 191, 114, 0.28);
  color: #ffffff;
}

:is(.app, .modal-panel) {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 18%),
    var(--ux-surface-base);
  color: var(--ux-text);
  text-shadow: none;
}

:is(.bot-strip,
  .panel-card,
  .module-card,
  .sub-card,
  .modal-panel,
  .compact-hero,
  .compact-board,
  .route-live-preview-shell,
  .feed-card) {
  border-color: var(--ux-border);
  border-radius: var(--ux-radius-md);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 56%),
    var(--ux-surface-panel);
  box-shadow: none;
}

:is(.quick-module-card,
  .route-toggle-card,
  .compact-split-card,
  .summary-cell,
  .desk-metric,
  .feed-summary-card,
  .feed-row,
  .waypoint-chip,
  .waypoint-row,
  .route-track-tile,
  .target-set-card,
  .target-source-column,
  .route-library-meta,
  .route-type-help) {
  border-color: var(--ux-border-soft);
  border-radius: var(--ux-radius-sm);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 54%),
    var(--ux-surface-card);
  box-shadow: none;
  transition:
    border-color var(--ux-transition),
    background var(--ux-transition),
    color var(--ux-transition),
    opacity var(--ux-transition),
    transform var(--ux-transition);
}

:is(.quick-module-card,
  .route-toggle-card,
  .compact-split-card):hover,
:is(.quick-module-card,
  .route-toggle-card,
  .compact-split-card):focus-within {
  border-color: var(--ux-border-strong);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 54%),
    var(--ux-surface-card-hover);
  box-shadow: none;
  transform: none;
}

:is(.quick-module-card,
  .route-toggle-card,
  .compact-split-card)::before {
  content: "";
  position: absolute;
  inset: 2px auto 2px 2px;
  width: 2px;
  border-radius: 2px;
  background: transparent;
  pointer-events: none;
}

:is(.quick-module-card[data-state="off"],
  .route-toggle-card[data-state="off"],
  .compact-split-card[data-state="off"]) {
  border-color: rgba(89, 105, 121, 0.5);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.014), transparent 54%),
    rgba(10, 15, 20, 0.96);
}

:is(.quick-module-card[data-state="off"],
  .route-toggle-card[data-state="off"],
  .compact-split-card[data-state="off"])::before {
  background: var(--ux-state-off);
}

:is(.quick-module-card[data-state="on"],
  .quick-module-card[data-state="all"],
  .quick-module-card[data-state="current"],
  .quick-module-card[data-state="returning"],
  .route-toggle-card[data-state="on"],
  .compact-split-card[data-state="on"],
  .compact-split-card[data-state="all"],
  .compact-split-card[data-state="current"],
  .compact-split-card[data-state="returning"]) {
  border-color: rgba(127, 196, 106, 0.56);
  background:
    linear-gradient(180deg, rgba(127, 196, 106, 0.05), transparent 56%),
    rgba(14, 22, 16, 0.98);
}

:is(.quick-module-card[data-state="on"],
  .quick-module-card[data-state="all"],
  .quick-module-card[data-state="current"],
  .quick-module-card[data-state="returning"],
  .route-toggle-card[data-state="on"],
  .compact-split-card[data-state="on"],
  .compact-split-card[data-state="all"],
  .compact-split-card[data-state="current"],
  .compact-split-card[data-state="returning"])::before {
  background: var(--ux-state-on);
}

:is(.quick-module-card[data-state="inherited"],
  .compact-split-card[data-state="inherited"],
  .quick-module-card[data-state="hidden-owner"],
  .compact-split-card[data-state="hidden-owner"])::before {
  background: var(--ux-state-info);
}

:is(.quick-module-card[data-state="blocked"],
  .route-toggle-card[data-state="blocked"],
  .compact-split-card[data-state="blocked"])::before {
  background: var(--ux-state-warn);
}

:is(.quick-module-card[data-state="snoozed"],
  .compact-split-card[data-state="snoozed"]) {
  border-color: rgba(110, 199, 230, 0.5);
  background:
    linear-gradient(180deg, rgba(110, 199, 230, 0.055), transparent 56%),
    rgba(12, 22, 27, 0.98);
}

:is(.quick-module-card[data-state="snoozed"],
  .compact-split-card[data-state="snoozed"])::before {
  background: #6ec7e6;
}

.quick-module-card-master-stop::before,
.quick-module-card-master-stop[data-state="on"]::before {
  background: var(--ux-state-danger);
}

:is(.btn,
  .compact-command-button,
  .route-live-mini-btn,
  .waypoint-mark-btn) {
  border-radius: var(--ux-radius-sm);
  border-color: var(--ux-border);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 52%),
    var(--ux-control);
  color: var(--ux-text);
  box-shadow: none;
  text-shadow: none;
  transform: none;
  transition:
    border-color var(--ux-transition),
    background var(--ux-transition),
    color var(--ux-transition),
    opacity var(--ux-transition);
}

:is(.btn,
  .compact-command-button,
  .route-live-mini-btn,
  .waypoint-mark-btn):hover:not(:disabled) {
  border-color: var(--ux-border-strong);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.034), transparent 52%),
    var(--ux-control-hover);
  box-shadow: none;
  transform: none;
}

:is(.btn,
  .compact-command-button,
  .route-live-mini-btn,
  .waypoint-mark-btn):active:not(:disabled),
:is(.btn,
  .compact-command-button,
  .route-live-mini-btn,
  .waypoint-mark-btn)[data-pressed="true"]:not(:disabled) {
  border-color: rgba(216, 191, 114, 0.74);
  box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.08);
  transform: none;
}

:is(button,
  input,
  select,
  textarea,
  [role="button"],
  [role="tab"]):focus-visible {
  outline: none;
  box-shadow: var(--ux-focus);
}

:is(input:not([type="checkbox"]),
  select,
  textarea) {
  border-color: var(--ux-border);
  border-radius: var(--ux-radius-sm);
  background: #0d1319;
  color: var(--ux-text);
  box-shadow: none;
}

:is(input:not([type="checkbox"]),
  select,
  textarea):focus {
  border-color: rgba(216, 191, 114, 0.72);
  box-shadow: var(--ux-focus);
}

:is(.section-meta,
  .desk-tag,
  .desk-metric span,
  .feed-summary-metric span,
  .feed-row-badge,
  .compact-hero-tag,
  .bot-tab-state,
  .bot-tab-metric,
  .card-link-hint) {
  color: var(--ux-muted);
}

.modal-layer:not([hidden]) .modal-backdrop {
  background: transparent;
  backdrop-filter: none;
}

* {
  scrollbar-width: thin;
  scrollbar-color: rgba(109, 120, 134, 0.6) rgba(5, 7, 10, 0.2);
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(5, 7, 10, 0.2);
}

::-webkit-scrollbar-thumb {
  border: 2px solid rgba(5, 7, 10, 0.2);
  border-radius: 8px;
  background: rgba(109, 120, 134, 0.68);
}

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

/* Responsive interaction optimizer: keep boot, modal open, and modal close paints cheap. */
body.ui-booting *,
body.ui-booting *::before,
body.ui-booting *::after {
  animation-duration: 1ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 1ms !important;
}

body.ui-ready .window-frame,
body.ui-ready .app,
#modal-layer[data-optimized="true"] {
  contain: layout paint style;
}

#modal-layer[data-optimized="true"] {
  content-visibility: auto;
  contain-intrinsic-size: 760px 620px;
}

#modal-layer[data-optimized="true"]>.modal-panel {
  contain: layout paint style;
  backface-visibility: hidden;
}

#modal-layer[data-optimized="true"]>.modal-panel:not(.open) {
  content-visibility: hidden;
  contain-intrinsic-size: 1px 1px;
}

body.modal-interaction-active #modal-layer:not([hidden]) {
  will-change: opacity;
  transform: translateZ(0);
}

body.modal-interaction-active #modal-layer>.modal-panel.open:not(.modal-panel-dragged) {
  will-change: opacity, transform;
  transform: translateZ(0);
}

#modal-layer[data-ui-interaction="opening"]>.modal-panel[data-modal-interaction="opening"].open:not(.modal-panel-dragged) {
  animation: modal-panel-fast-enter 110ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

#modal-layer[data-ui-interaction="closing"]>.modal-panel[data-modal-interaction="closing"]:not(.modal-panel-dragged) {
  animation: modal-panel-fast-exit 80ms ease both;
}

#modal-layer[data-ui-interaction="opening"] .modal-backdrop,
#modal-layer[data-ui-interaction="closing"] .modal-backdrop {
  animation-duration: 90ms;
}

body.modal-interaction-active :is(.quick-module-card,
  .route-toggle-card,
  .compact-split-card,
  .btn,
  input,
  select,
  textarea) {
  transition-duration: 80ms;
}

@keyframes modal-panel-fast-enter {
  from {
    opacity: 0.82;
    transform: translate3d(0, 5px, 0) scale(0.992);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes modal-panel-fast-exit {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }

  to {
    opacity: 0.86;
    transform: translate3d(0, 3px, 0) scale(0.996);
  }
}

@media (prefers-reduced-motion: reduce) {
  #modal-layer[data-ui-interaction]>.modal-panel[data-modal-interaction] {
    animation: none !important;
  }
}

/* Modal UX cleanup pass: launcher order, flat Mana Trainer support, and single-row rule inputs. */
#modal-layer>#modal-route-launcher.modal-panel-route-launcher {
  width: min(760px, calc(100vw - 16px)) !important;
  max-width: min(760px, calc(100vw - 16px)) !important;
  height: auto !important;
  max-height: calc(100dvh - 16px) !important;
  align-self: center !important;
  justify-self: center !important;
}

#modal-route-launcher .route-launcher-grid {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) minmax(132px, 176px) minmax(104px, max-content) minmax(104px, max-content) !important;
  grid-template-areas:
    "route mode start walk" !important;
  gap: 6px !important;
  align-items: end !important;
}

#modal-route-launcher .route-launch-mode-field {
  grid-area: mode !important;
  width: 100% !important;
}

#modal-route-launcher .route-launch-route-field {
  grid-area: route !important;
}

#modal-route-launcher .route-launch-start-field {
  grid-area: start !important;
}

#modal-route-launcher .route-launch-walk-field {
  grid-area: walk !important;
}

#modal-route-launcher .route-launch-main-field,
#modal-route-launcher .route-launch-toggle-field {
  min-width: 0 !important;
  width: 100% !important;
}

#modal-route-launcher .route-launch-toggle-field {
  min-height: 26px !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  justify-items: stretch !important;
}

#modal-route-launcher .route-launch-team-panel {
  border-color: var(--ux-border-soft);
  border-radius: var(--ux-radius-md);
  background: rgba(255, 255, 255, 0.018);
}

/* Final route launcher polish: launch controls left, character toggles right. */
#modal-layer>#modal-route-launcher.modal-panel-route-launcher {
  width: min(1120px, calc(100vw - 16px)) !important;
  max-width: min(1120px, calc(100vw - 16px)) !important;
  height: auto !important;
  max-height: calc(100dvh - 16px) !important;
}

#modal-layer>#modal-route-launcher>.modal-body-route-launcher {
  display: grid !important;
  grid-template-columns: minmax(560px, 1fr) minmax(360px, 0.72fr) !important;
  grid-template-areas:
    "summary summary"
    "controls characters" !important;
  gap: 8px !important;
  align-items: start !important;
  overflow: hidden !important;
}

#modal-layer>#modal-route-launcher #route-launch-meta {
  grid-area: summary !important;
}

#modal-layer>#modal-route-launcher .route-launcher-grid {
  grid-area: controls !important;
  display: grid !important;
  grid-template-columns: minmax(230px, 1.35fr) minmax(136px, 0.82fr) minmax(82px, max-content) minmax(82px, max-content) !important;
  grid-template-areas: "route mode start walk" !important;
  gap: 6px !important;
  align-items: end !important;
  justify-content: stretch !important;
}

#modal-layer>#modal-route-launcher .route-launch-main-field,
#modal-layer>#modal-route-launcher .route-launch-mode-field,
#modal-layer>#modal-route-launcher .route-launch-toggle-field {
  min-width: 0 !important;
  width: 100% !important;
}

#modal-layer>#modal-route-launcher .route-launch-main-field {
  grid-area: route !important;
}

#modal-layer>#modal-route-launcher .route-launch-mode-field {
  grid-area: mode !important;
}

#modal-layer>#modal-route-launcher .route-launch-start-field {
  grid-area: start !important;
}

#modal-layer>#modal-route-launcher .route-launch-walk-field {
  grid-area: walk !important;
}

#modal-layer>#modal-route-launcher .route-launch-toggle-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 5px !important;
  align-items: center !important;
  justify-items: stretch !important;
  min-height: 22px !important;
}

#modal-layer>#modal-route-launcher .route-launch-toggle-field span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-toggle-field input {
  justify-self: end !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel {
  grid-area: characters !important;
  align-self: stretch !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  max-height: min(54dvh, 360px) !important;
  overflow: hidden !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-list {
  max-height: none !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 3px !important;
  overflow: auto !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row {
  min-height: 27px !important;
  grid-template-columns: var(--toggle-width) minmax(62px, 1fr) minmax(42px, 0.45fr) minmax(64px, 0.72fr) !important;
  gap: 4px !important;
  padding: 3px 5px !important;
  font-size: 10px !important;
}

#modal-layer>#modal-route-launcher .route-launch-character-name,
#modal-layer>#modal-route-launcher .route-launch-character-count,
#modal-layer>#modal-route-launcher .route-launch-character-cavebot {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-character-count,
#modal-layer>#modal-route-launcher .route-launch-character-cavebot {
  font-size: 9px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-route-launcher .route-launch-character-count {
  color: var(--text) !important;
}

#modal-layer>#modal-route-launcher .route-launch-sync-button {
  min-width: 68px !important;
  border-radius: 4px !important;
  border-color: rgba(121, 220, 255, 0.62) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 44%),
    linear-gradient(180deg, rgba(25, 116, 158, 0.96), rgba(15, 59, 82, 0.98)) !important;
  color: #e9fbff !important;
}

#modal-layer>#modal-route-launcher .route-launch-sync-button:hover:not(:disabled) {
  border-color: rgba(166, 234, 255, 0.8) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.11), transparent 44%),
    linear-gradient(180deg, rgba(38, 136, 182, 0.98), rgba(18, 75, 103, 0.99)) !important;
}

#modal-layer>#modal-route-launcher .route-launch-sync-button:active:not(:disabled),
#modal-layer>#modal-route-launcher .route-launch-sync-button[data-pressed="true"]:not(:disabled) {
  border-color: rgba(166, 234, 255, 0.9) !important;
  background:
    linear-gradient(180deg, rgba(18, 75, 103, 0.99), rgba(18, 75, 103, 0.99)) !important;
}

@media (max-width: 980px) {
  #modal-layer>#modal-route-launcher>.modal-body-route-launcher {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "summary"
      "controls"
      "characters" !important;
    overflow: auto !important;
  }

  #modal-layer>#modal-route-launcher .route-launch-team-panel {
    max-height: min(48dvh, 320px) !important;
  }
}

@media (max-width: 560px) {
  #modal-layer>#modal-route-launcher>.modal-body-route-launcher {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "summary"
      "controls"
      "characters" !important;
    overflow: auto !important;
  }

  #modal-layer>#modal-route-launcher .route-launcher-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "route"
      "mode"
      "start"
      "walk" !important;
  }

  #modal-layer>#modal-route-launcher .route-launch-team-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Terminal route modal UX pass: compact header, single status panel, full-width square grid. */
#modal-layer>#modal-autowalk.route-modal-panel {
  --route-modal-gap: 6px;
  --route-modal-control-height: 26px;
  --route-modal-panel-bg: #080d12;
  --route-modal-panel-border: rgba(76, 88, 102, 0.64);
  width: min(1320px, calc(100vw - 14px)) !important;
  max-width: min(1320px, calc(100vw - 14px)) !important;
  height: min(630px, calc(100dvh - 14px)) !important;
  max-height: calc(100dvh - 14px) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: var(--route-modal-gap) !important;
  padding: 6px !important;
  border-radius: 8px !important;
  background: #090b0d !important;
}

#modal-autowalk .route-modal-head {
  min-height: 0 !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
}

#modal-autowalk .route-toolbar-row,
#modal-autowalk .route-modal-head-grid {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(156px, 1.05fr) minmax(250px, 1.55fr) minmax(230px, 1.5fr) 78px !important;
  align-items: center !important;
  gap: 5px !important;
}

#modal-autowalk .route-head-field-library,
#modal-autowalk .route-head-field-name,
#modal-autowalk .route-library-select-wrap,
#modal-autowalk .route-name-input-wrap {
  min-width: 0 !important;
  width: 100% !important;
}

#modal-autowalk .route-library-select-wrap,
#modal-autowalk .route-name-input-wrap {
  position: relative !important;
  display: grid !important;
}

#modal-autowalk .route-library-select-wrap select,
#modal-autowalk .route-name-input-wrap input {
  width: 100% !important;
  min-width: 0 !important;
  height: var(--route-modal-control-height) !important;
  min-height: var(--route-modal-control-height) !important;
  max-height: var(--route-modal-control-height) !important;
  padding-block: 0 !important;
  border-radius: 5px !important;
  border: 1px solid rgba(92, 105, 120, 0.68) !important;
  background: rgba(9, 13, 17, 0.96) !important;
  box-shadow: none !important;
  color: #f1f4f6 !important;
}

#modal-autowalk .route-library-select-wrap select {
  padding-left: 8px !important;
  padding-right: 58px !important;
}

#modal-autowalk .route-name-input-wrap input {
  padding-left: 8px !important;
  padding-right: 82px !important;
}

#modal-autowalk #load-route.route-load-button,
#modal-autowalk .route-name-input-wrap .route-rename-button {
  position: absolute !important;
  top: 3px !important;
  right: 3px !important;
  bottom: 3px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 7px !important;
  border-radius: 4px !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

#modal-autowalk #load-route.route-load-button {
  width: 49px !important;
}

#modal-autowalk .route-name-input-wrap .route-rename-button {
  width: 72px !important;
}

#modal-autowalk #new-blank-route {
  width: 78px !important;
  min-width: 78px !important;
  height: var(--route-modal-control-height) !important;
  min-height: var(--route-modal-control-height) !important;
  padding-inline: 7px !important;
  font-size: 9px !important;
}

#modal-autowalk .route-file-info-block {
  min-width: 0 !important;
  width: 100% !important;
  height: var(--route-modal-control-height) !important;
  min-height: var(--route-modal-control-height) !important;
  max-height: var(--route-modal-control-height) !important;
  padding: 3px 7px !important;
  display: grid !important;
  grid-template-columns: minmax(76px, max-content) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 7px !important;
  border: 1px solid var(--route-modal-panel-border) !important;
  border-radius: 5px !important;
  background: rgba(10, 15, 20, 0.94) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#modal-autowalk .route-file-info-block strong,
#modal-autowalk .route-file-info-block span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
  line-height: 1.08 !important;
}

#modal-autowalk .route-file-info-block strong {
  color: #cfeab6 !important;
  font-size: 9px !important;
  font-weight: 850 !important;
}

#modal-autowalk .route-file-info-block strong[data-state="draft"],
#modal-autowalk .route-file-info-block strong[data-state="pending"] {
  color: #e8c89f !important;
}

#modal-autowalk .route-file-info-block span {
  color: rgba(223, 229, 235, 0.82) !important;
  font-family: var(--mono) !important;
  font-size: 8.5px !important;
  font-weight: 650 !important;
  text-align: right !important;
}

#modal-autowalk .route-file-info-block .route-library-meta,
#modal-autowalk .route-file-info-block .route-validation-summary {
  display: none !important;
}

#modal-autowalk .route-pack-toolbar {
  display: none !important;
}

#modal-autowalk .modal-body-route,
#modal-autowalk #route-builder,
#modal-autowalk .route-builder-shell,
#modal-autowalk .route-main-layout {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}

#modal-autowalk .route-main-layout {
  display: grid !important;
  grid-template-columns: minmax(520px, 1fr) minmax(280px, 0.52fr) minmax(300px, 0.56fr) !important;
  gap: var(--route-modal-gap) !important;
}

#modal-autowalk .route-main-column,
#modal-autowalk .route-mid-column,
#modal-autowalk .route-side-column,
#modal-autowalk .route-side-scroll {
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
}

#modal-autowalk .route-main-column {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto auto !important;
  gap: var(--route-modal-gap) !important;
}

#modal-autowalk .route-main-column .route-overview-card,
#modal-autowalk .route-main-column .route-live-preview-shell,
#modal-autowalk .route-stack-card-main,
#modal-autowalk .route-danger-bar,
#modal-autowalk .route-drive-card,
#modal-autowalk .route-avoid-fields-card,
#modal-autowalk .route-hunt-launchpad-mid,
#modal-autowalk .route-editor-card {
  border: 1px solid var(--route-modal-panel-border) !important;
  border-radius: 6px !important;
  background: var(--route-modal-panel-bg) !important;
  box-shadow: none !important;
}

#modal-autowalk .route-main-column .route-overview-card {
  padding: 5px !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

#modal-autowalk .route-main-column .route-live-preview-shell {
  padding: 4px !important;
}

#modal-autowalk #route-live-preview.waypoint-preview-live,
#modal-autowalk #route-live-preview.waypoint-square-grid {
  --route-waypoint-columns: 8;
  --route-waypoint-rows: 1;
  --route-waypoint-grid-gap: 2px;
  --route-waypoint-tile-min-size: 58px;
  --route-waypoint-tile-size: calc((100% - ((var(--route-waypoint-rows) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-rows));
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 2px !important;
  display: grid !important;
  grid-template-columns: repeat(var(--route-waypoint-columns), minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(var(--route-waypoint-tile-min-size), var(--route-waypoint-tile-size)) !important;
  gap: var(--route-waypoint-grid-gap) !important;
  align-content: stretch !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  border-radius: 5px !important;
  background: #050a0e !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-autowalk #route-live-preview .route-live-waypoint.waypoint-chip {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  border-radius: 4px !important;
}

#modal-autowalk #route-live-preview .route-live-waypoint-main {
  padding: 5px 17px 18px 5px !important;
  gap: 2px !important;
}

#modal-autowalk #route-live-preview .route-live-waypoint strong {
  font-size: 10px !important;
  line-height: 1.08 !important;
}

#modal-autowalk #route-live-preview .route-live-waypoint .waypoint-chip-position,
#modal-autowalk #route-live-preview .route-live-waypoint .waypoint-chip-detail,
#modal-autowalk #route-live-preview .route-live-waypoint .waypoint-pill {
  font-size: 8px !important;
  line-height: 1.05 !important;
}

#modal-autowalk .route-tune-grid {
  grid-template-columns: 44px 48px minmax(74px, 1fr) !important;
  gap: 5px !important;
  align-items: end !important;
}

#modal-autowalk .route-tune-grid>label:has(#vocation) {
  grid-column: span 2 !important;
}

#modal-autowalk .route-tune-grid>label:has(#sustainCooldownMs) {
  grid-column: auto !important;
}

#modal-autowalk :is(label:has(#waypointRadius), label:has(#routeRecordStep), label:has(#waypoint-step-radius)) .modal-number-stepper,
#modal-autowalk :is(label:has(#waypointRadius), label:has(#routeRecordStep), label:has(#waypoint-step-radius)) .modal-number-stepper-input {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
}

#modal-autowalk label:has(#waypoint-wait-seconds) .modal-number-stepper,
#modal-autowalk label:has(#waypoint-wait-seconds) .modal-number-stepper-input {
  width: 62px !important;
  min-width: 62px !important;
  max-width: 62px !important;
}

#modal-autowalk .route-item-shared-grid {
  grid-template-columns: minmax(95px, 1fr) minmax(95px, 1fr) 54px !important;
  gap: 5px !important;
  align-items: end !important;
}

#modal-autowalk .route-coordinate-z-field,
#modal-autowalk .route-coordinate-z-field .modal-number-stepper,
#modal-autowalk .route-coordinate-z-field .modal-number-stepper-input {
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
}

#modal-autowalk .route-waypoint-grid {
  grid-template-columns: 112px 44px 62px !important;
  justify-content: start !important;
  gap: 5px !important;
  align-items: end !important;
}

#modal-autowalk .route-waypoint-grid select {
  width: 112px !important;
  max-width: 112px !important;
}

#modal-autowalk .route-hazard-row {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) 44px !important;
  align-items: center !important;
  gap: 4px !important;
}

#modal-autowalk .route-hazard-label {
  color: #d7c391 !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#modal-autowalk #route-avoid-summary-copy {
  display: none !important;
}

#modal-autowalk .route-avoid-category-grid {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  gap: 2px !important;
  align-items: center !important;
}

#modal-layer>#modal-autowalk .route-avoid-category,
#modal-autowalk .route-avoid-category,
#modal-autowalk .route-avoid-toggle {
  min-width: 0 !important;
  min-height: 22px !important;
  height: 22px !important;
  padding: 0 3px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 0 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

#modal-autowalk .route-avoid-toggle {
  width: 44px !important;
  justify-self: end !important;
}

#modal-autowalk .route-avoid-category input[type="checkbox"],
#modal-autowalk .route-avoid-toggle input[type="checkbox"],
#modal-autowalk .route-avoid-toggle-control {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
}

#modal-autowalk .route-avoid-category-copy,
#modal-autowalk .route-avoid-toggle-copy {
  width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  text-align: center !important;
}

#modal-autowalk .route-avoid-category-copy strong,
#modal-autowalk .route-avoid-toggle-copy strong {
  display: block !important;
  overflow: hidden !important;
  color: inherit !important;
  font-size: 6.5px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-autowalk .route-avoid-toggle-copy strong {
  font-size: 7px !important;
}

#modal-autowalk .route-avoid-toggle-copy small {
  display: none !important;
}

#modal-autowalk .route-side-column .route-side-scroll {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: var(--route-modal-gap) !important;
  overflow: hidden !important;
}

#modal-autowalk .route-editor-card {
  min-height: 0 !important;
  overflow: hidden !important;
}

#modal-autowalk .route-modal-actions {
  min-height: 26px !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 5px !important;
  border: 0 !important;
}

#modal-autowalk .route-modal-actions .btn {
  min-width: 64px !important;
  min-height: 23px !important;
  height: 23px !important;
  padding: 0 9px !important;
  font-size: 9px !important;
}

#modal-autowalk .btn {
  border: 1px solid rgba(82, 96, 111, 0.72) !important;
  border-radius: 4px !important;
  background: rgba(18, 24, 30, 0.9) !important;
  box-shadow: none !important;
  color: #eef2f5 !important;
  letter-spacing: 0 !important;
  transform: none !important;
}

#modal-autowalk .btn:hover:not(:disabled) {
  border-color: rgba(127, 147, 168, 0.9) !important;
  background: rgba(29, 38, 48, 0.96) !important;
  box-shadow: none !important;
  transform: none !important;
}

#modal-autowalk .btn.primary,
#modal-autowalk .btn.active {
  border-color: rgb(114, 191, 79) !important;
  background: rgba(30, 76, 28, 0.92) !important;
  color: rgb(244, 255, 232) !important;
}

#modal-autowalk .btn.primary:hover:not(:disabled),
#modal-autowalk .btn.active:hover:not(:disabled) {
  border-color: rgba(133, 212, 106, 0.92) !important;
  background: rgba(40, 94, 36, 0.96) !important;
}

#modal-autowalk .btn.danger {
  border-color: rgb(214, 83, 69) !important;
  background: rgba(86, 28, 26, 0.92) !important;
  color: rgb(255, 232, 227) !important;
}

#modal-autowalk .btn.danger:hover:not(:disabled) {
  border-color: rgba(224, 112, 95, 0.94) !important;
  background: rgba(108, 36, 32, 0.96) !important;
}

#modal-autowalk .btn:active:not(:disabled),
#modal-autowalk .btn[data-pressed="true"]:not(:disabled) {
  filter: brightness(0.92) !important;
}

#modal-autowalk #route-live-preview .route-live-mini-btn {
  border-color: #3a424b !important;
  background: #0b0f12 !important;
  color: #c9d0d8 !important;
}

#modal-autowalk #route-live-preview .route-live-mini-btn-mark {
  border-color: #4a5663 !important;
  background: #070a0e !important;
  color: transparent !important;
}

#modal-autowalk #route-live-preview .route-live-mini-btn-mark:hover:not(:disabled),
#modal-autowalk #route-live-preview .route-live-mini-btn-mark:focus-visible,
#modal-autowalk #route-live-preview .route-live-mini-btn-mark[aria-pressed="true"] {
  border-color: #d7a441 !important;
  background: #2b1d0a !important;
  color: transparent !important;
}

#modal-autowalk #route-live-preview .route-live-mini-btn-add:hover:not(:disabled),
#modal-autowalk #route-live-preview .route-live-mini-btn-add:focus-visible {
  border-color: #55c86b !important;
  background: #0f3118 !important;
  color: #e8ffe9 !important;
}

#modal-autowalk #route-live-preview .route-live-mini-btn-remove:hover:not(:disabled),
#modal-autowalk #route-live-preview .route-live-mini-btn-remove:focus-visible {
  border-color: #e05247 !important;
  background: #351314 !important;
  color: #ffe8e3 !important;
}

@media (max-width: 1120px) {
  #modal-autowalk .route-main-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    overflow-y: auto !important;
  }

  #modal-autowalk .route-toolbar-row,
  #modal-autowalk .route-modal-head-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 78px !important;
  }

  #modal-autowalk .route-file-info-block {
    grid-column: 1 / -1 !important;
    order: 4 !important;
  }

  #modal-autowalk .route-head-field-name {
    grid-column: span 2 !important;
  }
}

/* Bank Rules modal: compact dark control surface with text-only actions. */
#modal-layer>#modal-module[data-active-module-key="banking"].module-modal-compact {
  --module-compact-max: min(68dvh, calc(100dvh - 16px));
  --module-compact-body-max: calc(var(--module-compact-max) - 38px);
  width: min(760px, calc(100vw - 16px)) !important;
  max-width: min(760px, calc(100vw - 16px)) !important;
  max-height: var(--module-compact-max) !important;
  padding: 6px !important;
  gap: 6px !important;
  border-color: rgba(68, 80, 94, 0.72) !important;
  border-radius: 6px !important;
  background: #090d12 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 18px 42px rgba(0, 0, 0, 0.52) !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="banking"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0 !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .modal-module-card[data-module-panel="shared"] {
  max-height: var(--module-compact-body-max) !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] #module-rule-list {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-module-fields {
  min-width: 0 !important;
  display: grid !important;
  gap: 6px !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-modal-head {
  min-height: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-modal-head>strong {
  min-width: 0 !important;
  color: #eef3f8 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-add-rule,
#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-card .module-rule-actions .btn {
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 8px !important;
  border: 1px solid rgba(82, 96, 112, 0.82) !important;
  border-radius: 5px !important;
  background: #111821 !important;
  box-shadow: none !important;
  color: #c7d0da !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-add-rule:hover:not(:disabled),
#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-card .module-rule-actions .btn:hover:not(:disabled) {
  border-color: rgba(116, 135, 157, 0.9) !important;
  background: #151e29 !important;
  color: #eef3f8 !important;
  transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-card .module-rule-actions .btn.danger {
  border-color: rgba(190, 78, 70, 0.8) !important;
  background: #271313 !important;
  color: #f0b8b1 !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-card .module-rule-actions .btn.danger:hover:not(:disabled) {
  border-color: rgba(216, 95, 84, 0.92) !important;
  background: #351919 !important;
  color: #ffe8e3 !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-subpanel {
  min-width: 0 !important;
  padding: 6px !important;
  display: grid !important;
  gap: 5px !important;
  border: 1px solid rgba(68, 80, 94, 0.72) !important;
  border-radius: 6px !important;
  background: #0d1218 !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-control-row {
  min-width: 0 !important;
  min-height: 30px !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) max-content !important;
  gap: 8px !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-toggle {
  min-width: 0 !important;
  min-height: 22px !important;
  padding: 0 !important;
  display: inline-grid !important;
  grid-template-columns: var(--toggle-width) max-content !important;
  gap: 6px !important;
  align-items: center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #c7d0da !important;
  cursor: pointer !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-toggle>span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-control-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 1px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-control-copy>strong {
  color: #e4eaf0 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-control-copy>span,
#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-current-line {
  color: #7f8b98 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-status {
  min-width: 96px !important;
  color: #8b96a3 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-status[data-state="on"] {
  color: #81d47b !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-current-line {
  padding-left: 46px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-refill-grid {
  width: 100% !important;
  max-width: 100% !important;
  gap: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-refill-grid .module-option-row {
  width: 100% !important;
  grid-auto-flow: row !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-refill-grid .module-rule-control {
  width: 100% !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-coin-rule-list {
  max-height: none !important;
  padding: 0 !important;
  display: grid !important;
  gap: 5px !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-empty-state {
  min-height: 30px !important;
  padding: 7px 8px !important;
  display: grid !important;
  place-items: center start !important;
  border: 1px dashed rgba(68, 80, 94, 0.72) !important;
  border-radius: 5px !important;
  background: #0a0f14 !important;
  color: #7f8b98 !important;
  font-size: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-card {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 5px !important;
  display: grid !important;
  gap: 5px !important;
  border: 1px solid rgba(68, 80, 94, 0.72) !important;
  border-radius: 5px !important;
  background: #0a0f14 !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-top {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-card .module-rule-actions {
  flex-wrap: nowrap !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-active {
  position: relative !important;
  min-width: 58px !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(82, 96, 112, 0.82) !important;
  border-radius: 5px !important;
  background: #10161e !important;
  box-shadow: none !important;
  color: #a9b4c0 !important;
  cursor: pointer !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-active>input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-active>input::before {
  display: none !important;
  content: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-active:has(input:checked) {
  border-color: rgba(129, 212, 123, 0.76) !important;
  background: rgba(40, 86, 46, 0.34) !important;
  color: #9fe69c !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-active:has(input:focus-visible) {
  outline: 1px solid rgba(129, 212, 123, 0.72) !important;
  outline-offset: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-fields {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(160px, 1fr) 84px minmax(128px, max-content) minmax(104px, max-content) !important;
  gap: 5px !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-field,
#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-gate {
  min-width: 0 !important;
  color: #8d99a6 !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-field {
  display: grid !important;
  grid-template-rows: 9px 24px !important;
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-field>span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-field>input {
  width: 100% !important;
  min-width: 0 !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  padding: 2px 6px !important;
  border-color: rgba(68, 80, 94, 0.86) !important;
  border-radius: 5px !important;
  background: #0e141b !important;
  color: #e4eaf0 !important;
  box-shadow: none !important;
  font-size: 10px !important;
  letter-spacing: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-cooldown-field {
  width: 84px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-gate {
  min-height: 22px !important;
  padding: 2px 5px !important;
  display: grid !important;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr) !important;
  gap: 5px !important;
  align-items: center !important;
  border: 1px solid rgba(68, 80, 94, 0.72) !important;
  border-radius: 5px !important;
  background: #0e141b !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-gate>span {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #a9b4c0 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-gate:has(input:checked) {
  border-color: rgba(129, 212, 123, 0.42) !important;
  background: rgba(40, 86, 46, 0.2) !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .modal-actions {
  min-height: 26px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .modal-actions .btn {
  min-width: 70px !important;
  min-height: 26px !important;
  height: 26px !important;
  padding: 0 10px !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  font-size: 10px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .modal-actions .modal-close-button {
  border-color: #d65345 !important;
  background: #321717 !important;
  color: #ffe8e3 !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .modal-actions .modal-close-button:hover:not(:disabled) {
  background: #3d1d1c !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .modal-actions .modal-save-button {
  border-color: #72bf4f !important;
  background: #16351f !important;
  color: #f4ffe8 !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .modal-actions .modal-save-button:hover:not(:disabled) {
  background: #1d4427 !important;
}

@media (max-width: 760px) {
  #modal-layer>#modal-module[data-active-module-key="banking"].module-modal-compact {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-control-row,
  #modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-fields {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-status {
    min-width: 0 !important;
    text-align: left !important;
  }

  #modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-current-line {
    padding-left: 0 !important;
  }

  #modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-toggle,
  #modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-gate,
  #modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-cooldown-field {
    width: 100% !important;
  }
}

/* Final compact panel polish: clean state markers, session cards, and header actions. */
:is(.quick-module-card[data-state="off"],
  .route-toggle-card[data-state="off"],
  .compact-split-card[data-state="off"])::before {
  content: none;
  display: none;
  background: transparent;
}

:is(.quick-module-card[data-state="blocked"],
  .route-toggle-card[data-state="blocked"],
  .compact-split-card[data-state="blocked"])::before,
.quick-module-card-master-stop::before,
.quick-module-card-master-stop[data-state="on"]::before {
  background: var(--ux-state-danger);
}

:is(.quick-module-card[data-state="snoozed"],
  .compact-split-card[data-state="snoozed"])::before {
  background: #6ec7e6;
}

.app:not([data-view-mode="compact"]) .bot-tab {
  border-color: rgba(47, 58, 70, 0.94);
  outline: 0;
  background: #0d141b;
  box-shadow: none;
}

.app:not([data-view-mode="compact"]) .bot-tab:not(.active):hover,
.app:not([data-view-mode="compact"]) .bot-tab:not(.active):focus-within {
  border-color: rgba(73, 88, 103, 0.96);
  background: #101922;
  box-shadow: none;
}

.app:not([data-view-mode="compact"]) .bot-tab:not(.active).running {
  border-color: rgba(62, 78, 92, 0.96);
}

.app:not([data-view-mode="compact"]) .bot-tab:not(.active).health-alert,
.app:not([data-view-mode="compact"]) .bot-tab:not(.active).death-alert,
.app:not([data-view-mode="compact"]) .bot-tab:not(.active).hostile-alert,
.app:not([data-view-mode="compact"]) .bot-tab:not(.active).staff-alert {
  border-color: rgba(194, 82, 76, 0.78);
}

.app:not([data-view-mode="compact"]) .bot-tab:not(.active).player-alert,
.app:not([data-view-mode="compact"]) .bot-tab:not(.active).stale-alert {
  border-color: rgba(154, 127, 83, 0.72);
}

.app:not([data-view-mode="compact"]) .bot-tab-select {
  padding: 2px 4px;
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: center;
  gap: 2px;
  border-color: rgba(39, 49, 60, 0.96);
  background: #101821;
  box-shadow: none;
}

.app:not([data-view-mode="compact"]) .bot-tab-select:hover:not(:disabled) {
  border-color: rgba(76, 90, 105, 0.92);
  background: #131d27;
  box-shadow: none;
}

.app:not([data-view-mode="compact"]) .bot-tab-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  grid-template-areas:
    "name waypoint"
    "state state";
  align-items: center;
  column-gap: 5px;
  row-gap: 1px;
}

.app:not([data-view-mode="compact"]) .bot-tab-select strong {
  color: #e7ebee;
  font-size: 10px;
  line-height: 1.08;
}

.app:not([data-view-mode="compact"]) .bot-tab-state {
  justify-self: center;
  max-width: 100%;
}

.app:not([data-view-mode="compact"]) .bot-tab-waypoint {
  min-width: max-content;
  color: #b7c0ca;
  font-size: 8px;
  font-weight: 780;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.app:not([data-view-mode="compact"]) .bot-tab-metrics {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 3px;
  overflow: visible;
}

.app:not([data-view-mode="compact"]) .bot-tab-metric {
  flex: 0 0 auto;
  min-width: max-content;
  min-height: 12px;
  padding: 0 3px;
  border-color: rgba(58, 70, 83, 0.9);
  background: rgba(255, 255, 255, 0.025);
  color: #aeb8c2;
  font-size: 7px;
  line-height: 1;
  letter-spacing: 0;
  overflow: visible;
  text-overflow: clip;
}

.app:not([data-view-mode="compact"]) .bot-tab:not(.active) .bot-tab-metric.live {
  border-color: rgba(75, 98, 83, 0.7);
  color: #b8c8b5;
}

.app:not([data-view-mode="compact"]) .bot-tab:not(.active) .bot-tab-metric.warn {
  border-color: rgba(156, 127, 77, 0.68);
  color: #dcc894;
}

.app:not([data-view-mode="compact"]) .bot-tab:not(.active) .bot-tab-metric.alert,
.app:not([data-view-mode="compact"]) .bot-tab:not(.active) .bot-tab-metric.staff {
  border-color: rgba(192, 82, 76, 0.72);
  background: rgba(192, 82, 76, 0.08);
  color: #efb8ae;
}

.app:not([data-view-mode="compact"]) .bot-tab.active,
.app:not([data-view-mode="compact"]) .bot-tab.active:hover,
.app:not([data-view-mode="compact"]) .bot-tab.active:focus-within {
  border-color: #a94742;
  outline: 1px solid #d7bc70;
  outline-offset: 0;
  background: #111820;
  box-shadow: inset 0 0 0 1px #d7bc70;
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-select,
.app:not([data-view-mode="compact"]) .bot-tab.active:hover .bot-tab-select,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-select:hover:not(:disabled) {
  border-color: rgba(215, 188, 112, 0.44);
  background: #151b20;
  color: #f2efe4;
  box-shadow: none;
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-select strong,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-waypoint {
  color: #f2efe4;
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric {
  border-color: rgba(215, 188, 112, 0.36);
  background: rgba(215, 188, 112, 0.06);
  color: #d9cca2;
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.live {
  color: #cae0bb;
}

.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.warn,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.alert,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.staff {
  color: #ecc6b4;
}

.app:not([data-view-mode="compact"]) .bot-tab.active::before,
.app:not([data-view-mode="compact"]) .bot-tab.active:hover::before,
.app:not([data-view-mode="compact"]) .bot-tab.active:focus-within::before,
.app:not([data-view-mode="compact"]) .bot-tab.active:not(.drop-before):not(.drop-after)::after {
  content: none;
  display: none;
  opacity: 0;
}

.bot-tab-toggle {
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0;
}

.app:not([data-view-mode="compact"]) .bot-tab-toggle {
  font-size: 10px;
  line-height: 1.02;
}

.app:not([data-view-mode="compact"]) .desk-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 3px;
}

.app:not([data-view-mode="compact"]) .desk-actions>.btn {
  min-height: 0;
  height: 100%;
  padding: 0 5px;
  border-radius: 4px;
  font-size: 8px;
  font-weight: 760;
  line-height: 1.05;
  box-shadow: none;
  text-shadow: none;
}

.app:not([data-view-mode="compact"]) .desk-actions>#new-session.header-action-new-session,
.app:not([data-view-mode="compact"]) .desk-actions>#refresh.header-action-sync-tabs,
.app:not([data-view-mode="compact"]) .desk-actions>#window-close.header-action-close-client,
.app:not([data-view-mode="compact"]) .desk-actions>#new-route.header-action-new-route,
.app:not([data-view-mode="compact"]) .desk-actions>#desk-accounts.header-action-accounts,
.app:not([data-view-mode="compact"]) .desk-actions>#header-stop-all.header-action-stop-all {
  border-color: var(--desk-action-border);
  background: var(--desk-action-bg);
  color: #e9edf0;
}

.app:not([data-view-mode="compact"]) .desk-actions>#new-session.header-action-new-session:hover:not(:disabled),
.app:not([data-view-mode="compact"]) .desk-actions>#refresh.header-action-sync-tabs:hover:not(:disabled),
.app:not([data-view-mode="compact"]) .desk-actions>#window-close.header-action-close-client:hover:not(:disabled),
.app:not([data-view-mode="compact"]) .desk-actions>#new-route.header-action-new-route:hover:not(:disabled),
.app:not([data-view-mode="compact"]) .desk-actions>#desk-accounts.header-action-accounts:hover:not(:disabled),
.app:not([data-view-mode="compact"]) .desk-actions>#header-stop-all.header-action-stop-all:hover:not(:disabled) {
  border-color: var(--desk-action-border-hover);
  background: var(--desk-action-bg-hover);
  box-shadow: none;
}

.app:not([data-view-mode="compact"]) #new-session {
  --desk-action-border: #5f8d70;
  --desk-action-border-hover: #76a485;
  --desk-action-bg: #182b22;
  --desk-action-bg-hover: #1d3428;
  grid-column: 1;
  grid-row: 1;
}

.app:not([data-view-mode="compact"]) #refresh {
  --desk-action-border: #587a93;
  --desk-action-border-hover: #6d90aa;
  --desk-action-bg: #162633;
  --desk-action-bg-hover: #1b2e3d;
  grid-column: 2;
  grid-row: 1;
}

.app:not([data-view-mode="compact"]) #window-close {
  --desk-action-border: #9a5b59;
  --desk-action-border-hover: #b16e6a;
  --desk-action-bg: #321d20;
  --desk-action-bg-hover: #3b2325;
  grid-column: 3;
  grid-row: 1;
}

.app:not([data-view-mode="compact"]) #new-route {
  --desk-action-border: #77669a;
  --desk-action-border-hover: #8c7bae;
  --desk-action-bg: #241f35;
  --desk-action-bg-hover: #2c2740;
  grid-column: 1;
  grid-row: 2;
}

.app:not([data-view-mode="compact"]) #desk-accounts {
  --desk-action-border: #9b8054;
  --desk-action-border-hover: #b09468;
  --desk-action-bg: #312717;
  --desk-action-bg-hover: #3a2f1c;
  grid-column: 2;
  grid-row: 2;
  padding-inline: 4px;
  font-size: 8px;
  white-space: nowrap;
}

.app:not([data-view-mode="compact"]) #header-stop-all {
  --desk-action-border: #9a6a54;
  --desk-action-border-hover: #b78368;
  --desk-action-bg: #2f211b;
  --desk-action-bg-hover: #392820;
  grid-column: 3;
  grid-row: 2;
  flex-direction: column;
  gap: 0;
  padding-inline: 4px;
}

.app:not([data-view-mode="compact"]) #header-stop-all span,
.app:not([data-view-mode="compact"]) #header-stop-all strong {
  display: block;
  max-width: 100%;
  line-height: 1.02;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app:not([data-view-mode="compact"]) #header-stop-all span {
  font-size: 7px;
  font-weight: 760;
}

.app:not([data-view-mode="compact"]) #header-stop-all strong {
  font-size: 9px;
  font-weight: 850;
}

/* Targeting creature profile separation pass: dark variants, clearer row endings. */
#modal-layer>#modal-targeting .route-hunt-profile-panel {
  border-color: rgba(75, 88, 103, 0.82);
  background:
    linear-gradient(180deg, rgba(99, 119, 138, 0.05), transparent 42%),
    rgba(8, 12, 17, 0.86);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.018),
    0 10px 24px rgba(0, 0, 0, 0.18);
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .targeting-column-kicker {
  min-height: 25px;
  padding: 5px 7px;
  border-color: rgba(82, 99, 116, 0.66);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 58%),
    rgba(6, 10, 15, 0.76);
  color: rgba(232, 225, 210, 0.9);
}

#modal-layer>#modal-targeting .target-profile-list {
  gap: 8px;
  padding: 2px 4px 2px 2px;
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.26), transparent 96px),
    rgba(3, 6, 10, 0.24);
}

#modal-layer>#modal-targeting .target-profile-row {
  --target-profile-rgb: 88, 118, 148;
  position: relative;
  gap: 6px;
  margin: 0 1px;
  padding: 7px 7px 8px 10px;
  border: 1px solid rgba(var(--target-profile-rgb), 0.44);
  border-left: 3px solid rgba(var(--target-profile-rgb), 0.86);
  border-radius: 6px;
  background:
    linear-gradient(90deg, rgba(var(--target-profile-rgb), 0.16), rgba(var(--target-profile-rgb), 0.035) 28%, transparent 64%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 44%),
    rgba(8, 11, 16, 0.94);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.034),
    inset 0 -1px 0 rgba(0, 0, 0, 0.36),
    0 7px 14px rgba(0, 0, 0, 0.22);
}

#modal-layer>#modal-targeting .target-profile-row[data-profile-tone="1"],
#modal-layer>#modal-targeting .target-profile-row:nth-of-type(6n+2) {
  --target-profile-rgb: 83, 130, 111;
}

#modal-layer>#modal-targeting .target-profile-row[data-profile-tone="2"],
#modal-layer>#modal-targeting .target-profile-row:nth-of-type(6n+3) {
  --target-profile-rgb: 125, 107, 154;
}

#modal-layer>#modal-targeting .target-profile-row[data-profile-tone="3"],
#modal-layer>#modal-targeting .target-profile-row:nth-of-type(6n+4) {
  --target-profile-rgb: 142, 108, 76;
}

#modal-layer>#modal-targeting .target-profile-row[data-profile-tone="4"],
#modal-layer>#modal-targeting .target-profile-row:nth-of-type(6n+5) {
  --target-profile-rgb: 87, 134, 145;
}

#modal-layer>#modal-targeting .target-profile-row[data-profile-tone="5"],
#modal-layer>#modal-targeting .target-profile-row:nth-of-type(6n+6) {
  --target-profile-rgb: 143, 91, 94;
}

#modal-layer>#modal-targeting .target-profile-row.off {
  opacity: 0.76;
  border-left-color: rgba(var(--target-profile-rgb), 0.5);
  background:
    linear-gradient(90deg, rgba(var(--target-profile-rgb), 0.09), transparent 38%),
    rgba(7, 9, 13, 0.86);
}

#modal-layer>#modal-targeting .target-profile-row:hover {
  border-color: rgba(var(--target-profile-rgb), 0.68);
  border-left-color: rgba(var(--target-profile-rgb), 0.98);
  background:
    linear-gradient(90deg, rgba(var(--target-profile-rgb), 0.2), rgba(var(--target-profile-rgb), 0.048) 30%, transparent 68%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.036), transparent 44%),
    rgba(10, 14, 19, 0.96);
}

#modal-layer>#modal-targeting .target-profile-head {
  min-height: 28px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(var(--target-profile-rgb), 0.24);
}

#modal-layer>#modal-targeting .target-profile-title {
  gap: 6px;
}

#modal-layer>#modal-targeting .target-profile-priority,
#modal-layer>#modal-targeting .target-profile-badge {
  border: 1px solid rgba(var(--target-profile-rgb), 0.42);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.034), transparent 58%),
    rgba(var(--target-profile-rgb), 0.12);
  color: rgba(244, 240, 230, 0.94);
}

#modal-layer>#modal-targeting .target-profile-name {
  color: #f4efe3;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
}

#modal-layer>#modal-targeting .target-profile-actions .btn {
  min-width: 44px;
  min-height: 22px;
  padding: 2px 7px;
}

#modal-layer>#modal-targeting .target-profile-grid {
  gap: 5px;
  padding: 5px;
  border: 1px solid rgba(var(--target-profile-rgb), 0.16);
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.14);
}

#modal-layer>#modal-targeting .target-profile-grid>.module-rule-control:not(.module-rule-check) {
  min-height: 36px;
  padding: 4px 5px;
  border-color: rgba(var(--target-profile-rgb), 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.016), transparent 62%),
    rgba(4, 7, 11, 0.3);
}

#modal-layer>#modal-targeting .compact-profile-flags {
  gap: 5px;
  padding-top: 1px;
}

#modal-layer>#modal-targeting .target-profile-team-kill {
  border-color: rgba(var(--target-profile-rgb), 0.24);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(var(--target-profile-rgb), 0.08), transparent 58%),
    rgba(0, 0, 0, 0.14);
}

@media (max-width: 900px) {
  #modal-layer>#modal-targeting .target-profile-list {
    gap: 7px;
    padding-right: 2px;
  }

  #modal-layer>#modal-targeting .target-profile-row {
    margin-inline: 0;
    padding: 7px;
    border-left-width: 2px;
  }
}

/* Auto Eat compact lock: dense control panel, no descriptive card padding. */
#modal-layer>#modal-module[data-active-module-key="autoEat"].module-modal-compact {
  --modal-audit-control-height: 22px;
  --modal-audit-number-width: 64px;
  --modal-audit-number-button-width: 14px;
  --modal-audit-number-button-inset: 2px;
  --compact-module-shell-max: min(72dvh, calc(100dvh - 16px));
  --compact-module-body-max: calc(var(--compact-module-shell-max) - 32px);
  width: min(780px, calc(100vw - 16px));
  max-width: min(780px, calc(100vw - 16px));
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="autoEat"] #module-extra-fields {
  overflow: visible;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] #module-extra-fields {
  width: 100%;
  display: block;
  max-height: none;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-shell {
  gap: 5px;
  padding: 0;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-overview {
  min-height: 30px;
  padding: 5px 6px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 8px;
  border-color: rgba(201, 169, 112, 0.18);
  border-radius: 5px;
  background: rgba(8, 12, 17, 0.92);
  box-shadow: none;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-overview::after {
  content: none;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-status-strip-copy {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] :is(.autoeat-overview-kicker, .autoeat-section-kicker) {
  color: rgba(216, 204, 180, 0.78);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-status-separator {
  color: rgba(201, 169, 112, 0.42);
  font-size: 10px;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-overview-title,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-section-title {
  margin: 0;
  color: #f4efe3;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.05;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-overview-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-stat-badge {
  min-height: 20px;
  padding: 2px 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid rgba(201, 169, 112, 0.16);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.026);
  color: rgba(216, 204, 180, 0.78);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-stat-badge strong {
  color: #f4efe3;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] :is(.autoeat-source-bank, .autoeat-column, .autoeat-controls) {
  padding: 5px;
  gap: 4px;
  border-color: rgba(201, 169, 112, 0.14);
  border-radius: 5px;
  background: rgba(8, 12, 17, 0.82);
  box-shadow: none;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-section-head {
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-section-head>div {
  min-width: 0;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-headline {
  min-height: 20px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-section-meta {
  max-width: none;
  min-height: 18px;
  padding: 2px 6px;
  border-color: rgba(201, 169, 112, 0.16);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.024);
  color: rgba(244, 239, 227, 0.9);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-grid {
  grid-template-columns: repeat(auto-fit, minmax(164px, 1fr));
  gap: 4px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-empty-row {
  min-height: 22px;
  padding: 4px 6px;
  display: flex;
  align-items: center;
  border: 1px solid rgba(201, 169, 112, 0.12);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.018);
  color: rgba(216, 204, 180, 0.72);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.1;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-card {
  padding: 4px;
  gap: 4px;
  border-color: rgba(201, 169, 112, 0.13);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.018);
  box-shadow: none;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-head {
  align-items: center;
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-head strong {
  color: #f4efe3;
  font-size: 11px;
  letter-spacing: 0;
  line-height: 1.1;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-count {
  min-height: 16px;
  padding: 1px 4px;
  border-radius: 4px;
  font-size: 8px;
  letter-spacing: 0;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-meta {
  overflow: hidden;
  color: rgba(216, 204, 180, 0.68);
  font-size: 9px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-actions {
  gap: 4px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-actions .btn.compact {
  min-height: 21px;
  padding: 2px 6px;
  font-size: 9px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-list-head .btn.compact {
  min-height: 20px;
  padding: 1px 7px;
  font-size: 9px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-token-strip {
  min-height: 24px;
  padding: 3px;
  align-items: center;
  gap: 4px;
  border: 1px solid rgba(201, 169, 112, 0.1);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.014);
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-token-strip .looting-chip {
  min-height: 18px;
  padding: 2px 6px;
  gap: 4px;
  border-radius: 4px;
  font-size: 9px;
  letter-spacing: 0;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-token-strip .looting-chip-dismiss {
  font-size: 9px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-controls {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-compact-control {
  min-height: 24px;
  padding: 3px 5px;
  border-color: rgba(201, 169, 112, 0.14);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.018);
  box-shadow: none;
  font-size: 10px;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-cadence-field,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-cadence-field:has(.modal-number-stepper) {
  width: max-content;
  max-width: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
  grid-template-rows: none;
  justify-items: start;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-cadence-field>span,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-toggle-field>span {
  overflow: visible;
  color: rgba(216, 204, 180, 0.82);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-overflow: clip;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-control-unit {
  color: rgba(216, 204, 180, 0.64);
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-toggle-field {
  width: max-content;
  max-width: none;
  grid-template-columns: var(--toggle-width) max-content;
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-cadence-field .modal-number-stepper {
  align-self: center;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-actions {
  min-height: 28px;
  padding: 3px 4px;
  gap: 4px;
  justify-content: flex-end;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-actions .btn {
  min-height: 24px;
  padding: 3px 9px;
  font-size: 10px;
}

/* Auto Eat compact modal: two dense panels with locked header/control geometry. */
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-shell-compact {
  gap: 4px;
  align-content: start;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel {
  min-width: 0;
  padding: 5px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(118, 154, 102, 0.32);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 46%),
    rgba(8, 12, 9, 0.82);
  box-shadow: none;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel {
  border-color: rgba(99, 184, 217, 0.32);
  background:
    linear-gradient(90deg, rgba(99, 184, 217, 0.08), transparent 64%),
    rgba(6, 11, 13, 0.84);
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-panel-head {
  min-width: 0;
  min-height: 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 6px;
  align-items: center;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-panel-title {
  min-width: 0;
  display: grid;
  gap: 1px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-head {
  grid-template-columns: minmax(0, 1fr);
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-head .autoeat-panel-title {
  display: flex;
  align-items: baseline;
  gap: 7px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-panel-title strong,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-panel-title span,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-head-metric {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-panel-title strong {
  flex: 0 0 auto;
  color: #f3f5f6;
  font-size: 11px;
  line-height: 1.05;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-panel-title span {
  min-width: 0;
  color: rgba(216, 204, 180, 0.72);
  font-size: 9px;
  line-height: 1.05;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-head-actions {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-head-metric {
  max-width: 92px;
  min-height: 20px;
  padding: 3px 6px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(201, 169, 112, 0.14);
  border-radius: 4px;
  color: rgba(216, 204, 180, 0.82);
  background: rgba(255, 255, 255, 0.018);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-controls-compact {
  min-width: 0;
  padding: 0;
  display: grid;
  grid-template-columns: max-content max-content max-content;
  gap: 5px;
  align-items: center;
  justify-content: start;
  border: 0;
  background: transparent;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-cadence-field,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-cadence-field:has(.modal-number-stepper) {
  width: auto;
  min-width: 146px;
  display: grid;
  grid-template-columns: max-content 70px max-content;
  gap: 5px;
  align-items: center;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-cadence-field>span:first-child {
  grid-column: auto;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-cadence-field :is(input[type="number"], .modal-number-stepper, .modal-number-stepper-input) {
  width: 70px;
  min-width: 70px;
  max-width: 70px;
  min-height: 22px;
  height: 22px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-toggle-field {
  width: max-content;
  min-width: 0;
  display: grid;
  grid-template-columns: var(--toggle-width) max-content;
  align-items: center;
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-list-panel,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-source-strip {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-list-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-list-row {
  min-width: 0;
  padding: 4px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(201, 169, 112, 0.12);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.014);
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-list-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-source-strip {
  padding-top: 1px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 4px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip {
  min-height: 28px;
  padding: 3px 4px;
  gap: 4px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip-actions .btn {
  min-height: 20px;
  padding: 1px 6px;
  font-size: 9px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-head {
  grid-template-columns: max-content minmax(0, 1fr);
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-head-controls {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-head-controls>.module-rule-check {
  width: max-content;
  max-width: none;
  min-height: 22px;
  height: 22px;
  padding: 2px 5px;
  display: grid;
  grid-template-columns: var(--toggle-width) max-content;
  align-items: center;
  gap: 5px;
  border-color: rgba(99, 184, 217, 0.18);
  background: rgba(255, 255, 255, 0.018);
  box-shadow: none;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-head-controls>.module-rule-control:not(.module-rule-check) {
  width: 132px;
  min-width: 132px;
  max-width: 132px;
  min-height: 22px;
  height: 22px;
  padding: 2px 5px;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 5px;
  align-items: center;
  border-color: rgba(99, 184, 217, 0.18);
  background: rgba(255, 255, 255, 0.018);
  box-shadow: none;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-head-controls>.module-rule-control>span {
  overflow: visible;
  color: rgba(216, 204, 180, 0.82);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  text-overflow: clip;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-head-controls>.module-rule-control :is(input[type="number"], .modal-number-stepper, .modal-number-stepper-input) {
  width: 72px;
  min-width: 72px;
  max-width: 72px;
  min-height: 20px;
  height: 20px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel .anti-idle-workspace-compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  align-items: stretch;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel .anti-idle-compact-status {
  min-width: 0;
  min-height: 28px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel .anti-idle-control-grid-compact {
  display: none;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel .anti-idle-control-grid-compact .module-rule-control {
  min-width: 0;
  max-width: 118px;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel .anti-idle-control-grid-compact input[type="number"],
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel .anti-idle-control-grid-compact .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel .anti-idle-control-grid-compact .modal-number-stepper-input {
  width: 100%;
  min-width: 0;
  max-width: 118px;
  min-height: 24px;
  height: 24px;
}

@media (max-width: 680px) {
  #modal-layer>#modal-module[data-active-module-key="autoEat"].module-modal-compact {
    --compact-module-shell-max: calc(100dvh - 8px);
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
  }

  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-overview,
  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-columns {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-overview-stats {
    justify-content: flex-start;
  }

  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-controls,
  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-head-controls {
    flex-wrap: wrap;
  }

  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-controls-compact,
  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-panel-head,
  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-list-panel,
  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel .anti-idle-workspace-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-head-actions,
  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-head-controls {
    justify-self: start;
  }
}

/* Ammo modal: compact tactical pass. */
#modal-layer>#modal-module[data-active-module-key="ammo"] {
  width: min(980px, calc(100vw - 16px)) !important;
  max-width: min(980px, calc(100vw - 16px)) !important;
  height: auto !important;
  max-height: min(76dvh, calc(100dvh - 16px)) !important;
  padding: 5px !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="ammo"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="ammo"] #module-extra-fields {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  gap: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-shell {
  gap: 5px;
  padding: 0;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-status-strip {
  min-height: 25px;
  padding: 4px 7px;
  display: flex;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  border: 1px solid #26303a;
  border-radius: 4px;
  background: rgba(6, 9, 13, 0.82);
  color: #aeb8c2;
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-status-strip>* {
  min-width: 0;
  flex: 0 0 auto;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-status-strip>*:not(:last-child)::after {
  content: "|";
  margin-left: 5px;
  color: #4b5663;
  font-weight: 500;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-status-strip strong {
  max-width: 190px;
  overflow: hidden;
  color: #f0eadf;
  font-size: 10px;
  font-weight: 800;
  text-overflow: ellipsis;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-bank,
#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-column {
  padding: 5px;
  gap: 4px;
  border-color: #26303a;
  border-radius: 4px;
  background: rgba(8, 11, 15, 0.68);
  box-shadow: none;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-section-head {
  min-height: 0;
  gap: 0;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-section-title,
#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-policy-label {
  color: #cbd3dc;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(96px, 1fr);
  grid-template-columns: repeat(5, minmax(96px, 1fr));
  gap: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-gutter: stable;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-card {
  min-width: 0;
  min-height: 29px;
  padding: 3px 4px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px;
  align-items: center;
  border-color: #29333e;
  border-radius: 4px;
  background: rgba(4, 7, 11, 0.58);
  box-shadow: none;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-card[data-state="priority"] {
  border-color: rgba(134, 180, 108, 0.46);
  background: rgba(16, 28, 18, 0.72);
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-card[data-state="blocked"] {
  border-color: #34404b;
  background: rgba(8, 11, 15, 0.58);
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-head {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-head strong {
  min-width: 0;
  overflow: hidden;
  color: #f0eadf;
  font-size: 10px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-count {
  padding: 1px 4px;
  border-color: #34404b;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.035);
  color: #aeb8c2;
  font-size: 9px;
  line-height: 1.15;
  letter-spacing: 0;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-card>.btn.compact {
  min-width: 43px;
  min-height: 20px;
  padding: 0 5px;
  border-radius: 3px;
  font-size: 9px;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-columns {
  grid-template-columns: minmax(190px, 0.46fr) minmax(0, 1fr);
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-column {
  min-height: 44px;
  align-content: start;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-preferred-select-field {
  width: 100%;
  gap: 3px;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-preferred-select-field select,
#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-number-row :is(input:not([type="checkbox"]), select) {
  min-height: 24px !important;
  height: 24px !important;
  border-radius: 4px;
  font-size: 10px;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-policy-value {
  min-height: 24px;
  padding: 5px 6px;
  overflow: hidden;
  border: 1px solid #29333e;
  border-radius: 4px;
  background: rgba(4, 7, 11, 0.52);
  color: #f0eadf;
  font-size: 10px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-control-stack {
  display: grid;
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-number-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-number-row .module-rule-control {
  width: 100% !important;
  max-width: none !important;
  min-height: 0;
  display: grid;
  gap: 2px;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-number-row .module-rule-control>span {
  color: #aeb8c2;
  font-size: 9px;
  line-height: 1;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-number-row .modal-number-stepper {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-number-row .modal-number-stepper-input {
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-toggle-rows {
  display: grid;
  gap: 4px;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-toggle-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-toggle-row .module-rule-check {
  width: 100%;
  min-height: 22px;
  padding: 2px 6px;
  justify-content: flex-start;
  border-color: #26303a;
  border-radius: 4px;
  background: rgba(8, 11, 15, 0.58);
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-toggle-row .module-rule-check>span {
  color: #cbd3dc;
  font-size: 10px;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .field-note,
#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-overview-detail,
#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-column-copy,
#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-meta {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .modal-actions {
  min-height: 26px;
  padding: 2px 0 0;
  gap: 5px;
  border: 0;
  background: transparent;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .modal-actions .btn {
  min-height: 22px;
  padding: 0 8px;
  border-radius: 4px;
  font-size: 9px;
}

@media (max-width: 720px) {
  #modal-layer>#modal-module[data-active-module-key="ammo"] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-status-strip {
    overflow-x: auto;
  }

  #modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-columns,
  #modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-number-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Modal size taxonomy: tiers 1-3 stay compact in portrait, tier 4 owns the landscape surface. */
#modal-layer[data-modal-size-category="tiny"],
#modal-layer[data-modal-size-category="medium"],
#modal-layer[data-modal-size-category="large"] {
  padding: 6px !important;
  place-items: center !important;
}

#modal-layer[data-modal-size-category="veryLarge"] {
  padding: 8px !important;
  place-items: center !important;
}

body.modal-open:not([data-modal-size-category="veryLarge"]) .window-frame {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

#modal-layer>.modal-panel[data-modal-size-category="tiny"],
#modal-layer>.modal-panel[data-modal-size-category="medium"],
#modal-layer>.modal-panel[data-modal-size-category="large"] {
  width: min(var(--modal-tier-width, calc(100vw - 12px)), calc(100vw - 12px)) !important;
  min-width: 0 !important;
  max-width: min(var(--modal-tier-width, calc(100vw - 12px)), calc(100vw - 12px)) !important;
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
  overflow: hidden !important;
}

#modal-layer>.modal-panel[data-modal-size-category="tiny"] {
  --modal-tier-width: 420px;
  --modal-tier-scroll-cap: 38dvh;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(44dvh, calc(100dvh - 12px)) !important;
}

#modal-layer>.modal-panel[data-modal-size-category="medium"] {
  --modal-tier-width: 620px;
  --modal-tier-scroll-cap: 64dvh;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(72dvh, calc(100dvh - 12px)) !important;
}

#modal-layer>.modal-panel[data-modal-size-category="large"] {
  --modal-tier-width: calc(100vw - 12px);
  --modal-tier-scroll-cap: calc(100dvh - 78px);
  height: calc(100dvh - 12px) !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 12px) !important;
}

#modal-layer>.modal-panel[data-modal-size-category="veryLarge"] {
  width: calc(100vw - 16px) !important;
  max-width: calc(100vw - 16px) !important;
  height: calc(100dvh - 16px) !important;
  max-height: calc(100dvh - 16px) !important;
}

#modal-layer>.modal-panel.modal-panel-dragged.open {
  align-self: auto !important;
  justify-self: auto !important;
}

#modal-layer>.modal-panel[data-modal-size-category="tiny"] .modal-head,
#modal-layer>.modal-panel[data-modal-size-category="tiny"] .modal-actions,
#modal-layer>.modal-panel[data-modal-size-category="medium"] .modal-head,
#modal-layer>.modal-panel[data-modal-size-category="medium"] .modal-actions,
#modal-layer>.modal-panel[data-modal-size-category="large"] .modal-head,
#modal-layer>.modal-panel[data-modal-size-category="large"] .modal-actions {
  min-height: 28px;
  padding: 3px 5px;
  gap: 4px;
}

#modal-layer>#modal-module[data-modal-size-category="tiny"],
#modal-layer>#modal-module[data-modal-size-category="medium"],
#modal-layer>#modal-module[data-modal-size-category="large"] {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

#modal-layer>#modal-module[data-modal-size-category="tiny"].module-modal-headless,
#modal-layer>#modal-module[data-modal-size-category="medium"].module-modal-headless,
#modal-layer>#modal-module[data-modal-size-category="large"].module-modal-headless {
  grid-template-rows: minmax(0, 1fr) auto;
}

#modal-layer>#modal-module[data-modal-size-category="tiny"] .modal-body-module,
#modal-layer>#modal-module[data-modal-size-category="medium"] .modal-body-module,
#modal-layer>#modal-module[data-modal-size-category="tiny"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-modal-size-category="medium"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-modal-size-category="large"] .modal-body-module,
#modal-layer>#modal-module[data-modal-size-category="large"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-modal-size-category="tiny"] .module-extra-fields,
#modal-layer>#modal-module[data-modal-size-category="medium"] .module-extra-fields,
#modal-layer>#modal-module[data-modal-size-category="large"] .module-extra-fields,
#modal-layer>#modal-module[data-modal-size-category="tiny"] .module-rule-list,
#modal-layer>#modal-module[data-modal-size-category="medium"] .module-rule-list,
#modal-layer>#modal-module[data-modal-size-category="large"] .module-rule-list {
  min-height: 0 !important;
  max-height: var(--modal-tier-scroll-cap, none) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#modal-layer>#modal-module[data-modal-size-category="tiny"]:not(.module-modal-settings-only) .module-option-rows,
#modal-layer>#modal-module[data-modal-size-category="medium"]:not(.module-modal-settings-only) .module-option-rows {
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

#modal-layer>#modal-module[data-modal-size-category="tiny"]:not(.module-modal-settings-only) .module-option-row,
#modal-layer>#modal-module[data-modal-size-category="medium"]:not(.module-modal-settings-only) .module-option-row {
  width: 100% !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

#modal-layer>#modal-module[data-modal-size-category="tiny"]:not(.module-modal-settings-only) .module-option-row .module-rule-control,
#modal-layer>#modal-module[data-modal-size-category="medium"]:not(.module-modal-settings-only) .module-option-row .module-rule-control {
  width: 100% !important;
  max-width: 100% !important;
}

#modal-layer>#modal-module[data-modal-size-category="tiny"]:not(.module-modal-settings-only) .module-rule-control:has(textarea),
#modal-layer>#modal-module[data-modal-size-category="medium"]:not(.module-modal-settings-only) .module-rule-control:has(textarea) {
  width: 100% !important;
  max-width: 100% !important;
}

#modal-layer>#modal-route-launcher[data-modal-size-category="medium"]>.modal-body-route-launcher {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "summary"
    "controls"
    "characters" !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#modal-layer>#modal-route-launcher[data-modal-size-category="medium"] .route-launcher-grid,
#modal-layer>#modal-route-launcher[data-modal-size-category="medium"] .route-launch-team-list {
  grid-template-columns: minmax(0, 1fr) !important;
}

@media (max-width: 360px) {
  #modal-layer[data-modal-size-category="tiny"],
  #modal-layer[data-modal-size-category="medium"],
  #modal-layer[data-modal-size-category="large"],
  #modal-layer[data-modal-size-category="veryLarge"] {
    padding: 4px !important;
  }

  #modal-layer>.modal-panel[data-modal-size-category] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
  }

  #modal-layer>.modal-panel[data-modal-size-category="tiny"] {
    height: auto !important;
    max-height: min(44dvh, calc(100dvh - 8px)) !important;
  }

  #modal-layer>.modal-panel[data-modal-size-category="medium"] {
    height: auto !important;
    max-height: min(72dvh, calc(100dvh - 8px)) !important;
  }

  #modal-layer>.modal-panel[data-modal-size-category="large"],
  #modal-layer>.modal-panel[data-modal-size-category="veryLarge"] {
    height: calc(100dvh - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }
}

/* Auto Eat final placement after the modal-size taxonomy overrides. */
#modal-layer>#modal-module[data-active-module-key="autoEat"].module-modal-compact,
#modal-layer>#modal-module[data-active-module-key="autoEat"][data-modal-size-category="tiny"] {
  width: min(780px, calc(100vw - 16px)) !important;
  min-width: 0 !important;
  max-width: min(780px, calc(100vw - 16px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(72dvh, calc(100dvh - 16px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="autoEat"] #module-extra-fields {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] #module-extra-fields {
  width: 100% !important;
  display: block !important;
}

@media (max-width: 680px) {
  #modal-layer>#modal-module[data-active-module-key="autoEat"].module-modal-compact,
  #modal-layer>#modal-module[data-active-module-key="autoEat"][data-modal-size-category="tiny"] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }
}

/* Ammo final placement after the modal-size taxonomy overrides. */
#modal-layer>#modal-module[data-active-module-key="ammo"].module-modal-compact,
#modal-layer>#modal-module[data-active-module-key="ammo"][data-modal-size-category="medium"] {
  width: min(980px, calc(100vw - 16px)) !important;
  min-width: 0 !important;
  max-width: min(980px, calc(100vw - 16px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(76dvh, calc(100dvh - 16px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="ammo"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="ammo"] #module-extra-fields {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] #module-extra-fields {
  width: 100% !important;
  display: block !important;
}

@media (max-width: 720px) {
  #modal-layer>#modal-module[data-active-module-key="ammo"].module-modal-compact,
  #modal-layer>#modal-module[data-active-module-key="ammo"][data-modal-size-category="medium"] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }
}

/* Ring & Amulet final fit: both slots stay reachable without an inner scroll lane. */
#modal-layer>#modal-module[data-active-module-key="ringAutoReplace"].module-modal-compact,
#modal-layer>#modal-module[data-active-module-key="ringAutoReplace"][data-modal-size-category="medium"],
#modal-layer>#modal-module[data-active-module-key="amuletAutoReplace"].module-modal-compact,
#modal-layer>#modal-module[data-active-module-key="amuletAutoReplace"][data-modal-size-category="medium"] {
  width: min(1240px, calc(100vw - 16px)) !important;
  min-width: 0 !important;
  max-width: min(1240px, calc(100vw - 16px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(88dvh, calc(100dvh - 16px)) !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .modal-body-module,
#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) #module-extra-fields {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) #module-extra-fields {
  width: 100% !important;
  display: block !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-grid {
  gap: 6px;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot {
  padding: 6px;
  gap: 5px;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-shell {
  gap: 5px;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-overview,
#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-controls {
  gap: 4px;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-panel {
  padding: 5px;
  gap: 4px;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) [data-equipment-replace-panel="pool"] .equipment-replace-chip-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-choice {
  min-width: 0;
  padding: 4px 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-controls {
  grid-template-columns: minmax(104px, 124px) repeat(2, auto);
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot.is-off [data-equipment-replace-panel="pool"] {
  display: none;
}

@media (max-width: 980px) {
  #modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) [data-equipment-replace-panel="pool"] .equipment-replace-chip-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  #modal-layer>#modal-module[data-active-module-key="ringAutoReplace"].module-modal-compact,
  #modal-layer>#modal-module[data-active-module-key="ringAutoReplace"][data-modal-size-category="medium"],
  #modal-layer>#modal-module[data-active-module-key="amuletAutoReplace"].module-modal-compact,
  #modal-layer>#modal-module[data-active-module-key="amuletAutoReplace"][data-modal-size-category="medium"] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }

  #modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-controls {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Healer module-card layout is owned by the dense-pass two-pane rules near
   the end of this file. */

/* Route middle-column cleanup: separate tuning from toggles and restore readable hazard switches. */
#modal-layer>#modal-autowalk .route-drive-card {
  padding: 6px !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-drive-head {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-drive-heading {
  min-width: 0 !important;
  display: grid !important;
  gap: 1px !important;
}

#modal-layer>#modal-autowalk .route-drive-heading strong {
  color: #f1dfbb !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
}

#modal-layer>#modal-autowalk .route-drive-heading span {
  min-width: 0 !important;
  color: rgba(223, 229, 235, 0.68) !important;
  font-size: 8px !important;
  line-height: 1.18 !important;
}

#modal-layer>#modal-autowalk .route-drive-card .route-card-tools-stretch {
  width: auto !important;
  display: block !important;
  justify-self: end !important;
}

#modal-layer>#modal-autowalk #reset-route {
  min-width: 104px !important;
  min-height: 24px !important;
  height: 24px !important;
  padding-inline: 7px !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#waypointRadius),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordStep),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#walkRepathMs) {
  grid-column: span 2 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#vocation) {
  grid-column: span 4 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#sustainCooldownMs) {
  grid-column: span 2 !important;
}

#modal-layer>#modal-autowalk .route-checks {
  width: 100% !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  justify-content: stretch !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-checks .route-setting-toggle {
  min-height: 32px !important;
  padding: 5px 6px !important;
  align-items: center !important;
}

#modal-layer>#modal-autowalk .route-setting-toggle-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 1px !important;
}

#modal-layer>#modal-autowalk .route-setting-toggle-copy strong,
#modal-layer>#modal-autowalk .route-setting-toggle-copy small {
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-setting-toggle-copy strong {
  color: inherit !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
}

#modal-layer>#modal-autowalk .route-setting-toggle-copy small {
  color: rgba(223, 229, 235, 0.64) !important;
  font-size: 7.5px !important;
  font-weight: 650 !important;
  line-height: 1.08 !important;
}

#modal-layer>#modal-autowalk .route-hazard-row {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(124px, max-content) !important;
  grid-template-areas:
    "label toggle"
    "categories categories"
    "summary summary" !important;
  align-items: start !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-hazard-label {
  grid-area: label !important;
  align-self: center !important;
  font-size: 9px !important;
}

#modal-layer>#modal-autowalk .route-avoid-category-grid {
  grid-area: categories !important;
  min-width: 0 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 4px !important;
}

#modal-layer>#modal-autowalk #route-avoid-summary-copy {
  grid-area: summary !important;
  display: block !important;
  min-width: 0 !important;
  color: rgba(223, 229, 235, 0.62) !important;
  font-size: 8px !important;
  line-height: 1.22 !important;
}

#modal-layer>#modal-autowalk .route-avoid-toggle {
  grid-area: toggle !important;
  width: 100% !important;
  min-width: 124px !important;
  max-width: 160px !important;
  min-height: 30px !important;
  height: auto !important;
  padding: 4px 6px !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-avoid-category {
  min-height: 30px !important;
  height: auto !important;
  padding: 4px 6px !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-avoid-toggle-copy,
#modal-layer>#modal-autowalk .route-avoid-category-copy {
  min-width: 0 !important;
  width: 100% !important;
  display: grid !important;
  gap: 1px !important;
  text-align: left !important;
}

#modal-layer>#modal-autowalk .route-avoid-toggle-copy strong,
#modal-layer>#modal-autowalk .route-avoid-category-copy strong {
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
  color: inherit !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-avoid-toggle-copy strong {
  font-size: 10px !important;
}

#modal-layer>#modal-autowalk .route-avoid-toggle-copy small {
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
  color: rgba(223, 229, 235, 0.64) !important;
  font-size: 7.5px !important;
  line-height: 1.08 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-avoid-category input[type="checkbox"],
#modal-layer>#modal-autowalk .route-avoid-toggle input[type="checkbox"],
#modal-layer>#modal-autowalk .route-avoid-toggle-control {
  position: static !important;
  inset: auto !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  max-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  max-height: var(--toggle-height) !important;
  margin: 0 !important;
  opacity: 1 !important;
}

#modal-layer>#modal-autowalk .route-avoid-toggle-control {
  display: grid !important;
  justify-items: end !important;
}

@media (max-width: 760px) {
  #modal-layer>#modal-autowalk .route-drive-head,
  #modal-layer>#modal-autowalk .route-hazard-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-autowalk .route-hazard-row {
    grid-template-areas:
      "label"
      "toggle"
      "categories"
      "summary" !important;
  }

  #modal-layer>#modal-autowalk .route-drive-card .route-card-tools-stretch,
  #modal-layer>#modal-autowalk .route-avoid-toggle {
    justify-self: stretch !important;
    max-width: none !important;
  }

  #modal-layer>#modal-autowalk .route-tune-grid,
  #modal-layer>#modal-autowalk .route-checks {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-autowalk .route-tune-grid>label {
    grid-column: auto !important;
  }

  #modal-layer>#modal-autowalk .route-avoid-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

#modal-record {
  max-width: min(560px, calc(100vw - 16px));
}

#modal-record .record-modal-head {
  grid-template-columns: minmax(0, 1fr) auto;
}

#modal-record .record-modal-head-state {
  min-width: 48px;
  min-height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(169, 141, 99, 0.2);
  border-radius: 8px;
  background: rgba(14, 11, 8, 0.42);
  color: rgba(239, 228, 207, 0.78);
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
  text-transform: uppercase;
}

#modal-record #record-modal-state[data-state="on"] {
  color: #e9f8d4;
}

#modal-record .modal-body-record {
  display: grid;
  align-content: start;
  gap: 8px;
}

#modal-record .record-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

#modal-record .record-summary-grid .summary-cell {
  min-height: 48px;
  padding: 7px 8px;
}

#modal-record .record-modal-detail {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid rgba(169, 141, 99, 0.14);
  border-radius: 8px;
  background: rgba(14, 11, 8, 0.3);
  color: rgba(223, 229, 235, 0.72);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-record .record-modal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(76px, 0.55fr) repeat(2, minmax(86px, 0.7fr));
  gap: 6px;
}

#modal-record .record-modal-toggle-field {
  justify-items: start;
}

#modal-record .record-modal-toggle-field input[type="checkbox"] {
  justify-self: start;
}

#modal-record .record-modal-toggle-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

#modal-record .record-avoid-category-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

#modal-record .route-setting-toggle,
#modal-record .route-avoid-category {
  min-height: 32px !important;
  padding: 4px 6px !important;
}

#modal-record .route-setting-toggle {
  position: relative !important;
  display: grid !important;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 7px !important;
  border: 1px solid rgba(169, 141, 99, 0.16) !important;
  border-radius: var(--toggle-surface-radius) !important;
  background: rgba(14, 11, 8, 0.34) !important;
  color: rgba(239, 228, 207, 0.78) !important;
  cursor: pointer !important;
}

#modal-record .route-setting-toggle input[type="checkbox"] {
  position: static !important;
  inset: auto !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  margin: 0 !important;
  opacity: 1 !important;
}

#modal-record .route-setting-toggle:has(input[type="checkbox"]:checked) {
  color: var(--text) !important;
}

#modal-record .route-setting-toggle-copy strong,
#modal-record .route-avoid-category-copy strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-record .record-avoid-category-grid[aria-disabled="true"] .route-avoid-category {
  opacity: 0.55;
}

#modal-record #record-toggle-recording {
  min-width: 92px;
}

@media (max-width: 760px) {
  #modal-record .record-summary-grid,
  #modal-record .record-modal-toggle-grid,
  #modal-record .record-avoid-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #modal-record .record-modal-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  #modal-record .record-modal-route-name {
    grid-column: 1 / -1;
  }
}

/* Final route launcher polish closure: tier-3 compact modal, inputs above a two-column character panel. */
#modal-layer>#modal-route-launcher.modal-panel-route-launcher[data-modal-size-category="large"] {
  --route-launch-control-height: 22px;
  --route-launch-panel-bg: #080d12;
  --route-launch-panel-border: rgba(58, 70, 84, 0.92);
  --toggle-width: 28px;
  --toggle-height: 16px;
  --toggle-pad: 2px;
  --toggle-thumb-size: calc(var(--toggle-height) - (var(--toggle-pad) * 2));
  --toggle-thumb-shift: calc(var(--toggle-width) - var(--toggle-thumb-size) - (var(--toggle-pad) * 2));
  width: min(760px, calc(100vw - 12px)) !important;
  max-width: min(760px, calc(100vw - 12px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(70dvh, calc(100dvh - 12px)) !important;
  padding: 6px !important;
  gap: 5px !important;
  border-radius: 5px !important;
  border-color: var(--route-launch-panel-border) !important;
}

/* Per-state launcher width. The expanded modal surface keeps the window tall so
   the footer stays visible, but the dialog itself stays compact above the app
   surface. Default "New Session" (queued teams) keeps its original slim
   width; the character pool opened via New Team is ~20% narrower than the prior
   760px so it isn't too wide horizontally. */
#modal-layer>#modal-route-launcher.modal-panel-route-launcher[data-modal-size-category="large"]:has(.route-launch-team-panel[data-launch-mode="groups"]) {
  width: min(468px, calc(100vw - 12px)) !important;
  max-width: min(468px, calc(100vw - 12px)) !important;
}

#modal-layer>#modal-route-launcher.modal-panel-route-launcher[data-modal-size-category="large"]:has(.route-launch-team-panel[data-launch-mode="pool"]) {
  width: min(608px, calc(100vw - 12px)) !important;
  max-width: min(608px, calc(100vw - 12px)) !important;
}

#modal-layer>#modal-route-launcher.modal-panel-route-launcher[data-modal-size-category="large"]:has(.route-launch-team-panel[data-launch-mode="groups"]),
#modal-layer>#modal-route-launcher.modal-panel-route-launcher[data-modal-size-category="large"]:has(.route-launch-team-panel[data-launch-mode="pool"]) {
  align-self: start !important;
  justify-self: end !important;
  margin-top: 10px !important;
  margin-right: 10px !important;
}

#modal-layer>#modal-route-launcher.modal-panel-titleless.open {
  grid-template-rows: minmax(0, 1fr) auto !important;
}

#modal-layer>#modal-route-launcher>.modal-body-route-launcher {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  grid-template-areas:
    "summary"
    "controls"
    "characters" !important;
  gap: 5px !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

#modal-layer>#modal-route-launcher #route-launch-meta {
  grid-area: summary !important;
  min-height: 20px !important;
  padding: 3px 5px !important;
  border-radius: 4px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}

#modal-layer>#modal-route-launcher .route-launcher-grid {
  grid-area: controls !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) minmax(118px, 142px) minmax(82px, 96px) minmax(82px, 96px) !important;
  grid-template-areas: "route mode start walk" !important;
  gap: 4px !important;
  align-content: start !important;
  align-items: end !important;
}

#modal-layer>#modal-route-launcher .route-picker-field {
  gap: 2px !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.04em !important;
}

#modal-layer>#modal-route-launcher .route-picker-field select {
  min-height: var(--route-launch-control-height) !important;
  height: var(--route-launch-control-height) !important;
  padding: 0 6px !important;
  font-size: 11px !important;
}

#modal-layer>#modal-route-launcher .route-launch-main-field,
#modal-layer>#modal-route-launcher .route-launch-mode-field {
  min-width: 0 !important;
  width: 100% !important;
}

#modal-layer>#modal-route-launcher .route-launch-route-field {
  grid-area: route !important;
}

#modal-layer>#modal-route-launcher .route-launch-mode-field {
  grid-area: mode !important;
}

#modal-layer>#modal-route-launcher .route-launch-start-field {
  grid-area: start !important;
}

#modal-layer>#modal-route-launcher .route-launch-walk-field {
  grid-area: walk !important;
}

#modal-layer>#modal-route-launcher .route-launch-toggle-field {
  min-width: 0 !important;
  width: 100% !important;
  min-height: var(--route-launch-control-height) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 4px !important;
  align-items: center !important;
  justify-items: stretch !important;
}

#modal-layer>#modal-route-launcher .route-launch-toggle-field span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-toggle-field input {
  justify-self: end !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel {
  grid-area: characters !important;
  min-height: 0 !important;
  align-self: stretch !important;
  padding: 5px !important;
  border-color: var(--route-launch-panel-border) !important;
  border-radius: 4px !important;
  background: var(--route-launch-panel-bg) !important;
  grid-template-rows: auto auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-head {
  min-height: 18px !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.04em !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-head strong {
  min-width: 22px !important;
  padding: 1px 4px !important;
  border-radius: 4px !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-list {
  min-height: 0 !important;
  max-height: none !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 2px !important;
  overflow: visible !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row {
  min-height: 22px !important;
  grid-template-columns: calc(var(--toggle-width) + 3px) minmax(58px, 1fr) minmax(26px, max-content) minmax(40px, 0.56fr) !important;
  gap: 3px !important;
  padding: 2px 4px !important;
  border-radius: 4px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-route-launcher .route-launch-character-name,
#modal-layer>#modal-route-launcher .route-launch-character-count,
#modal-layer>#modal-route-launcher .route-launch-character-cavebot {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-character-name {
  padding-left: 2px !important;
}

#modal-layer>#modal-route-launcher .route-launch-character-count,
#modal-layer>#modal-route-launcher .route-launch-character-cavebot {
  font-size: 8px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-route-launcher .route-launch-character-count {
  color: var(--text) !important;
  text-align: right !important;
}

#modal-layer>#modal-route-launcher .modal-actions {
  min-height: 24px !important;
  padding: 2px 4px !important;
  gap: 4px !important;
}

#modal-layer>#modal-route-launcher .modal-actions .btn {
  min-height: 22px !important;
  padding: 0 8px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
}

#modal-layer>#modal-route-launcher .route-launch-sync-button {
  min-width: 68px !important;
  border-color: rgba(121, 220, 255, 0.62) !important;
  background: #173744 !important;
  color: #e9fbff !important;
  box-shadow: none !important;
  transform: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-sync-button:hover:not(:disabled) {
  border-color: rgba(166, 234, 255, 0.8) !important;
  background: #1d4858 !important;
  box-shadow: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-sync-button:active:not(:disabled),
#modal-layer>#modal-route-launcher .route-launch-sync-button[data-pressed="true"]:not(:disabled) {
  border-color: rgba(166, 234, 255, 0.9) !important;
  background: #12313d !important;
  box-shadow: none !important;
}

@media (max-width: 620px) {
  #modal-layer>#modal-route-launcher .route-launcher-grid {
    grid-template-columns: minmax(0, 1fr) minmax(90px, 108px) !important;
    grid-template-areas:
      "route start"
      "mode walk" !important;
  }
}

@media (max-width: 480px) {
  #modal-layer>#modal-route-launcher .route-launch-team-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Route launcher team composer: explicit queued teams, no mode/count dropdown. */
#modal-layer>#modal-route-launcher .route-launcher-head {
  grid-template-columns: 74px max-content minmax(0, 1fr) 74px !important;
  grid-template-areas: "new badges summary accounts" !important;
}

#modal-layer>#modal-route-launcher .route-launch-new-team-button,
#modal-layer>#modal-route-launcher .route-launch-accounts-button {
  min-width: 74px !important;
  width: 74px !important;
  min-height: 20px !important;
  height: 100% !important;
  padding: 0 6px !important;
  border-radius: 4px !important;
  font-size: 10px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-new-team-button {
  grid-area: new !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-badges {
  grid-area: badges !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-badge {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid rgba(121, 220, 255, 0.54) !important;
  border-radius: 3px !important;
  background: #10232b !important;
  color: #e9fbff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-route-launcher #route-launch-meta {
  grid-area: summary !important;
  display: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-accounts-button {
  grid-area: accounts !important;
}

#modal-layer>#modal-route-launcher .route-launch-plan {
  display: none !important;
}

#modal-layer>#modal-route-launcher .route-launcher-grid {
  grid-template-columns: minmax(220px, 1fr) minmax(82px, 96px) !important;
  grid-template-areas: "route walk" !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="groups"] .route-launch-team-list {
  grid-template-columns: minmax(0, 1fr) !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel {
  grid-template-rows: minmax(0, 1fr) !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-head {
  display: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-group-card {
  min-width: 0 !important;
  min-height: 30px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(92px, 0.8fr) max-content !important;
  gap: 5px !important;
  align-items: center !important;
  padding: 4px 5px !important;
  border: 1px solid rgba(68, 83, 98, 0.86) !important;
  border-radius: 4px !important;
  background: #0d151d !important;
}

#modal-layer>#modal-route-launcher .route-launch-group-main,
#modal-layer>#modal-route-launcher .route-launch-group-meta {
  min-width: 0 !important;
  display: grid !important;
  gap: 1px !important;
}

#modal-layer>#modal-route-launcher .route-launch-group-main strong,
#modal-layer>#modal-route-launcher .route-launch-group-main span,
#modal-layer>#modal-route-launcher .route-launch-group-meta span,
#modal-layer>#modal-route-launcher .route-launch-group-meta small {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-group-main strong {
  color: var(--text) !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-route-launcher .route-launch-group-main span,
#modal-layer>#modal-route-launcher .route-launch-group-meta span {
  color: #cdd8e2 !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-route-launcher .route-launch-group-meta small {
  color: var(--muted) !important;
  font-size: 8px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row.leader {
  border-color: rgba(255, 132, 109, 0.64) !important;
  background:
    linear-gradient(180deg, rgba(255, 186, 150, 0.13), rgba(126, 43, 72, 0.1)),
    rgba(20, 13, 18, 0.28) !important;
  box-shadow: inset 3px 0 0 rgba(255, 118, 92, 0.88) !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row.leader input[type="checkbox"] {
  accent-color: #ff7965 !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row.leader .route-launch-character-name,
#modal-layer>#modal-route-launcher .route-launch-group-member.leader {
  width: fit-content !important;
  max-width: 100% !important;
  padding: 2px 6px !important;
  border: 1px solid rgba(255, 174, 143, 0.26) !important;
  border-radius: 5px !important;
  background: rgba(16, 12, 16, 0.42) !important;
  color: #ffd6c9 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(8px) !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row.route-launch-moneyhandler-row {
  grid-column: auto !important;
  margin-top: 0 !important;
  border-color: rgba(245, 184, 66, 0.46) !important;
  background:
    linear-gradient(180deg, rgba(245, 184, 66, 0.12), rgba(245, 184, 66, 0.04)),
    rgba(255, 255, 255, 0.025) !important;
  color: #f3b94f !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 213, 105, 0.08),
    inset 2px 0 0 rgba(245, 184, 66, 0.78) !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row.route-launch-moneyhandler-row input[type="checkbox"] {
  accent-color: #d99a22 !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row.route-launch-moneyhandler-row .route-launch-character-name {
  color: #ffc45a !important;
  font-weight: 850 !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row.route-launch-moneyhandler-row small {
  color: #dca547 !important;
}

#modal-layer>#modal-route-launcher .route-launch-group-members {
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px !important;
}

#modal-layer>#modal-route-launcher .route-launch-group-member {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-remove-group {
  min-height: 20px !important;
  padding: 0 6px !important;
  border-radius: 4px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-route-launcher .route-launch-pool-row.muted {
  opacity: 0.46 !important;
}

#modal-layer>#modal-route-launcher .route-launch-pool-actions {
  grid-column: 1 / -1 !important;
  min-height: 24px !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  padding: 0 0 2px 0 !important;
  position: sticky !important;
  top: clamp(56px, 10vh, 112px) !important;
  z-index: 2 !important;
  background: var(--route-launch-panel-bg) !important;
}

#modal-layer>#modal-route-launcher .route-launch-pool-actions .btn {
  min-height: 22px !important;
  padding: 0 10px !important;
  border-radius: 4px !important;
  font-size: 10px !important;
}

@media (max-width: 620px) {
  #modal-layer>#modal-route-launcher .route-launcher-head {
    grid-template-columns: 74px minmax(0, 1fr) 74px !important;
    grid-template-areas: "new badges accounts" !important;
  }

  #modal-layer>#modal-route-launcher .route-launcher-grid {
    grid-template-columns: minmax(0, 1fr) minmax(82px, 96px) !important;
    grid-template-areas: "route walk" !important;
  }

  #modal-layer>#modal-route-launcher .route-launch-group-card {
    grid-template-columns: minmax(0, 1fr) max-content !important;
  }

  #modal-layer>#modal-route-launcher .route-launch-group-meta {
    grid-column: 1 !important;
  }
}

/* Targeting profile density lock: keep the left creature column sharp without vertical bloat. */
#modal-layer>#modal-targeting .route-hunt-profile-panel {
  --modal-stepper-height: 24px;
  --modal-stepper-width: 76px;
  --modal-stepper-chevron-width: 15px;
  --modal-stepper-chevron-inset: 2px;
  gap: 5px !important;
  padding: 5px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .targeting-column-kicker {
  min-height: 20px !important;
  padding: 3px 6px !important;
  font-size: 8px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-list {
  gap: 5px !important;
  padding: 1px 3px 1px 1px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-row {
  gap: 4px !important;
  margin: 0 !important;
  padding: 5px 6px 6px 8px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-head {
  min-height: 22px !important;
  gap: 4px !important;
  padding-bottom: 2px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-title {
  gap: 5px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-priority {
  min-height: 17px !important;
  padding: 1px 5px !important;
  font-size: 8px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-name {
  font-size: 11px !important;
  line-height: 1.08 !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-actions {
  gap: 2px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-actions .btn {
  min-width: 38px !important;
  min-height: 20px !important;
  padding: 1px 5px !important;
  font-size: 8px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid {
  gap: 3px 6px !important;
  padding: 3px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.module-rule-control:not(.module-rule-check) {
  min-height: 0 !important;
  padding: 2px 4px !important;
  gap: 1px 4px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.module-rule-control>span:not(.modal-number-stepper) {
  font-size: 8px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.module-rule-control:has(input[type="number"]) {
  grid-template-columns: max-content var(--modal-stepper-width) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.module-rule-control:has(select) {
  grid-template-rows: min-content 22px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid select {
  min-height: 22px !important;
  height: 22px !important;
  padding-block: 1px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .compact-profile-flags {
  gap: 3px 4px !important;
  padding-top: 0 !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .compact-profile-flags .target-profile-check {
  min-height: 22px !important;
  padding: 2px 5px !important;
  gap: 5px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .compact-profile-flags .target-profile-check>span:not(.visually-hidden) {
  font-size: 8px !important;
  line-height: 1.05 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill {
  gap: 3px !important;
  padding: 3px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill-head {
  min-height: 20px !important;
  gap: 4px !important;
  font-size: 8px !important;
  line-height: 1.05 !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill-preset {
  gap: 3px !important;
  font-size: 8px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill-preset select {
  min-height: 20px !important;
  height: 20px !important;
  max-width: 96px !important;
  padding-block: 1px !important;
  font-size: 8px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill-vocations,
#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill-grid {
  gap: 3px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill-vocation,
#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill-check {
  min-height: 21px !important;
  padding: 2px 4px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill-summary {
  font-size: 8px !important;
  line-height: 1.05 !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill-vocation>span:not(.visually-hidden),
#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill-check>span:not(.visually-hidden) {
  font-size: 8px !important;
  line-height: 1.05 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-team-kill-check :is(strong, small) {
  display: inline !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  #modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-row {
    padding: 5px !important;
  }

  #modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.module-rule-control:has(input[type="number"]) {
    grid-template-columns: minmax(0, 1fr) var(--modal-stepper-width) !important;
  }

  #modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.module-rule-control:has(select) {
    grid-template-rows: min-content 22px !important;
  }
}

/* Route grid hard lock: left preview wider, right editor narrower, ten columns. */
#modal-layer>#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(546px, 1.05fr) minmax(280px, 0.52fr) minmax(285px, 0.532fr) !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-main-column {
  min-width: 0 !important;
  min-height: 0 !important;
  grid-template-rows: minmax(0, 1fr) auto auto !important;
}

#modal-layer>#modal-autowalk .route-main-column .route-overview-card {
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-content: stretch !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-main-column :is(.route-overview-grid, .route-toggle-grid, #route-overview-note) {
  display: none !important;
}

#modal-layer>#modal-autowalk .route-main-column .route-live-preview-shell {
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  padding: 4px !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  border: 1px solid var(--route-modal-panel-border) !important;
  border-radius: 6px !important;
  background: var(--route-modal-panel-bg) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-main-column .route-live-preview-shell[data-marked="true"] {
  grid-template-rows: auto minmax(0, 1fr) !important;
}

#modal-layer>#modal-autowalk #route-live-preview.waypoint-preview-live,
#modal-layer>#modal-autowalk #route-live-preview.waypoint-square-grid {
  --route-waypoint-columns: 10 !important;
  --route-waypoint-grid-gap: 2px !important;
  --route-waypoint-tile-min-size: 0px !important;
  --route-waypoint-tile-size: calc((100% - ((var(--route-waypoint-rows) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-rows)) !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 2px !important;
  display: grid !important;
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(var(--route-waypoint-rows, 1), minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  gap: var(--route-waypoint-grid-gap) !important;
  align-content: start !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-autowalk #route-live-preview .route-live-waypoint.waypoint-chip,
#modal-layer>#modal-autowalk #route-live-preview .route-live-waypoint {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk #route-live-preview .route-live-waypoint-main {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

#modal-layer>#modal-autowalk #route-live-preview .route-live-stage-waypoint {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 5px !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto auto !important;
  gap: 2px !important;
  border: 1px dashed rgba(var(--waypoint-rgb, 148, 163, 184), 0.5) !important;
  border-radius: 4px !important;
  background:
    linear-gradient(135deg, rgba(var(--waypoint-rgb, 148, 163, 184), 0.14), rgba(22, 27, 25, 0.92)) !important;
  color: rgba(244, 247, 242, 0.9) !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk #route-live-preview .route-live-stage-waypoint.selected {
  border-style: solid !important;
  border-color: rgba(255, 202, 92, 0.9) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 232, 156, 0.16),
    0 0 14px rgba(255, 202, 92, 0.18) !important;
}

#modal-layer>#modal-autowalk #route-live-preview .route-live-stage-waypoint>strong {
  min-width: 0 !important;
  font-size: 10px !important;
  line-height: 1.08 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk #waypoint-list.route-stack-waypoint-grid {
  --route-waypoint-columns: 10 !important;
  --route-waypoint-grid-gap: 3px !important;
  --route-waypoint-tile-min-size: 0px !important;
  --route-waypoint-tile-size: calc((100% - ((var(--route-waypoint-columns) - 1) * var(--route-waypoint-grid-gap))) / var(--route-waypoint-columns)) !important;
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max(42px, var(--route-waypoint-tile-size)) !important;
  align-content: start !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

@media (max-width: 900px) {
  #modal-layer>#modal-autowalk .route-main-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Route panel repair: the preview panel owns the height; the grid owns scrolling. */
#modal-layer>#modal-autowalk .route-toolbar-row,
#modal-layer>#modal-autowalk .route-modal-head-grid {
  grid-template-columns: minmax(220px, 1.02fr) minmax(410px, 1.45fr) minmax(270px, 1.15fr) 86px !important;
  gap: 6px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-autowalk .route-library-select-wrap select {
  padding-right: 84px !important;
}

#modal-layer>#modal-autowalk .route-library-select-wrap,
#modal-layer>#modal-autowalk .route-name-input-wrap {
  min-height: var(--route-modal-control-height) !important;
  height: var(--route-modal-control-height) !important;
}

#modal-layer>#modal-autowalk #load-route.route-load-button,
#modal-layer>#modal-autowalk .route-name-input-wrap .route-rename-button {
  width: 72px !important;
  min-width: 72px !important;
  height: calc(var(--route-modal-control-height) - 6px) !important;
  min-height: calc(var(--route-modal-control-height) - 6px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 8px !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-autowalk #load-route.route-load-button:hover:not(:disabled),
#modal-layer>#modal-autowalk .route-name-input-wrap .route-rename-button:hover:not(:disabled) {
  border-color: rgba(127, 147, 168, 0.9) !important;
  background: rgba(29, 38, 48, 0.96) !important;
  color: #eef2f5 !important;
}

#modal-layer>#modal-autowalk .route-file-info-block {
  min-height: 30px !important;
  height: auto !important;
  max-height: none !important;
  padding: 3px 7px !important;
  grid-template-columns: minmax(92px, max-content) minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 8px !important;
  row-gap: 2px !important;
}

#modal-layer>#modal-autowalk .route-file-info-block strong {
  align-self: center !important;
  font-size: 9.5px !important;
  line-height: 1.05 !important;
}

#modal-layer>#modal-autowalk .route-file-info-block>#route-file-path {
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 4px !important;
  overflow: hidden !important;
  text-align: right !important;
}

#modal-layer>#modal-autowalk .route-file-meta-chip {
  min-width: 0 !important;
  max-width: 42% !important;
  padding: 1px 5px !important;
  display: inline-block !important;
  overflow: hidden !important;
  border: 1px solid rgba(92, 105, 120, 0.36) !important;
  border-radius: 4px !important;
  background: rgba(6, 10, 14, 0.58) !important;
  color: rgba(223, 229, 235, 0.84) !important;
  font-family: var(--mono) !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-file-info-block .route-validation-summary:not([hidden]) {
  grid-column: 1 / -1 !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-file-info-block .route-validation-summary[data-tone="warning"] {
  color: #e8bd73 !important;
}

#modal-layer>#modal-autowalk .route-file-info-block .route-validation-summary[data-tone="error"] {
  color: #ef9a8a !important;
}

#modal-layer>#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(612px, 1fr) minmax(296px, 0.48fr) minmax(330px, 0.56fr) !important;
  gap: 6px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-autowalk .route-main-column {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) min-content min-content !important;
  gap: 6px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-main-column .route-overview-card {
  min-height: 0 !important;
  height: 100% !important;
  padding: 6px !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  border: 1px solid var(--route-modal-panel-border) !important;
  border-radius: 6px !important;
  background: var(--route-modal-panel-bg) !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-main-column .route-live-preview-shell {
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-main-column .route-live-preview-shell[data-marked="true"] {
  grid-template-rows: auto minmax(0, 1fr) !important;
}

#modal-layer>#modal-autowalk #route-live-preview.waypoint-preview-live,
#modal-layer>#modal-autowalk #route-live-preview.waypoint-square-grid {
  --route-waypoint-columns: 10 !important;
  --route-waypoint-grid-gap: 2px !important;
  --route-waypoint-cell-size: 58px;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  grid-auto-rows: var(--route-waypoint-cell-size) !important;
  gap: var(--route-waypoint-grid-gap) !important;
  align-content: start !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  border-radius: 4px !important;
  background: #05090d !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-autowalk #route-live-preview .route-live-waypoint.waypoint-chip,
#modal-layer>#modal-autowalk #route-live-preview .route-live-waypoint {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  overflow: hidden !important;
  border-color: rgba(122, 210, 238, 0.48) !important;
  border-radius: 3px !important;
  background: rgba(22, 46, 55, 0.9) !important;
  box-shadow: inset 0 0 0 1px rgba(169, 226, 243, 0.08) !important;
  contain: layout paint style !important;
}

#modal-layer>#modal-autowalk #route-live-preview .route-live-waypoint:hover,
#modal-layer>#modal-autowalk #route-live-preview .route-live-waypoint:focus-within {
  border-color: rgba(158, 230, 247, 0.72) !important;
  background: rgba(25, 55, 66, 0.96) !important;
  box-shadow: inset 0 0 0 1px rgba(191, 236, 249, 0.12) !important;
}

#modal-layer>#modal-autowalk #route-live-preview .route-live-waypoint.current {
  border-color: rgba(143, 190, 100, 0.78) !important;
  box-shadow:
    inset 0 0 0 1px rgba(185, 229, 129, 0.2),
    0 0 0 1px rgba(143, 190, 100, 0.28) !important;
}

#modal-layer>#modal-autowalk #route-live-preview .route-live-waypoint-main {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 4px 15px 17px 4px !important;
  gap: 2px !important;
}

#modal-layer>#modal-autowalk .route-stack-card-main {
  height: auto !important;
  min-height: 0 !important;
  padding: 5px 6px !important;
  display: grid !important;
  grid-template-rows: min-content !important;
  gap: 0 !important;
  align-content: center !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-stack-card-main .route-stack-card-head {
  min-height: 0 !important;
}

#modal-layer>#modal-autowalk .route-panel-action-grid-waypoints {
  grid-template-columns: minmax(0, 2fr) repeat(2, minmax(86px, 0.55fr)) !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-panel-action-grid-waypoints .btn {
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 8px !important;
}

#modal-layer>#modal-autowalk .route-hazard-row {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(132px, max-content) !important;
  grid-template-areas:
    "label toggle"
    "categories categories"
    "summary summary" !important;
  align-items: start !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-hazard-label {
  grid-area: label !important;
  align-self: center !important;
  color: #d7c391 !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

#modal-layer>#modal-autowalk #route-avoid-category-grid.route-avoid-category-grid {
  grid-area: categories !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 5px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-autowalk .route-avoid-category {
  min-width: 0 !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 5px 4px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(17px, min-content) var(--toggle-height) !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 3px !important;
  border-radius: 5px !important;
  overflow: visible !important;
}

#modal-layer>#modal-autowalk .route-avoid-category-copy {
  min-width: 0 !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
}

#modal-layer>#modal-autowalk .route-avoid-category-copy strong {
  display: block !important;
  overflow: visible !important;
  color: inherit !important;
  font-size: 8px !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  text-align: center !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer>#modal-autowalk .route-avoid-category>input[type="checkbox"] {
  position: static !important;
  inset: auto !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  max-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  max-height: var(--toggle-height) !important;
  margin: 0 !important;
  opacity: 1 !important;
}

#modal-layer>#modal-autowalk .route-avoid-toggle {
  grid-area: toggle !important;
  width: 100% !important;
  min-width: 132px !important;
  max-width: 170px !important;
  min-height: 31px !important;
  height: auto !important;
  padding: 5px 7px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 7px !important;
  border-radius: 5px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-avoid-toggle-copy {
  display: grid !important;
  gap: 1px !important;
  text-align: left !important;
}

#modal-layer>#modal-autowalk .route-avoid-toggle-copy strong,
#modal-layer>#modal-autowalk .route-avoid-toggle-copy small {
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-avoid-toggle input[type="checkbox"],
#modal-layer>#modal-autowalk .route-avoid-toggle-control {
  position: static !important;
  inset: auto !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  max-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  max-height: var(--toggle-height) !important;
  margin: 0 !important;
  opacity: 1 !important;
}

#modal-layer>#modal-autowalk #route-avoid-summary-copy {
  grid-area: summary !important;
  display: block !important;
  min-width: 0 !important;
  color: rgba(223, 229, 235, 0.62) !important;
  font-size: 8px !important;
  line-height: 1.2 !important;
}

#modal-layer>#modal-autowalk .route-item-shared-title-grid {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px !important;
  align-items: end !important;
}

#modal-layer>#modal-autowalk .route-item-shared-title-grid>.route-coordinate-field {
  min-width: 0 !important;
}

#modal-layer>#modal-autowalk .route-item-shared-title-grid .route-editor-mode-toggle {
  width: 132px !important;
  max-width: 132px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 3px !important;
}

#modal-layer>#modal-autowalk .route-item-shared-title-grid .route-editor-mode-toggle .btn {
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 6px !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-storage {
  grid-template-columns: minmax(92px, 1fr) minmax(92px, 1fr) minmax(62px, 0.42fr) !important;
  gap: 7px !important;
  align-items: end !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid {
  display: grid !important;
  grid-template-columns: minmax(138px, 1fr) minmax(64px, 0.46fr) minmax(88px, 0.58fr) !important;
  justify-content: stretch !important;
  gap: 7px !important;
  align-items: end !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid>label {
  min-width: 0 !important;
  white-space: normal !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid select {
  width: 100% !important;
  max-width: none !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-step-radius),
#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-wait-seconds) {
  justify-self: stretch !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-step-radius) .modal-number-stepper,
#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-step-radius) .modal-number-stepper-input {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-wait-seconds) .modal-number-stepper,
#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-wait-seconds) .modal-number-stepper-input {
  width: 82px !important;
  min-width: 82px !important;
  max-width: 82px !important;
}

@media (max-width: 1260px) {
  #modal-layer>#modal-autowalk .route-main-layout {
    grid-template-columns: minmax(560px, 1fr) minmax(284px, 0.48fr) minmax(318px, 0.56fr) !important;
  }
}

@media (max-width: 1120px) {
  #modal-layer>#modal-autowalk .route-main-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    overflow-y: auto !important;
  }

  #modal-layer>#modal-autowalk .route-toolbar-row,
  #modal-layer>#modal-autowalk .route-modal-head-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 86px !important;
  }

  #modal-layer>#modal-autowalk .route-file-info-block {
    grid-column: 1 / -1 !important;
    order: 4 !important;
  }
}

/* Final live-tab and shared route editor alignment overrides. */
.bot-tab-head,
.app:not([data-view-mode="compact"]) .bot-tab-head {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(13px, auto) auto !important;
  grid-template-areas: none !important;
  gap: 2px !important;
  align-items: center !important;
  align-content: center !important;
}

.bot-tab-route-row,
.app:not([data-view-mode="compact"]) .bot-tab-route-row {
  min-width: 0 !important;
  min-height: 14px !important;
  padding: 0 4px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 1px max-content !important;
  gap: 4px !important;
  align-items: center !important;
  border: 1px solid rgba(169, 141, 99, 0.22) !important;
  background: rgba(255, 255, 255, 0.025) !important;
  overflow: hidden !important;
}

.bot-tab-route-divider {
  width: 1px !important;
  height: 9px !important;
  justify-self: center !important;
  background: rgba(169, 141, 99, 0.34) !important;
}

.bot-tab-select .bot-tab-session-name,
.app:not([data-view-mode="compact"]) .bot-tab-select .bot-tab-session-name {
  min-width: 0 !important;
  width: 100% !important;
  justify-self: center !important;
  color: #e7ebee;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

.bot-tab-state,
.app:not([data-view-mode="compact"]) .bot-tab-state {
  min-width: 0 !important;
  max-width: 100% !important;
  display: block !important;
  min-height: 11px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  justify-self: stretch !important;
  line-height: 11px !important;
  text-align: left !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.bot-tab-state.route,
.app:not([data-view-mode="compact"]) .bot-tab-state.route {
  color: #f6e4bc !important;
  font-size: 9px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.bot-tab-waypoint,
.app:not([data-view-mode="compact"]) .bot-tab-waypoint {
  min-width: max-content !important;
  justify-self: end !important;
  align-self: center !important;
  font-size: 9px !important;
  font-weight: 720 !important;
  line-height: 1 !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.bot-tab-metrics,
.app:not([data-view-mode="compact"]) .bot-tab-metrics {
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 2px !important;
  overflow: visible !important;
}

.bot-tab-vitals,
.app:not([data-view-mode="compact"]) .bot-tab-vitals {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 12px !important;
  padding: 0 3px !important;
  display: grid !important;
  grid-template-columns: minmax(24px, max-content) minmax(24px, max-content) minmax(24px, max-content) !important;
  gap: 3px !important;
  align-items: center !important;
  border: 1px solid rgba(58, 70, 83, 0.9) !important;
  background: rgba(255, 255, 255, 0.025) !important;
  color: #aeb8c2 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.bot-tab-vitals-divider,
.app:not([data-view-mode="compact"]) .bot-tab-vitals-divider {
  width: 1px !important;
  height: 8px !important;
  justify-self: center !important;
  background: rgba(148, 163, 184, 0.28) !important;
}

.bot-tab.active .bot-tab-vitals,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-vitals {
  border-color: rgba(215, 188, 112, 0.36) !important;
  background: rgba(215, 188, 112, 0.06) !important;
  color: #d9cca2 !important;
}

.bot-tab.active .bot-tab-vitals-divider,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-vitals-divider {
  background: rgba(215, 188, 112, 0.42) !important;
}

.bot-tab-metric,
.app:not([data-view-mode="compact"]) .bot-tab-metric {
  flex: 0 0 auto !important;
  min-width: max-content !important;
  max-width: none !important;
  box-sizing: border-box !important;
  justify-content: center !important;
  overflow: visible !important;
  text-overflow: clip !important;
  letter-spacing: 0 !important;
}

.bot-tab-vitals .bot-tab-metric,
.app:not([data-view-mode="compact"]) .bot-tab-vitals .bot-tab-metric,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-vitals .bot-tab-metric {
  min-width: 0 !important;
  min-height: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

.bot-tab-metric.health,
.bot-tab-metric.mana,
.app:not([data-view-mode="compact"]) .bot-tab-metric.health,
.app:not([data-view-mode="compact"]) .bot-tab-metric.mana {
  min-width: 24px !important;
  padding-inline: 3px !important;
}

.bot-tab-metric-label,
.bot-tab-metric-value,
.app:not([data-view-mode="compact"]) .bot-tab-metric-label,
.app:not([data-view-mode="compact"]) .bot-tab-metric-value {
  min-width: max-content !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.bot-tab-metric.hunger,
.app:not([data-view-mode="compact"]) .bot-tab-metric.hunger {
  min-width: 12px !important;
  width: 12px !important;
  padding: 0 !important;
  color: #cbd5e1 !important;
  border-color: rgba(148, 163, 184, 0.34) !important;
  background: rgba(148, 163, 184, 0.08) !important;
  font-size: 8px !important;
  text-transform: none !important;
}

.bot-tab-metric.hunger-starving,
.app:not([data-view-mode="compact"]) .bot-tab-metric.hunger-starving {
  color: #d09a62 !important;
  border-color: rgba(185, 126, 73, 0.5) !important;
  background: rgba(185, 126, 73, 0.12) !important;
}

.bot-tab-metric.hunger-unknown,
.app:not([data-view-mode="compact"]) .bot-tab-metric.hunger-unknown {
  opacity: 0.72 !important;
}

.bot-tab-vitals .bot-tab-metric.hunger,
.app:not([data-view-mode="compact"]) .bot-tab-vitals .bot-tab-metric.hunger,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-vitals .bot-tab-metric.hunger {
  margin-left: 0 !important;
  border: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
}

.bot-tabs[data-density="condensed"] .bot-tab-state.route {
  font-size: 8px !important;
}

.bot-tabs[data-density="condensed"] .bot-tab-waypoint {
  font-size: 8px !important;
}

.bot-tabs[data-density="condensed"] .bot-tab-vitals {
  min-height: 10px !important;
  padding: 0 2px !important;
  grid-template-columns: minmax(22px, max-content) minmax(22px, max-content) minmax(22px, max-content) !important;
  gap: 2px !important;
}

.bot-tabs[data-density="condensed"] .bot-tab-metric.health,
.bot-tabs[data-density="condensed"] .bot-tab-metric.mana {
  min-width: 22px !important;
  padding-inline: 2px !important;
}

.bot-tabs[data-density="condensed"] .bot-tab-metric.hunger {
  min-width: 10px !important;
  width: 10px !important;
  font-size: 7px !important;
}

.bot-tab-metric.health .bot-tab-metric-value,
.app:not([data-view-mode="compact"]) .bot-tab-metric.health .bot-tab-metric-value {
  color: #f06d64 !important;
}

.bot-tab-metric.mana .bot-tab-metric-value,
.app:not([data-view-mode="compact"]) .bot-tab-metric.mana .bot-tab-metric-value {
  color: #67a8ff !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-autowalk .route-item-shared-title-grid {
  grid-template-columns: minmax(0, 1fr) 132px !important;
  gap: 7px !important;
  align-items: end !important;
}

#modal-layer>#modal-autowalk .route-item-shared-title-grid .route-editor-mode-toggle {
  width: 132px !important;
  min-width: 132px !important;
  max-width: 132px !important;
  align-self: end !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-field {
  min-width: 0 !important;
  display: grid !important;
  grid-template-rows: auto 24px !important;
  gap: 3px !important;
  align-items: end !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-field>label,
#modal-layer>#modal-autowalk .route-editor-shared-panel label.route-coordinate-field {
  min-width: 0 !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel input,
#modal-layer>#modal-autowalk .route-editor-shared-panel select,
#modal-layer>#modal-autowalk .route-editor-shared-panel .btn {
  min-height: 24px !important;
  height: 24px !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-nudge-control {
  min-width: 0 !important;
  height: 24px !important;
  grid-template-columns: minmax(0, 1fr) 50px !important;
  gap: 4px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-nudge-control input {
  width: 100% !important;
  max-width: none !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-nudge-buttons {
  width: 50px !important;
  height: 24px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 3px !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-nudge-button {
  min-width: 0 !important;
  min-height: 24px !important;
  height: 24px !important;
}

/* Final compact modal standardisation: small editors keep distributed rows. */
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) {
  width: fit-content !important;
  min-width: min(280px, calc(100vw - 16px)) !important;
  max-width: calc(100vw - 16px) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .modal-body-module,
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) #module-extra-fields {
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) #module-extra-fields,
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-rows {
  width: max-content !important;
  max-width: calc(100vw - 28px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, max-content) !important;
  gap: 6px !important;
  align-items: start !important;
  align-content: start !important;
  justify-content: start !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-row {
  width: max-content !important;
  max-width: 100% !important;
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: max-content !important;
  grid-template-columns: none !important;
  gap: 6px !important;
  align-items: end !important;
  justify-content: start !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-row .module-rule-control {
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  justify-self: stretch !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-row .module-rule-control:not(.module-rule-check) {
  display: grid !important;
  grid-template-rows: min-content 24px !important;
  gap: 2px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-row .module-rule-control>span:not(.visually-hidden) {
  overflow: hidden !important;
  color: rgba(216, 204, 180, 0.82) !important;
  font-size: 9px !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-row :is(input:not([type="checkbox"]), select, textarea),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-row .modal-number-stepper,
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-row .modal-number-stepper-input {
  min-height: 24px !important;
  height: 24px !important;
  max-height: 24px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-row textarea {
  resize: none !important;
  overflow: auto !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-row .field-note {
  display: none !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-rule-control:has(input:not([type="checkbox"]):not([type="number"])) {
  width: min(100%, 176px) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-rule-control:has(select) {
  width: min(100%, 176px) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-rule-control:has(input[type="number"], .modal-number-stepper) {
  width: var(--modal-number-control) !important;
  max-width: var(--modal-number-control) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-rule-control:has(textarea) {
  width: min(100%, 220px) !important;
  max-width: min(100%, 220px) !important;
  grid-column: auto !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-rule-check {
  min-height: 22px !important;
  height: 22px !important;
  padding: 2px 6px !important;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr) !important;
  gap: 5px !important;
  align-self: end !important;
}

/*
 * Toggle labels must never ellipsis-truncate to unreadable stubs ("Ena…",
 * and worst of all two identical "Onl…" toggles on haste). The generic option-
 * row span rule (~L41487) forces `white-space: nowrap; text-overflow: ellipsis`
 * on EVERY `.module-rule-control>span`, toggles included. These two rules let
 * toggle labels wrap across as many lines as the cell needs and grow the toggle
 * box to fit. `.module-rule-control.module-rule-check` (two real classes on the
 * element) out-specifies that pass so this wins regardless of later passes.
 */
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-row .module-rule-control.module-rule-check {
  height: auto !important;
  min-height: 22px !important;
  align-items: center !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-row .module-rule-control.module-rule-check>span:not(.visually-hidden) {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  /* Wrap only at spaces - never shatter words into "Evide nce captu re". */
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  line-height: 1.12 !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] {
  width: fit-content !important;
  min-width: min(280px, calc(100vw - 16px)) !important;
  max-width: calc(100vw - 16px) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] [data-module-option-row="haste-main"] {
  grid-auto-flow: row !important;
  grid-template-columns: minmax(0, var(--haste-spell-width)) minmax(0, var(--haste-hotkey-width)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] [data-module-option-row="haste-gates"] {
  grid-auto-flow: row !important;
  grid-template-columns: repeat(3, minmax(0, var(--haste-number-width))) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] [data-module-option-row="haste-support"] {
  grid-auto-flow: row !important;
  grid-template-columns:
    minmax(0, var(--haste-fluid-toggle-width))
    minmax(0, var(--haste-fluid-name-width))
    minmax(0, var(--haste-fluid-hotkey-width))
    minmax(0, var(--haste-number-width)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] [data-module-option-row="haste-extra-4"] {
  grid-auto-flow: row !important;
  grid-template-columns: minmax(0, var(--haste-condition-width)) minmax(0, var(--haste-idle-width)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] {
  width: min(324px, calc(100vw - 16px)) !important;
  max-width: min(324px, calc(100vw - 16px)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .anti-paralyze-grid {
  width: max-content !important;
  max-width: 100% !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .anti-paralyze-row-1 {
  grid-auto-flow: row !important;
  grid-template-columns: minmax(0, var(--anti-paralyze-text-width)) minmax(0, var(--anti-paralyze-short-width)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="antiParalyze"] .anti-paralyze-row-2 {
  grid-auto-flow: row !important;
  grid-template-columns: repeat(3, minmax(0, var(--anti-paralyze-short-width))) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] {
  --pk-assist-mode-width: 188px;
  --pk-assist-action-width: 118px;
  --pk-assist-number-width: var(--modal-number-control);
  --pk-assist-toggle-width: 172px;
  --pk-assist-safety-toggle-width: 152px;
  --pk-assist-allies-width: 220px;
  width: fit-content !important;
  min-width: min(280px, calc(100vw - 16px)) !important;
  max-width: calc(100vw - 16px) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] [data-module-option-row="pkAssist-main"] {
  grid-auto-flow: row !important;
  grid-template-columns:
    minmax(0, var(--pk-assist-mode-width))
    minmax(0, var(--pk-assist-action-width))
    minmax(0, var(--pk-assist-action-width)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] [data-module-option-row="pkAssist-gates"] {
  grid-auto-flow: row !important;
  grid-template-columns: repeat(4, minmax(0, var(--pk-assist-number-width))) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] [data-module-option-row="pkAssist-support"] {
  grid-auto-flow: row !important;
  grid-template-columns:
    minmax(0, var(--pk-assist-number-width))
    minmax(0, var(--pk-assist-toggle-width))
    minmax(0, var(--pk-assist-number-width)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] [data-module-option-row="pk-allies"] {
  grid-auto-flow: row !important;
  grid-template-columns: minmax(0, var(--pk-assist-allies-width)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] [data-module-option-row="pkAssist-extra-5"] {
  grid-auto-flow: row !important;
  grid-template-columns: repeat(4, minmax(0, var(--pk-assist-safety-toggle-width))) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] [data-module-option-row="pkAssist-extra-6"] {
  grid-auto-flow: row !important;
  grid-template-columns:
    minmax(0, var(--pk-assist-allies-width))
    minmax(0, var(--pk-assist-number-width))
    minmax(0, var(--pk-assist-allies-width))
    minmax(0, var(--pk-assist-number-width)) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkAssistMode"]) {
  width: var(--pk-assist-mode-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkAssistComboHotkey"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkAssistComboWords"]) {
  width: var(--pk-assist-action-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkAssistRadiusSqm"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkAssistRetreatHealthPercent"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkAssistRetreatDistance"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkAssistCooldownMs"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkAssistComboRequiredRangeSqm"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkAssistComboMaxTargetHealthPercent"]) {
  width: var(--pk-assist-number-width) !important;
  max-width: var(--pk-assist-number-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkScreenshotCooldownMs"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkWarningCooldownMs"]) {
  width: var(--pk-assist-number-width) !important;
  max-width: var(--pk-assist-number-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkAssistComboRequireAllMembers"]) {
  width: var(--pk-assist-toggle-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="safetyEvidenceEnabled"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="deathScreenshotEnabled"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkScreenshotEnabled"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkWarningEnabled"]) {
  width: var(--pk-assist-safety-toggle-width) !important;
  max-width: var(--pk-assist-safety-toggle-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkAssistAllies"]) {
  width: var(--pk-assist-allies-width) !important;
  max-width: var(--pk-assist-allies-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="safetyEvidenceDir"]),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] .module-rule-control:has([data-module-option-field="pkWarningText"]) {
  width: var(--pk-assist-allies-width) !important;
  max-width: var(--pk-assist-allies-width) !important;
}

#modal-layer>#modal-accounts[data-modal-size-category="medium"] .account-registry-card .form-grid.two {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 168px), 1fr)) !important;
  gap: 6px !important;
  align-items: end !important;
}

#modal-layer>#modal-accounts[data-modal-size-category="medium"] .account-registry-card .route-picker-field {
  width: 100% !important;
  max-width: none !important;
}

#modal-layer>#modal-accounts[data-modal-size-category="medium"] .account-registry-wide-field {
  grid-column: span 2 !important;
  width: 100% !important;
  max-width: none !important;
}

#modal-layer>#modal-accounts[data-modal-size-category="medium"] .account-registry-wide-field textarea {
  min-height: 42px !important;
  height: 42px !important;
  max-height: 42px !important;
  resize: none !important;
}

@media (max-width: 620px) {
  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
  }

  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) #module-extra-fields {
    max-width: calc(100vw - 20px) !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
  }

  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) .module-option-rows {
    width: max-content !important;
  }

  #modal-layer>#modal-accounts[data-modal-size-category="medium"] .account-registry-wide-field {
    grid-column: auto !important;
  }
}

/* Rook Lord tier 2 modal. */
#modal-layer>#modal-module[data-active-module-key="rookiller"][data-modal-size-category="medium"] {
  --rookiller-border: rgba(169, 141, 99, 0.32);
  --rookiller-border-soft: rgba(92, 105, 120, 0.34);
  --rookiller-panel: rgba(10, 14, 18, 0.94);
  --rookiller-panel-soft: rgba(255, 255, 255, 0.035);
  --rookiller-accent: #d7c078;
  --rookiller-ok: #9fce72;
  --rookiller-info: #8fc7df;
  width: min(540px, calc(100vw - 12px)) !important;
  max-width: min(540px, calc(100vw - 12px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="rookiller"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="rookiller"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="rookiller"] #module-extra-fields.module-extra-fields-rookiller {
  width: 100% !important;
  max-height: none !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
}

.rookiller-modal-shell {
  min-width: 0;
  padding: 8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  border: 1px solid var(--rookiller-border);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent 42%),
    var(--rookiller-panel);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.rookiller-modal-top {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(126px, max-content);
  gap: 8px;
  align-items: stretch;
}

.rookiller-title-block {
  min-width: 0;
  display: grid;
  gap: 3px;
  align-content: center;
}

.rookiller-title-line {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.rookiller-title-line strong {
  color: var(--text);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0;
}

.rookiller-tier-badge,
.rookiller-state-pill {
  min-height: 18px;
  padding: 2px 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rookiller-border-soft);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.rookiller-tier-badge {
  border-color: rgba(215, 192, 120, 0.42);
  color: var(--rookiller-accent);
}

.rookiller-state-pill {
  color: #dce6ec;
}

.rookiller-modal-shell[data-rookiller-state="off"] .rookiller-state-pill {
  color: rgba(220, 230, 236, 0.58);
}

.rookiller-modal-shell[data-rookiller-state="armed"] .rookiller-state-pill,
.rookiller-modal-shell[data-rookiller-state="clearing"] .rookiller-state-pill {
  border-color: rgba(215, 192, 120, 0.46);
  color: var(--rookiller-accent);
}

.rookiller-modal-shell[data-rookiller-state="returning"] .rookiller-state-pill {
  border-color: rgba(143, 199, 223, 0.44);
  color: var(--rookiller-info);
}

.rookiller-modal-shell[data-rookiller-state="ready"] .rookiller-state-pill,
.rookiller-modal-shell[data-rookiller-state="disconnecting"] .rookiller-state-pill {
  border-color: rgba(159, 206, 114, 0.46);
  color: var(--rookiller-ok);
}

.rookiller-subtitle {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rookiller-arm-field {
  min-width: 0;
  min-height: 38px;
  padding: 6px 8px;
  display: grid;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  border: 1px solid var(--rookiller-border-soft);
  border-radius: 6px;
  background: var(--rookiller-panel-soft);
  cursor: pointer;
}

.rookiller-arm-field input[type="checkbox"] {
  width: var(--toggle-width);
  min-width: var(--toggle-width);
  height: var(--toggle-height);
  margin: 0;
}

.rookiller-arm-copy {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.rookiller-arm-copy strong,
.rookiller-arm-copy small {
  min-width: 0;
  overflow: hidden;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rookiller-arm-copy strong {
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
}

.rookiller-arm-copy small {
  color: var(--muted);
  font-size: 9px;
}

.rookiller-config-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.rookiller-config-grid .module-rule-control {
  min-width: 0;
  margin: 0;
}

.rookiller-route-load {
  min-height: 34px;
  align-self: end;
}

.rookiller-metric-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.rookiller-metric {
  min-width: 0;
  min-height: 62px;
  padding: 6px;
  display: grid;
  grid-template-rows: min-content minmax(15px, min-content) min-content;
  gap: 3px;
  align-content: center;
  border: 1px solid var(--rookiller-border-soft);
  border-radius: 5px;
  background: rgba(3, 6, 9, 0.36);
}

.rookiller-metric span,
.rookiller-metric small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rookiller-metric span {
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}

.rookiller-metric strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rookiller-metric small {
  font-size: 9px;
}

.rookiller-flow {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.rookiller-flow-step {
  min-width: 0;
  min-height: 24px;
  padding: 4px 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rookiller-border-soft);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.025);
  color: rgba(220, 230, 236, 0.58);
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rookiller-modal-shell[data-rookiller-stage="watch"] [data-rookiller-flow-step="watch"],
.rookiller-modal-shell[data-rookiller-stage="return"] [data-rookiller-flow-step="watch"],
.rookiller-modal-shell[data-rookiller-stage="return"] [data-rookiller-flow-step="return"],
.rookiller-modal-shell[data-rookiller-stage="logout"] .rookiller-flow-step {
  border-color: rgba(215, 192, 120, 0.44);
  background: rgba(215, 192, 120, 0.08);
  color: #f0dc9a;
}

.rookiller-modal-shell[data-rookiller-stage="return"] [data-rookiller-flow-step="return"] {
  border-color: rgba(143, 199, 223, 0.5);
  background: rgba(143, 199, 223, 0.08);
  color: #bde8f6;
}

.rookiller-modal-shell[data-rookiller-stage="logout"] [data-rookiller-flow-step="logout"] {
  border-color: rgba(159, 206, 114, 0.5);
  background: rgba(159, 206, 114, 0.08);
  color: #d8efb7;
}

@media (max-width: 520px) {
  .rookiller-modal-top,
  .rookiller-config-grid,
  .rookiller-metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .rookiller-flow-step {
    padding-inline: 4px;
    font-size: 8px;
  }
}

/* Cave Recorder settings and editor readability pass. */
#modal-layer>#modal-autowalk .route-toolbar-row,
#modal-layer>#modal-autowalk .route-modal-head-grid {
  grid-template-columns: minmax(248px, 1.05fr) minmax(370px, 1.42fr) minmax(250px, 1fr) 86px !important;
  align-items: center !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-library-select-wrap select {
  padding-right: 90px !important;
}

#modal-layer>#modal-autowalk #load-route.route-load-button {
  top: 2px !important;
  right: 2px !important;
  bottom: 2px !important;
  width: 78px !important;
  min-width: 78px !important;
  height: calc(var(--route-modal-control-height) - 4px) !important;
  min-height: calc(var(--route-modal-control-height) - 4px) !important;
  padding: 0 10px !important;
  border-color: rgba(91, 170, 241, 0.92) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent 45%),
    linear-gradient(180deg, #1f5f9f, #123a66) !important;
  color: #edf7ff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

#modal-layer>#modal-autowalk .route-file-info-block {
  min-height: var(--route-modal-control-height) !important;
  height: var(--route-modal-control-height) !important;
  max-height: var(--route-modal-control-height) !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center !important;
  padding: 3px 7px !important;
}

#modal-layer>#modal-autowalk .route-file-info-block>#route-file-path {
  justify-content: flex-start !important;
  gap: 4px !important;
  text-align: left !important;
}

#modal-layer>#modal-autowalk .route-file-meta-chip {
  max-width: none !important;
  border-color: rgba(98, 116, 134, 0.42) !important;
  background: rgba(15, 23, 31, 0.94) !important;
  color: rgba(239, 244, 248, 0.9) !important;
}

#modal-layer>#modal-autowalk .route-file-info-block .route-validation-summary:not([hidden]) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  max-width: 46% !important;
  padding-left: 6px !important;
}

#modal-layer>#modal-autowalk .route-record-settings-bar {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(118px, 0.38fr) minmax(0, 1fr) !important;
  gap: 6px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-autowalk .route-record-settings-button {
  min-height: 32px !important;
  height: 32px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 8px !important;
  border-color: rgba(86, 150, 99, 0.72) !important;
  background: linear-gradient(180deg, #223528, #142018) !important;
}

#modal-layer>#modal-autowalk .route-record-settings-button[data-state="on"] {
  border-color: rgba(91, 202, 114, 0.95) !important;
  background: linear-gradient(180deg, #2e7d32, #1d5e24) !important;
  color: #f4fff4 !important;
}

#modal-layer>#modal-autowalk .route-record-settings-button span,
#modal-layer>#modal-autowalk .route-record-settings-button strong {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-record-settings-status {
  min-width: 0 !important;
  min-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 8px !important;
  overflow: hidden !important;
  border: 1px solid rgba(93, 111, 130, 0.55) !important;
  border-radius: 5px !important;
  background: rgba(13, 19, 25, 0.96) !important;
  color: rgba(235, 241, 246, 0.88) !important;
  font-family: var(--mono) !important;
  font-size: 8.5px !important;
  font-weight: 750 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-record-settings-status[data-state="on"] {
  border-color: rgba(91, 202, 114, 0.76) !important;
  color: #d9ffd8 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecorderType),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordWaypointType) {
  grid-column: span 3 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordStep),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#waypointRadius),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordWaypointWaitSeconds),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#walkRepathMs),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#vocation),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#sustainCooldownMs) {
  grid-column: span 2 !important;
}

#modal-layer>#modal-autowalk .route-record-box-lure-defaults {
  grid-template-columns: minmax(0, 1fr) minmax(90px, 0.48fr) !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-checks {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-drive-card :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-autowalk .route-editor-card :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-autowalk .route-editor-panel :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-autowalk .route-editor-shared-panel :is(input:not([type="checkbox"]), select) {
  min-width: 0 !important;
  border: 1px solid rgba(82, 105, 127, 0.86) !important;
  background: #101821 !important;
  color: #f3f7fa !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -1px 0 rgba(0, 0, 0, 0.36) !important;
  opacity: 1 !important;
}

#modal-layer>#modal-autowalk .route-drive-card :is(input:not([type="checkbox"]), select):focus,
#modal-layer>#modal-autowalk .route-editor-card :is(input:not([type="checkbox"]), select):focus,
#modal-layer>#modal-autowalk .route-editor-panel :is(input:not([type="checkbox"]), select):focus,
#modal-layer>#modal-autowalk .route-editor-shared-panel :is(input:not([type="checkbox"]), select):focus {
  border-color: rgba(125, 181, 235, 0.96) !important;
  outline: 1px solid rgba(93, 160, 224, 0.48) !important;
  outline-offset: 0 !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel,
#modal-layer>#modal-autowalk .route-editor-panel {
  border-color: rgba(64, 86, 106, 0.78) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 48%),
    #0d141b !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-field,
#modal-layer>#modal-autowalk .route-editor-panel .route-coordinate-field,
#modal-layer>#modal-autowalk .route-waypoint-grid>label {
  color: rgba(226, 233, 239, 0.9) !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-storage {
  grid-template-columns: minmax(104px, 1fr) minmax(104px, 1fr) 68px !important;
  gap: 7px !important;
}

#modal-layer>#modal-autowalk .route-coordinate-z-field,
#modal-layer>#modal-autowalk .route-coordinate-z-field .modal-number-stepper,
#modal-layer>#modal-autowalk .route-coordinate-z-field .modal-number-stepper-input {
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
}

#modal-layer>#modal-autowalk .route-coordinate-nudge-control {
  grid-template-columns: minmax(0, 1fr) 52px !important;
}

#modal-layer>#modal-autowalk .route-coordinate-nudge-buttons {
  width: 52px !important;
  min-width: 52px !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid {
  grid-template-columns: minmax(150px, 1fr) 68px 90px !important;
  gap: 7px !important;
  align-items: end !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-step-radius) .modal-number-stepper,
#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-step-radius) .modal-number-stepper-input {
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-wait-seconds) .modal-number-stepper,
#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-wait-seconds) .modal-number-stepper-input {
  width: 90px !important;
  min-width: 90px !important;
  max-width: 90px !important;
}

@media (max-width: 1260px) {
  #modal-layer>#modal-autowalk .route-toolbar-row,
  #modal-layer>#modal-autowalk .route-modal-head-grid {
    grid-template-columns: minmax(220px, 1fr) minmax(300px, 1.2fr) minmax(210px, 0.9fr) 82px !important;
  }

  #modal-layer>#modal-autowalk .route-tune-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecorderType),
  #modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordWaypointType) {
    grid-column: span 2 !important;
  }

  #modal-layer>#modal-autowalk .route-checks {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Main window control-panel contract: final density, alignment, and overflow guardrails. */
:root {
  --mw-gap-1: 2px;
  --mw-gap-2: 3px;
  --mw-gap-3: 5px;
  --mw-radius: 4px;
  --mw-control-h: 24px;
  --mw-module-card-h: 44px;
  --mw-module-control-h: 38px;
  --mw-card-bg: #0c1218;
  --mw-card-bg-hover: #101821;
  --mw-card-border: rgba(53, 63, 75, 0.94);
  --mw-panel-bg: #080d12;
  --desk-side-panel-slot-count: 9;
  --desk-side-panel-slot-height: var(--mw-module-card-h);
  --desk-side-panel-slot-gap: var(--mw-gap-2);
  --desk-side-panel-bg: var(--mw-panel-bg);
  --desk-side-panel-border: var(--mw-card-border);
  --desk-route-control-height: 28px;
  --mw-label: #9ea8b3;
  --mw-title: #e6eaee;
  --mw-value: #cfd7df;
  --mw-tab-title-font-size: 10px;
  --mw-tab-meta-font-size: 7px;
  --mw-tab-control-font-size: 8px;
  --mw-header-action-font-size: 8px;
  --mw-header-action-kicker-font-size: 7px;
  --mw-module-label-font-size: 7px;
  --mw-module-value-font-size: 10px;
}

.window-frame>.app:not([data-view-mode="compact"]) {
  width: min(var(--desk-shell-width), 100vw);
  max-width: 100vw;
  align-content: start;
  gap: 5px;
}

.window-frame>.app:not([data-view-mode="compact"]) :is(.top-strip, .dashboard-shell) {
  width: 100% !important;
  max-width: none !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .top-strip {
  padding: 2px;
  border-color: var(--mw-card-border);
  background: var(--mw-panel-bg);
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab {
  border-color: var(--mw-card-border);
  border-radius: var(--mw-radius);
  background: #0c141c;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-select {
  padding: 2px 4px;
  border-color: rgba(43, 53, 64, 0.96);
  border-radius: 3px;
  background: #0f1720;
  grid-template-rows: auto minmax(11px, auto);
  gap: 2px;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-head,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-route-row {
  min-width: 0 !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-route-row {
  min-height: 13px !important;
  padding: 0 4px !important;
  gap: 4px !important;
  border-color: rgba(62, 74, 88, 0.72) !important;
  border-radius: 3px;
  background: rgba(5, 9, 13, 0.48) !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-route-divider {
  height: 9px !important;
  background: rgba(86, 99, 115, 0.68) !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-session-name {
  color: var(--mw-title) !important;
  font-size: var(--mw-tab-title-font-size) !important;
  font-weight: 800 !important;
  line-height: 1.04 !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-state {
  color: var(--mw-label) !important;
  font-size: var(--mw-tab-meta-font-size) !important;
  font-weight: 750 !important;
  letter-spacing: 0.03em !important;
  line-height: 11px !important;
  text-transform: none !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-state.route {
  color: #ead7aa !important;
  font-size: var(--mw-tab-meta-font-size) !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-waypoint {
  color: #c0cad4 !important;
  font-size: var(--mw-tab-meta-font-size) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-metrics {
  min-height: 12px;
  gap: 3px !important;
  align-items: center;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-metric {
  min-height: 12px !important;
  padding: 0 3px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 3px;
  font-size: var(--mw-tab-meta-font-size) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-toggle {
  min-height: 0 !important;
  padding: 0 2px !important;
  border-radius: 3px;
  font-size: var(--mw-tab-control-font-size) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .desk-panel {
  padding: 5px;
  gap: var(--mw-gap-3);
  border-color: var(--mw-card-border);
  background: var(--mw-panel-bg);
}

.window-frame>.app:not([data-view-mode="compact"]) .control-card .quick-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--mw-gap-2);
  align-items: start;
  align-content: start;
}

.window-frame>.app:not([data-view-mode="compact"]) .control-card .quick-module-column {
  grid-auto-rows: minmax(var(--mw-module-card-h), max-content) !important;
  gap: var(--mw-gap-2);
}

.window-frame>.app:not([data-view-mode="compact"]) .quick-module-card {
  min-height: var(--mw-module-card-h);
  grid-template-columns: minmax(0, 1fr) 54px;
  gap: 2px;
  padding: 2px;
  border-color: var(--mw-card-border);
  border-radius: var(--mw-radius);
  background: var(--mw-card-bg);
  overflow: hidden;
}

.window-frame>.app:not([data-view-mode="compact"]) .quick-module-card:hover,
.window-frame>.app:not([data-view-mode="compact"]) .quick-module-card:focus-within {
  border-color: rgba(95, 111, 130, 0.94);
  background: var(--mw-card-bg-hover);
}

.window-frame>.app:not([data-view-mode="compact"]) .control-card .quick-module-open {
  min-height: var(--mw-module-control-h);
  padding: 3px 6px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: min-content minmax(0, 1fr);
  gap: 1px;
  align-content: center;
  justify-content: stretch;
  justify-items: start;
  text-align: left;
}

.window-frame>.app:not([data-view-mode="compact"]) .quick-module-open span,
.window-frame>.app:not([data-view-mode="compact"]) .quick-module-toggle span {
  color: var(--mw-title);
  font-size: var(--mw-module-label-font-size);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.05;
  text-transform: uppercase;
}

.window-frame>.app:not([data-view-mode="compact"]) .quick-module-open span,
.window-frame>.app:not([data-view-mode="compact"]) .quick-module-open strong {
  width: 100%;
  justify-self: stretch;
  text-align: left;
}

.window-frame>.app:not([data-view-mode="compact"]) .quick-module-open strong {
  color: var(--mw-value);
  font-size: var(--mw-module-value-font-size);
  font-weight: 750;
  line-height: 1.08;
  -webkit-line-clamp: 2;
}

.window-frame>.app:not([data-view-mode="compact"]) .quick-module-toggle {
  width: 54px;
  min-width: 54px;
  min-height: var(--mw-module-control-h);
  height: var(--mw-module-control-h);
  padding: 3px 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1px;
  text-align: center;
}

.window-frame>.app:not([data-view-mode="compact"]) .quick-module-toggle strong {
  max-width: 100%;
  font-size: var(--mw-module-value-font-size);
  font-weight: 850;
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.window-frame>.app:not([data-view-mode="compact"]) :is(.quick-module-slot-placeholder, .quick-module-global-placeholder) {
  min-height: var(--mw-module-card-h);
  height: var(--mw-module-card-h);
}

.window-frame>.app:not([data-view-mode="compact"]) .quick-module-placeholder-body {
  min-height: var(--mw-module-control-h);
  height: var(--mw-module-control-h);
  padding: 3px 6px;
  border: 1px solid transparent;
  align-content: center;
  overflow: hidden;
}

.window-frame>.app:not([data-view-mode="compact"]) .module-side-card .module-side-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--mw-gap-2);
  overflow-x: hidden;
  overflow-y: auto;
}

.window-frame>.app:not([data-view-mode="compact"]) .module-side-card .quick-module-card {
  min-height: 40px;
  grid-template-columns: minmax(0, 1fr) 52px;
}

.window-frame>.app:not([data-view-mode="compact"]) :is(#logs-column-content, #route-track-column-content, #global-modules-column-content, #client-tools-column-content, #special-stuff-column-content) {
  border-color: var(--mw-card-border);
  border-radius: var(--mw-radius);
  background: var(--mw-panel-bg);
}

.window-frame>.app:not([data-view-mode="compact"]) .route-track-card {
  padding: 5px;
}

.window-frame>.app:not([data-view-mode="compact"]) .route-track-panel {
  gap: var(--mw-gap-3);
}

.window-frame>.app:not([data-view-mode="compact"]) .route-track-recorder-grid {
  grid-template-columns: repeat(auto-fit, minmax(62px, 1fr));
  gap: var(--mw-gap-2);
  padding: 3px;
  border-color: rgba(53, 63, 75, 0.94);
  border-radius: var(--mw-radius);
  background: #060a0f;
  overflow: visible;
}

.window-frame>.app:not([data-view-mode="compact"]) .route-track-control {
  min-height: 40px;
  height: 40px;
  aspect-ratio: auto;
  padding: 3px;
  border-color: rgba(58, 70, 84, 0.9);
  border-radius: var(--mw-radius);
  background: #0e151d;
}

.window-frame>.app:not([data-view-mode="compact"]) .route-track-control span {
  font-size: 8px;
  line-height: 1;
}

.window-frame>.app:not([data-view-mode="compact"]) .route-track-control strong {
  font-size: 8px;
  line-height: 1;
}

.window-frame>.app:not([data-view-mode="compact"]) .route-track-square {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--mw-gap-2);
  border-color: rgba(53, 63, 75, 0.94);
  background: #05090d;
  overflow-x: hidden;
  overflow-y: auto;
}

#modal-layer>#modal-autowalk.route-modal-panel {
  --route-modal-control-height: 26px;
  --route-modal-panel-bg: #080d12;
  --route-modal-panel-border: rgba(58, 70, 84, 0.92);
  border-color: rgba(63, 75, 90, 0.96) !important;
  background: #070b10 !important;
}

#modal-layer>#modal-autowalk .route-toolbar-row,
#modal-layer>#modal-autowalk .route-modal-head-grid {
  grid-template-columns: minmax(220px, 1.04fr) minmax(390px, 1.44fr) minmax(270px, 1.16fr) 86px !important;
  gap: 6px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-autowalk .route-file-info-block,
#modal-layer>#modal-autowalk .route-library-select-wrap select,
#modal-layer>#modal-autowalk .route-name-input-wrap input,
#modal-layer>#modal-autowalk #new-blank-route {
  min-height: var(--route-modal-control-height) !important;
  height: var(--route-modal-control-height) !important;
}

#modal-layer>#modal-autowalk .route-file-info-block {
  border-color: var(--route-modal-panel-border) !important;
  background: #0b1117 !important;
}

#modal-layer>#modal-autowalk .route-file-info-block strong {
  color: #d5e6c0 !important;
  font-size: 9.5px !important;
  font-weight: 850 !important;
}

#modal-layer>#modal-autowalk .route-file-info-block>#route-file-path {
  min-width: 0 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-file-meta-chip,
#modal-layer>#modal-autowalk .route-validation-summary {
  font-size: 8px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(612px, 1fr) minmax(296px, 0.48fr) minmax(330px, 0.56fr) !important;
  gap: 6px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-autowalk :is(.route-overview-card, .route-stack-card-main, .route-danger-bar, .route-drive-card, .route-avoid-fields-card, .route-hunt-launchpad-mid, .route-editor-card) {
  border-color: var(--route-modal-panel-border) !important;
  border-radius: 6px !important;
  background: var(--route-modal-panel-bg) !important;
  box-shadow: none !important;
}

#modal-layer>#modal-autowalk .route-stack-card-main,
#modal-layer>#modal-autowalk .route-danger-bar {
  padding: 5px 6px !important;
}

#modal-layer>#modal-autowalk .route-panel-action-grid-waypoints {
  grid-template-columns: minmax(0, 2fr) repeat(2, minmax(82px, 0.55fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-danger-meta,
#modal-layer>#modal-autowalk .route-danger-action-bar {
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#waypointRadius),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordStep),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#walkRepathMs),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#sustainCooldownMs) {
  grid-column: span 2 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#vocation) {
  grid-column: span 4 !important;
}

#modal-layer>#modal-autowalk .route-drive-card,
#modal-layer>#modal-autowalk .route-avoid-fields-card,
#modal-layer>#modal-autowalk .route-editor-card {
  padding: 6px !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-hazard-row {
  gap: 6px !important;
}

#modal-layer>#modal-autowalk #route-avoid-category-grid.route-avoid-category-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-avoid-category,
#modal-layer>#modal-autowalk .route-avoid-toggle,
#modal-layer>#modal-autowalk .route-setting-toggle {
  border-color: rgba(58, 70, 84, 0.9) !important;
  background: #0d141b !important;
}

#modal-layer>#modal-autowalk :is(.route-card label, .route-coordinate-field, .route-head-field, .route-picker-field) {
  color: var(--mw-label) !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.05 !important;
  text-transform: none !important;
}

#modal-layer>#modal-autowalk :is(input:not([type="checkbox"]), select, textarea) {
  border-color: rgba(58, 70, 84, 0.96) !important;
  border-radius: var(--mw-radius) !important;
  background: #0c131a !important;
  color: var(--mw-title) !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel {
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-item-shared-title-grid {
  grid-template-columns: minmax(0, 1fr) 132px !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-storage {
  grid-template-columns: minmax(92px, 1fr) minmax(92px, 1fr) minmax(62px, 0.42fr) !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid {
  grid-template-columns: minmax(138px, 1fr) minmax(64px, 0.46fr) minmax(82px, 0.58fr) !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-selection-summary,
#modal-layer>#modal-autowalk .route-type-help,
#modal-layer>#modal-autowalk .route-pane-copy,
#modal-layer>#modal-autowalk .field-note {
  color: rgba(205, 214, 224, 0.72) !important;
  font-size: 8.5px !important;
  line-height: 1.22 !important;
}

#modal-layer>#modal-autowalk .btn {
  min-height: 24px !important;
  padding: 0 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--mw-radius) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 1260px) {
  #modal-layer>#modal-autowalk .route-main-layout {
    grid-template-columns: minmax(560px, 1fr) minmax(284px, 0.48fr) minmax(318px, 0.56fr) !important;
  }
}

@media (max-width: 1120px) {
  #modal-layer>#modal-autowalk .route-main-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    overflow-y: auto !important;
  }

  #modal-layer>#modal-autowalk .route-toolbar-row,
  #modal-layer>#modal-autowalk .route-modal-head-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 86px !important;
  }

  #modal-layer>#modal-autowalk .route-file-info-block {
    grid-column: 1 / -1 !important;
  }
}

/* Route modal UX repair: scrollable middle column and readable steppers. */
#modal-layer>#modal-autowalk .route-main-column .route-overview-card {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 4px !important;
  padding: 5px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-main-column .route-live-preview-shell {
  grid-row: 1 !important;
  min-height: 0 !important;
  height: 100% !important;
}

#modal-layer>#modal-autowalk .route-mid-column,
#modal-layer>#modal-autowalk .route-side-column {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-mid-column>.route-side-scroll {
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  display: grid !important;
  grid-auto-rows: min-content !important;
  align-content: start !important;
  gap: 6px !important;
  padding-right: 3px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-autowalk .route-mid-column>.route-side-scroll>section {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}

#modal-layer>#modal-autowalk .route-drive-card,
#modal-layer>#modal-autowalk .route-avoid-fields-card,
#modal-layer>#modal-autowalk .route-hunt-launchpad-mid {
  align-self: start !important;
}

#modal-layer>#modal-autowalk .route-drive-card {
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(input[type="number"]) .modal-number-stepper {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(input[type="number"]) .modal-number-stepper-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-storage {
  grid-template-columns: minmax(104px, 1fr) minmax(104px, 1fr) 76px !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-coordinate-z-field,
#modal-layer>#modal-autowalk .route-coordinate-z-field .modal-number-stepper,
#modal-layer>#modal-autowalk .route-coordinate-z-field .modal-number-stepper-input {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-nudge-control {
  grid-template-columns: minmax(0, 1fr) !important;
  height: 24px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-editor-shared-panel .route-coordinate-nudge-control input {
  padding-left: 8px !important;
  padding-right: calc(var(--modal-stepper-chevron-padding) + 2px) !important;
  text-align: left !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid {
  grid-template-columns: minmax(118px, 1fr) 74px 96px !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-step-radius) .modal-number-stepper,
#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-step-radius) .modal-number-stepper-input {
  width: 74px !important;
  min-width: 74px !important;
  max-width: 74px !important;
}

#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-wait-seconds) .modal-number-stepper,
#modal-layer>#modal-autowalk .route-waypoint-grid label:has(#waypoint-wait-seconds) .modal-number-stepper-input {
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
}

#modal-layer>#modal-autowalk :is(.route-coordinate-nudge-control input, .modal-number-stepper-input) {
  font-variant-numeric: tabular-nums !important;
}

/* Keep the live-session tab button unframed, while route/waypoint keeps its tiny two-cell panel. */
.bot-tab .bot-tab-select,
.bot-tab .bot-tab-select:hover:not(:disabled),
.bot-tab .bot-tab-select:active:not(:disabled),
.bot-tab .bot-tab-select[data-pressed="true"]:not(:disabled),
.bot-tab.active .bot-tab-select,
.bot-tab.active:hover .bot-tab-select,
.bot-tab.active .bot-tab-select:hover:not(:disabled),
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-select,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-select {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

.bot-tab .bot-tab-route-row,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-route-row,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-route-row {
  min-height: 12px !important;
  padding: 0 3px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 1px max-content !important;
  gap: 3px !important;
  align-items: center !important;
  border: 1px solid rgba(58, 70, 83, 0.9) !important;
  border-radius: 3px !important;
  background: rgba(255, 255, 255, 0.025) !important;
  box-shadow: none !important;
}

.bot-tab .bot-tab-route-divider,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-route-divider,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-route-divider {
  width: 1px !important;
  height: 8px !important;
  justify-self: center !important;
  background: rgba(148, 163, 184, 0.28) !important;
}

.bot-tab .bot-tab-state.route,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-state.route,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-state.route {
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

.bot-tab .bot-tab-vitals,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-vitals,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-vitals {
  border-radius: 3px !important;
}

.bot-tab.active .bot-tab-route-row,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-route-row,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-route-row {
  border-color: rgba(215, 188, 112, 0.36) !important;
  background: rgba(215, 188, 112, 0.06) !important;
}

.bot-tab.active .bot-tab-route-divider,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-route-divider,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-route-divider {
  background: rgba(215, 188, 112, 0.42) !important;
}

.bot-tab .bot-tab-select:focus-visible {
  border-color: var(--line-bright) !important;
  box-shadow: var(--focus-ring) !important;
}

/* Rune Casting tier-3 compact repair: headless, no helper cards, dense rule controls. */
#modal-layer>#modal-module[data-active-module-key="runeMaker"].module-modal-compact {
  --rune-control-height: 20px;
  --rune-gap: 4px;
  width: min(920px, calc(100vw - 12px)) !important;
  max-width: min(920px, calc(100vw - 12px)) !important;
  height: min(76dvh, calc(100dvh - 12px)) !important;
  max-height: min(76dvh, calc(100dvh - 12px)) !important;
  padding: 5px !important;
  gap: var(--rune-gap) !important;
  border-color: rgba(65, 78, 92, 0.76) !important;
  border-radius: 6px !important;
  background: #080d12 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 18px 42px rgba(0, 0, 0, 0.54) !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-panel {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-panel {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-layout {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  gap: var(--rune-gap) !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-command-strip {
  min-width: 0 !important;
  min-height: 22px !important;
  padding: 3px 5px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: center !important;
  gap: 6px !important;
  border: 1px solid rgba(65, 78, 92, 0.72) !important;
  border-radius: 5px !important;
  background: #0b1218 !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-live-inline {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-live-summary {
  min-width: 112px !important;
  overflow: hidden !important;
  color: #e8eef4 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-live-badges {
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 3px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-live-badges .module-rule-pill {
  min-height: 18px !important;
  height: 18px !important;
  padding: 1px 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  border-color: rgba(85, 101, 118, 0.72) !important;
  border-radius: 4px !important;
  background: #0e161d !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-live-badges .module-rule-pill span,
#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-live-badges .module-rule-pill strong {
  font-size: 8px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-rule-meta {
  min-width: 102px !important;
  color: #9aa7b3 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-template-grid {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: var(--rune-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-template {
  min-width: 0 !important;
  min-height: var(--rune-control-height) !important;
  height: var(--rune-control-height) !important;
  padding: 0 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(65, 78, 92, 0.76) !important;
  border-radius: 5px !important;
  background: #0d151c !important;
  box-shadow: none !important;
  color: #cbd6df !important;
  text-align: center !important;
  transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-template:hover:not(:disabled),
#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-template:focus-visible {
  border-color: rgba(116, 135, 157, 0.92) !important;
  background: #121c25 !important;
  color: #f0f5f8 !important;
  transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-template strong {
  min-width: 0 !important;
  overflow: hidden !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-template span,
#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-section-kicker,
#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-sidebar-card-note {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-rule-list {
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 3px 0 0 !important;
  display: grid !important;
  grid-auto-rows: min-content !important;
  align-content: start !important;
  gap: var(--rune-gap) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-inline-toolbar {
  min-height: var(--rune-control-height) !important;
  justify-content: flex-end !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-inline-toolbar .btn,
#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-actions .btn {
  min-height: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-card {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 4px !important;
  gap: var(--rune-gap) !important;
  border: 1px solid rgba(65, 78, 92, 0.7) !important;
  border-radius: 5px !important;
  background: #0a1016 !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-toolbar {
  min-height: 20px !important;
  flex-wrap: nowrap !important;
  gap: var(--rune-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-toolbar-main {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: var(--rune-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-actions {
  flex-wrap: nowrap !important;
  gap: var(--rune-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-corner-toggle {
  min-height: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  border-radius: 4px !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-sections {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  gap: var(--rune-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-section {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)) !important;
  gap: var(--rune-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-control {
  min-width: 0 !important;
  min-height: 0 !important;
  color: #8e9aa6 !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-control:not(.module-rule-check) {
  display: grid !important;
  grid-template-rows: 8px var(--rune-control-height) !important;
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-control:not(.module-rule-check)>span,
#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-check>span {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #8e9aa6 !important;
  font-size: 8px !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-control :is(input:not([type="checkbox"]), select, textarea, .modal-number-stepper, .modal-number-stepper-input) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: var(--rune-control-height) !important;
  height: var(--rune-control-height) !important;
  max-height: var(--rune-control-height) !important;
  padding: 1px 6px !important;
  border-color: rgba(65, 78, 92, 0.82) !important;
  border-radius: 4px !important;
  background: #0e151c !important;
  box-shadow: none !important;
  color: #e2e9ef !important;
  font-size: 10px !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-control textarea {
  min-height: 34px !important;
  height: 34px !important;
  max-height: 34px !important;
  resize: vertical !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-control:has(textarea) {
  grid-template-rows: 8px 34px !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-check {
  min-height: var(--rune-control-height) !important;
  height: var(--rune-control-height) !important;
  padding: 2px 5px !important;
  display: grid !important;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 4px !important;
  border: 1px solid rgba(65, 78, 92, 0.72) !important;
  border-radius: 4px !important;
  background: #0e151c !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .empty-state {
  min-height: 30px !important;
  padding: 7px 8px !important;
  border-color: rgba(65, 78, 92, 0.68) !important;
  border-radius: 5px !important;
  background: #090f14 !important;
  color: #7e8a96 !important;
  font-size: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .modal-actions {
  min-height: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .modal-actions .btn {
  min-width: 66px !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 9px !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  font-size: 10px !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

@media (max-width: 720px) {
  #modal-layer>#modal-module[data-active-module-key="runeMaker"].module-modal-compact {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    height: calc(100dvh - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-command-strip {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-rule-meta {
    min-width: 0 !important;
    text-align: left !important;
  }

  #modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-template-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-toolbar,
  #modal-layer>#modal-module[data-active-module-key="runeMaker"] .module-rule-actions {
    flex-wrap: wrap !important;
  }
}

/* Route right-column chevron lock: keep coordinate and waypoint editor controls embedded after late layout passes. */
#modal-layer>#modal-autowalk .route-side-column {
  --modal-stepper-height: 24px;
  --modal-stepper-chevron-width: 15px;
  --modal-stepper-chevron-gap: 1px;
  --modal-stepper-chevron-inset: 2px;
  --modal-stepper-chevron-zone: calc((var(--modal-stepper-chevron-width) * 2) + var(--modal-stepper-chevron-gap));
  --modal-stepper-chevron-padding: calc(var(--modal-stepper-chevron-zone) + (var(--modal-stepper-chevron-inset) * 2) + 4px);
}

#modal-layer>#modal-autowalk .route-side-column .route-coordinate-nudge-control {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--modal-stepper-height) !important;
  min-height: var(--modal-stepper-height) !important;
  max-height: var(--modal-stepper-height) !important;
  align-items: stretch !important;
  gap: 0 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-coordinate-nudge-control input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--modal-stepper-height) !important;
  min-height: var(--modal-stepper-height) !important;
  max-height: var(--modal-stepper-height) !important;
  padding-right: var(--modal-stepper-chevron-padding) !important;
}

#modal-layer>#modal-autowalk .route-side-column .modal-number-stepper-buttons.modal-number-stepper-buttons,
#modal-layer>#modal-autowalk .route-side-column .route-coordinate-nudge-buttons {
  position: absolute !important;
  top: var(--modal-stepper-chevron-inset) !important;
  right: var(--modal-stepper-chevron-inset) !important;
  bottom: var(--modal-stepper-chevron-inset) !important;
  left: auto !important;
  width: var(--modal-stepper-chevron-zone) !important;
  min-width: var(--modal-stepper-chevron-zone) !important;
  max-width: var(--modal-stepper-chevron-zone) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(var(--modal-stepper-height) - (var(--modal-stepper-chevron-inset) * 2)) !important;
  display: grid !important;
  grid-template-columns: repeat(2, var(--modal-stepper-chevron-width)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: var(--modal-stepper-chevron-gap) !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-side-column .modal-number-stepper-button.modal-number-stepper-button,
#modal-layer>#modal-autowalk .route-side-column .route-coordinate-nudge-buttons>.route-coordinate-nudge-button.route-coordinate-nudge-button {
  width: var(--modal-stepper-chevron-width) !important;
  min-width: var(--modal-stepper-chevron-width) !important;
  max-width: var(--modal-stepper-chevron-width) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-side-column .modal-number-stepper-button .route-coordinate-chevron,
#modal-layer>#modal-autowalk .route-side-column .route-coordinate-nudge-button .route-coordinate-chevron {
  width: 7px !important;
  height: 7px !important;
  border-width: 1.5px 1.5px 0 0 !important;
}

/* Route modal final fit pass: compact header controls, plain route info, and no right-edge crop. */
#modal-layer>#modal-autowalk.route-modal-panel {
  width: calc(100vw - 16px) !important;
  max-width: calc(100vw - 16px) !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-toolbar-row,
#modal-layer>#modal-autowalk .route-modal-head-grid {
  grid-template-columns: minmax(236px, 0.9fr) minmax(300px, 1.12fr) minmax(360px, 1.08fr) !important;
  gap: 4px !important;
  align-items: center !important;
}

#modal-layer>#modal-autowalk .route-pack-toolbar {
  display: none !important;
}

#modal-layer>#modal-autowalk .route-library-select-wrap,
#modal-layer>#modal-autowalk .route-name-input-wrap {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  height: var(--route-modal-control-height) !important;
}

#modal-layer>#modal-autowalk .route-library-select-wrap select {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 86px !important;
  background-image: none !important;
}

#modal-layer>#modal-autowalk .route-name-input-wrap input {
  padding-right: 164px !important;
}

#modal-layer>#modal-autowalk #load-route.route-load-button,
#modal-layer>#modal-autowalk .route-name-input-wrap .route-rename-button,
#modal-layer>#modal-autowalk .route-name-input-wrap .route-blank-button {
  position: absolute !important;
  top: 2px !important;
  bottom: 2px !important;
  height: calc(var(--route-modal-control-height) - 4px) !important;
  min-height: calc(var(--route-modal-control-height) - 4px) !important;
  padding: 0 8px !important;
  border-radius: 4px !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-autowalk #load-route.route-load-button {
  right: 2px !important;
  width: 78px !important;
  min-width: 78px !important;
}

#modal-layer>#modal-autowalk .route-name-input-wrap .route-rename-button {
  right: 82px !important;
  width: 72px !important;
  min-width: 72px !important;
}

#modal-layer>#modal-autowalk .route-name-input-wrap .route-blank-button {
  right: 2px !important;
  width: 78px !important;
  min-width: 78px !important;
}

#modal-layer>#modal-autowalk .route-file-info-block {
  grid-template-columns: minmax(86px, max-content) minmax(0, 1fr) !important;
  gap: 5px !important;
  padding-inline: 6px !important;
}

#modal-layer>#modal-autowalk .route-file-info-block>#route-file-path {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(223, 229, 235, 0.82) !important;
  font-family: var(--mono) !important;
  font-size: 8.5px !important;
  font-weight: 650 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-file-meta-chip {
  display: inline !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

#modal-layer>#modal-autowalk .route-file-info-block .route-validation-summary {
  display: none !important;
}

#modal-layer>#modal-autowalk .modal-body-route,
#modal-layer>#modal-autowalk #route-builder,
#modal-layer>#modal-autowalk .route-builder-shell,
#modal-layer>#modal-autowalk .route-main-layout {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

#modal-layer>#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(310px, 0.54fr) minmax(300px, 0.52fr) !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-main-column,
#modal-layer>#modal-autowalk .route-mid-column,
#modal-layer>#modal-autowalk .route-side-column,
#modal-layer>#modal-autowalk .route-side-scroll {
  min-width: 0 !important;
  max-width: 100% !important;
}

#modal-layer>#modal-autowalk .route-mid-column>.route-side-scroll {
  gap: 6px !important;
  padding-right: 2px !important;
}

#modal-layer>#modal-autowalk .route-record-settings-bar {
  grid-template-columns: minmax(120px, 0.46fr) minmax(0, 1fr) !important;
}

#modal-layer>#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  align-items: end !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label {
  grid-column: auto !important;
  min-width: 0 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#vocation) {
  grid-column: 1 / -1 !important;
}

#modal-layer>#modal-autowalk .route-checks {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-hazard-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 52px !important;
  grid-template-areas:
    "label guard"
    "groups groups" !important;
  align-items: center !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-hazard-label {
  grid-area: label !important;
}

#modal-layer>#modal-autowalk #route-avoid-category-grid.route-avoid-category-grid {
  grid-area: groups !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 4px !important;
}

#modal-layer>#modal-autowalk .route-avoid-toggle {
  grid-area: guard !important;
  width: 52px !important;
  justify-self: end !important;
}

@media (max-width: 1120px) {
  #modal-layer>#modal-autowalk .route-main-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    overflow-y: auto !important;
  }

  #modal-layer>#modal-autowalk .route-toolbar-row,
  #modal-layer>#modal-autowalk .route-modal-head-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-autowalk .route-file-info-block {
    grid-column: 1 / -1 !important;
  }

  #modal-layer>#modal-autowalk .route-head-field-name {
    grid-column: 1 / -1 !important;
  }
}

/* Route center/right final layout pass: compact Route Settings rows and move hazard work under the right editor. */
#modal-layer>#modal-autowalk .route-main-layout {
  grid-template-columns: minmax(0, 1.04fr) minmax(300px, 0.56fr) minmax(330px, 0.64fr) !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-mid-column>.route-side-scroll {
  display: grid !important;
  grid-auto-rows: min-content !important;
  align-content: start !important;
  gap: 6px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#modal-layer>#modal-autowalk .route-side-column>.route-side-scroll {
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  display: grid !important;
  grid-template-rows: none !important;
  grid-auto-rows: min-content !important;
  align-content: start !important;
  gap: 6px !important;
  padding-right: 2px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-autowalk .route-record-settings-bar {
  grid-template-columns: minmax(118px, 0.38fr) minmax(0, 1fr) !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-tune-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 5px !important;
  align-items: end !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-rows: min-content var(--route-modal-control-height) !important;
  align-content: start !important;
  justify-content: stretch !important;
  justify-self: stretch !important;
  gap: 2px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecorderType),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordWaypointType) {
  grid-column: span 3 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordStep),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#waypointRadius),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordWaypointWaitSeconds),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#walkRepathMs),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#vocation),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#sustainCooldownMs) {
  grid-column: span 2 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-autowalk .route-tune-grid .modal-number-stepper,
#modal-layer>#modal-autowalk .route-tune-grid .modal-number-stepper-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

#modal-layer>#modal-autowalk .route-tune-grid .modal-number-stepper {
  --modal-stepper-height: var(--route-modal-control-height);
  display: grid !important;
}

#modal-layer>#modal-autowalk .route-checks {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-avoid-fields-card {
  min-height: 0 !important;
  height: auto !important;
  padding: 6px !important;
  display: grid !important;
  grid-auto-rows: min-content !important;
  align-content: start !important;
  gap: 6px !important;
  overflow: visible !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-hazard-row {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(112px, max-content) !important;
  grid-template-areas:
    "label toggle"
    "categories categories"
    "summary summary" !important;
  align-items: start !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-hazard-label {
  grid-area: label !important;
  display: block !important;
  align-self: center !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-avoid-toggle {
  grid-area: toggle !important;
  width: 100% !important;
  min-width: 112px !important;
  max-width: 150px !important;
  justify-self: end !important;
}

#modal-layer>#modal-autowalk .route-side-column #route-avoid-category-grid.route-avoid-category-grid {
  grid-area: categories !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-side-column #route-avoid-summary-copy {
  grid-area: summary !important;
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-avoid-category,
#modal-layer>#modal-autowalk .route-side-column .route-avoid-toggle {
  min-width: 0 !important;
  min-height: 30px !important;
  height: auto !important;
  padding: 4px 6px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 6px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-avoid-category input[type="checkbox"],
#modal-layer>#modal-autowalk .route-side-column .route-avoid-toggle input[type="checkbox"],
#modal-layer>#modal-autowalk .route-side-column .route-avoid-toggle-control {
  position: static !important;
  inset: auto !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  max-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  max-height: var(--toggle-height) !important;
  margin: 0 !important;
  opacity: 1 !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-panel-action-grid-tile-rules {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-autowalk .route-side-column .tile-rule-list {
  min-height: 0 !important;
  max-height: 120px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

@media (max-width: 1120px) {
  #modal-layer>#modal-autowalk .route-main-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-autowalk .route-tune-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecorderType),
  #modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordWaypointType),
  #modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordStep),
  #modal-layer>#modal-autowalk .route-tune-grid>label:has(#waypointRadius),
  #modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordWaypointWaitSeconds),
  #modal-layer>#modal-autowalk .route-tune-grid>label:has(#walkRepathMs),
  #modal-layer>#modal-autowalk .route-tune-grid>label:has(#vocation),
  #modal-layer>#modal-autowalk .route-tune-grid>label:has(#sustainCooldownMs) {
    grid-column: span 2 !important;
  }
}

/* Quick module slot placeholders: reserve grid rhythm without creating active controls. */
.quick-module-card-placeholder {
  visibility: hidden;
  pointer-events: none;
}

.quick-module-slot-placeholder,
.quick-module-global-placeholder {
  visibility: visible;
  border-style: dashed;
}

.quick-module-placeholder-body {
  display: grid;
  align-content: center;
}

/* Headless UI audit pass: remove nested chrome and move context into hover tooltips. */
:root {
  --ux-headless-line: rgba(104, 122, 140, 0.18);
  --ux-headless-line-soft: rgba(104, 122, 140, 0.1);
  --ux-headless-surface: rgba(8, 12, 16, 0.58);
  --ux-headless-surface-strong: rgba(11, 16, 21, 0.82);
  --ux-headless-hover: rgba(143, 171, 198, 0.1);
}

#app-shell :where(.panel-card.desk-panel) {
  border-color: var(--ux-headless-line) !important;
  background: var(--ux-headless-surface) !important;
  box-shadow: none !important;
}

#app-shell :where(.quick-module-card, .compact-split-card) {
  border-color: var(--ux-headless-line-soft) !important;
  border-radius: 4px !important;
  background: rgba(8, 12, 16, 0.72) !important;
  box-shadow: none !important;
  transform: none !important;
}

#app-shell :where(.quick-module-card:hover, .quick-module-card:focus-within, .compact-split-card:hover, .compact-split-card:focus-within) {
  border-color: rgba(143, 171, 198, 0.34) !important;
  background: rgba(11, 17, 23, 0.86) !important;
  box-shadow: inset 0 0 0 1px rgba(143, 171, 198, 0.045) !important;
  transform: none !important;
}

#app-shell :where(.quick-module-open, .compact-card-open) {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

#app-shell :where(.quick-module-open:hover, .quick-module-open:focus-visible, .compact-card-open:hover, .compact-card-open:focus-visible) {
  border-color: transparent !important;
  background: var(--ux-headless-hover) !important;
  box-shadow: none !important;
}

#app-shell :where(.quick-module-open small, .feed-toolbar-copy) {
  display: none !important;
}

#app-shell :where(.bot-tab-route-row) {
  grid-template-columns: minmax(0, 1fr) 1px max-content !important;
}

#modal-layer :where(.modal-panel) {
  border-color: rgba(91, 108, 126, 0.46) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 16%),
    #070b0f !important;
  box-shadow: none !important;
}

#modal-layer :where(.modal-panel .route-power-card,
  .modal-panel .route-stack-card,
  .modal-panel .route-editor-card,
  .modal-panel .route-danger-bar,
  .modal-panel .route-avoid-fields-card,
  .modal-panel .route-hunt-launchpad,
  .modal-panel .route-hunt-registry,
  .modal-panel .route-hunt-config-panel,
  .modal-panel .route-hunt-profile-panel,
  .modal-panel .route-hunt-combat-panel,
  .modal-panel .route-hunt-registry-panel,
  .modal-panel .route-hunt-presence-panel,
  .modal-panel .target-source-policy-card,
  .modal-panel .modal-module-card,
  .modal-panel .healer-setup-panel,
  .modal-panel .healer-family-panel,
  .modal-panel .mana-support-panel,
  .modal-panel .mana-runemaking-panel,
  .modal-panel .autoeat-compact-panel,
  .modal-panel .autoeat-list-panel,
  .modal-panel .autoeat-source-bank,
  .modal-panel .autoeat-anti-idle-panel,
  .modal-panel .looting-overview,
  .modal-panel .looting-card,
  .modal-panel .loot-recovery-panel,
  .modal-panel .loot-recovery-status,
  .modal-panel .gold-bank-subpanel,
  .modal-panel .alarms-panel,
  .modal-panel .alarms-overview,
  .modal-panel .hunt-preset-browser,
  .modal-panel .hunt-preset-detail,
  .modal-panel .account-registry-card) {
  border-color: transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer :where(.modal-panel .module-rule-card,
  .modal-panel .target-profile-row,
  .modal-panel .waypoint-row,
  .modal-panel .summary-cell,
  .modal-panel .route-avoid-category,
  .modal-panel .route-avoid-toggle,
  .modal-panel .route-danger-meta-item,
  .modal-panel .route-control-button,
  .modal-panel .route-track-control,
  .modal-panel .runtime-metric,
  .modal-panel .feed-row,
  .modal-panel .hunt-preset-row,
  .modal-panel .equipment-replace-panel,
  .modal-panel .equipment-replace-slot) {
  border-color: var(--ux-headless-line-soft) !important;
  border-radius: 4px !important;
  background: var(--ux-headless-surface-strong) !important;
  box-shadow: none !important;
}

#modal-layer :where(.modal-panel .module-rule-section,
  .modal-panel .module-extra-fields,
  .modal-panel .route-editor-shared-panel,
  .modal-panel .route-selection-summary,
  .modal-panel .route-hunt-inline-note,
  .modal-panel .field-note,
  .modal-panel .module-rule-summary,
  .modal-panel .target-profile-summary,
  .modal-panel .route-file-info-block,
  .modal-panel .route-library-meta,
  .modal-panel .route-library-quick-meta,
  .modal-panel .route-type-help) {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer :where(.modal-panel .route-drive-heading > span,
  .modal-panel .route-hazard-label,
  .modal-panel .route-pane-copy,
  .modal-panel .route-card-copy,
  .modal-panel .targeting-column-kicker,
  .modal-panel .target-policy-copy,
  .modal-panel .route-hunt-panel-head > strong,
  .modal-panel .route-setting-toggle-copy small,
  .modal-panel .route-avoid-toggle-copy small,
  .modal-panel .autoeat-section-title,
  .modal-panel .autoeat-section-head,
  .modal-panel .looting-card-kicker,
  .modal-panel .alarms-card-kicker,
  .modal-panel .alarms-overview-kicker,
  .modal-panel .healer-overview-kicker,
  .modal-panel .healer-family-kicker,
  .modal-panel .mana-rule-kicker,
  .modal-panel .mana-support-panel-title,
  .modal-panel .mana-runemaking-title small,
  .modal-panel .rookiller-subtitle,
  .modal-panel .rune-maker-template span) {
  display: none !important;
}

#modal-layer :where(.modal-panel .route-section-head,
  .modal-panel .route-hunt-panel-head,
  .modal-panel .autoeat-section-head,
  .modal-panel .looting-card-head,
  .modal-panel .target-sources-head,
  .modal-panel .section-head) {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer :where(.modal-panel .route-side-scroll,
  .modal-panel .modal-scroll-stack,
  .modal-panel .module-rule-list,
  .modal-panel .target-profile-list,
  .modal-panel .monster-source-list,
  .modal-panel .player-archive,
  .modal-panel .npc-archive,
  .modal-panel .waypoint-list) {
  scrollbar-color: rgba(118, 139, 160, 0.42) transparent;
}

/* Targeting modal restore: keep optimized modal/tooltip plumbing, but bring back the visible profile workbench chrome. */
#modal-layer>#modal-targeting .route-hunt-profile-panel,
#modal-layer>#modal-targeting .route-hunt-config-panel,
#modal-layer>#modal-targeting .route-hunt-registry-panel,
#modal-layer>#modal-targeting .route-hunt-presence-panel,
#modal-layer>#modal-targeting .route-hunt-combat-panel,
#modal-layer>#modal-targeting .target-source-policy-card {
  padding: 6px !important;
  border: 1px solid var(--modal-ux-line-soft) !important;
  border-radius: 5px !important;
  background: rgba(255, 255, 255, 0.012) !important;
  box-shadow: none !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel {
  --modal-stepper-height: 24px;
  --modal-stepper-width: 76px;
  --modal-stepper-chevron-width: 15px;
  --modal-stepper-chevron-inset: 2px;
  gap: 6px !important;
}

#modal-layer>#modal-targeting .targeting-column-kicker,
#modal-layer>#modal-targeting .target-policy-copy,
#modal-layer>#modal-targeting .route-hunt-panel-head>strong {
  display: block !important;
}

#modal-layer>#modal-targeting .targeting-column-kicker {
  min-height: 25px !important;
  padding: 5px 7px !important;
  border: 1px solid rgba(82, 99, 116, 0.66) !important;
  border-radius: 4px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), transparent 58%),
    rgba(6, 10, 15, 0.76) !important;
  color: rgba(232, 225, 210, 0.9) !important;
  font-size: 9px !important;
  line-height: 1.15 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

#modal-layer>#modal-targeting .target-policy-copy {
  color: var(--modal-ux-muted) !important;
  font-size: 9px !important;
  line-height: 1.18 !important;
}

#modal-layer>#modal-targeting .route-hunt-panel-head {
  min-height: 28px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer>#modal-targeting .route-hunt-panel-head>strong {
  color: var(--modal-ux-text) !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

#modal-layer>#modal-targeting .target-profile-list,
#modal-layer>#modal-targeting .monster-source-list,
#modal-layer>#modal-targeting .player-archive,
#modal-layer>#modal-targeting .npc-archive,
#modal-layer>#modal-targeting .targeting-distance-rule-list {
  gap: 7px !important;
  padding: 2px 4px 2px 2px !important;
  border-radius: 5px !important;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.18), transparent 96px),
    rgba(3, 6, 10, 0.16) !important;
}

#modal-layer>#modal-targeting .target-profile-row {
  position: relative !important;
  gap: 6px !important;
  margin: 0 1px !important;
  padding: 6px !important;
  border: 1px solid var(--modal-ux-line-soft) !important;
  border-left: 1px solid var(--modal-ux-line-soft) !important;
  border-radius: 5px !important;
  background: rgba(255, 255, 255, 0.012) !important;
  box-shadow: none !important;
}

#modal-layer>#modal-targeting .target-profile-row.off {
  opacity: 0.76 !important;
  background: rgba(255, 255, 255, 0.008) !important;
}

#modal-layer>#modal-targeting .target-profile-row:hover {
  border-color: var(--modal-ux-line) !important;
  background: rgba(255, 255, 255, 0.018) !important;
}

#modal-layer>#modal-targeting .target-profile-head {
  min-height: 28px !important;
  gap: 5px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
  align-items: center !important;
}

#modal-layer>#modal-targeting .target-profile-title {
  gap: 6px !important;
}

#modal-layer>#modal-targeting .target-profile-priority,
#modal-layer>#modal-targeting .target-profile-badge {
  min-height: 18px !important;
  padding: 1px 6px !important;
  border: 1px solid var(--modal-ux-line-soft) !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, 0.016) !important;
  color: var(--modal-ux-text) !important;
  font-size: 9px !important;
}

#modal-layer>#modal-targeting .target-profile-name {
  color: var(--modal-ux-text) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

#modal-layer>#modal-targeting .target-profile-actions {
  gap: 3px !important;
}

#modal-layer>#modal-targeting .target-profile-actions .btn {
  min-width: 44px !important;
  min-height: 22px !important;
  padding: 2px 7px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-targeting .target-profile-grid {
  grid-template-columns: repeat(auto-fit, minmax(86px, 1fr)) !important;
  gap: 4px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-targeting .target-profile-grid>.module-rule-control:not(.module-rule-check) {
  min-height: 36px !important;
  padding: 4px 5px !important;
  border: 1px solid var(--modal-ux-line-soft) !important;
  border-radius: 4px !important;
  background: rgba(4, 7, 11, 0.3) !important;
}

#modal-layer>#modal-targeting .target-profile-grid>.module-rule-control>span:not(.modal-number-stepper) {
  font-size: 9px !important;
  line-height: 1.05 !important;
}

#modal-layer>#modal-targeting .target-profile-grid>.module-rule-control:has(input[type="number"]) {
  grid-template-columns: minmax(0, 1fr) var(--modal-stepper-width) !important;
}

#modal-layer>#modal-targeting .target-profile-grid>.module-rule-control:has(select) {
  grid-template-rows: min-content 24px !important;
}

#modal-layer>#modal-targeting .target-profile-grid select {
  min-height: 24px !important;
  height: 24px !important;
  max-width: 112px !important;
  padding-block: 2px !important;
  font-size: 10px !important;
}

#modal-layer>#modal-targeting .compact-profile-flags {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 4px !important;
  padding-top: 0 !important;
}

#modal-layer>#modal-targeting .compact-profile-flags .target-profile-check {
  min-height: 24px !important;
  padding: 3px 5px !important;
  gap: 5px !important;
}

#modal-layer>#modal-targeting .compact-profile-flags .target-profile-check>span:not(.visually-hidden) {
  font-size: 9px !important;
  line-height: 1.05 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-targeting .target-profile-team-kill {
  gap: 4px !important;
  padding: 5px !important;
  border: 1px solid var(--modal-ux-line-soft) !important;
  border-radius: 5px !important;
  background: rgba(0, 0, 0, 0.14) !important;
}

#modal-layer>#modal-targeting .target-profile-team-kill-head {
  min-height: 22px !important;
  gap: 5px !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-targeting .target-profile-team-kill-preset {
  gap: 4px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-targeting .target-profile-team-kill-preset select {
  min-height: 22px !important;
  height: 22px !important;
  max-width: 108px !important;
  padding-block: 1px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-targeting .target-profile-team-kill-vocations,
#modal-layer>#modal-targeting .target-profile-team-kill-grid {
  gap: 4px !important;
}

#modal-layer>#modal-targeting .target-profile-team-kill-vocation,
#modal-layer>#modal-targeting .target-profile-team-kill-check {
  min-height: 24px !important;
  padding: 3px 5px !important;
}

#modal-layer>#modal-targeting .target-profile-team-kill-summary {
  font-size: 9px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-targeting .target-profile-team-kill-vocation>span:not(.visually-hidden),
#modal-layer>#modal-targeting .target-profile-team-kill-check>span:not(.visually-hidden) {
  font-size: 9px !important;
  line-height: 1.08 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-targeting .target-profile-team-kill-check :is(strong, small) {
  display: inline !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
}

/* Final lateral panel contract: keep the main shell fixed while the pane paints outside it. */
.window-frame:has(> .app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"])) {
  justify-content: flex-start !important;
  overflow: hidden !important;
}

.window-frame>.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]),
.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) {
  --desk-side-panel-left: calc(var(--desk-battle-panel-total-width) + var(--desk-shell-width) + var(--desk-side-panel-gap));
  --desk-side-panel-top-offset: calc((var(--desk-side-panel-header-row-height) * var(--header-session-row-count, 1)) + var(--desk-side-panel-header-extra));
  --desk-side-panel-visible-width: min(var(--desk-side-panel-width), max(0px, calc(100vw - var(--desk-side-panel-left))));
  flex: 0 0 min(var(--desk-shell-width), 100vw) !important;
  width: min(var(--desk-shell-width), 100vw) !important;
  max-width: min(var(--desk-shell-width), 100vw) !important;
  overflow: visible !important;
  contain: none !important;
}

.window-frame>.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) .top-strip,
.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) .top-strip,
.window-frame>.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) .dashboard-shell,
.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) .dashboard-shell {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.window-frame>.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) .dashboard-shell,
.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) .dashboard-shell {
  position: static !important;
}

.window-frame>.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) .console-layout,
.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) .console-layout {
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "left" !important;
  overflow: visible !important;
}

.window-frame>.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column,
.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column {
  position: absolute !important;
  grid-area: auto !important;
  top: var(--desk-side-panel-top-offset) !important;
  bottom: var(--desk-side-panel-bottom-offset) !important;
  right: auto !important;
  left: var(--desk-side-panel-left) !important;
  width: var(--desk-side-panel-visible-width) !important;
  min-width: var(--desk-side-panel-visible-width) !important;
  max-width: var(--desk-side-panel-visible-width) !important;
  height: auto !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-content: stretch !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  contain: layout paint !important;
}

.window-frame>.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column > :is(#logs-column-content, #route-track-column-content, #global-modules-column-content, #client-tools-column-content, #special-stuff-column-content),
.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column > :is(#logs-column-content, #route-track-column-content, #global-modules-column-content, #client-tools-column-content, #special-stuff-column-content) {
  grid-row: 1 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

.window-frame>.app:not([data-view-mode="compact"]):is([data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column,
.app:not([data-view-mode="compact"]):is([data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column {
  top: auto !important;
  grid-template-rows: auto !important;
  align-content: start !important;
}

.window-frame>.app:not([data-view-mode="compact"]):is([data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column > :is(#global-modules-column-content, #client-tools-column-content, #special-stuff-column-content),
.app:not([data-view-mode="compact"]):is([data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column > :is(#global-modules-column-content, #client-tools-column-content, #special-stuff-column-content) {
  height: auto !important;
  align-self: start !important;
}

/* ============================================================================
   Independent lateral panels (desk mode) — definitive layout.

   ROOT CAUSE of the "main window background shifts left" bug:
   the .app box was flex-START anchored (pinned to the window's LEFT edge) and the
   shell was shoved right with margin-left. When the Battle panel opened, the OS
   window grew leftward (right edge pinned, see preserveTopRight in main.mjs) — so
   the whole .app background BOX slid left with the window's left edge, while only
   the shell *content* was margin-compensated back. The panel was also drawn INSIDE
   the .app box, so it looked glued to the main window instead of being its own box.

   FIX: anchor the .app box to the window's RIGHT edge (flex-end), reserving the
   right side-panel gutter via margin-right. The window's right edge is pinned on
   the Battle toggle and the right panel's rightward growth is absorbed by the
   gutter, so the .app box never moves on screen when either panel opens/closes.
   Both lateral panels are independent boxes that hang OUTSIDE the .app box (each
   with its own border/background), mirroring each other left/right.
   ============================================================================ */
.window-frame:has(> .app:not([data-view-mode="compact"]):is([data-battle-panel="open"], [data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"])) {
  justify-content: flex-end !important;
  overflow: hidden !important;
}

.window-frame>.app:not([data-view-mode="compact"]):is([data-battle-panel="open"], [data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]),
.app:not([data-view-mode="compact"]):is([data-battle-panel="open"], [data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
  contain: none !important;
}

/* Reserve the right gutter so flex-end leaves room for the right side panel box. */
.window-frame>.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]),
.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) {
  margin-right: calc(var(--desk-side-panel-width) + var(--desk-side-panel-gap)) !important;
  flex: 0 0 min(var(--desk-shell-width), 100vw) !important;
  width: min(var(--desk-shell-width), 100vw) !important;
  max-width: min(var(--desk-shell-width), 100vw) !important;
  overflow: visible !important;
}

/* The shell always fills the .app box (full background) — never pushed sideways. */
.app:not([data-view-mode="compact"])[data-battle-panel="open"] .top-strip,
.app:not([data-view-mode="compact"])[data-battle-panel="open"] .dashboard-shell {
  margin-left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Battle panel: independent box hanging off the LEFT of the .app box. */
.window-frame>.app:not([data-view-mode="compact"])[data-battle-panel="open"] #battle-column-content,
.app:not([data-view-mode="compact"])[data-battle-panel="open"] #battle-column-content {
  left: auto !important;
  right: calc(100% + var(--desk-battle-panel-gap)) !important;
  /* Match the main/right panel blue-black surface and beat the translucent
     `#app-shell :where(.panel-card.desk-panel)` headless-surface override. */
  background: var(--desk-side-panel-bg) !important;
}

/* Right panel: independent box hanging off the RIGHT of the .app box. */
.window-frame>.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column,
.app:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column {
  left: calc(100% + var(--desk-side-panel-gap)) !important;
  right: auto !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .module-side-card .module-side-column,
.app:not([data-view-mode="compact"]) .module-side-card .module-side-column {
  display: contents !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .module-side-card .quick-module-card,
.app:not([data-view-mode="compact"]) .module-side-card .quick-module-card {
  min-height: var(--mw-module-card-h) !important;
  height: var(--desk-side-panel-slot-height) !important;
  grid-column: 1 / -1 !important;
  grid-template-columns: minmax(0, 1fr) 54px !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .module-side-card .quick-module-open,
.window-frame>.app:not([data-view-mode="compact"]) .module-side-card .quick-module-toggle,
.app:not([data-view-mode="compact"]) .module-side-card .quick-module-open,
.app:not([data-view-mode="compact"]) .module-side-card .quick-module-toggle {
  min-height: var(--mw-module-control-h) !important;
  height: var(--mw-module-control-h) !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .module-side-card .quick-module-toggle,
.app:not([data-view-mode="compact"]) .module-side-card .quick-module-toggle {
  width: 54px !important;
  min-width: 54px !important;
}

/* Final flat client frame: remove the visible shadow halo around the transparent client window. */
.window-frame,
.window-frame>.app,
.window-frame>.app:not([data-view-mode="compact"]),
body.ui-ready .window-frame,
body.ui-ready .app,
.window-frame>.app:not([data-view-mode="compact"]) :is(.bot-strip, .desk-panel, .panel-card, #logs-column-content, #route-track-column-content, #global-modules-column-content, #client-tools-column-content, #special-stuff-column-content, #battle-column-content) {
  box-shadow: none !important;
  filter: none !important;
}

/* Modal focus contract: opening ANY dialog hides the main window panel outright,
   so every modal reads the same as New Session instead of leaving the live client
   peeking around smaller dialogs. (This deliberately supersedes the former
   "no-blink" contract that kept the client surface visible behind dialogs.) The
   panel restores the instant the modal closes, and stays visible through the
   close animation so it eases back in as the surface shrinks. */
body.modal-open .window-frame {
  justify-content: flex-end !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.modal-surface-closing .window-frame {
  justify-content: flex-end !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

body.modal-open:not([data-modal-size-category="veryLarge"]) .window-frame {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.modal-layer[data-surface-state="opening"] {
  opacity: 1 !important;
  pointer-events: auto !important;
}

#modal-layer[data-optimized="true"]:not([hidden]) {
  content-visibility: visible !important;
}

/* Final live-session tab integration: restored inner dividers, flatter badges, tighter top/bottom docking. */
.bot-tab .bot-tab-select,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-select,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-select {
  padding: 1px 3px !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-content: stretch !important;
  gap: 1px !important;
}

.bot-tab-head,
.app:not([data-view-mode="compact"]) .bot-tab-head,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-head {
  height: 100% !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 1px !important;
  align-content: stretch !important;
}

.bot-tab .bot-tab-route-row,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-route-row,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-route-row {
  align-self: start !important;
  min-height: 11px !important;
  padding: 0 3px !important;
  gap: 3px !important;
  border-color: rgba(78, 91, 106, 0.66) !important;
  border-radius: 2px !important;
  background: rgba(255, 255, 255, 0.018) !important;
}

.bot-tab .bot-tab-session-name,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-session-name,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-session-name {
  align-self: center !important;
}

.bot-tab-metrics,
.app:not([data-view-mode="compact"]) .bot-tab-metrics,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-metrics {
  align-self: end !important;
  min-height: 12px !important;
  gap: 2px !important;
}

.bot-tab-vitals,
.app:not([data-view-mode="compact"]) .bot-tab-vitals,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-vitals {
  min-height: 12px !important;
  padding: 0 2px !important;
  grid-template-columns: minmax(23px, max-content) minmax(23px, max-content) minmax(23px, max-content) !important;
  gap: 2px !important;
  border-color: rgba(78, 91, 106, 0.66) !important;
  border-radius: 2px !important;
  background: rgba(255, 255, 255, 0.018) !important;
}

.bot-tab-vitals-divider,
.bot-tab-route-divider,
.app:not([data-view-mode="compact"]) .bot-tab-vitals-divider,
.app:not([data-view-mode="compact"]) .bot-tab-route-divider,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-vitals-divider,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-route-divider {
  display: block !important;
  opacity: 1 !important;
}

/* Compact audit polish: keep the tile rhythm, but expose the mirrored state/value line. */
.app[data-view-mode="compact"] .bot-tab-toggle {
  font-size: 8px !important;
  line-height: 1 !important;
}

.app[data-view-mode="compact"] .bot-tab-state,
.app[data-view-mode="compact"] .bot-tab-waypoint,
.app[data-view-mode="compact"] .bot-tab-metric {
  font-size: 6px !important;
  line-height: 1 !important;
}

.app[data-view-mode="compact"] .compact-card-open {
  justify-content: center !important;
  gap: 5px !important;
  padding: 8px 7px !important;
}

.app[data-view-mode="compact"] .compact-card-open strong {
  display: block !important;
  max-width: 100% !important;
  color: rgba(226, 230, 234, 0.72) !important;
  font-size: 9px !important;
  font-weight: var(--weight-medium) !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
}

.app[data-view-mode="compact"] .compact-split-card[data-state="on"] .compact-card-open strong,
.app[data-view-mode="compact"] .compact-split-card[data-state="all"] .compact-card-open strong,
.app[data-view-mode="compact"] .compact-split-card[data-state="current"] .compact-card-open strong,
.app[data-view-mode="compact"] .compact-split-card[data-state="returning"] .compact-card-open strong {
  color: #eff8d3 !important;
}

/* Route waypoint tile controls: keep the checkbox/add/remove buttons square and compact inside dense grids. */
#modal-layer>#modal-autowalk :is(.route-live-mini-btn, .waypoint-mark-btn) {
  width: 14px !important;
  min-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  padding: 0 !important;
  gap: 0 !important;
  border-radius: 3px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

#modal-layer>#modal-autowalk .route-live-mini-btn-remove {
  top: 2px !important;
  right: 2px !important;
}

#modal-layer>#modal-autowalk .route-live-mini-btn-add {
  right: 2px !important;
  bottom: 2px !important;
}

#modal-layer>#modal-autowalk :is(.route-live-mini-btn-mark, .waypoint-mark-btn) {
  left: 2px !important;
  bottom: 2px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

#modal-layer>#modal-autowalk :is(.route-live-mini-btn-mark, .waypoint-mark-btn)[aria-pressed="true"]::after {
  content: "✓" !important;
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
  color: #fff7d8 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

/* Final modal toggle audit: keep modal checkboxes aligned with the new-session switch rows. */
#modal-layer :is(.route-picker-field,
  .checks label,
  .route-checks label,
  .route-setting-toggle,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-category,
  .route-avoid-toggle,
  .gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active,
  .rookiller-arm-field):has(input[type="checkbox"]) {
  min-width: 0 !important;
  min-height: 22px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  grid-template-rows: minmax(0, auto) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 4px !important;
  line-height: 1.12 !important;
  text-align: left !important;
}

#modal-layer :is(.route-picker-field,
  .checks label,
  .route-checks label,
  .route-setting-toggle,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-category,
  .gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active,
  .rookiller-arm-field):has(> input[type="checkbox"])>input[type="checkbox"],
#modal-layer .route-avoid-toggle .route-avoid-toggle-control,
#modal-layer .route-avoid-toggle .route-avoid-toggle-control>input[type="checkbox"] {
  position: static !important;
  inset: auto !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  max-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  max-height: var(--toggle-height) !important;
  margin: 0 !important;
  padding: 0 var(--toggle-pad) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#modal-layer .route-avoid-toggle .route-avoid-toggle-control {
  padding: 0 !important;
  display: grid !important;
  place-items: center end !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer :is(.route-picker-field,
  .checks label,
  .route-checks label,
  .route-setting-toggle,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-category,
  .gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active,
  .rookiller-arm-field):has(> input[type="checkbox"])>span:not(.visually-hidden),
#modal-layer .route-avoid-toggle>.route-avoid-toggle-copy,
#modal-layer .route-avoid-category>.route-avoid-category-copy {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer :is(.route-setting-toggle-copy,
  .route-avoid-toggle-copy,
  .route-avoid-category-copy,
  .rookiller-arm-copy) {
  display: grid !important;
  gap: 1px !important;
}

#modal-layer :is(.route-setting-toggle-copy,
  .route-avoid-toggle-copy,
  .route-avoid-category-copy,
  .rookiller-arm-copy) :is(strong, small),
#modal-layer :is(.module-rule-check, .checks label, .route-checks label)>.field-note {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  text-overflow: ellipsis !important;
}

#modal-layer :is(.module-rule-check, .checks label, .route-checks label)>.field-note {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  white-space: normal !important;
}

#modal-layer :is(.route-picker-field,
  .checks label,
  .route-checks label,
  .route-setting-toggle,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-category,
  .route-avoid-toggle,
  .gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active,
  .rookiller-arm-field):has(input[type="checkbox"]:disabled) {
  cursor: not-allowed !important;
  opacity: 0.62 !important;
}

#modal-layer :is(.route-picker-field,
  .checks label,
  .route-checks label,
  .route-setting-toggle,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .route-avoid-category,
  .route-avoid-toggle,
  .gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active,
  .rookiller-arm-field):has(input[type="checkbox"]:focus-visible) {
  box-shadow: var(--focus-ring) !important;
}

/* Route hazard tile toggle repair: keep guard/category switches aligned in one readable row. */
#modal-layer>#modal-autowalk .route-side-column .route-hazard-row {
  grid-template-columns: minmax(0, 1fr) minmax(128px, max-content) !important;
  grid-template-areas:
    "label toggle"
    "categories categories"
    "summary summary" !important;
  align-items: center !important;
  gap: 6px !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-hazard-label {
  font-size: 10px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-avoid-category,
#modal-layer>#modal-autowalk .route-side-column .route-avoid-toggle {
  min-height: 30px !important;
  padding: 5px 6px !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 8px !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-avoid-category>.route-avoid-category-copy,
#modal-layer>#modal-autowalk .route-side-column .route-avoid-toggle>.route-avoid-toggle-copy {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: stretch !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 1px !important;
  overflow: hidden !important;
  text-align: left !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-avoid-category-copy strong,
#modal-layer>#modal-autowalk .route-side-column .route-avoid-toggle-copy strong {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-avoid-toggle-copy small {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  font-size: 8.5px !important;
  line-height: 1.1 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-autowalk .route-side-column .route-avoid-category>input[type="checkbox"],
#modal-layer>#modal-autowalk .route-side-column .route-avoid-toggle .route-avoid-toggle-control,
#modal-layer>#modal-autowalk .route-side-column .route-avoid-toggle .route-avoid-toggle-control>input[type="checkbox"] {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  max-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  max-height: var(--toggle-height) !important;
  margin: 0 !important;
  opacity: 1 !important;
}

#modal-layer>#modal-autowalk .route-side-column #route-avoid-summary-copy {
  font-size: 9px !important;
  line-height: 1.18 !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-active {
  width: max-content !important;
  min-width: 72px !important;
  height: auto !important;
  min-height: 22px !important;
  padding: 2px 5px !important;
  border: 1px solid rgba(68, 80, 94, 0.72) !important;
  border-radius: 5px !important;
  background: #0e141b !important;
  color: #a9b4c0 !important;
  box-shadow: none !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-active:has(input:checked) {
  border-color: rgba(129, 212, 123, 0.42) !important;
  background: rgba(40, 86, 46, 0.2) !important;
  color: #d9eadb !important;
}

/* Route action strip lock: keep Close/Save visible outside the right-column scroller. */
#modal-layer>#modal-autowalk .route-side-column {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: 6px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-autowalk .route-side-column>.route-side-scroll {
  min-height: 0 !important;
  height: auto !important;
  max-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#modal-layer>#modal-autowalk .route-side-column>.route-modal-actions.route-modal-actions.modal-actions {
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 5px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 5px !important;
  border: 1px solid var(--route-modal-panel-border) !important;
  border-radius: 6px !important;
  background: var(--route-modal-panel-bg) !important;
  box-shadow: none !important;
  z-index: 2 !important;
}

#modal-layer>#modal-autowalk .route-side-column>.route-modal-actions.route-modal-actions.modal-actions>.btn {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 8px !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-autowalk .route-side-column .tile-rule-list:empty {
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: none !important;
}

/* Checkbox switch geometry lock: the thumb always lands on the track inset. */
input[type="checkbox"] {
  align-items: center;
  justify-content: flex-start;
}

input[type="checkbox"]::before {
  width: var(--toggle-thumb-size);
  min-width: var(--toggle-thumb-size);
  height: var(--toggle-thumb-size);
  flex: 0 0 var(--toggle-thumb-size);
  transform: translateX(0);
}

input[type="checkbox"]:checked::before {
  transform: translateX(var(--toggle-thumb-shift));
}

/* Main-window typography audit lock: keep live tabs and header controls on the same dense scale. */
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-session-name {
  font-size: var(--mw-tab-title-font-size) !important;
}

.window-frame>.app:not([data-view-mode="compact"]) :is(.bot-tab-state,
  .bot-tab-state.route,
  .bot-tab-waypoint,
  .bot-tab-metric,
  .bot-tab-metric.hunger) {
  font-size: var(--mw-tab-meta-font-size) !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-toggle {
  font-size: var(--mw-tab-control-font-size) !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .desk-actions>.btn,
.window-frame>.app:not([data-view-mode="compact"]) .desk-actions>#desk-accounts.header-action-accounts,
.window-frame>.app:not([data-view-mode="compact"]) .desk-actions>#header-stop-all.header-action-stop-all strong {
  font-size: var(--mw-header-action-font-size) !important;
}

.window-frame>.app:not([data-view-mode="compact"]) .desk-actions>#header-stop-all.header-action-stop-all span {
  font-size: var(--mw-header-action-kicker-font-size) !important;
}

.window-frame>.app:not([data-view-mode="compact"]) :is(.quick-module-open span,
  .quick-module-toggle span) {
  font-size: var(--mw-module-label-font-size) !important;
}

.window-frame>.app:not([data-view-mode="compact"]) :is(.quick-module-open strong,
  .quick-module-toggle strong) {
  font-size: var(--mw-module-value-font-size) !important;
}

/* Session header cards: keep one card border and attach the status strips to it. */
:root {
  --session-card-border: var(--mw-card-border, var(--line-soft));
  --session-card-bg: var(--mw-card-bg, var(--panel));
  --session-card-active-border: var(--tab-active-border, var(--accent-2));
  --session-card-active-glow: rgba(215, 181, 109, 0.2);
  --session-card-separator: rgba(78, 91, 106, 0.46);
  --session-card-separator-active: rgba(215, 188, 112, 0.34);
  --session-card-danger: var(--danger);
  --session-card-mana: #67a8ff;
}

.bot-tab:not(.active):not(.running):not(.health-alert):not(.death-alert):not(.hostile-alert):not(.staff-alert):not(.player-alert):not(.stale-alert),
.app:not([data-view-mode="compact"]) .bot-tab:not(.active):not(.running):not(.health-alert):not(.death-alert):not(.hostile-alert):not(.staff-alert):not(.player-alert):not(.stale-alert) {
  border-color: var(--session-card-border);
  border-radius: var(--mw-radius, 4px);
  background: var(--session-card-bg);
}

.bot-tab.active,
.bot-tab.active:hover,
.bot-tab.active:focus-within,
.app:not([data-view-mode="compact"]) .bot-tab.active,
.app:not([data-view-mode="compact"]) .bot-tab.active:hover,
.app:not([data-view-mode="compact"]) .bot-tab.active:focus-within,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.active,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.active:hover,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.active:focus-within {
  border-color: var(--session-card-active-border);
  border-radius: var(--mw-radius, 4px);
  box-shadow:
    inset 0 0 0 1px var(--session-card-active-border),
    0 0 0 1px var(--session-card-active-glow);
}

.bot-tab .bot-tab-select,
.bot-tab .bot-tab-select:hover:not(:disabled),
.bot-tab .bot-tab-select:active:not(:disabled),
.bot-tab .bot-tab-select[data-pressed="true"]:not(:disabled),
.bot-tab.active .bot-tab-select,
.bot-tab.active:hover .bot-tab-select,
.bot-tab.active .bot-tab-select:hover:not(:disabled),
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-select,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-select {
  padding: 0 4px 0 5px !important;
  grid-template-rows: minmax(0, 1fr) min-content !important;
  align-content: stretch !important;
  gap: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

.bot-tab .bot-tab-select:focus-visible {
  border-color: transparent !important;
  box-shadow: none !important;
}

.bot-tab-head,
.app:not([data-view-mode="compact"]) .bot-tab-head,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-head {
  grid-template-rows: min-content minmax(0, 1fr) !important;
  gap: 0 !important;
  align-content: stretch !important;
}

.bot-tab .bot-tab-route-row,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-route-row,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-route-row {
  align-self: start !important;
  min-height: 12px !important;
  margin: 0 !important;
  padding: 0 2px 1px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--session-card-separator) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.bot-tab.active .bot-tab-route-row,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-route-row,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-route-row {
  border-bottom-color: var(--session-card-separator-active) !important;
  background: transparent !important;
}

.bot-tab .bot-tab-route-divider,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-route-divider,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-route-divider {
  background: var(--session-card-separator) !important;
}

.bot-tab.active .bot-tab-route-divider,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-route-divider,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-route-divider {
  background: var(--session-card-separator-active) !important;
}

.bot-tab-metrics,
.app:not([data-view-mode="compact"]) .bot-tab-metrics,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-metrics {
  width: 100% !important;
  min-height: 12px !important;
  margin: 0 !important;
  padding-top: 1px !important;
  border-top: 1px solid var(--session-card-separator) !important;
  align-self: end !important;
}

.bot-tab.active .bot-tab-metrics,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metrics,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metrics {
  border-top-color: var(--session-card-separator-active) !important;
}

.bot-tab-vitals,
.app:not([data-view-mode="compact"]) .bot-tab-vitals,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-vitals,
.bot-tab.active .bot-tab-vitals,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-vitals,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-vitals {
  min-height: 11px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.bot-tab-vitals .bot-tab-metric,
.app:not([data-view-mode="compact"]) .bot-tab-vitals .bot-tab-metric,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-vitals .bot-tab-metric {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.bot-tab-metric.mana .bot-tab-metric-value {
  color: var(--session-card-mana) !important;
}

.bot-tab-metric.health.alert .bot-tab-metric-value,
.bot-tab.health-alert .bot-tab-metric.health .bot-tab-metric-value,
.bot-tab.death-alert .bot-tab-metric.health .bot-tab-metric-value {
  color: var(--session-card-danger) !important;
}

/* Final live-session alarm card lock: XP matches vitals; alert state belongs to the whole card. */
.bot-tab-metric.xp-rate,
.app:not([data-view-mode="compact"]) .bot-tab-metric.xp-rate,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-metric.xp-rate {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  min-height: 11px !important;
  margin: 0 !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--muted) !important;
  line-height: 1 !important;
}

.bot-tabs[data-density="condensed"] .bot-tab-metric.xp-rate {
  min-height: 10px !important;
  padding: 0 1px !important;
}

.bot-tab-metric.xp-rate .bot-tab-metric-label,
.app:not([data-view-mode="compact"]) .bot-tab-metric.xp-rate .bot-tab-metric-label,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-metric.xp-rate .bot-tab-metric-label {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bot-tab-metric.xp-rate .bot-tab-metric-value,
.app:not([data-view-mode="compact"]) .bot-tab-metric.xp-rate .bot-tab-metric-value,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-metric.xp-rate .bot-tab-metric-value {
  color: #f3c84b !important;
}

@keyframes bot-tab-session-card-alarm-watch {

  0%,
  100% {
    border-color: rgba(75, 169, 217, 0.64);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent 46%),
      linear-gradient(135deg, rgba(75, 169, 217, 0.18), rgba(0, 0, 0, 0) 58%),
      var(--session-card-bg);
    box-shadow:
      inset 0 0 0 1px rgba(98, 205, 255, 0.2),
      0 0 10px rgba(98, 205, 255, 0.14);
  }

  50% {
    border-color: rgba(240, 201, 107, 0.72);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 48%),
      linear-gradient(135deg, rgba(240, 201, 107, 0.2), rgba(75, 169, 217, 0.08) 62%, rgba(0, 0, 0, 0)),
      var(--session-card-bg);
    box-shadow:
      inset 0 0 0 1px rgba(240, 201, 107, 0.24),
      0 0 16px rgba(240, 201, 107, 0.16);
  }
}

@keyframes bot-tab-session-card-alarm-danger {

  0%,
  100% {
    border-color: rgba(216, 64, 54, 0.72);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent 46%),
      linear-gradient(135deg, rgba(216, 64, 54, 0.22), rgba(0, 0, 0, 0) 58%),
      var(--session-card-bg);
    box-shadow:
      inset 0 0 0 1px rgba(255, 122, 96, 0.24),
      0 0 14px rgba(216, 64, 54, 0.18);
  }

  50% {
    border-color: rgba(255, 208, 103, 0.78);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 48%),
      linear-gradient(135deg, rgba(255, 208, 103, 0.22), rgba(216, 64, 54, 0.1) 62%, rgba(0, 0, 0, 0)),
      var(--session-card-bg);
    box-shadow:
      inset 0 0 0 1px rgba(255, 208, 103, 0.26),
      0 0 18px rgba(255, 208, 103, 0.2);
  }
}

@keyframes bot-tab-session-card-alarm-death {

  0%,
  100% {
    border-color: rgba(212, 74, 67, 0.72);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 48%),
      linear-gradient(135deg, rgba(212, 74, 67, 0.2), rgba(0, 0, 0, 0) 60%),
      var(--session-card-bg);
    box-shadow:
      inset 0 0 0 1px rgba(255, 168, 150, 0.22),
      0 0 14px rgba(212, 74, 67, 0.16);
  }

  50% {
    border-color: rgba(240, 243, 246, 0.54);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 48%),
      linear-gradient(135deg, rgba(240, 243, 246, 0.08), rgba(212, 74, 67, 0.12) 62%, rgba(0, 0, 0, 0)),
      var(--session-card-bg);
    box-shadow:
      inset 0 0 0 1px rgba(240, 243, 246, 0.14),
      0 0 12px rgba(240, 243, 246, 0.12);
  }
}

.bot-tab.alarm-active,
.app:not([data-view-mode="compact"]) .bot-tab.alarm-active,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.alarm-active {
  animation: none !important;
  border-color: rgba(75, 169, 217, 0.78) !important;
  box-shadow:
    inset 0 0 0 1px rgba(98, 205, 255, 0.22),
    0 0 8px rgba(98, 205, 255, 0.16) !important;
}

.bot-tab.alarm-active:is(.hostile-alert, .staff-alert, .health-alert),
.app:not([data-view-mode="compact"]) .bot-tab.alarm-active:is(.hostile-alert, .staff-alert, .health-alert),
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.alarm-active:is(.hostile-alert, .staff-alert, .health-alert) {
  animation: none !important;
  border-color: rgba(229, 83, 67, 0.92) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 122, 96, 0.26),
    0 0 10px rgba(229, 83, 67, 0.2) !important;
}

.bot-tab.alarm-active.death-alert,
.app:not([data-view-mode="compact"]) .bot-tab.alarm-active.death-alert,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.alarm-active.death-alert {
  animation: none !important;
  border-color: rgba(212, 74, 67, 0.9) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 168, 150, 0.24),
    0 0 10px rgba(212, 74, 67, 0.18) !important;
}

.bot-tab.alarm-active .bot-tab-session-name,
.app:not([data-view-mode="compact"]) .bot-tab.alarm-active .bot-tab-session-name,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.alarm-active .bot-tab-session-name {
  box-sizing: border-box !important;
  padding-inline: 2px !important;
  border-radius: 2px !important;
  animation: none !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Live-session tab header/metric refinements: no inner dividers, compact state dots, level/name/alarm cycle. */
#app-shell :where(.bot-tab-route-row),
.bot-tab .bot-tab-route-row,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-route-row,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-route-row {
  grid-template-columns: auto minmax(0, 1fr) max-content !important;
  gap: 3px !important;
}

.bot-tab-route-divider,
.bot-tab-vitals-divider,
.bot-tab .bot-tab-route-divider,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-route-divider,
.app:not([data-view-mode="compact"]) .bot-tab-vitals-divider,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-route-divider,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-vitals-divider {
  display: none !important;
}

.bot-tab-control-dots {
  min-width: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.bot-tab-control-dot {
  width: 4px;
  height: 4px;
  flex: 0 0 4px;
  border-radius: 999px;
  background: rgba(132, 143, 154, 0.45);
  box-shadow: inset 0 0 0 1px rgba(240, 243, 246, 0.1);
}

.bot-tab-control-dot.walk.on {
  background: #57c66b;
  box-shadow: 0 0 4px rgba(87, 198, 107, 0.36);
}

.bot-tab-control-dot.creatures.on {
  background: #f0c85a;
  box-shadow: 0 0 4px rgba(240, 200, 90, 0.34);
}

.bot-tab-control-dot.creatures.attack {
  background: #e0554d;
  box-shadow: 0 0 5px rgba(224, 85, 77, 0.44);
}

.bot-tab-control-dot.targeting.on {
  background: #58aaf8;
  box-shadow: 0 0 4px rgba(88, 170, 248, 0.38);
}

.bot-tab-name-row,
.app:not([data-view-mode="compact"]) .bot-tab-name-row,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-name-row {
  min-width: 0;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  justify-items: center;
  overflow: hidden;
}

.bot-tab-carousel,
.app:not([data-view-mode="compact"]) .bot-tab-carousel,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-carousel {
  min-width: 0;
  max-width: 100%;
  grid-area: 1 / 1;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.bot-tab-carousel-item,
.app:not([data-view-mode="compact"]) .bot-tab-carousel-item,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-carousel-item {
  min-width: 0;
  max-width: 100%;
  grid-area: 1 / 1;
}

.bot-tab-identity,
.app:not([data-view-mode="compact"]) .bot-tab-identity,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-identity {
  min-width: 0;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  overflow: hidden;
}

.bot-tab-target-summary,
.app:not([data-view-mode="compact"]) .bot-tab-target-summary,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-target-summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #e7ebee;
  font-size: var(--mw-tab-title-font-size, 10px);
  font-weight: 800;
  line-height: 1.02;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bot-tab-target-count,
.app:not([data-view-mode="compact"]) .bot-tab-target-count,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-target-count {
  flex: 0 0 auto;
  color: #f4d36f;
  font-variant-numeric: tabular-nums;
}

.bot-tab-target-count.attacking,
.app:not([data-view-mode="compact"]) .bot-tab-target-count.attacking,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-target-count.attacking {
  color: #ff6a5f;
}

.bot-tab-target-name,
.app:not([data-view-mode="compact"]) .bot-tab-target-name,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-target-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Target HP split into thirds so the name color tracks damage progress. */
.bot-tab-target-name.hp-high,
.app:not([data-view-mode="compact"]) .bot-tab-target-name.hp-high,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-target-name.hp-high {
  color: #6fe08a;
}

.bot-tab-target-name.hp-mid,
.app:not([data-view-mode="compact"]) .bot-tab-target-name.hp-mid,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-target-name.hp-mid {
  color: #f4d36f;
}

.bot-tab-target-name.hp-low,
.app:not([data-view-mode="compact"]) .bot-tab-target-name.hp-low,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-target-name.hp-low {
  color: #ff6a5f;
}

.bot-tab-level,
.app:not([data-view-mode="compact"]) .bot-tab-level,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-level {
  flex: 0 0 auto;
  align-self: center;
  display: inline-flex;
  align-items: center;
  min-width: max-content;
  color: #e7ebee;
  font-size: 8px !important;
  font-weight: 800;
  line-height: 1.02;
  font-variant-numeric: tabular-nums;
  transform: translateY(1px);
}

.bot-tab-name-row .bot-tab-session-name,
.app:not([data-view-mode="compact"]) .bot-tab-name-row .bot-tab-session-name,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-name-row .bot-tab-session-name {
  width: auto !important;
  flex: 0 1 auto;
  justify-self: auto !important;
}

.bot-tab-name-alarm,
.app:not([data-view-mode="compact"]) .bot-tab-name-alarm,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-name-alarm {
  grid-area: 1 / 1;
  min-width: 0;
  max-width: 100%;
  min-height: 10px;
  padding: 0 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  color: #e7cf98;
  font-size: var(--mw-tab-meta-font-size, 8px);
  font-weight: 850;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.bot-tab-name-alarm[hidden] {
  display: none !important;
}

.bot-tab-name-alarm.tone-critical,
.app:not([data-view-mode="compact"]) .bot-tab-name-alarm.tone-critical,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-name-alarm.tone-critical {
  color: #ffc0b0;
}

.bot-tab-name-alarm.tone-hostile,
.app:not([data-view-mode="compact"]) .bot-tab-name-alarm.tone-hostile,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-name-alarm.tone-hostile,
.bot-tab-name-alarm.tone-staff,
.app:not([data-view-mode="compact"]) .bot-tab-name-alarm.tone-staff,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-name-alarm.tone-staff {
  color: #ffd6a1;
}

@keyframes bot-tab-name-carousel-identity {

  0%,
  42%,
  100% {
    opacity: 1;
    transform: translateX(0);
  }

  50%,
  92% {
    opacity: 0;
    transform: translateX(-7px);
  }
}

@keyframes bot-tab-name-carousel-target {

  0%,
  42%,
  100% {
    opacity: 0;
    transform: translateX(7px);
  }

  50%,
  92% {
    opacity: 1;
    transform: translateX(0);
  }
}

.bot-tab-name-row.has-target:not(.has-alarm) .bot-tab-identity,
.app:not([data-view-mode="compact"]) .bot-tab-name-row.has-target:not(.has-alarm) .bot-tab-identity,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-name-row.has-target:not(.has-alarm) .bot-tab-identity {
  animation: none !important;
  opacity: 0 !important;
  transform: none !important;
  pointer-events: none;
}

.bot-tab-name-row.has-target:not(.has-alarm) .bot-tab-target-summary,
.app:not([data-view-mode="compact"]) .bot-tab-name-row.has-target:not(.has-alarm) .bot-tab-target-summary,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-name-row.has-target:not(.has-alarm) .bot-tab-target-summary {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.bot-tab.alarm-active .bot-tab-carousel,
.app:not([data-view-mode="compact"]) .bot-tab.alarm-active .bot-tab-carousel,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.alarm-active .bot-tab-carousel {
  opacity: 0 !important;
  animation: none !important;
}

.bot-tab.alarm-active .bot-tab-name-alarm:not([hidden]),
.app:not([data-view-mode="compact"]) .bot-tab.alarm-active .bot-tab-name-alarm:not([hidden]),
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.alarm-active .bot-tab-name-alarm:not([hidden]) {
  opacity: 1 !important;
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .bot-tab-name-row.has-target:not(.has-alarm) .bot-tab-identity,
  .bot-tab-name-row.has-target:not(.has-alarm) .bot-tab-target-summary {
    animation: none !important;
  }

  .bot-tab-name-row.has-target:not(.has-alarm) .bot-tab-target-summary {
    opacity: 1 !important;
  }
}

.bot-tab-vitals,
.app:not([data-view-mode="compact"]) .bot-tab-vitals,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-vitals,
.bot-tab.active .bot-tab-vitals,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-vitals,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-vitals {
  grid-template-columns: minmax(23px, max-content) minmax(23px, max-content) minmax(12px, max-content) !important;
  gap: 3px !important;
}

.bot-tabs[data-density="condensed"] .bot-tab-vitals {
  grid-template-columns: minmax(21px, max-content) minmax(21px, max-content) minmax(10px, max-content) !important;
  gap: 2px !important;
}

.bot-tab-metric.capacity,
.app:not([data-view-mode="compact"]) .bot-tab-metric.capacity,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-metric.capacity {
  min-width: max-content !important;
  padding-inline: 0 !important;
}

.bot-tab-metric.capacity .bot-tab-metric-value,
.app:not([data-view-mode="compact"]) .bot-tab-metric.capacity .bot-tab-metric-value,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-metric.capacity .bot-tab-metric-value {
  color: #c0cad4 !important;
  font-weight: 800 !important;
}

.bot-tab.active .bot-tab-metric.capacity .bot-tab-metric-value,
.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.capacity .bot-tab-metric-value,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab.active .bot-tab-metric.capacity .bot-tab-metric-value {
  color: #f2efe4 !important;
}

.bot-tab-capacity-hunger {
  margin-left: 2px;
  color: #d09a62;
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
}

/* Final lateral-panel frame: attached panes stay outside the fixed main shell. */
#app-shell:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column {
  gap: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#app-shell:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"], [data-side-panel="special"]) .right-column > :is(#logs-column-content, #route-track-column-content, #global-modules-column-content, #client-tools-column-content, #special-stuff-column-content) {
  padding: 6px !important;
  border: 1px solid var(--desk-side-panel-border) !important;
  border-radius: 4px !important;
  background: var(--desk-side-panel-bg) !important;
  box-shadow: none !important;
}

#app-shell:not([data-view-mode="compact"]) .module-side-card .control-group,
#app-shell:not([data-view-mode="compact"]) .module-side-card .module-side-grid {
  background: transparent !important;
}

#app-shell:not([data-view-mode="compact"]) .module-side-card .module-side-grid {
  /* Bottom-up stack: fill the whole strip, anchor the last card to the bottom
     margin and rise upward. Top is bounded at the main-window top offset, never
     scrolls — the column is always shown in full. */
  grid-template-rows: none !important;
  grid-auto-rows: var(--desk-side-panel-slot-height) !important;
  gap: var(--desk-side-panel-slot-gap) !important;
  align-content: end !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  scrollbar-gutter: auto !important;
}

#app-shell:not([data-view-mode="compact"]) .module-side-card .quick-module-card,
#app-shell:not([data-view-mode="compact"]) #route-track-column-content .route-track-control,
#app-shell:not([data-view-mode="compact"]) #logs-column-content .feed-row {
  border-color: var(--mw-card-border) !important;
  background: var(--mw-card-bg) !important;
}

#app-shell:not([data-view-mode="compact"]) #route-track-column-content .route-track-recorder-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--desk-side-panel-slot-gap) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#app-shell:not([data-view-mode="compact"]) #route-track-column-content .route-track-control {
  min-height: var(--desk-route-control-height) !important;
  height: var(--desk-route-control-height) !important;
}

#app-shell:not([data-view-mode="compact"]) #route-track-column-content .route-track-square {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: var(--desk-side-panel-slot-height) !important;
  gap: var(--desk-side-panel-slot-gap) !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  scrollbar-gutter: auto !important;
}

#app-shell:not([data-view-mode="compact"]) #logs-column-content .event-feed {
  grid-auto-rows: var(--desk-side-panel-slot-height) !important;
  gap: var(--desk-side-panel-slot-gap) !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  scrollbar-gutter: auto !important;
}

#app-shell:not([data-view-mode="compact"]) .module-side-card .quick-module-card:hover,
#app-shell:not([data-view-mode="compact"]) .module-side-card .quick-module-card:focus-within {
  border-color: rgba(95, 111, 130, 0.94) !important;
  background: var(--mw-card-bg-hover) !important;
}

/* Final placeholder transition guard: reserve slot rhythm without detached paint during attached-panel resizes. */
#app-shell:not([data-view-mode="compact"]) .quick-module-card-placeholder {
  pointer-events: none !important;
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
}

#app-shell:not([data-view-mode="compact"]):is([data-side-panel="logs"], [data-side-panel="route"], [data-side-panel="global"], [data-side-panel="client"]) :is(.quick-module-slot-placeholder, .quick-module-global-placeholder) {
  opacity: 1 !important;
  border-style: dashed !important;
  border-color: rgba(128, 138, 150, 0.38) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 48%),
    rgba(12, 18, 24, 0.62) !important;
  box-shadow: none !important;
}

#app-shell:not([data-view-mode="compact"]) :is(.route-track-tile-placeholder, .feed-placeholder-row) {
  pointer-events: none !important;
  border-style: dashed !important;
  border-color: rgba(128, 138, 150, 0.38) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 48%),
    rgba(12, 18, 24, 0.62) !important;
  color: rgba(226, 230, 234, 0.62) !important;
  box-shadow: none !important;
}

#app-shell:not([data-view-mode="compact"]) .route-track-tile-placeholder {
  --waypoint-rgb: 128, 138, 150;
}

#app-shell:not([data-view-mode="compact"]) .feed-placeholder-row {
  min-width: 0;
  min-height: var(--desk-side-panel-slot-height);
  padding: 4px;
  display: grid;
  grid-template-columns: 4px minmax(0, 1fr);
  gap: 5px;
  border: 1px dashed rgba(128, 138, 150, 0.38);
  border-radius: 4px;
  overflow: hidden;
}

#app-shell:not([data-view-mode="compact"]) .feed-placeholder-rail {
  width: 4px;
  min-height: 100%;
  border-radius: 3px;
  background: rgba(128, 138, 150, 0.42);
}

#app-shell:not([data-view-mode="compact"]) .feed-placeholder-main {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 3px;
}

#app-shell:not([data-view-mode="compact"]) .feed-placeholder-main span,
#app-shell:not([data-view-mode="compact"]) .feed-placeholder-main strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#app-shell:not([data-view-mode="compact"]) .feed-placeholder-main span {
  color: rgba(226, 230, 234, 0.64);
  font-size: 8px;
  font-weight: var(--weight-strong);
  line-height: 1;
  text-transform: uppercase;
}

#app-shell:not([data-view-mode="compact"]) .feed-placeholder-main strong {
  color: rgba(156, 163, 173, 0.66);
  font-size: 10px;
  font-weight: var(--weight-medium);
  line-height: 1.08;
}

/* Final alarms terminal refactor: dense table controls with per-kind audio mix. */
#modal-layer>#modal-module[data-active-module-key="alarms"] {
  width: min(1120px, calc(100vw - 14px)) !important;
  max-width: min(1120px, calc(100vw - 14px)) !important;
  --alarm-gap: 4px;
  --alarm-row-height: 30px;
  --alarm-terminal-line: rgba(88, 104, 124, 0.44);
  --alarm-terminal-bg: rgba(7, 10, 13, 0.82);
  --alarm-terminal-bg-2: rgba(12, 17, 22, 0.74);
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-shell {
  gap: var(--alarm-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-overview {
  padding: 6px !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr) !important;
  gap: var(--alarm-gap) !important;
  border-color: var(--alarm-terminal-line) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 35%),
    var(--alarm-terminal-bg) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-overview-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-stat-card {
  min-height: 32px !important;
  padding: 4px 5px !important;
  gap: 1px !important;
  background: rgba(13, 19, 25, 0.86) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-overview-title, .alarms-card-title) {
  letter-spacing: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-overview-title {
  font-size: 15px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-overview-detail, .alarms-card-note, .alarms-live-head span, .alarms-live-copy span) {
  font-size: 10px !important;
  line-height: 1.22 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-workbench {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important;
  gap: var(--alarm-gap) !important;
  width: 100% !important;
  grid-template-areas: none !important;
  flex: 1 !important;
  overflow-y: auto !important;
  padding-right: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-compact-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.75fr) !important;
  grid-template-areas:
    "lists live"
    "actions actions" !important;
  gap: var(--alarm-gap) !important;
  padding-top: 6px !important;
  border-top: 1px solid var(--alarm-terminal-line) !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 4px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-footer-lists {
  grid-area: lists !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: var(--alarm-gap) !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--alarm-gap) !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors label {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(34px, 1fr) !important;
  align-items: stretch !important;
  gap: 3px !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors label span {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  white-space: nowrap !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors textarea {
  width: 100% !important;
  height: auto !important;
  min-height: 34px !important;
  max-height: 78px !important;
  padding: 4px 6px !important;
  resize: none !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
  background: var(--alarm-terminal-bg-2) !important;
  border: 1px solid var(--alarm-terminal-line) !important;
  border-radius: 4px !important;
  color: var(--text) !important;
  box-sizing: border-box !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-compact-footer .alarms-live-band {
  grid-area: live !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-footer-actions {
  grid-area: actions !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: var(--alarm-gap) !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-action-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)) !important;
  gap: 4px !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-action-grid .module-rule-control {
  min-height: 22px !important;
  padding: 0 4px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-action-grid .module-rule-check {
  width: 100% !important;
  min-height: 22px !important;
  justify-content: center !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-panel, .alarms-live-band, .alarms-scope-row) {
  padding: 5px !important;
  border-color: var(--alarm-terminal-line) !important;
  border-radius: 4px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 34%),
    var(--alarm-terminal-bg-2) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-head {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  padding: 6px !important;
  min-height: 125px !important;
  height: auto !important;
  gap: 4px !important;
  border: 1px solid var(--alarm-terminal-line) !important;
  border-radius: 4px !important;
  background: rgba(9, 13, 18, 0.72) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) :is(.alarms-scope-copy, .alarms-runtime-copy) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding-bottom: 3px !important;
  border-bottom: 1px dashed var(--alarm-terminal-line) !important;
  margin-bottom: 2px !important;
  flex: none !important;
  grid-area: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) .alarms-card-title {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  text-align: center !important;
  margin: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) :is(.alarms-card-kicker, .alarms-card-note, small) {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .alarms-card-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 4px !important;
  width: 100% !important;
  align-items: center !important;
  flex: none !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .alarms-card-grid .alarms-toggle-field {
  grid-column: span 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .alarms-card-grid .alarms-sound-field {
  grid-column: span 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .alarms-card-grid .alarms-volume-field {
  grid-column: span 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-row :is(.alarms-toggle-field, .alarms-runtime-pill, .alarms-runtime-thresholds, .alarms-sound-field, .alarms-volume-field) {
  width: 100% !important;
  grid-area: auto !important;
  align-self: center !important;
  margin: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .module-rule-control {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 24px !important;
  padding: 0 !important;
  align-self: stretch;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .module-rule-control>span:not(.visually-hidden) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .module-rule-check {
  display: flex !important;
  justify-content: center !important;
  padding: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row :is(input[type="number"], select) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 2px 5px !important;
  font-size: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .modal-number-stepper {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 24px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .modal-number-stepper-input {
  height: 24px !important;
  min-height: 24px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .alarms-volume-row {
  grid-template-columns: minmax(0, 1fr) 32px !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .alarms-volume-row output {
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-blacklist-field textarea {
  min-height: 52px !important;
  max-height: 78px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-token-strip {
  grid-template-columns: repeat(auto-fit, minmax(84px, 1fr)) !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-live-strip {
  max-height: 126px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-live-entry {
  min-height: 24px !important;
  padding: 3px 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-live-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-live-actions .btn {
  min-height: 20px !important;
  padding: 0 5px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid {
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)) !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-protector-grid .module-rule-control {
  min-height: 26px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-panel {
  grid-area: critical;
  display: grid;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-head {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--alarm-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-scope-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--alarm-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-copy {
  min-width: 0;
  display: grid;
  gap: 0;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-copy small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-thresholds {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(54px, 1fr));
  gap: 3px;
  min-width: 0;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 2px 5px;
  border: 1px solid rgba(92, 108, 127, 0.54);
  border-radius: 4px;
  color: var(--muted);
  background: rgba(16, 22, 29, 0.78);
  font-size: 10px;
  font-weight: 700;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-pill.muted {
  opacity: 0.76;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-row .module-rule-control {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 24px !important;
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-row .module-rule-control>span:not(.visually-hidden) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-row :is(input[type="number"], select) {
  width: 100% !important;
  min-width: 0 !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 2px 5px !important;
  font-size: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-row .modal-number-stepper {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 24px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-row .alarms-volume-row {
  grid-template-columns: minmax(0, 1fr) 32px !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-action-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(102px, 1fr));
  gap: 4px;
  padding-top: 4px;
  border-top: 1px solid var(--alarm-terminal-line);
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-action-strip .module-rule-control {
  min-height: 24px !important;
}

@media (max-width: 900px) {
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-compact-footer {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "lists"
      "live"
      "actions" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-action-grid {
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-action-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 132px), 1fr)) !important;
  }
}

/* Healer modal compact pass: secondary healers are dense control rows, not card stacks. */
#modal-layer>#modal-module[data-active-module-key="healer"] {
  --healer-compact-gap: 4px;
  --healer-compact-row-h: 24px;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
  gap: var(--healer-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list {
  padding: 4px !important;
  display: grid !important;
  gap: var(--healer-compact-gap) !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-rule-lead,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-kicker,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-detail,
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-section-title,
#modal-layer>#modal-module[data-active-module-key="healer"] .field-note {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-shell {
  gap: var(--healer-compact-gap) !important;
  grid-template-rows: min-content minmax(0, 1fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-title {
  color: #e8eef5 !important;
  font-size: 10px !important;
  font-weight: 780 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-setup-line span,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-status,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-current {
  min-width: 0 !important;
  color: rgba(196, 207, 219, 0.68) !important;
  font-size: 9px !important;
  line-height: 1.05 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-setup-grid {
  grid-template-columns: max-content !important;
  gap: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-setup-grid .module-rule-control {
  width: 76px !important;
  min-height: var(--healer-compact-row-h) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-grid {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--healer-compact-gap) !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-panel {
  min-height: 0 !important;
  padding: 4px !important;
  gap: var(--healer-compact-gap) !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-head-compact {
  min-width: 0 !important;
  min-height: 26px !important;
  display: grid !important;
  grid-template-columns: max-content max-content minmax(0, 1fr) max-content max-content !important;
  align-items: center !important;
  gap: var(--healer-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-toggle .module-rule-check {
  min-height: 22px !important;
  height: 22px !important;
  padding: 2px 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-add,
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-actions .btn,
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-inline-toolbar .btn {
  min-height: 22px !important;
  height: 22px !important;
  padding: 0 6px !important;
  font-size: 8px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-rule-list {
  min-width: 0 !important;
  display: grid !important;
  gap: var(--healer-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-rule-list .empty-state {
  min-height: 30px !important;
  padding: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row {
  min-width: 0 !important;
  padding: 4px !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: end !important;
  gap: var(--healer-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-toolbar {
  min-height: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: max-content !important;
  gap: 3px !important;
  border: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-toolbar-main {
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-actions {
  display: grid !important;
  grid-template-columns: repeat(3, 26px) !important;
  gap: 2px !important;
  margin: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-actions .btn {
  width: 26px !important;
  min-width: 26px !important;
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-sections,
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-section {
  min-width: 0 !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-grid {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(116px, 1.2fr) 48px repeat(5, 54px) !important;
  align-items: end !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row[data-module-key="potionHealer"] .module-rule-grid {
  grid-template-columns: minmax(96px, 1fr) 40px 44px 46px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row[data-module-key="conditionHealer"] .module-rule-grid {
  grid-template-columns: 80px minmax(84px, 1fr) 40px 42px 42px 46px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control {
  min-width: 0 !important;
  min-height: var(--healer-compact-row-h) !important;
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:not(.module-rule-check)>span {
  color: rgba(196, 207, 219, 0.58) !important;
  font-size: 7.5px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row :is(input:not([type="checkbox"]), select) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 1px 4px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row input[type="number"] {
  padding-inline: 3px !important;
  text-align: right !important;
}

@media (max-width: 440px) {
  #modal-layer>#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
    grid-template-rows: minmax(92px, 0.55fr) minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .healer-setup-panel,
  #modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-head-compact,
  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-toolbar {
    grid-template-columns: max-content max-content !important;
    align-items: center !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-actions {
    grid-template-columns: repeat(3, 26px) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-grid,
  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row[data-module-key="conditionHealer"] .module-rule-grid {
    grid-template-columns: repeat(auto-fit, minmax(48px, 1fr)) !important;
  }
}

/* Mana Trainer final compact audit: single scroll lane, flat rows, minimal Light strip. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"].module-modal-compact,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"][data-modal-size-category="large"] {
  --mana-audit-h: 22px;
  --mana-audit-gap: 4px;
  --mana-audit-panel: rgba(8, 12, 16, 0.92);
  --mana-audit-border: rgba(70, 82, 96, 0.9);
  width: min(820px, calc(100vw - 12px)) !important;
  max-width: min(820px, calc(100vw - 12px)) !important;
  height: auto !important;
  max-height: calc(100dvh - 12px) !important;
  min-height: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-extra-fields,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--mana-audit-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-extra-fields {
  order: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  order: 1 !important;
  margin-top: 2px !important;
  padding-top: 4px !important;
  border-top: 1px solid var(--mana-audit-border) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list::before {
  display: none !important;
  content: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel[data-mana-support-module="antiIdle"],
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 3px !important;
  gap: var(--mana-audit-gap) !important;
  border: 1px solid var(--mana-audit-border) !important;
  border-radius: 4px !important;
  background: var(--mana-audit-panel) !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel[data-mana-support-module="antiIdle"] {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel[data-mana-support-module="antiIdle"] .mana-support-panel-strip {
  min-height: var(--mana-audit-h) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 1px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel[data-mana-support-module="antiIdle"] .mana-support-panel-title {
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel[data-mana-support-module="antiIdle"] .mana-support-panel-title strong,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head>strong,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title strong {
  min-width: 0 !important;
  overflow: hidden !important;
  font-size: 10px !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel[data-mana-support-module="antiIdle"] .mana-support-panel-state small,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-compact-status {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel-state {
  justify-items: start !important;
  text-align: left !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel-state span,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title small {
  overflow: hidden !important;
  color: #9ca8b6 !important;
  font-size: 8px !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-workspace-compact {
  min-width: 0 !important;
  display: block !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 104px 112px !important;
  gap: var(--mana-audit-gap) !important;
  justify-content: start !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-preset-group,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-test {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
  display: grid !important;
  grid-template-columns: 62px minmax(0, 1fr) !important;
  align-items: end !important;
  border-color: rgba(118, 100, 50, 0.9) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head {
  min-width: 0 !important;
  display: grid !important;
  gap: 2px !important;
  align-content: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head .module-rule-check {
  min-height: var(--mana-audit-h) !important;
  height: var(--mana-audit-h) !important;
  padding: 2px 4px !important;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr) !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  gap: var(--mana-audit-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list>.module-rule-inline-toolbar {
  grid-column: 1 !important;
  align-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list>.mana-light-source-rule,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list>.mana-light-source-empty {
  grid-column: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule.module-rule-card[data-module-key="autoLight"] {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 2px !important;
  display: grid !important;
  grid-template-columns: 18px minmax(118px, 1fr) 44px 42px 54px max-content !important;
  grid-template-areas: "power spell hotkey mp cooldown actions" !important;
  gap: var(--mana-audit-gap) !important;
  align-items: end !important;
  border: 1px solid rgba(118, 100, 50, 0.9) !important;
  border-radius: 4px !important;
  background: rgba(8, 12, 16, 0.94) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-corner-toggle {
  grid-area: power !important;
  align-self: end !important;
  justify-self: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="words"]) {
  grid-area: spell !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: hotkey !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: mp !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: cooldown !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-actions {
  grid-area: actions !important;
  align-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel-empty {
  padding: 2px 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel-empty .mana-runemaking-rule-list {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: var(--mana-audit-gap) !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 8px minmax(0, 1fr) !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-rule-list {
  min-width: 0 !important;
  display: grid !important;
  gap: var(--mana-audit-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 3px !important;
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  gap: var(--mana-audit-gap) !important;
  align-items: end !important;
  border: 1px solid var(--mana-audit-border) !important;
  border-radius: 4px !important;
  background: var(--mana-audit-panel) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-toolbar,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-toolbar {
  min-width: 0 !important;
  min-height: var(--mana-audit-h) !important;
  display: grid !important;
  gap: 3px !important;
  align-content: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-toolbar-main {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-toolbar-rank {
  overflow: hidden !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions {
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 2px !important;
  justify-content: flex-start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions .btn,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-inline-toolbar .btn,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head .btn {
  min-width: 0 !important;
  min-height: var(--mana-audit-h) !important;
  height: var(--mana-audit-h) !important;
  padding: 0 5px !important;
  font-size: 8px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-section,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-grid {
  display: contents !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-section-title,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-summary {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 64px 44px minmax(118px, 1fr) 54px repeat(4, 44px) 66px 58px !important;
  grid-template-areas: "label hotkey words cooldown mana mpmin mpmax hp target idle" !important;
  gap: var(--mana-audit-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-window-rule[data-module-key="manaTrainer"]:not(.mana-runemaking-rule) .module-rule-sections {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 64px 44px minmax(118px, 1fr) 54px repeat(4, 44px) 66px 58px !important;
  grid-template-areas: "label hotkey words cooldown mana mpmin mpmax hp target idle" !important;
  gap: var(--mana-audit-gap) !important;
  align-items: end !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 56px minmax(118px, 1fr) 44px 54px repeat(4, 44px) 54px 66px 58px !important;
  grid-template-areas: "rune words hotkey cooldown mana mpmin mpmax hp cap target idle" !important;
  gap: var(--mana-audit-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="label"]) {
  grid-area: label !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="words"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="words"]) {
  grid-area: words !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="hotkey"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: hotkey !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="cooldownMs"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: cooldown !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="minMana"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="minMana"]) {
  grid-area: mana !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="minManaPercent"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: mpmin !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="maxManaPercent"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="maxManaPercent"]) {
  grid-area: mpmax !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="minHealthPercent"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="minHealthPercent"]) {
  grid-area: hp !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="runeMaking"]) {
  grid-area: rune !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="minCapacity"]) {
  grid-area: cap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="requireNoTargets"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="requireNoTargets"]) {
  grid-area: target !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-window-rule[data-module-key="manaTrainer"]:not(.mana-runemaking-rule) .module-rule-control:has([data-rule-field="requireNoTargets"]) {
  grid-area: target !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="requireStationary"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="requireStationary"]) {
  grid-area: idle !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  justify-self: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check) {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: 9px var(--mana-audit-h) !important;
  gap: 1px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check)>span,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check>span {
  min-width: 0 !important;
  overflow: hidden !important;
  font-size: 8px !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control :is(input:not([type="checkbox"]), select, .modal-number-stepper, .modal-number-stepper-input) {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  min-height: var(--mana-audit-h) !important;
  height: var(--mana-audit-h) !important;
  max-height: var(--mana-audit-h) !important;
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper {
  --modal-stepper-height: var(--mana-audit-h);
  --modal-stepper-width: 100%;
  --modal-stepper-chevron-width: 14px;
  --modal-stepper-chevron-gap: 1px;
  --modal-stepper-chevron-inset: 2px;
  --modal-stepper-chevron-padding: 20px;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper-buttons {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check.compact-rule-control,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact .module-rule-check {
  min-height: var(--mana-audit-h) !important;
  height: var(--mana-audit-h) !important;
  padding: 2px 4px !important;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr) !important;
  gap: 4px !important;
}

@media (max-width: 820px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel[data-mana-support-module="antiIdle"],
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-toolbar,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-toolbar {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-content: center !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
    grid-template-areas:
      "label words words hotkey cooldown"
      "mana mpmin mpmax hp hp"
      "target target idle idle idle" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-areas:
      "rune words words hotkey cooldown"
      "mana mpmin mpmax hp cap"
      "target target idle idle idle" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list>.module-rule-inline-toolbar,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list>.mana-light-source-rule,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list>.mana-light-source-empty {
    grid-column: 1 !important;
  }
}

@media (max-width: 520px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
    grid-template-areas:
      "label words"
      "hotkey cooldown"
      "mana mpmin"
      "mpmax hp"
      "target idle" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-areas:
      "rune words"
      "hotkey cooldown"
      "mana mpmin"
      "mpmax hp"
      "cap cap"
      "target idle" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule.module-rule-card[data-module-key="autoLight"] {
    grid-template-columns: 18px minmax(0, 1fr) 44px max-content !important;
    grid-template-areas:
      "power spell hotkey actions"
      "mp cooldown cooldown actions" !important;
  }
}

/* Terminal modal switch audit closure: last cascade guard for every modal checkbox. */
#modal-layer input[type="checkbox"],
#modal-layer>#modal-module[data-active-module-key] input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: static !important;
  inset: auto !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  max-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  max-height: var(--toggle-height) !important;
  margin: 0 !important;
  padding: 0 var(--toggle-pad) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 var(--toggle-width) !important;
  border: 1px solid rgba(169, 141, 99, 0.44) !important;
  border-radius: 999px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.01) 46%),
    linear-gradient(180deg, rgba(37, 29, 21, 0.96), rgba(15, 11, 8, 0.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(0, 0, 0, 0.46),
    0 1px 0 rgba(0, 0, 0, 0.22) !important;
  opacity: 1 !important;
  overflow: hidden !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

#modal-layer input[type="checkbox"]::before,
#modal-layer>#modal-module[data-active-module-key] input[type="checkbox"]::before {
  content: "" !important;
  display: block !important;
  width: var(--toggle-thumb-size) !important;
  min-width: var(--toggle-thumb-size) !important;
  height: var(--toggle-thumb-size) !important;
  min-height: var(--toggle-thumb-size) !important;
  flex: 0 0 var(--toggle-thumb-size) !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 32% 30%, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.82) 44%, rgba(212, 188, 146, 0.9)) !important;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
  opacity: 1 !important;
  transform: translateX(0) !important;
}

#modal-layer input[type="checkbox"]:checked,
#modal-layer>#modal-module[data-active-module-key] input[type="checkbox"]:checked {
  border-color: rgba(167, 214, 120, 0.84) !important;
  background:
    linear-gradient(180deg, rgba(213, 247, 171, 0.32), rgba(213, 247, 171, 0.05) 46%),
    linear-gradient(180deg, #48682d, #253518) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 -1px 0 rgba(0, 0, 0, 0.32),
    0 0 0 1px rgba(143, 190, 100, 0.12),
    0 8px 18px rgba(61, 89, 34, 0.16) !important;
}

#modal-layer input[type="checkbox"]:checked::before,
#modal-layer>#modal-module[data-active-module-key] input[type="checkbox"]:checked::before {
  background:
    radial-gradient(circle at 32% 30%, rgba(255, 255, 255, 1), rgba(241, 252, 227, 0.98) 44%, rgba(188, 225, 132, 0.96)) !important;
  box-shadow:
    0 2px 6px rgba(16, 32, 11, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.62) !important;
  transform: translateX(var(--toggle-thumb-shift)) !important;
}

#modal-layer .modal-panel :is(.route-picker-field,
  .checks label,
  .route-checks label,
  .route-setting-toggle,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active,
  .rookiller-arm-field):has(> input[type="checkbox"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check.compact-rule-control {
  min-width: 0 !important;
  min-height: 30px !important;
  height: auto !important;
  max-height: none !important;
  padding: 4px 6px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 7px !important;
  border: 1px solid var(--modal-toggle-card-border, rgba(169, 141, 99, 0.18)) !important;
  border-radius: var(--toggle-surface-radius) !important;
  background: var(--modal-toggle-card-bg, rgba(14, 11, 8, 0.34)) !important;
  color: var(--modal-toggle-card-text, rgba(239, 228, 207, 0.78)) !important;
  box-shadow: none !important;
  text-align: left !important;
  text-transform: none !important;
  overflow: hidden !important;
  transform: none !important;
}

#modal-layer .modal-panel :is(.route-picker-field,
  .checks label,
  .route-checks label,
  .route-setting-toggle,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active,
  .rookiller-arm-field):has(> input[type="checkbox"])>input[type="checkbox"],
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check.compact-rule-control>input[type="checkbox"] {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
}

#modal-layer .modal-panel :is(.route-picker-field,
  .checks label,
  .route-checks label,
  .route-setting-toggle,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active,
  .rookiller-arm-field):has(> input[type="checkbox"])>span:not(.visually-hidden),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check.compact-rule-control>span:not(.visually-hidden) {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: block !important;
  overflow: hidden !important;
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.16 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#modal-layer .modal-panel :is(.route-picker-field,
  .checks label,
  .route-checks label,
  .route-setting-toggle,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active,
  .rookiller-arm-field):has(> input[type="checkbox"]:checked),
#modal-layer>#modal-module[data-active-module-key] :is(.gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active):has(input[type="checkbox"]:checked),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check.compact-rule-control:has(input[type="checkbox"]:checked) {
  border-color: var(--modal-toggle-card-border-active, rgba(143, 190, 100, 0.42)) !important;
  background: var(--modal-toggle-card-bg, rgba(14, 11, 8, 0.34)) !important;
  color: var(--modal-toggle-card-text-active, var(--text)) !important;
  box-shadow: none !important;
}

#modal-layer .route-avoid-toggle .route-avoid-toggle-control,
#modal-layer>#modal-module[data-active-module-key] .route-avoid-toggle .route-avoid-toggle-control {
  position: static !important;
  inset: auto !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  max-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  max-height: var(--toggle-height) !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center end !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  overflow: visible !important;
}

#modal-layer .module-rule-card .module-rule-corner-toggle {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  max-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  max-height: var(--toggle-height) !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer .module-rule-card .module-rule-corner-toggle .module-rule-toggle-dot {
  display: none !important;
}

/* Bloomberg modal density pass: the shared module editor is an operator table, not a card stack. */
:root {
  --modal-dense-gap: 3px;
  --modal-dense-row-h: 22px;
  --modal-dense-panel: #080d12;
  --modal-dense-panel-soft: rgba(8, 13, 18, 0.72);
  --modal-dense-line: rgba(72, 88, 104, 0.76);
  --modal-dense-line-soft: rgba(72, 88, 104, 0.38);
  --modal-dense-text-dim: rgba(196, 207, 219, 0.62);
}

#modal-layer>.modal-panel {
  padding: 4px !important;
  gap: 4px !important;
  border-color: rgba(72, 88, 104, 0.72) !important;
  border-radius: 4px !important;
  background: #070b0f !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.72) !important;
}

#modal-layer>.modal-panel .modal-head,
#modal-layer>.modal-panel .modal-actions {
  min-height: 28px !important;
  padding: 3px 5px !important;
  gap: 4px !important;
  border-color: var(--modal-dense-line-soft) !important;
  border-radius: 3px !important;
  background: #090f14 !important;
  box-shadow: none !important;
}

#modal-layer>.modal-panel .modal-actions {
  min-height: 30px !important;
}

#modal-layer>.modal-panel .modal-body,
#modal-layer>#modal-module[data-active-module-key] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key] #module-rule-list,
#modal-layer>#modal-module[data-active-module-key] #module-extra-fields,
#modal-layer>#modal-module[data-active-module-key] .module-option-rows,
#modal-layer>#modal-module[data-active-module-key] .module-option-row {
  gap: var(--modal-dense-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key] :is(.modal-module-card[data-module-panel="shared"],
  .module-card,
  .sub-card,
  .module-rule-card,
  .healer-setup-panel,
  .healer-family-panel,
  .mana-trainer-service,
  .mana-support-panel,
  .mana-runemaking-panel,
  .gold-bank-subpanel,
  .looting-card,
  .alarms-panel,
  .equipment-replace-panel,
  .equipment-replace-slot) {
  border-color: var(--modal-dense-line-soft) !important;
  border-radius: 3px !important;
  background: var(--modal-dense-panel-soft) !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key] :is(.module-rule-card,
  .healer-setup-panel,
  .healer-family-panel,
  .mana-trainer-service,
  .mana-support-panel,
  .mana-runemaking-panel,
  .gold-bank-subpanel,
  .looting-card,
  .alarms-panel,
  .equipment-replace-panel,
  .equipment-replace-slot) {
  padding: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key] .module-rule-control {
  min-width: 0 !important;
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key] .module-rule-control:not(.module-rule-check)>span,
#modal-layer>#modal-module[data-active-module-key] .route-picker-field>span,
#modal-layer>#modal-module[data-active-module-key] .module-option-row .module-rule-control>span:not(.visually-hidden) {
  color: var(--modal-dense-text-dim) !important;
  font-size: 8px !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key] :is(input:not([type="checkbox"]), select, .modal-number-stepper, .modal-number-stepper-input) {
  min-height: var(--modal-dense-row-h) !important;
  height: var(--modal-dense-row-h) !important;
  max-height: var(--modal-dense-row-h) !important;
  padding: 1px 4px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key] textarea {
  min-height: 44px !important;
  padding: 4px !important;
  font-size: 9px !important;
  line-height: 1.2 !important;
}

#modal-layer>#modal-module[data-active-module-key] :is(.module-rule-actions .btn,
  .module-rule-inline-toolbar .btn,
  .healer-family-add,
  .mana-runemaking-head .btn,
  .modal-actions .btn) {
  min-height: var(--modal-dense-row-h) !important;
  height: var(--modal-dense-row-h) !important;
  padding: 0 6px !important;
  font-size: 8px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key] .module-rule-actions {
  gap: 2px !important;
}

#modal-layer .modal-panel :is(.route-picker-field,
  .checks label,
  .route-checks label,
  .route-setting-toggle,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active,
  .rookiller-arm-field):has(> input[type="checkbox"]) {
  min-height: 24px !important;
  padding: 2px 5px !important;
  gap: 5px !important;
  border-radius: 3px !important;
  background: rgba(8, 13, 18, 0.68) !important;
}

#modal-layer .modal-panel :is(.route-picker-field,
  .checks label,
  .route-checks label,
  .route-setting-toggle,
  .module-rule-check,
  .equipment-replace-power,
  .equipment-replace-toggle,
  .gold-bank-toggle,
  .gold-bank-rule-gate,
  .gold-bank-rule-active,
  .rookiller-arm-field):has(> input[type="checkbox"])>span:not(.visually-hidden) {
  font-size: 9px !important;
  line-height: 1.05 !important;
}

/* Healer modal: strict inline section rows with embedded controls. */
#modal-layer>#modal-module[data-active-module-key="healer"] {
  --healer-grid-gap: 4px;
  --healer-field-h: 24px;
  --healer-label-h: 11px;
  --healer-panel-bg: rgba(8, 14, 20, 0.86);
  --healer-panel-border: rgba(78, 94, 110, 0.82);
  width: min(1080px, calc(100vw - 12px)) !important;
  max-width: min(1080px, calc(100vw - 12px)) !important;
  height: auto !important;
  max-height: min(88dvh, calc(100dvh - 12px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-body-module {
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding-bottom: 8px !important;
  scrollbar-gutter: stable !important;
}

/* Two-pane workspace like the route modal: heal tiers left, summary and
   secondary healer families right. The explicit child placements below must
   stay: legacy :has() rules pin #module-extra-fields to column 2 with id-level
   specificity, and without a matching two-column template the first column
   collapses to 0px and the panes overlap. */
#modal-layer>#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(310px, 0.5fr) !important;
  grid-template-rows: minmax(0, auto) !important;
  align-items: start !important;
  gap: var(--healer-grid-gap) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list,
#modal-layer>#modal-module[data-active-module-key="healer"] #module-extra-fields {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  display: grid !important;
  align-content: start !important;
  gap: var(--healer-grid-gap) !important;
  overflow: visible !important;
  scrollbar-gutter: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-extra-fields {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

@media (max-width: 920px) {
  #modal-layer>#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] #module-extra-fields {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}

#modal-layer>#modal-module[data-active-module-key="healer"] :is(.healer-family-card-grid,
  .healer-family-toolbar,
  .module-rule-section-title,
  .module-rule-summary,
  .field-note) {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-primary-head,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-head,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-row {
  min-width: 0 !important;
  display: grid !important;
  align-items: center !important;
  gap: var(--healer-grid-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-primary-head {
  min-height: 32px !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  padding: 2px 0 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-section-start {
  min-width: 0 !important;
  display: inline-grid !important;
  grid-template-columns: max-content minmax(0, max-content) !important;
  align-items: center !important;
  gap: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-section-start strong,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-head span,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-title {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #aeb8c6 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-inline-toggle {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-primary-add,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-add,
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-actions .btn {
  height: var(--healer-field-h) !important;
  min-height: var(--healer-field-h) !important;
  padding: 0 12px !important;
  border-radius: 5px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-panel,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-panel {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 6px 8px !important;
  border: 1px solid var(--healer-panel-border) !important;
  border-radius: 6px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 45%),
    var(--healer-panel-bg) !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-areas: "fields tools" !important;
  align-items: start !important;
  gap: var(--healer-grid-gap) 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row.module-rule-card-disabled {
  border-color: rgba(78, 94, 110, 0.48) !important;
  opacity: 0.68 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-toolbar {
  grid-area: tools !important;
  min-width: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: max-content max-content !important;
  align-items: start !important;
  justify-content: end !important;
  gap: 6px !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-toolbar-main {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-actions {
  display: grid !important;
  grid-template-columns: repeat(3, 40px) !important;
  justify-content: end !important;
  gap: 6px !important;
  margin: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-actions .btn {
  width: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-sections {
  grid-area: fields !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  gap: var(--healer-grid-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-section,
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-grid {
  min-width: 0 !important;
  padding: 0 !important;
  display: contents !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:not(.module-rule-check),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid>.module-rule-control:not(.module-rule-check),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-readonly-field {
  min-width: 0 !important;
  width: 100% !important;
  display: grid !important;
  grid-template-rows: var(--healer-label-h) var(--healer-field-h) !important;
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="label"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-name {
  grid-column: span 3 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="hotkey"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-key {
  grid-column: span 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="words"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="itemName"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-heal {
  grid-column: span 5 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="cooldownMs"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="minHealthPercent"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="maxHealthPercent"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="minMana"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="minManaPercent"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="condition"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-cd,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-hp-min,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-hp-max,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-mp-min,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid>.module-rule-control {
  grid-column: span 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-name {
  grid-column: span 4 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-key {
  grid-column: span 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid>.module-rule-control {
  grid-column: span 4 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-heal {
  grid-column: span 7 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-cd {
  grid-column: span 3 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-hp-min,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-hp-max {
  grid-column: span 3 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-mp-min {
  grid-column: span 4 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control span:not(.visually-hidden),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid>.module-rule-control>span,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-readonly-field>span {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #b8c3cf !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  line-height: var(--healer-label-h) !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row :is(input:not([type="checkbox"]), select, .modal-number-stepper, .modal-number-stepper-input),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid :is(input:not([type="checkbox"]), select, .modal-number-stepper, .modal-number-stepper-input),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-readonly-field>output {
  width: 100% !important;
  min-width: 0 !important;
  height: var(--healer-field-h) !important;
  min-height: var(--healer-field-h) !important;
  max-height: var(--healer-field-h) !important;
  margin: 0 !important;
  padding: 4px 10px !important;
  display: flex !important;
  align-items: center !important;
  border: 1px solid rgba(74, 88, 102, 0.88) !important;
  border-radius: 5px !important;
  background: rgba(2, 6, 9, 0.82) !important;
  color: #f1f4f7 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    inset 0 -1px 0 rgba(0, 0, 0, 0.42) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid .modal-number-stepper {
  --modal-stepper-height: var(--healer-field-h);
  --modal-stepper-width: 100%;
  --modal-stepper-chevron-width: 18px;
  --modal-stepper-chevron-gap: 1px;
  --modal-stepper-chevron-inset: 2px;
  --modal-stepper-chevron-zone: 18px;
  --modal-stepper-chevron-padding: 26px;
  position: relative !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .modal-number-stepper-input,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid .modal-number-stepper-input {
  padding-right: var(--modal-stepper-chevron-padding) !important;
  text-align: left !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .modal-number-stepper-buttons,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid .modal-number-stepper-buttons {
  position: absolute !important;
  top: var(--modal-stepper-chevron-inset) !important;
  right: var(--modal-stepper-chevron-inset) !important;
  bottom: var(--modal-stepper-chevron-inset) !important;
  width: var(--modal-stepper-chevron-zone) !important;
  min-width: var(--modal-stepper-chevron-zone) !important;
  display: grid !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--modal-stepper-chevron-gap) !important;
  pointer-events: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .modal-number-stepper-button,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid .modal-number-stepper-button {
  width: var(--modal-stepper-chevron-width) !important;
  min-width: var(--modal-stepper-chevron-width) !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-shell {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  gap: var(--healer-grid-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-runtime-line {
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(185, 197, 208, 0.7) !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-panel {
  display: grid !important;
  gap: var(--healer-grid-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-head {
  grid-template-columns: max-content minmax(0, 1fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-overview-title {
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(185, 197, 208, 0.72) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--healer-grid-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-grid {
  min-height: 0 !important;
  display: grid !important;
  gap: var(--healer-grid-gap) !important;
  align-items: start !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-panel {
  display: grid !important;
  gap: var(--healer-grid-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-row {
  grid-template-columns: minmax(190px, 0.9fr) minmax(240px, 1fr) max-content !important;
  min-height: 32px !important;
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-left {
  min-width: 0 !important;
  display: inline-grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: baseline !important;
  gap: 12px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-status,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-current,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-actions>span {
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(185, 197, 208, 0.72) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-actions {
  display: grid !important;
  grid-template-columns: max-content max-content max-content !important;
  align-items: center !important;
  gap: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-rule-list {
  min-width: 0 !important;
  display: grid !important;
  gap: var(--healer-grid-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-rule-list .empty-state {
  min-height: 40px !important;
  padding: 9px 12px !important;
  align-items: center !important;
  justify-content: start !important;
  border: 1px dashed rgba(86, 104, 122, 0.8) !important;
  border-radius: 5px !important;
  background: rgba(4, 9, 13, 0.42) !important;
  color: #c4cbd5 !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel {
  gap: var(--healer-grid-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .module-option-rows-deathHeal {
  min-width: 0 !important;
  display: grid !important;
  gap: var(--healer-grid-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .module-option-row {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: var(--healer-grid-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-1 .module-rule-control:nth-child(1),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-1 .module-rule-control:nth-child(3),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-2 .module-rule-control {
  grid-column: span 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-1 .module-rule-control:nth-child(2) {
  grid-column: span 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .field-note {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .module-rule-control:not(.module-rule-check) {
  min-width: 0 !important;
  display: grid !important;
  grid-template-rows: var(--healer-label-h) var(--healer-field-h) !important;
  gap: 1px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .module-rule-control>span:not(.visually-hidden) {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #b8c3cf !important;
  font-size: 10px !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  line-height: var(--healer-label-h) !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel :is(input:not([type="checkbox"]), select) {
  width: 100% !important;
  min-width: 0 !important;
  height: var(--healer-field-h) !important;
  min-height: var(--healer-field-h) !important;
  padding: 3px 7px !important;
  border-radius: 5px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

/* Mana Trainer modal: support strips stay horizontal, then mana windows scroll as flat rows. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] {
  --mana-audit-h: var(--modal-dense-row-h);
  --mana-audit-gap: var(--modal-dense-gap);
  --mana-audit-panel: var(--modal-dense-panel);
  --mana-audit-border: var(--modal-dense-line);
  width: min(1120px, calc(100vw - 12px)) !important;
  max-width: min(1120px, calc(100vw - 12px)) !important;
  height: min(88dvh, calc(100dvh - 12px)) !important;
  max-height: min(88dvh, calc(100dvh - 12px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: min-content minmax(0, 1fr) !important;
  gap: var(--mana-audit-gap) !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-extra-fields,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  min-height: 0 !important;
  max-height: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-extra-fields {
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding-top: var(--mana-audit-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(210px, 0.78fr) minmax(210px, 0.72fr) minmax(300px, 1fr) minmax(220px, 0.8fr) !important;
  gap: var(--mana-audit-gap) !important;
  align-items: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 3px !important;
  display: grid !important;
  grid-template-rows: min-content minmax(0, auto) !important;
  gap: var(--mana-audit-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head {
  min-width: 0 !important;
  min-height: var(--mana-audit-h) !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) max-content !important;
  align-items: center !important;
  gap: var(--mana-audit-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head {
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-kicker,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head small:last-child,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-compact-status,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .field-note {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head strong,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head>strong,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title strong {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #e8eef5 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head small,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title small {
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--modal-dense-text-dim) !important;
  font-size: 8px !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-workspace-compact {
  display: block !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(90px, 1fr) 96px !important;
  gap: var(--mana-audit-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-fluid-control-grid {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--mana-audit-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-fluid-control-grid .module-rule-control:has([data-module-option-field="manaTrainerManaFluidEnabled"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-fluid-control-grid .module-rule-control:has([data-module-option-field="manaTrainerManaFluidRequireNoTargets"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-fluid-control-grid .module-rule-control:has([data-module-option-field="manaTrainerManaFluidRequireStationary"]) {
  min-height: var(--mana-audit-h) !important;
  height: var(--mana-audit-h) !important;
  padding: 1px 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head {
  grid-template-columns: 42px minmax(0, 1fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  gap: var(--mana-audit-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule.module-rule-card[data-module-key="autoLight"] {
  min-width: 0 !important;
  padding: 2px !important;
  grid-template-columns: 18px minmax(126px, 1fr) 42px 42px 50px max-content !important;
  grid-template-areas: "power spell hotkey mp cooldown actions" !important;
  gap: var(--mana-audit-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
  grid-template-columns: 58px minmax(0, 1fr) !important;
  padding: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-window-rule[data-module-key="manaTrainer"]:not(.mana-runemaking-rule) .module-rule-sections {
  grid-template-columns: 56px minmax(152px, 1.4fr) 42px 50px repeat(4, 44px) 54px 50px !important;
  grid-template-areas: "label words hotkey cooldown mana mpmin mpmax hp target idle" !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
  grid-template-columns: 50px minmax(152px, 1.4fr) 42px 50px repeat(4, 44px) 50px 54px 50px !important;
  grid-template-areas: "rune words hotkey cooldown mana mpmin mpmax hp cap target idle" !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check.compact-rule-control,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact .module-rule-check,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head .module-rule-check {
  min-height: var(--mana-audit-h) !important;
  height: var(--mana-audit-h) !important;
  max-height: var(--mana-audit-h) !important;
  padding: 1px 4px !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check.compact-rule-control>input[type="checkbox"],
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact .module-rule-check>input[type="checkbox"],
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head .module-rule-check>input[type="checkbox"] {
  grid-column: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check) {
  grid-template-rows: 8px var(--mana-audit-h) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-toolbar-rank {
  font-size: 8px !important;
}

@media (max-width: 920px) {
  #modal-layer>#modal-module[data-active-module-key="healer"],
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    height: calc(100dvh - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "tools"
      "fields" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-toolbar {
    justify-content: end !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 620px) {
  #modal-layer>#modal-module[data-active-module-key="healer"] .healer-primary-head,
  #modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-row,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-left,
  #modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-actions {
    justify-content: start !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-sections,
  #modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control,
  #modal-layer>#modal-module[data-active-module-key="healer"] .healer-summary-grid>* {
    grid-column: span 1 !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-actions {
    justify-content: start !important;
  }
}

/* Header/account audit: four desk actions only; account editing lives inside New Session. */
.app:not([data-view-mode="compact"]) .desk-actions,
.window-frame>.app:not([data-view-mode="compact"]) .desk-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: 3px !important;
}

.app:not([data-view-mode="compact"]) .desk-actions>#new-session.header-action-new-session,
.window-frame>.app:not([data-view-mode="compact"]) .desk-actions>#new-session.header-action-new-session {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

.app:not([data-view-mode="compact"]) .desk-actions>#refresh.header-action-sync-tabs,
.window-frame>.app:not([data-view-mode="compact"]) .desk-actions>#refresh.header-action-sync-tabs {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

.app:not([data-view-mode="compact"]) .desk-actions>#new-route.header-action-new-route,
.window-frame>.app:not([data-view-mode="compact"]) .desk-actions>#new-route.header-action-new-route {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

.app:not([data-view-mode="compact"]) .desk-actions>#window-close.header-action-close-client,
.window-frame>.app:not([data-view-mode="compact"]) .desk-actions>#window-close.header-action-close-client {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-route-launcher>.modal-body-route-launcher {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto minmax(0, 1fr) !important;
  grid-template-areas:
    "summary"
    "controls"
    "account"
    "characters" !important;
  gap: 5px !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

#modal-layer>#modal-route-launcher .route-launcher-head {
  grid-area: summary !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(74px, max-content) !important;
  gap: 4px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-route-launcher #route-launch-meta {
  min-width: 0 !important;
}

#modal-layer>#modal-route-launcher .route-launch-accounts-button {
  min-height: 20px !important;
  height: 100% !important;
  padding: 0 8px !important;
  border-radius: 4px !important;
  border-color: #9b8054 !important;
  background: #312717 !important;
  color: #f0e4c8 !important;
  font-size: 10px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-accounts-button:hover:not(:disabled) {
  border-color: #b09468 !important;
  background: #3a2f1c !important;
}

#modal-layer>#modal-route-launcher .route-launch-account-panel {
  grid-area: account !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(96px, max-content) !important;
  grid-template-areas:
    "head save"
    "meta save"
    "fields save" !important;
  gap: 4px !important;
  padding: 5px !important;
  border: 1px solid var(--route-launch-panel-border, rgba(58, 70, 84, 0.92)) !important;
  border-radius: 4px !important;
  background: #0a1016 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-route-launcher .route-launch-account-panel[hidden] {
  display: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-account-head {
  grid-area: head !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, max-content) minmax(0, 1fr) !important;
  gap: 5px !important;
  align-items: center !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
}

#modal-layer>#modal-route-launcher .route-launch-account-head strong {
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--text) !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher #route-credential-meta {
  grid-area: meta !important;
  min-width: 0 !important;
  min-height: 18px !important;
  padding: 2px 5px !important;
  font-size: 9px !important;
  line-height: 1.2 !important;
}

#modal-layer>#modal-route-launcher .route-launch-account-grid {
  grid-area: fields !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(112px, 0.82fr) minmax(118px, 0.88fr) minmax(140px, 1fr) minmax(140px, 1fr) !important;
  gap: 4px !important;
}

#modal-layer>#modal-route-launcher .route-launch-account-panel :is(input, select) {
  min-width: 0 !important;
  width: 100% !important;
  min-height: var(--route-launch-control-height, 22px) !important;
  height: var(--route-launch-control-height, 22px) !important;
  padding: 0 6px !important;
  font-size: 10px !important;
}

#modal-layer>#modal-route-launcher .route-launch-account-save {
  grid-area: save !important;
  align-self: stretch !important;
  min-width: 96px !important;
  min-height: 0 !important;
  padding: 0 8px !important;
  border-radius: 4px !important;
  font-size: 10px !important;
  line-height: 1.05 !important;
  white-space: normal !important;
}

@media (max-width: 620px) {
  #modal-layer>#modal-route-launcher .route-launch-account-panel {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "head"
      "meta"
      "fields"
      "save" !important;
  }

  #modal-layer>#modal-route-launcher .route-launch-account-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-route-launcher .route-launch-account-save {
    min-height: 22px !important;
  }
}

/* Split-team launcher: keep grouping visible without inflating the modal. */
#modal-layer>#modal-route-launcher>.modal-body-route-launcher {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) !important;
  grid-template-areas:
    "summary"
    "controls"
    "plan"
    "account"
    "characters" !important;
  gap: 5px !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

#modal-layer>#modal-route-launcher .route-launch-plan {
  grid-area: plan !important;
  min-width: 0 !important;
  min-height: 20px !important;
  padding: 3px 6px !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  border: 1px solid rgba(93, 112, 134, 0.66) !important;
  border-radius: 4px !important;
  background: #0a1219 !important;
  color: #cdd8e2 !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-plan[data-mode="splitteams"] {
  border-color: rgba(214, 191, 115, 0.48) !important;
  background: #11160f !important;
  color: #ead68e !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row {
  grid-template-columns: calc(var(--toggle-width) + 3px) minmax(58px, 1fr) minmax(26px, max-content) minmax(40px, 0.56fr) !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row.split-enabled {
  grid-template-columns: calc(var(--toggle-width) + 3px) minmax(58px, 1fr) minmax(26px, max-content) minmax(38px, 0.48fr) 34px !important;
}

#modal-layer>#modal-route-launcher .route-launch-squad-select {
  min-width: 0 !important;
  width: 34px !important;
  height: 18px !important;
  min-height: 18px !important;
  padding: 0 2px !important;
  border-radius: 4px !important;
  border-color: rgba(214, 191, 115, 0.5) !important;
  background: #19160d !important;
  color: #ead68e !important;
  font-size: 9px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-row:not(.split-enabled) .route-launch-squad-select {
  display: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-squad-select:disabled {
  opacity: 0.42 !important;
}

@media (max-width: 620px) {
  #modal-layer>#modal-route-launcher>.modal-body-route-launcher {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto minmax(0, 1fr) !important;
    grid-template-areas:
      "summary"
      "controls"
      "plan"
      "account"
      "characters" !important;
    gap: 5px !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }
}

/* Final quiet New Session launcher pass. */
#modal-layer>#modal-route-launcher>.modal-body-route-launcher {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) !important;
  grid-template-areas:
    "summary"
    "controls"
    "plan"
    "account"
    "characters" !important;
  gap: 5px !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

#modal-layer>#modal-route-launcher .route-launcher-head {
  grid-template-columns: 74px max-content minmax(0, 1fr) 74px !important;
  grid-template-areas: "new badges summary accounts" !important;
}

#modal-layer>#modal-route-launcher .route-launch-new-team-button,
#modal-layer>#modal-route-launcher .route-launch-accounts-button {
  min-width: 74px !important;
  width: 74px !important;
  padding: 0 6px !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-badges {
  grid-area: badges !important;
}

#modal-layer>#modal-route-launcher #route-launch-meta,
#modal-layer>#modal-route-launcher .route-launch-plan,
#modal-layer>#modal-route-launcher .route-launch-team-head {
  display: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel {
  grid-template-rows: minmax(0, 1fr) !important;
}

#modal-layer>#modal-route-launcher .route-launch-pool-actions {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  justify-content: flex-end !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  background: var(--route-launch-panel-bg) !important;
}

@media (max-width: 620px) {
  #modal-layer>#modal-route-launcher>.modal-body-route-launcher {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto minmax(0, 1fr) !important;
    grid-template-areas:
      "summary"
      "controls"
      "plan"
      "account"
      "characters" !important;
    gap: 5px !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }

  #modal-layer>#modal-route-launcher .route-launcher-head {
    grid-template-columns: 74px minmax(0, 1fr) 74px !important;
    grid-template-areas: "new badges accounts" !important;
  }
}

/* New Session team composer ownership: route, walk, and draft actions live in one row. */
#modal-layer>#modal-route-launcher .route-launch-team-panel {
  grid-template-rows: auto minmax(0, 1fr) !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="groups"] .route-launcher-grid {
  display: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launcher-grid {
  min-width: 0 !important;
  display: grid !important;
  grid-area: auto !important;
  grid-template-columns: minmax(180px, 1fr) minmax(44px, 54px) max-content !important;
  grid-template-areas: "route walk actions" !important;
  column-gap: 8px !important;
  row-gap: 0 !important;
  align-items: end !important;
  padding: 0 0 5px !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-route-field {
  grid-area: route !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-walk-field {
  grid-area: walk !important;
  width: 54px !important;
  min-width: 44px !important;
  max-width: 54px !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto var(--route-launch-control-height) !important;
  justify-self: center !important;
  align-self: stretch !important;
  justify-items: center !important;
  align-items: end !important;
  gap: 2px !important;
  padding: 0 !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-walk-field span {
  width: 100% !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-walk-field input {
  align-self: center !important;
  justify-self: center !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-pool-actions {
  grid-area: actions !important;
  grid-column: auto !important;
  grid-row: auto !important;
  min-width: max-content !important;
  min-height: var(--route-launch-control-height) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  align-self: end !important;
  padding: 0 !important;
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  background: transparent !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-pool-actions .btn {
  min-height: var(--route-launch-control-height) !important;
  height: var(--route-launch-control-height) !important;
  padding: 0 8px !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="groups"] .route-launch-pool-actions {
  display: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-cancel-team-button {
  border-color: rgba(245, 158, 11, 0.72) !important;
  background: #4a2708 !important;
  color: #ffe9bd !important;
}

#modal-layer>#modal-route-launcher .route-launch-cancel-team-button:hover:not(:disabled) {
  border-color: rgba(251, 191, 36, 0.86) !important;
  background: #633409 !important;
}

#modal-layer>#modal-route-launcher .route-launch-confirm-team-button {
  border-color: rgba(74, 222, 128, 0.72) !important;
  background: #0e4427 !important;
  color: #dfffea !important;
}

#modal-layer>#modal-route-launcher .route-launch-confirm-team-button:hover:not(:disabled) {
  border-color: rgba(134, 239, 172, 0.9) !important;
  background: #145c35 !important;
}

@media (max-width: 480px) {
  #modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launcher-grid {
    grid-template-columns: minmax(120px, 1fr) minmax(44px, 54px) max-content !important;
    grid-template-areas: "route walk actions" !important;
  }
}

/* New Session launcher layout rhythm: shared content edges and compact controls. */
#modal-layer>#modal-route-launcher.modal-panel-route-launcher[data-modal-size-category="large"] {
  --route-launch-content-pad-x: 8px;
  --route-launch-content-gap: 6px;
  --route-launch-control-height: 26px;
  --route-launch-control-pad-x: 14px;
  --route-launch-toolbar-label-height: 12px;
  align-self: start !important;
  justify-self: end !important;
  margin-top: 10px !important;
  margin-right: 10px !important;
  max-height: calc(100dvh - 12px) !important;
}

#modal-layer>#modal-route-launcher>.modal-body-route-launcher {
  grid-template-rows: auto minmax(0, 1fr) !important;
  grid-template-areas:
    "summary"
    "characters" !important;
  gap: var(--route-launch-content-gap) !important;
  padding-inline: var(--route-launch-content-pad-x) !important;
}

#modal-layer>#modal-route-launcher>.modal-body-route-launcher:has(.route-launch-team-panel[data-launch-mode="pool"]) {
  grid-template-rows: auto auto !important;
  overflow: visible !important;
}

#modal-layer>#modal-route-launcher>.modal-body-route-launcher:has(.route-launch-team-panel[data-launch-mode="groups"]) {
  grid-template-rows: auto auto !important;
  grid-template-areas:
    "summary"
    "characters" !important;
  overflow: visible !important;
}

#modal-layer>#modal-route-launcher>.modal-body-route-launcher:has(#route-launch-account-panel:not([hidden])) {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  grid-template-areas:
    "summary"
    "account"
    "characters" !important;
}

#modal-layer>#modal-route-launcher .route-launcher-head {
  grid-template-columns: max-content minmax(0, 1fr) max-content max-content !important;
  grid-template-areas: "new badges presets accounts" !important;
  gap: var(--route-launch-content-gap) !important;
  align-items: center !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-toggle-field.route-launch-walk-field:has(input) {
  grid-template-columns: minmax(0, 1fr) !important;
}

#modal-layer>#modal-route-launcher .route-launch-new-team-button,
#modal-layer>#modal-route-launcher .route-launch-accounts-button,
#modal-layer>#modal-route-launcher .route-launch-preset-select {
  min-width: 0 !important;
  width: auto !important;
  min-height: var(--route-launch-control-height) !important;
  height: var(--route-launch-control-height) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  padding: 0 var(--route-launch-control-pad-x) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-new-team-button,
#modal-layer>#modal-route-launcher .route-launch-accounts-button {
  padding-left: 8px !important;
  padding-right: 8px !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-preset-select {
  grid-area: presets !important;
  width: 67px !important;
  max-width: 67px !important;
  padding-left: 5px !important;
  padding-right: 10px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  font-size: 10px !important;
  text-align: left !important;
  text-overflow: clip !important;
  color: #e9f0ff !important;
  background-color: #25314a !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #cbd5e1 50%),
    linear-gradient(135deg, #cbd5e1 50%, transparent 50%) !important;
  background-position: calc(100% - 10px) 50%, calc(100% - 6px) 50% !important;
  background-repeat: no-repeat !important;
  background-size: 4px 4px, 4px 4px !important;
  border-color: rgba(148, 163, 184, 0.52) !important;
}

#modal-layer>#modal-route-launcher .route-launch-preset-select[hidden] {
  display: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel {
  gap: var(--route-launch-content-gap) !important;
  padding: 5px !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] {
  grid-template-rows: auto auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="groups"] {
  grid-template-rows: minmax(0, auto) !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launcher-grid {
  grid-template-columns: minmax(160px, 180px) minmax(116px, max-content) max-content !important;
  grid-template-areas: "route walk actions" !important;
  column-gap: var(--route-launch-content-gap) !important;
  row-gap: 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-picker-field {
  min-height: var(--route-launch-control-height) !important;
  grid-template-rows: var(--route-launch-control-height) !important;
  gap: 0 !important;
  align-content: center !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-picker-field>span {
  min-width: 0 !important;
  width: 100% !important;
  color: var(--muted) !important;
  font-size: 9px !important;
  line-height: var(--route-launch-toolbar-label-height) !important;
  text-align: left !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-route-field {
  width: 172px !important;
  min-width: 160px !important;
  max-width: 180px !important;
  justify-self: start !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-route-field>span {
  display: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-route-field select {
  width: 100% !important;
  min-height: var(--route-launch-control-height) !important;
  height: var(--route-launch-control-height) !important;
  padding: 0 8px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-walk-field {
  --toggle-width: 38px;
  --toggle-height: 20px;
  --toggle-thumb-size: calc(var(--toggle-height) - (var(--toggle-pad) * 2));
  --toggle-thumb-shift: calc(var(--toggle-width) - var(--toggle-thumb-size) - (var(--toggle-pad) * 2));
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  min-height: var(--route-launch-control-height) !important;
  display: grid !important;
  grid-template-columns: max-content var(--toggle-width) !important;
  grid-template-rows: var(--route-launch-control-height) !important;
  gap: 6px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  justify-self: end !important;
  justify-items: stretch !important;
  align-content: center !important;
  align-items: center !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-walk-field>span {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: max-content !important;
  min-width: max-content !important;
  text-align: right !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-walk-field input {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  margin: 0 !important;
  align-self: center !important;
  justify-self: center !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-pool-actions {
  min-height: var(--route-launch-control-height) !important;
  height: var(--route-launch-control-height) !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  padding: 0 !important;
  position: static !important;
  background: transparent !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-pool-actions .btn {
  min-height: var(--route-launch-control-height) !important;
  height: var(--route-launch-control-height) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 12px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-team-list {
  max-height: none !important;
  overflow: visible !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: start !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-team-row.route-launch-moneyhandler-row {
  display: grid !important;
  grid-template-columns: calc(var(--toggle-width) + 3px) minmax(58px, 1fr) minmax(26px, max-content) minmax(40px, 0.56fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  gap: 3px !important;
  text-align: left !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-team-row.route-launch-moneyhandler-row input[type="checkbox"] {
  justify-self: start !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="pool"] .route-launch-team-row.route-launch-moneyhandler-row .route-launch-character-count {
  text-align: right !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="groups"] .route-launch-team-list {
  min-height: 58px !important;
  max-height: calc(100dvh - 118px) !important;
  align-content: start !important;
  grid-auto-rows: minmax(30px, max-content) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-list>.empty-state {
  width: 100% !important;
  min-height: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding: 8px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  color: var(--modal-dense-text-dim) !important;
}

#modal-layer>#modal-route-launcher .route-launch-team-panel[data-launch-mode="groups"] .route-launch-team-list>.empty-state {
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-route-launcher>.modal-actions {
  margin-inline: var(--route-launch-content-pad-x) !important;
  min-height: var(--route-launch-control-height) !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 4px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-footer-start,
#modal-layer>#modal-route-launcher .route-launch-footer-end {
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 4px !important;
}

#modal-layer>#modal-route-launcher .route-launch-footer-end {
  flex: 0 1 auto !important;
  justify-content: flex-end !important;
}

#modal-layer>#modal-route-launcher .route-launch-footer-start {
  flex: 1 1 auto !important;
}

#modal-layer>#modal-route-launcher .route-launch-fresh-stepper {
  display: inline-flex !important;
  align-items: stretch !important;
  flex: 0 0 auto !important;
  min-height: var(--route-launch-control-height) !important;
  height: var(--route-launch-control-height) !important;
  border: 1px solid rgba(148, 163, 184, 0.35) !important;
  border-radius: 7px !important;
  overflow: hidden !important;
  background: rgba(15, 23, 42, 0.35) !important;
}

#modal-layer>#modal-route-launcher .route-launch-fresh-step {
  width: 24px !important;
  min-width: 24px !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: 14px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

#modal-layer>#modal-route-launcher .route-launch-fresh-step:hover:not(:disabled) {
  background: rgba(148, 163, 184, 0.2) !important;
}

#modal-layer>#modal-route-launcher .route-launch-fresh-step:disabled {
  opacity: 0.4 !important;
  cursor: default !important;
}

#modal-layer>#modal-route-launcher .route-launch-fresh-count {
  width: 2.6em !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: stretch !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-left: 1px solid rgba(148, 163, 184, 0.35) !important;
  border-right: 1px solid rgba(148, 163, 184, 0.35) !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

#modal-layer>#modal-route-launcher .route-launch-fresh-count::-webkit-outer-spin-button,
#modal-layer>#modal-route-launcher .route-launch-fresh-count::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
}

#modal-layer>#modal-route-launcher>.modal-actions .btn {
  min-width: 0 !important;
  min-height: var(--route-launch-control-height) !important;
  height: var(--route-launch-control-height) !important;
  flex: 0 1 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 9px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-route-launcher>.modal-actions .route-launch-sync-button {
  min-width: 88px !important;
}

#modal-layer>#modal-route-launcher>.modal-actions .route-launch-save-preset-button {
  min-width: 82px !important;
}

#modal-layer>#modal-route-launcher>.modal-actions .modal-close-button {
  min-width: 58px !important;
}

#modal-layer>#modal-route-launcher>.modal-actions .modal-save-button {
  min-width: 68px !important;
}

#modal-layer>#modal-route-launcher .route-launch-new-team-button {
  border-color: #ffb39f !important;
  background: #c96455 !important;
  color: #fff4ee !important;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.18),
    inset -1px -1px 0 rgba(71, 25, 20, 0.48) !important;
}

#modal-layer>#modal-route-launcher .route-launch-new-team-button:hover:not(:disabled) {
  border-color: #ffc4b3 !important;
  background: #d97867 !important;
  color: #fffaf7 !important;
}

#modal-layer>#modal-route-launcher .route-launch-new-team-button:active:not(:disabled),
#modal-layer>#modal-route-launcher .route-launch-new-team-button[data-pressed="true"]:not(:disabled) {
  border-color: #ffa28b !important;
  background: #b95549 !important;
}

#modal-layer>#modal-route-launcher .route-launch-total-badge {
  padding: 0 !important;
  cursor: default !important;
  border-color: rgba(196, 181, 253, 0.72) !important;
  background: #241a3f !important;
  color: #f4efff !important;
}

#modal-layer>#modal-route-launcher .route-launch-total-badge.active {
  cursor: pointer !important;
  border-color: rgba(216, 180, 254, 0.9) !important;
  background: #3a2465 !important;
}

#modal-layer>#modal-route-launcher .route-launch-save-preset-button {
  border-color: rgba(216, 180, 254, 0.88) !important;
  background: #6d45b6 !important;
  color: #fbf7ff !important;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.18),
    inset -1px -1px 0 rgba(39, 18, 77, 0.5) !important;
}

#modal-layer>#modal-route-launcher .route-launch-save-preset-button:hover:not(:disabled) {
  border-color: rgba(233, 213, 255, 0.95) !important;
  background: #7c55c7 !important;
}

#modal-layer>#modal-route-launcher .route-launch-delete-preset-confirm {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: grid !important;
  place-items: center !important;
  padding: 12px !important;
  background: rgba(2, 6, 23, 0.44) !important;
}

#modal-layer>#modal-route-launcher .route-launch-delete-preset-confirm[hidden] {
  display: none !important;
}

#modal-layer>#modal-route-launcher .route-launch-delete-preset-card {
  width: min(280px, calc(100vw - 32px)) !important;
  display: grid !important;
  gap: 10px !important;
  padding: 12px !important;
  border: 1px solid rgba(148, 163, 184, 0.42) !important;
  border-radius: 7px !important;
  background: #101827 !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.42) !important;
}

#modal-layer>#modal-route-launcher .route-launch-delete-preset-card p {
  margin: 0 !important;
  color: #f8fafc !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

#modal-layer>#modal-route-launcher .route-launch-delete-preset-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 6px !important;
}

/* Team Hunt member picker density and contrast. */
#modal-module[data-active-module-key="team"] .follow-train-source-column {
  padding: 4px !important;
  gap: 4px !important;
}

#modal-module[data-active-module-key="team"] .follow-train-source-stack {
  gap: 4px !important;
}

#modal-module[data-active-module-key="team"] .follow-train-source-card {
  padding: 4px !important;
  gap: 3px !important;
  background: rgba(7, 11, 16, 0.72) !important;
}

#modal-module[data-active-module-key="team"] .follow-train-source-list {
  gap: 4px !important;
}

#modal-module[data-active-module-key="team"] .follow-train-source-button {
  min-height: 34px !important;
  padding: 5px 6px !important;
  gap: 3px !important;
  border-radius: 5px !important;
  border-color: rgba(86, 110, 139, 0.58) !important;
  background:
    linear-gradient(180deg, rgba(66, 109, 150, 0.32), rgba(21, 38, 55, 0.86)),
    #142234 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

#modal-module[data-active-module-key="team"] .follow-train-source-button strong {
  font-size: 10px !important;
  line-height: 1.08 !important;
}

#modal-module[data-active-module-key="team"] .follow-train-source-button span {
  gap: 3px !important;
}

#modal-module[data-active-module-key="team"] .follow-train-source-button .follow-train-badge {
  min-height: 14px !important;
  padding: 0 4px !important;
  border-color: rgba(141, 174, 211, 0.24) !important;
  background: rgba(219, 236, 255, 0.07) !important;
  font-size: 7px !important;
  line-height: 1 !important;
}

#modal-module[data-active-module-key="team"] .follow-train-source-button:hover:not(:disabled),
#modal-module[data-active-module-key="team"] .follow-train-source-button:focus-visible {
  border-color: rgba(141, 192, 245, 0.82) !important;
  background:
    linear-gradient(180deg, rgba(79, 134, 188, 0.42), rgba(25, 49, 74, 0.95)),
    #172a41 !important;
  transform: none !important;
}

/* Mana Trainer modal layout fix: one scroll body, compact sections, aligned rule grids. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] {
  --mana-layout-gap: 8px;
  --mana-row-gap: 6px;
  --mana-field-h: 24px;
  --mana-field-label-h: 11px;
  --mana-panel-bg: rgba(8, 13, 18, 0.86);
  --mana-panel-border: rgba(72, 88, 104, 0.66);
  width: min(1120px, calc(100vw - 16px)) !important;
  max-width: min(1120px, calc(100vw - 16px)) !important;
  height: auto !important;
  max-height: calc(100dvh - 16px) !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: 6px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-head {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
  min-height: 0 !important;
  max-height: calc(100dvh - 68px) !important;
  padding: 6px 6px 12px !important;
  display: block !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-actions {
  min-height: 34px !important;
  margin: 0 !important;
  padding: 6px !important;
  border-top: 1px solid var(--mana-panel-border) !important;
  background: #090f14 !important;
  z-index: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--mana-layout-gap) !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-extra-fields,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  display: grid !important;
  gap: var(--mana-layout-gap) !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-extra-fields {
  order: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  order: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace {
  min-width: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--mana-layout-gap) !important;
  align-items: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service,
  .mana-runemaking-panel,
  .mana-window-rule,
  .module-rule-card.mana-runemaking-rule) {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 8px !important;
  border: 1px solid var(--mana-panel-border) !important;
  border-radius: 4px !important;
  background: var(--mana-panel-bg) !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service,
  .mana-runemaking-panel) {
  display: grid !important;
  gap: var(--mana-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head,
  .mana-window-list-head) {
  min-width: 0 !important;
  min-height: 26px !important;
  display: grid !important;
  align-items: center !important;
  gap: var(--mana-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head,
  .mana-window-list-head) strong {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #e8eef5 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head) small {
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--modal-dense-text-dim) !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-kicker,
  .mana-trainer-service-head small:last-child,
  .anti-idle-compact-status,
  .field-note,
  .spell-cost-note) {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-anti {
  grid-template-columns: minmax(140px, 1fr) max-content !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-anti .mana-trainer-service-head {
  grid-template-columns: max-content max-content !important;
  justify-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-body {
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-workspace-compact {
  min-width: 0 !important;
  display: block !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 120px 126px !important;
  gap: var(--mana-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
  grid-template-columns: minmax(0, 1fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head {
  grid-template-columns: minmax(74px, 1fr) 132px max-content !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--mana-row-gap) !important;
  align-items: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
  min-width: 0 !important;
  padding: 6px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(180px, 1fr) 64px 86px 88px max-content !important;
  grid-template-areas: "power spell hotkey mp cooldown actions" !important;
  gap: var(--mana-row-gap) !important;
  align-items: end !important;
  border-color: rgba(118, 100, 50, 0.78) !important;
  background: rgba(8, 12, 16, 0.94) !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-corner-toggle {
  grid-area: power !important;
  align-self: end !important;
  justify-self: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="words"]) {
  grid-area: spell !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: hotkey !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: mp !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: cooldown !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-actions {
  grid-area: actions !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel-empty .mana-runemaking-rule-list {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head {
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) max-content !important;
  gap: 6px !important;
  align-items: baseline !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel-dot {
  width: 6px !important;
  height: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-rule-list {
  min-width: 0 !important;
  display: grid !important;
  gap: var(--mana-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head {
  padding: 8px !important;
  border: 1px solid var(--mana-panel-border) !important;
  border-radius: 4px !important;
  background: var(--mana-panel-bg) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  gap: var(--mana-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-toolbar {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 4px !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-toolbar-main {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-toolbar-rank {
  color: #e8eef5 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions {
  min-width: 0 !important;
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 30px !important;
  gap: 3px !important;
  justify-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-actions .btn,
  .module-rule-inline-toolbar .btn,
  .mana-runemaking-head .btn,
  .mana-window-list-head .btn,
  .mana-light-source-head .btn) {
  min-width: 30px !important;
  min-height: var(--mana-field-h) !important;
  height: var(--mana-field-h) !important;
  padding: 0 7px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions .btn {
  padding: 0 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-section,
  .module-rule-grid) {
  display: contents !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-section-title,
  .module-rule-summary) {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 120px minmax(180px, 1fr) 62px 82px 82px 82px 82px 76px 92px 82px !important;
  grid-template-areas: "label words hotkey cooldown mana mpmin mpmax hp target idle" !important;
  gap: var(--mana-row-gap) !important;
  align-items: end !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 82px minmax(170px, 1fr) 58px 78px 76px 76px 76px 72px 72px 88px 78px !important;
  grid-template-areas: "rune words hotkey cooldown mana mpmin mpmax hp cap target idle" !important;
  gap: var(--mana-row-gap) !important;
  align-items: end !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="label"]) {
  grid-area: label !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="words"]) {
  grid-area: words !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: hotkey !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: cooldown !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="minMana"]) {
  grid-area: mana !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: mpmin !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="maxManaPercent"]) {
  grid-area: mpmax !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="minHealthPercent"]) {
  grid-area: hp !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="runeMaking"]) {
  grid-area: rune !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="minCapacity"]) {
  grid-area: cap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="requireNoTargets"]) {
  grid-area: target !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="requireStationary"]) {
  grid-area: idle !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  justify-self: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check) {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: var(--mana-field-label-h) var(--mana-field-h) !important;
  gap: 2px !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check)>span,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check>span:not(.visually-hidden) {
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--modal-dense-text-dim) !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control :is(input:not([type="checkbox"]),
  select,
  .modal-number-stepper,
  .modal-number-stepper-input) {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  min-height: var(--mana-field-h) !important;
  height: var(--mana-field-h) !important;
  max-height: var(--mana-field-h) !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper {
  --modal-stepper-height: var(--mana-field-h);
  --modal-stepper-width: 100%;
  --modal-stepper-chevron-width: 16px;
  --modal-stepper-chevron-padding: 22px;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper-input {
  padding-right: 22px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-check,
  .module-rule-check.compact-rule-control) {
  min-width: 0 !important;
  min-height: var(--mana-field-h) !important;
  height: var(--mana-field-h) !important;
  max-height: var(--mana-field-h) !important;
  padding: 2px 5px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  gap: 5px !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-check,
  .module-rule-check.compact-rule-control)>input[type="checkbox"] {
  grid-column: 2 !important;
  justify-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-corner-toggle {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .empty-state {
  min-height: 24px !important;
  padding: 6px 8px !important;
  display: grid !important;
  place-items: center start !important;
  border: 1px solid var(--mana-panel-border) !important;
  border-radius: 4px !important;
  background: rgba(8, 13, 18, 0.54) !important;
  color: var(--modal-dense-text-dim) !important;
  font-size: 10px !important;
}

@media (max-width: 980px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
    grid-template-columns: 34px minmax(160px, 1fr) 62px 82px 86px max-content !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
    .module-rule-card.mana-runemaking-rule) .module-rule-toolbar {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
    grid-template-columns: 120px minmax(180px, 1fr) 62px 82px repeat(3, 76px) !important;
    grid-template-areas:
      "label words words hotkey cooldown mana mpmin"
      "mpmax hp target target idle idle idle" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-columns: 82px minmax(180px, 1fr) 62px 82px repeat(3, 76px) !important;
    grid-template-areas:
      "rune words words hotkey cooldown mana mpmin"
      "mpmax hp cap target target idle idle" !important;
  }
}

@media (max-width: 720px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
    max-height: calc(100dvh - 60px) !important;
    padding: 4px 4px 10px !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-anti,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact {
    grid-template-columns: minmax(120px, 1fr) minmax(126px, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
    grid-template-columns: 34px minmax(0, 1fr) 62px max-content !important;
    grid-template-areas:
      "power spell hotkey actions"
      "mp cooldown cooldown actions" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
    grid-template-areas:
      "label words"
      "hotkey cooldown"
      "mana mpmin"
      "mpmax hp"
      "target idle" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-areas:
      "rune words"
      "hotkey cooldown"
      "mana mpmin"
      "mpmax hp"
      "cap cap"
      "target idle" !important;
  }
}

/* Mana Trainer reference redesign: dense landscape control panel. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] {
  --mana-layout-gap: 8px;
  --mana-row-gap: 6px;
  --mana-field-h: 30px;
  --mana-field-label-h: 14px;
  --mana-panel-bg: rgba(7, 12, 17, 0.9);
  --mana-panel-border: rgba(65, 81, 98, 0.7);
  --mana-panel-border-soft: rgba(65, 81, 98, 0.46);
  width: min(1160px, calc(100vw - 18px)) !important;
  max-width: min(1160px, calc(100vw - 18px)) !important;
  height: auto !important;
  max-height: calc(100dvh - 18px) !important;
  grid-template-rows: minmax(0, auto) auto !important;
  gap: 0 !important;
  border-color: rgba(76, 97, 119, 0.82) !important;
  background: linear-gradient(180deg, rgba(10, 18, 24, 0.98), rgba(5, 10, 15, 0.98)) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
  max-height: calc(100dvh - 82px) !important;
  padding: 10px 10px 8px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-actions {
  position: sticky !important;
  bottom: 0 !important;
  min-height: 46px !important;
  padding: 8px 10px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  border-top: 1px solid var(--mana-panel-border-soft) !important;
  background: rgba(5, 10, 15, 0.98) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-actions .btn {
  min-width: 150px !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 18px !important;
  font-size: 12px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-extra-fields,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  gap: var(--mana-layout-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace {
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(300px, 0.45fr) minmax(560px, 1fr) !important;
  gap: var(--mana-layout-gap) !important;
  align-items: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel {
  grid-column: 1 / -1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service,
  .mana-runemaking-panel,
  .mana-window-list-head,
  .mana-window-rule,
  .module-rule-card.mana-runemaking-rule) {
  padding: 14px 18px !important;
  border: 1px solid var(--mana-panel-border-soft) !important;
  border-radius: 6px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0)),
    var(--mana-panel-bg) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.018) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service,
  .mana-runemaking-panel) {
  display: grid !important;
  grid-template-rows: auto minmax(0, auto) !important;
  gap: 12px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head,
  .mana-window-list-head) {
  min-height: 34px !important;
  display: grid !important;
  align-items: center !important;
  gap: 10px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(65, 81, 98, 0.32) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head,
  .mana-window-list-head) strong {
  color: #e7edf4 !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head small:not(.visually-hidden),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title small,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel-dot,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-compact-status,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .field-note,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .spell-cost-note {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-anti {
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-anti .mana-trainer-service-head {
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-option-toggle-only {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-option-toggle-only>input[type="checkbox"] {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-workspace-compact {
  display: block !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact {
  display: grid !important;
  grid-template-columns: minmax(210px, 312px) !important;
  gap: var(--mana-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head {
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head .module-rule-check {
  width: 130px !important;
  min-width: 130px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list {
  display: grid !important;
  gap: var(--mana-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 42px minmax(150px, 1fr) 76px 106px 112px max-content !important;
  grid-template-areas: "power spell hotkey mp cooldown actions" !important;
  gap: var(--mana-row-gap) !important;
  align-items: end !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-corner-toggle {
  grid-area: power !important;
  align-self: end !important;
  justify-self: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="words"]) {
  grid-area: spell !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: hotkey !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: mp !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: cooldown !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-actions {
  grid-area: actions !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel-empty {
  min-height: 82px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel-empty .mana-runemaking-rule-list,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list>.empty-state {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head {
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title {
  display: block !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head {
  margin: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: var(--mana-row-gap) !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-toolbar-main {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-toolbar-rank {
  color: #e8eef5 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 38px !important;
  gap: 8px !important;
  justify-content: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-actions .btn,
  .module-rule-inline-toolbar .btn,
  .mana-runemaking-head .btn,
  .mana-window-list-head .btn) {
  min-width: 38px !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions .btn {
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-section,
  .module-rule-grid) {
  display: contents !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-section-title,
  .module-rule-summary) {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
  display: grid !important;
  grid-template-columns: 126px minmax(180px, 1fr) 72px 106px 92px 104px 104px !important;
  grid-template-areas:
    "label words hotkey cooldown mana mpmin mpmax"
    "hp hp target target idle idle idle" !important;
  gap: 7px var(--mana-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
  display: grid !important;
  grid-template-columns: 88px minmax(180px, 1fr) 72px 106px 92px 104px 104px !important;
  grid-template-areas:
    "rune words hotkey cooldown mana mpmin mpmax"
    "hp cap target target idle idle idle" !important;
  gap: 7px var(--mana-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="label"]) {
  grid-area: label !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="words"]) {
  grid-area: words !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: hotkey !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: cooldown !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="minMana"]) {
  grid-area: mana !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: mpmin !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="maxManaPercent"]) {
  grid-area: mpmax !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="minHealthPercent"]) {
  grid-area: hp !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="runeMaking"]) {
  grid-area: rune !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="minCapacity"]) {
  grid-area: cap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="requireNoTargets"]) {
  grid-area: target !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="requireStationary"]) {
  grid-area: idle !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control {
  min-width: 0 !important;
  width: 100% !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check) {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: var(--mana-field-label-h) var(--mana-field-h) !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check)>span,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check>span:not(.visually-hidden) {
  overflow: hidden !important;
  color: rgba(226, 232, 240, 0.72) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control :is(input:not([type="checkbox"]),
  select,
  .modal-number-stepper,
  .modal-number-stepper-input) {
  min-width: 0 !important;
  width: 100% !important;
  min-height: var(--mana-field-h) !important;
  height: var(--mana-field-h) !important;
  max-height: var(--mana-field-h) !important;
  font-size: 13px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper {
  --modal-stepper-height: var(--mana-field-h);
  --modal-stepper-width: 100%;
  --modal-stepper-chevron-width: 20px;
  --modal-stepper-chevron-padding: 26px;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-check,
  .module-rule-check.compact-rule-control) {
  min-height: var(--mana-field-h) !important;
  height: var(--mana-field-h) !important;
  max-height: var(--mana-field-h) !important;
  padding: 2px 8px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  gap: 8px !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-check,
  .module-rule-check.compact-rule-control)>input[type="checkbox"] {
  grid-column: 2 !important;
  justify-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-corner-toggle {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .empty-state {
  min-height: 30px !important;
  padding: 7px 9px !important;
  color: rgba(226, 232, 240, 0.58) !important;
  font-size: 11px !important;
}

@media (max-width: 980px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
    grid-template-columns: 42px minmax(150px, 1fr) 72px max-content !important;
    grid-template-areas:
      "power spell hotkey actions"
      "mp cooldown cooldown actions" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
    grid-template-areas:
      "label words words hotkey"
      "cooldown mana mpmin mpmax"
      "hp target target idle" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-areas:
      "rune words words hotkey"
      "cooldown mana mpmin mpmax"
      "hp cap target idle" !important;
  }
}

@media (max-width: 720px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
    padding: 6px !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service,
    .mana-runemaking-panel,
    .mana-window-list-head,
    .mana-window-rule,
    .module-rule-card.mana-runemaking-rule) {
    padding: 10px !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
    grid-template-columns: 42px minmax(0, 1fr) max-content !important;
    grid-template-areas:
      "power spell actions"
      "hotkey mp actions"
      "cooldown cooldown actions" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
    grid-template-areas:
      "label words"
      "hotkey cooldown"
      "mana mpmin"
      "mpmax hp"
      "target idle" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-areas:
      "rune words"
      "hotkey cooldown"
      "mana mpmin"
      "mpmax hp"
      "cap cap"
      "target idle" !important;
  }
}

/* Team Hunt requested layout fixes: keep the existing dark skin, correct hierarchy and scroll. */
#modal-layer>#modal-module[data-active-module-key="team"].open {
  max-height: calc(100dvh - 8px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="team"]>.modal-body-module {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
  padding-bottom: 12px !important;
}

#modal-layer>#modal-module[data-active-module-key="team"]>.modal-actions {
  flex: 0 0 auto !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="team"] .module-extra-fields,
#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-shell,
#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-shell {
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-shell {
  grid-template-rows: auto auto auto !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-header-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-enable-panel {
  grid-column: span 2 !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-route-panel {
  grid-column: span 3 !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-hunt-panel {
  grid-column: span 3 !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-sync-panel,
#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-healer-panel {
  grid-column: span 4 !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-spacing-panel {
  grid-column: span 5 !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-challenge-panel {
  grid-column: span 4 !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-sio-panel {
  grid-column: span 12 !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-header-panel {
  min-height: 44px !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-enable-toggle {
  width: 100%;
  height: 100%;
  min-height: 30px;
  display: grid;
  grid-template-columns: var(--toggle-width) minmax(0, 1fr);
  grid-template-rows: 1fr 1fr;
  column-gap: 6px;
  align-items: center;
  align-content: center;
  cursor: pointer;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-enable-toggle input {
  grid-row: 1 / 3;
  align-self: center;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-enable-toggle strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 12px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-enable-toggle small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-compact-toggle {
  grid-template-columns: var(--toggle-width) minmax(0, 1fr) 16px !important;
  min-height: var(--team-hunt-control-height) !important;
  height: var(--team-hunt-control-height) !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-compact-toggle .field-note {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-help-icon {
  width: 14px;
  height: 14px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(116, 124, 134, 0.62);
  border-radius: 50%;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  cursor: help;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-sio-panel {
  padding: 7px 6px !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  gap: 6px !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-sio-enable-toggle {
  min-height: var(--team-hunt-control-height) !important;
  display: grid !important;
  grid-template-columns: var(--toggle-width) max-content 16px !important;
  gap: 5px !important;
  align-items: center !important;
  align-self: end !important;
  cursor: pointer;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-sio-enable-toggle span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-sio-grid {
  grid-template-columns: repeat(5, minmax(70px, 1fr)) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-settings-strip {
  grid-template-columns: minmax(58px, 0.65fr) minmax(88px, 1fr) minmax(76px, 0.75fr) minmax(58px, 0.65fr) minmax(96px, 0.8fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-challenge-strip {
  grid-template-columns: minmax(86px, 0.9fr) minmax(70px, 1fr) repeat(4, minmax(52px, 0.7fr)) !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-layout {
  min-height: 0 !important;
  height: auto !important;
  grid-template-columns: minmax(320px, 0.48fr) minmax(0, 1fr) !important;
  align-items: start !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-source-column,
#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-chain-column {
  align-self: start !important;
  align-content: start !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-source-stack {
  min-height: 0 !important;
  grid-template-rows: auto auto auto !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-source-card {
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-character-card {
  min-height: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-source-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  align-content: start !important;
  gap: 4px !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-source-list>.empty-state {
  grid-column: 1 / -1;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-source-button {
  align-self: start !important;
  min-height: 34px !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-chain-list {
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-head {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-actions {
  justify-content: flex-end !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-buttons {
  flex: 0 0 100% !important;
  justify-content: flex-end !important;
  padding-top: 2px !important;
}

@media (max-width: 1050px) {
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-enable-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-route-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-hunt-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-sync-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-healer-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-spacing-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-challenge-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-sio-panel {
    grid-column: span 6 !important;
  }

  #modal-layer>#modal-module[data-active-module-key="team"] .follow-train-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="team"] .follow-train-source-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-header-grid,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-settings-strip,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-challenge-strip,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-sio-grid,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-sio-panel {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-enable-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-route-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-hunt-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-sync-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-healer-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-spacing-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-challenge-panel,
  #modal-layer>#modal-module[data-active-module-key="team"] .team-hunt-sio-panel {
    grid-column: 1 !important;
  }

  #modal-layer>#modal-module[data-active-module-key="team"] .follow-train-source-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Spells modal: compact grouped rows without inner card bulk. */
#modal-layer>#modal-module[data-active-module-key="spellCaster"].module-modal-compact.module-modal-rule-only {
  --spell-rule-gap: 6px;
  --spell-rule-row-h: 26px;
  --spell-rule-number-w: var(--modal-stepper-width, 84px);
  width: min(820px, calc(100vw - 16px)) !important;
  max-width: min(820px, calc(100vw - 16px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-body-module {
  min-height: 0 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] #module-rule-list {
  gap: var(--spell-rule-gap) !important;
  padding-bottom: 10px !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-inline-toolbar {
  min-height: var(--spell-rule-row-h) !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-card.module-rule-card-with-toggle {
  padding: 6px !important;
  gap: 6px !important;
  border: 1px solid rgba(74, 88, 104, 0.48) !important;
  border-radius: 5px !important;
  background: rgba(8, 13, 18, 0.82) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar {
  min-height: var(--spell-rule-row-h) !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar .module-rule-actions {
  margin-left: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-actions .btn {
  min-width: 46px !important;
  min-height: var(--spell-rule-row-h) !important;
  height: var(--spell-rule-row-h) !important;
  padding: 0 7px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-actions .btn.danger {
  min-width: 56px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  align-items: start !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section {
  min-width: 0 !important;
  padding: 5px !important;
  display: grid !important;
  gap: 4px !important;
  border: 1px solid rgba(74, 88, 104, 0.36) !important;
  border-radius: 4px !important;
  background: rgba(11, 17, 23, 0.42) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section-title {
  color: rgba(170, 183, 197, 0.72) !important;
  font-size: 8px !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-grid {
  display: grid !important;
  gap: 6px !important;
  align-items: end !important;
  justify-content: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="identity"] .module-rule-grid,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="cast"] .module-rule-grid {
  grid-template-columns: minmax(120px, 1fr) minmax(76px, 90px) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="target"] .module-rule-grid {
  grid-template-columns: minmax(130px, 1fr) var(--spell-rule-number-w) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="mana"] .module-rule-grid {
  grid-template-columns: repeat(2, minmax(var(--spell-rule-number-w), 1fr)) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="count"] .module-rule-grid {
  grid-template-columns: var(--spell-rule-number-w) max-content !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="generic-surround"] .module-rule-grid {
  grid-template-columns: max-content var(--spell-rule-number-w) var(--spell-rule-number-w) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="pattern"] .module-rule-grid {
  grid-template-columns: minmax(132px, 1fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  justify-self: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control:not(.module-rule-check) {
  display: grid !important;
  grid-template-rows: min-content var(--spell-rule-row-h) !important;
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control>span:not(.visually-hidden) {
  color: rgba(174, 183, 194, 0.82) !important;
  font-size: 8px !important;
  font-weight: 730 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input {
  min-height: var(--spell-rule-row-h) !important;
  height: var(--spell-rule-row-h) !important;
  max-height: var(--spell-rule-row-h) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input {
  width: var(--spell-rule-number-w) !important;
  min-width: var(--spell-rule-number-w) !important;
  max-width: var(--spell-rule-number-w) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-check {
  width: max-content !important;
  max-width: 100% !important;
  min-height: var(--spell-rule-row-h) !important;
  padding: 2px 6px !important;
  align-self: end !important;
  justify-self: start !important;
}

@media (max-width: 680px) {
  #modal-layer>#modal-module[data-active-module-key="spellCaster"].module-modal-compact.module-modal-rule-only {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 440px) {
  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar .module-rule-actions {
    justify-content: flex-start !important;
  }

  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section .module-rule-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Trainer modal Tier 4 landscape layout. */
#modal-layer>#modal-module.module-modal-compact[data-active-module-key="trainer"][data-modal-size-category="veryLarge"] {
  width: min(1280px, calc(100vw - 16px)) !important;
  max-width: min(1280px, calc(100vw - 16px)) !important;
  height: calc(100dvh - 16px) !important;
  max-height: calc(100dvh - 16px) !important;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 6px;
  padding: 6px;
  overflow: hidden;
}

#modal-module.module-modal-compact[data-active-module-key="trainer"] .modal-body-module,
#modal-module.module-modal-compact[data-active-module-key="trainer"] .modal-module-card[data-module-panel="shared"] {
  min-height: 0;
  height: 100%;
  max-height: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
}

#modal-module.module-modal-compact[data-active-module-key="trainer"] .module-extra-fields {
  min-height: 0;
  height: 100%;
  max-height: none;
  display: block;
  padding: 0 4px 6px 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

#modal-module.module-modal-compact[data-active-module-key="trainer"] .modal-actions {
  flex-shrink: 0;
  position: sticky;
  bottom: 0;
  min-height: 30px;
  padding: 4px 6px;
  justify-content: flex-end;
  gap: 6px;
  border-top: 1px solid rgba(201, 169, 112, 0.18);
  background: rgba(5, 8, 11, 0.96);
}

#modal-module.module-modal-compact[data-active-module-key="trainer"] .modal-actions .btn {
  min-height: 22px;
  height: 22px;
  padding: 0 14px;
  font-size: 9px;
  line-height: 1;
}

#modal-module[data-active-module-key="trainer"] .trainer-shell {
  display: grid;
  grid-auto-rows: min-content;
  align-content: start;
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-summary-strip {
  min-height: 24px;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 4px;
  align-items: stretch;
}

#modal-module[data-active-module-key="trainer"] .trainer-summary-item {
  min-width: 0;
  min-height: 24px;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  padding: 3px 6px;
  border: 1px solid rgba(86, 104, 124, 0.42);
  border-radius: 4px;
  background: rgba(12, 17, 23, 0.82);
}

#modal-module[data-active-module-key="trainer"] .trainer-summary-item.tone-safe {
  border-color: rgba(143, 190, 100, 0.38);
}

#modal-module[data-active-module-key="trainer"] .trainer-summary-item.tone-danger {
  border-color: rgba(197, 83, 83, 0.42);
}

#modal-module[data-active-module-key="trainer"] .trainer-summary-item.tone-route {
  border-color: rgba(113, 143, 197, 0.42);
}

#modal-module[data-active-module-key="trainer"] .trainer-summary-item span {
  overflow: hidden;
  color: rgba(211, 213, 218, 0.68);
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="trainer"] .trainer-summary-item strong {
  min-width: 0;
  overflow: hidden;
  color: rgba(241, 241, 235, 0.94);
  font-size: 10px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="trainer"] .trainer-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

#modal-module[data-active-module-key="trainer"] .trainer-shell > .trainer-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#modal-module[data-active-module-key="trainer"] .trainer-metric-card,
#modal-module[data-active-module-key="trainer"] .follow-train-status-card {
  min-height: 36px;
  padding: 5px 6px;
  gap: 2px;
  border-radius: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-metric-card span,
#modal-module[data-active-module-key="trainer"] .follow-train-status-card span,
#modal-module[data-active-module-key="trainer"] .follow-train-source-title {
  font-size: 9px;
  letter-spacing: 0.08em;
}

#modal-module[data-active-module-key="trainer"] .trainer-metric-card strong,
#modal-module[data-active-module-key="trainer"] .follow-train-status-card strong {
  font-size: 13px;
  line-height: 1.12;
}

#modal-module[data-active-module-key="trainer"] .trainer-metric-card small,
#modal-module[data-active-module-key="trainer"] .follow-train-status-card small {
  font-size: 10px;
  line-height: 1.22;
}

#modal-module[data-active-module-key="trainer"] :is(
  .trainer-reconnect,
  .trainer-inherited-services,
  .trainer-duo-presets,
  .trainer-settings,
  .trainer-partner .follow-train-column,
  .trainer-partner .follow-train-source-card
) {
  padding: 6px;
  gap: 5px;
  border-radius: 5px;
  border-color: rgba(169, 141, 99, 0.18);
  background: rgba(0, 0, 0, 0.12);
  box-shadow: none;
}

#modal-module[data-active-module-key="trainer"] .trainer-reconnect {
  border-color: rgba(143, 190, 100, 0.24);
}

#modal-module[data-active-module-key="trainer"] .trainer-inherited-services {
  display: grid;
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-inherited-services .trainer-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#modal-module[data-active-module-key="trainer"] .trainer-service-card {
  min-height: 34px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px;
  grid-template-rows: minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}

#modal-module[data-active-module-key="trainer"] .trainer-service-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: max-content minmax(0, max-content) minmax(0, 1fr);
  align-items: center;
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-service-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-module[data-active-module-key="trainer"] .trainer-service-card .btn.compact {
  width: 100%;
  min-height: 20px;
  height: 20px;
  padding: 0 8px;
  font-size: 9px;
}

#modal-module[data-active-module-key="trainer"] .trainer-reconnect .reconnect-workspace {
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-reconnect .reconnect-status-band {
  padding: 0;
  grid-template-columns: minmax(126px, 0.32fr) minmax(0, 1fr);
  gap: 5px;
  border: 0;
  background: transparent;
}

#modal-module[data-active-module-key="trainer"] .trainer-reconnect .reconnect-status-copy {
  padding: 4px 6px;
  border: 1px solid rgba(169, 141, 99, 0.18);
  background: rgba(255, 255, 255, 0.025);
}

#modal-module[data-active-module-key="trainer"] .trainer-reconnect .reconnect-status-copy small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#modal-module[data-active-module-key="trainer"] .trainer-reconnect .reconnect-metric-grid {
  grid-template-columns: repeat(6, minmax(74px, 1fr));
  gap: 4px;
}

#modal-module[data-active-module-key="trainer"] .trainer-reconnect .reconnect-metric {
  min-height: 34px;
  padding: 4px 6px;
}

#modal-module[data-active-module-key="trainer"] .trainer-reconnect .reconnect-control-grid {
  grid-template-columns: minmax(150px, 0.8fr) repeat(2, minmax(136px, 1fr)) minmax(150px, 0.9fr);
  gap: 5px;
  align-items: end;
}

#modal-module[data-active-module-key="trainer"] .trainer-reconnect .module-rule-control {
  min-width: 0;
}

#modal-module[data-active-module-key="trainer"] .trainer-reconnect .field-note {
  display: none;
}

#modal-module[data-active-module-key="trainer"] .trainer-settings-grid {
  grid-template-columns: repeat(4, minmax(132px, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-duo-list {
  gap: 4px;
}

#modal-module[data-active-module-key="trainer"] .trainer-duo-card {
  min-height: 32px;
  padding: 5px 6px;
}

#modal-module[data-active-module-key="trainer"] .trainer-duo-create {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-layout {
  grid-template-columns: minmax(420px, 1.1fr) minmax(280px, 0.75fr);
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-source-stack,
#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-source-list {
  gap: 4px;
}

#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-source-list {
  max-height: none;
  overflow: visible;
}

#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-footer {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

#modal-module[data-active-module-key="trainer"] .section-head {
  min-height: 0;
  padding: 0 0 3px;
  border-bottom: 1px solid rgba(169, 141, 99, 0.12);
}

#modal-module[data-active-module-key="trainer"] .section-head strong {
  font-size: 11px;
  line-height: 1.2;
}

#modal-module[data-active-module-key="trainer"] .section-head .section-meta {
  font-size: 10px;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 980px) {
  #modal-module.module-modal-compact[data-active-module-key="trainer"] {
    width: calc(100vw - 8px);
    max-width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  #modal-module[data-active-module-key="trainer"] .trainer-overview,
  #modal-module[data-active-module-key="trainer"] .trainer-inherited-services .trainer-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #modal-module[data-active-module-key="trainer"] .trainer-summary-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #modal-module[data-active-module-key="trainer"] .trainer-reconnect .reconnect-status-band,
  #modal-module[data-active-module-key="trainer"] .trainer-reconnect .reconnect-control-grid,
  #modal-module[data-active-module-key="trainer"] .trainer-settings-grid,
  #modal-module[data-active-module-key="trainer"] .trainer-duo-create,
  #modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-layout,
  #modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-footer {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal-module[data-active-module-key="trainer"] .trainer-reconnect .reconnect-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #modal-module[data-active-module-key="trainer"] .trainer-reconnect .reconnect-manual-action {
    width: 100%;
  }
}

@media (max-width: 640px) {
  #modal-module[data-active-module-key="trainer"] .trainer-summary-strip,
  #modal-module[data-active-module-key="trainer"] .trainer-inherited-services .trainer-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #modal-module[data-active-module-key="trainer"] .trainer-service-card,
  #modal-module[data-active-module-key="trainer"] .trainer-service-copy {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Trainer modal: dense landscape control panel. */
#modal-layer>#modal-module[data-active-module-key="trainer"] {
  --trainer-panel-gap: 4px;
  --trainer-panel-pad: 4px;
  --trainer-field-h: 22px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-shell {
  gap: var(--trainer-panel-gap);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-summary-strip {
  grid-template-columns: repeat(8, minmax(72px, 1fr));
  gap: 3px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-summary-item {
  min-height: 22px;
  padding: 2px 4px;
  grid-template-columns: max-content minmax(0, 1fr) auto;
  gap: 3px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-summary-item span {
  font-size: 7px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-summary-item strong {
  font-size: 9px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-summary-action {
  min-height: 16px;
  height: 16px;
  padding: 0 4px;
  font-size: 7px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-reconnect-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(360px, 2fr);
  gap: var(--trainer-panel-gap);
  align-items: stretch;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] :is(
  .trainer-reconnect,
  .trainer-duo-presets,
  .trainer-settings,
  .trainer-partner .follow-train-column,
  .trainer-partner .follow-train-source-card
) {
  padding: var(--trainer-panel-pad);
  gap: 3px;
  border-radius: 4px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .section-head {
  min-height: 14px;
  padding: 0;
  border-bottom: 0;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .section-head strong {
  font-size: 10px;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .section-head .section-meta,
#modal-layer>#modal-module[data-active-module-key="trainer"] .field-note,
#modal-layer>#modal-module[data-active-module-key="trainer"] .spell-cost-note {
  display: none;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-strip {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(92px, 0.8fr) minmax(150px, 1.15fr) minmax(86px, 0.8fr) minmax(76px, 0.7fr) 42px 54px;
  gap: 3px;
  align-items: end;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-toggles {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-summary {
  min-width: 0;
  min-height: var(--trainer-field-h);
  padding: 2px 5px;
  display: grid;
  gap: 1px;
  align-content: center;
  border: 1px solid rgba(143, 190, 100, 0.24);
  background: rgba(12, 17, 10, 0.58);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-summary span,
#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-status {
  color: var(--muted);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-summary strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 9px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-status {
  min-height: var(--trainer-field-h);
  padding: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(169, 141, 99, 0.2);
  background: rgba(255, 255, 255, 0.025);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-status.tone-ready,
#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-status.tone-live {
  border-color: rgba(143, 190, 100, 0.34);
  color: rgba(192, 225, 152, 0.94);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-status.tone-warn {
  border-color: rgba(201, 169, 112, 0.42);
  color: rgba(232, 202, 149, 0.94);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-list {
  max-height: 82px;
  overflow: auto;
  gap: 3px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-list>.empty-state {
  min-height: 24px;
  padding: 4px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-card {
  min-height: 26px;
  padding: 3px 4px;
  gap: 4px;
  grid-template-columns: minmax(0, 1fr) auto;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-card-copy {
  gap: 1px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-card-copy strong {
  font-size: 10px;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-card-copy small {
  max-width: 100%;
  overflow: hidden;
  font-size: 8px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-card-actions {
  gap: 3px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-card-actions .btn,
#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-create-button,
#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-strip .btn {
  min-height: var(--trainer-field-h);
  height: var(--trainer-field-h);
  padding: 0 7px;
  font-size: 8px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-create {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 3px;
  align-items: end;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-field {
  min-width: 0;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-field>span,
#modal-layer>#modal-module[data-active-module-key="trainer"] .module-rule-control>span:not(.visually-hidden),
#modal-layer>#modal-module[data-active-module-key="trainer"] .module-rule-check>span:not(.visually-hidden) {
  font-size: 8px;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker {
  position: relative;
  min-width: 0;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-trigger {
  width: 100%;
  min-height: var(--trainer-field-h);
  padding: 0 18px 0 6px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: var(--text);
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  list-style: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  border: 1px solid rgba(169, 141, 99, 0.26);
  background: rgba(8, 10, 12, 0.88);
  cursor: pointer;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-trigger::after {
  content: "";
  position: absolute;
  right: 7px;
  top: calc(50% + 5px);
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid rgba(211, 213, 218, 0.7);
  transform: translateY(-35%);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-trigger[aria-expanded="true"] {
  border-color: rgba(143, 190, 100, 0.42);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-popover {
  position: absolute;
  z-index: 70;
  top: calc(100% + 2px);
  left: 0;
  width: min(360px, 72vw);
  max-height: 240px;
  padding: 4px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 3px;
  border: 1px solid rgba(169, 141, 99, 0.34);
  background: rgba(7, 8, 10, 0.98);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.48);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(169, 141, 99, 0.14);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-head strong {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-head .btn {
  min-height: 18px;
  height: 18px;
  padding: 0 6px;
  font-size: 8px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-options {
  min-height: 0;
  max-height: 200px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
  overflow: auto;
  overscroll-behavior: contain;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-option {
  min-width: 0;
  min-height: 22px;
  padding: 0 6px;
  overflow: hidden;
  color: var(--text);
  font-size: 9px;
  font-weight: 800;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  border: 1px solid rgba(169, 141, 99, 0.16);
  background: rgba(255, 255, 255, 0.035);
  cursor: pointer;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-option:hover,
#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-character-picker-option.selected {
  border-color: rgba(143, 190, 100, 0.44);
  background: rgba(143, 190, 100, 0.12);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-settings-grid {
  display: block;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-matrix {
  min-width: 0;
  display: grid;
  gap: 3px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-row {
  min-width: 0;
  display: grid;
  gap: 3px;
  align-items: end;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-row-primary {
  grid-template-columns:
    48px
    minmax(150px, 1.45fr)
    minmax(76px, 0.62fr)
    minmax(82px, 0.68fr)
    minmax(82px, 0.68fr)
    minmax(84px, 0.68fr)
    minmax(150px, 1.35fr)
    minmax(88px, 0.72fr)
    minmax(76px, 0.62fr);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-row-secondary {
  grid-template-columns:
    48px
    minmax(90px, 0.8fr)
    minmax(86px, 0.72fr)
    minmax(90px, 0.8fr)
    minmax(112px, 0.94fr)
    minmax(128px, 1.05fr);
  justify-content: start;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-row-title {
  min-height: var(--trainer-field-h);
  padding: 0 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(211, 213, 218, 0.72);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  border: 1px solid rgba(169, 141, 99, 0.14);
  background: rgba(255, 255, 255, 0.025);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-matrix .module-rule-control {
  min-width: 0;
  gap: 2px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-inline-status {
  min-width: 0;
  min-height: var(--trainer-field-h);
  padding: 2px 5px;
  display: grid;
  gap: 1px;
  align-content: center;
  border: 1px solid rgba(113, 143, 197, 0.24);
  background: rgba(255, 255, 255, 0.025);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-inline-status.tone-danger {
  border-color: rgba(197, 83, 83, 0.26);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-inline-status span {
  color: var(--muted);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-inline-status strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 9px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-matrix :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-strip :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-module[data-active-module-key="trainer"] .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="trainer"] .modal-number-stepper-input {
  min-height: var(--trainer-field-h);
  height: var(--trainer-field-h);
  font-size: 9px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .module-rule-check {
  min-height: var(--trainer-field-h);
  padding: 2px 5px;
  gap: 4px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .trainer-bottom-layout {
  min-height: 230px;
  grid-template-columns: minmax(280px, 0.92fr) minmax(250px, 0.78fr) minmax(320px, 1.05fr);
  gap: var(--trainer-panel-gap);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-column {
  grid-template-rows: auto minmax(0, 1fr);
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .trainer-roster-card {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .trainer-tabs-stack {
  grid-template-rows: minmax(54px, 0.48fr) minmax(0, 1fr);
  gap: 3px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-source-card {
  min-height: 0;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-source-title {
  margin-bottom: 2px;
  font-size: 8px;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-source-list {
  max-height: 188px;
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
  overflow: auto;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .trainer-roster-card .follow-train-source-list {
  max-height: none;
  min-height: 0;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-roster-add {
  min-height: var(--trainer-field-h);
  height: var(--trainer-field-h);
  padding: 0 8px;
  font-size: 8px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-source-button {
  min-height: 30px;
  padding: 4px 5px;
  gap: 1px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-source-button strong {
  font-size: 10px;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-badge {
  min-height: 13px;
  padding: 0 4px;
  font-size: 7px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-footer {
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .follow-train-status-card {
  min-height: 52px;
  padding: 5px 6px;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .follow-train-status-card span {
  font-size: 8px;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .follow-train-status-card strong {
  font-size: 12px;
  line-height: 1;
}

#modal-layer>#modal-module[data-active-module-key="trainer"] .follow-train-status-card small {
  font-size: 8px;
  line-height: 1.15;
}

@media (max-width: 980px) {
  #modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-summary-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-duo-reconnect-row,
  #modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-reconnect-strip,
  #modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-loop-row,
  #modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .trainer-bottom-layout,
  #modal-layer>#modal-module[data-active-module-key="trainer"] .trainer-partner .follow-train-source-stack {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Mana Trainer modal layout fix: final dense bot-config pass. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] {
  --mana-layout-gap: 4px;
  --mana-row-gap: 3px;
  --mana-field-h: 24px;
  --mana-field-label-h: 9px;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
  padding: 4px 4px 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-actions {
  position: sticky !important;
  bottom: 0 !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 4px 6px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-actions .btn {
  min-height: 22px !important;
  height: 22px !important;
  padding: 0 14px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-extra-fields,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  gap: var(--mana-layout-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  padding-top: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service,
  .mana-runemaking-panel,
  .mana-window-list-head,
  .mana-window-rule,
  .module-rule-card.mana-runemaking-rule) {
  padding: 4px !important;
  gap: var(--mana-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head,
  .mana-window-list-head) {
  min-height: 22px !important;
  gap: var(--mana-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head,
  .mana-window-list-head) strong {
  font-size: 11px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head) small {
  font-size: 8px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-kicker,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head small:last-child,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-compact-status,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .field-note,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .spell-cost-note {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-anti {
  grid-template-columns: 82px minmax(0, 1fr) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-anti .mana-trainer-service-head {
  grid-template-columns: minmax(0, max-content) !important;
  align-content: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-workspace-compact {
  display: block !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact {
  grid-template-columns: 116px minmax(160px, 200px) !important;
  gap: var(--mana-row-gap) !important;
  align-items: end !important;
  justify-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
  grid-template-columns: minmax(0, 1fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head {
  min-height: 22px !important;
  grid-template-columns: minmax(42px, max-content) 116px max-content !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head .module-rule-check,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact .module-rule-check {
  min-height: var(--mana-field-h) !important;
  height: var(--mana-field-h) !important;
  max-height: var(--mana-field-h) !important;
  padding: 1px 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list {
  gap: var(--mana-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
  min-height: 0 !important;
  padding: 3px !important;
  grid-template-columns: 26px minmax(140px, 1fr) 48px 48px 58px max-content !important;
  grid-template-areas: "power spell hotkey mp cooldown actions" !important;
  gap: var(--mana-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel-empty {
  padding: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel-empty .mana-runemaking-rule-list,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list>.empty-state {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel-empty .mana-runemaking-title small {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head {
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title {
  grid-template-columns: max-content minmax(0, max-content) minmax(0, 1fr) !important;
  gap: 4px !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
  grid-template-columns: 76px minmax(0, 1fr) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-toolbar {
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-toolbar-main {
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions {
  grid-auto-columns: 28px !important;
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-actions .btn,
  .module-rule-inline-toolbar .btn,
  .mana-runemaking-head .btn,
  .mana-window-list-head .btn,
  .mana-light-source-head .btn) {
  min-width: 28px !important;
  min-height: 22px !important;
  height: 22px !important;
  padding: 0 6px !important;
  font-size: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions .btn {
  padding: 0 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
  grid-template-columns: 58px minmax(116px, 1fr) 42px 52px 42px 42px 42px 42px 54px 50px !important;
  grid-template-areas: "label words hotkey cooldown mana mpmin mpmax hp target idle" !important;
  gap: var(--mana-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
  grid-template-columns: 54px minmax(116px, 1fr) 42px 52px 42px 42px 42px 42px 48px 54px 50px !important;
  grid-template-areas: "rune words hotkey cooldown mana mpmin mpmax hp cap target idle" !important;
  gap: var(--mana-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check) {
  grid-template-rows: var(--mana-field-label-h) var(--mana-field-h) !important;
  gap: 1px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check)>span,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check>span:not(.visually-hidden) {
  font-size: 8px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control :is(input:not([type="checkbox"]),
  select,
  .modal-number-stepper,
  .modal-number-stepper-input) {
  min-height: var(--mana-field-h) !important;
  height: var(--mana-field-h) !important;
  max-height: var(--mana-field-h) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper {
  --modal-stepper-height: var(--mana-field-h);
  --modal-stepper-chevron-width: 14px;
  --modal-stepper-chevron-padding: 19px;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-check,
  .module-rule-check.compact-rule-control) {
  min-height: var(--mana-field-h) !important;
  height: var(--mana-field-h) !important;
  max-height: var(--mana-field-h) !important;
  padding: 1px 5px !important;
  gap: 4px !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-corner-toggle {
  align-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .empty-state {
  min-height: 20px !important;
  padding: 4px 6px !important;
  font-size: 9px !important;
}

@media (max-width: 720px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-anti,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact {
    grid-template-columns: minmax(104px, 1fr) minmax(150px, 1.4fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
    grid-template-columns: 24px minmax(0, 1fr) 44px max-content !important;
    grid-template-areas:
      "power spell hotkey actions"
      "mp cooldown cooldown actions" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
    grid-template-areas:
      "label words words hotkey cooldown"
      "mana mpmin mpmax hp hp"
      "target target idle idle idle" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-areas:
      "rune words words hotkey cooldown"
      "mana mpmin mpmax hp cap"
      "target target idle idle idle" !important;
  }
}

/* Team Hunt roster cards: identity + config on row one, actions on row two. */
#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-head {
  grid-template-columns: minmax(170px, 220px) minmax(0, 1fr) !important;
  gap: 6px !important;
  align-items: start !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-slot-wrap {
  align-self: start !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-actions {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(24px, auto) minmax(24px, auto) !important;
  gap: 4px !important;
  align-items: start !important;
  justify-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-controls {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  gap: 3px;
  align-items: center;
  justify-content: flex-end;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-controls .follow-train-role-field {
  flex: 0 1 108px;
  min-width: 82px !important;
  max-width: 118px !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-controls .follow-train-role-field select {
  min-width: 82px !important;
  max-width: 118px !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-controls .follow-train-spread-field,
#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-controls .follow-train-spread-field input[type="number"] {
  flex-basis: 58px;
  min-width: 54px !important;
  max-width: 62px !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-controls .follow-train-check-field {
  flex: 0 0 66px;
  min-width: 62px !important;
}

#modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-buttons {
  width: 100%;
  flex: none !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  padding-top: 0 !important;
}

@media (max-width: 720px) {
  #modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-head {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-actions,
  #modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-controls,
  #modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-buttons {
    justify-items: start !important;
    justify-content: flex-start !important;
  }

  #modal-layer>#modal-module[data-active-module-key="team"] .follow-train-row-controls {
    flex-wrap: wrap;
  }
}

/* Mana Trainer polish closure: support panels above a framed mana-window list. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] {
  --mana-polish-gap: 8px;
  --mana-polish-row-gap: 6px;
  --mana-polish-field-h: 28px;
  --mana-polish-label-h: 12px;
  --mana-polish-panel-bg: rgba(7, 12, 17, 0.94);
  --mana-polish-panel-border: rgba(71, 89, 108, 0.72);
  --mana-polish-panel-border-soft: rgba(71, 89, 108, 0.38);
  width: min(1040px, calc(100vw - 16px)) !important;
  max-width: min(1040px, calc(100vw - 16px)) !important;
  max-height: calc(100dvh - 16px) !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
  padding: 8px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .modal-module-card[data-module-panel="shared"] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--mana-polish-gap) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Explicit single-column placement: legacy :has() rules pin
   #module-extra-fields to column 2, which collapses the one-column flatten
   layout into a 0px first track with overlapping panels. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-extra-fields {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace {
  display: grid !important;
  grid-template-columns: minmax(240px, 0.42fr) minmax(430px, 1fr) !important;
  gap: var(--mana-polish-gap) !important;
  align-items: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel {
  grid-column: 1 / -1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service,
  .mana-runemaking-panel,
  #module-rule-list,
  .mana-window-rule,
  .module-rule-card.mana-runemaking-rule) {
  min-width: 0 !important;
  border: 1px solid var(--mana-polish-panel-border) !important;
  border-radius: 6px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.026), rgba(255, 255, 255, 0)),
    var(--mana-polish-panel-bg) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service,
  .mana-runemaking-panel,
  #module-rule-list) {
  padding: 10px !important;
  display: grid !important;
  gap: var(--mana-polish-row-gap) !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head {
  min-height: 30px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: 8px !important;
  align-items: center !important;
  border-bottom: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head,
  .mana-window-list-head) strong {
  color: #e8eef5 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head small:not(.visually-hidden),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-compact-status,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .field-note,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .spell-cost-note,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-support-panel-dot {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-option-toggle-only,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head>.module-rule-check {
  justify-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-option-toggle-only {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-option-toggle-only>input[type="checkbox"] {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head>.module-rule-check {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-head>.module-rule-check>span {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact {
  display: grid !important;
  grid-template-columns: minmax(168px, 220px) !important;
  gap: var(--mana-polish-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule-list {
  display: grid !important;
  gap: var(--mana-polish-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: var(--toggle-width) minmax(180px, 1fr) 70px 86px 98px max-content !important;
  grid-template-areas: "power spell hotkey mp cooldown actions" !important;
  gap: var(--mana-polish-row-gap) !important;
  align-items: end !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-corner-toggle {
  grid-area: power !important;
  align-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="words"]) {
  grid-area: spell !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: hotkey !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: mp !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: cooldown !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-actions {
  grid-area: actions !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel {
  min-height: 54px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel-empty .mana-runemaking-rule-list,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list>.empty-state {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title small {
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(196, 207, 219, 0.64) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  padding: 10px !important;
  border-top: 1px solid var(--mana-polish-panel-border) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head {
  margin: 0 0 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
  padding: 8px !important;
  display: grid !important;
  grid-template-columns: 74px minmax(0, 1fr) !important;
  gap: var(--mana-polish-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-toolbar {
  display: grid !important;
  gap: 4px !important;
  align-content: end !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-toolbar-main {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-toolbar-rank {
  color: #e8eef5 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 26px !important;
  gap: 3px !important;
  justify-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-actions .btn,
  .module-rule-inline-toolbar .btn,
  .mana-runemaking-head .btn,
  .mana-window-list-head .btn,
  .mana-light-source-head .btn) {
  min-width: 26px !important;
  min-height: 26px !important;
  height: 26px !important;
  padding: 0 8px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions .btn {
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-section,
  .module-rule-grid) {
  display: contents !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-section-title,
  .module-rule-summary) {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
  display: grid !important;
  grid-template-columns: 106px minmax(176px, 1fr) 66px 86px 78px 78px 78px 76px 92px 82px !important;
  grid-template-areas: "label words hotkey cooldown mana mpmin mpmax hp target idle" !important;
  gap: var(--mana-polish-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
  display: grid !important;
  grid-template-columns: 76px minmax(176px, 1fr) 66px 86px 78px 78px 78px 76px 78px 92px 82px !important;
  grid-template-areas: "rune words hotkey cooldown mana mpmin mpmax hp cap target idle" !important;
  gap: var(--mana-polish-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="label"]) {
  grid-area: label !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="words"]) {
  grid-area: words !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: hotkey !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: cooldown !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="minMana"]) {
  grid-area: mana !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: mpmin !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="maxManaPercent"]) {
  grid-area: mpmax !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="minHealthPercent"]) {
  grid-area: hp !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="runeMaking"]) {
  grid-area: rune !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control:has([data-rule-field="minCapacity"]) {
  grid-area: cap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="requireNoTargets"]) {
  grid-area: target !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-control:has([data-rule-field="requireStationary"]) {
  grid-area: idle !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control {
  min-width: 0 !important;
  width: 100% !important;
  justify-self: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check) {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: var(--mana-polish-label-h) var(--mana-polish-field-h) !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check)>span,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check>span:not(.visually-hidden) {
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(226, 232, 240, 0.72) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control :is(input:not([type="checkbox"]),
  select,
  .modal-number-stepper,
  .modal-number-stepper-input) {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: var(--mana-polish-field-h) !important;
  height: var(--mana-polish-field-h) !important;
  max-height: var(--mana-polish-field-h) !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper {
  --modal-stepper-height: var(--mana-polish-field-h);
  --modal-stepper-width: 100%;
  --modal-stepper-chevron-width: 16px;
  --modal-stepper-chevron-gap: 0px;
  --modal-stepper-chevron-inset: 2px;
  --modal-stepper-chevron-zone: var(--modal-stepper-chevron-width);
  --modal-stepper-chevron-padding: 24px;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper-input {
  padding-right: 24px !important;
  text-align: left !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper-buttons {
  top: 2px !important;
  right: 2px !important;
  bottom: 2px !important;
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: 1px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper-button {
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  border-radius: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-check,
  .module-rule-check.compact-rule-control) {
  min-height: var(--mana-polish-field-h) !important;
  height: var(--mana-polish-field-h) !important;
  max-height: var(--mana-polish-field-h) !important;
  padding: 2px 7px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  gap: 7px !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-check,
  .module-rule-check.compact-rule-control)>input[type="checkbox"] {
  grid-column: 2 !important;
  justify-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-corner-toggle {
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-actions {
  min-height: 42px !important;
  padding: 7px 10px !important;
  border-top: 1px solid var(--mana-polish-panel-border-soft) !important;
  background: rgba(5, 10, 15, 0.98) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-actions .btn {
  min-width: 150px !important;
  min-height: 30px !important;
  height: 30px !important;
  font-size: 11px !important;
}

@media (max-width: 900px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
    .module-rule-card.mana-runemaking-rule) .module-rule-toolbar {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
    grid-template-columns: 112px minmax(190px, 1fr) 68px 90px repeat(3, 78px) !important;
    grid-template-areas:
      "label words words hotkey cooldown mana mpmin"
      "mpmax hp target target idle idle idle" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-columns: 78px minmax(190px, 1fr) 68px 90px repeat(3, 78px) !important;
    grid-template-areas:
      "rune words words hotkey cooldown mana mpmin"
      "mpmax hp cap target target idle idle" !important;
  }
}

@media (max-width: 640px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
    padding: 6px !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
    grid-template-columns: var(--toggle-width) minmax(0, 1fr) 68px max-content !important;
    grid-template-areas:
      "power spell hotkey actions"
      "mp cooldown cooldown actions" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
    grid-template-areas:
      "label words"
      "hotkey cooldown"
      "mana mpmin"
      "mpmax hp"
      "target idle" !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-areas:
      "rune words"
      "hotkey cooldown"
      "mana mpmin"
      "mpmax hp"
      "cap cap"
      "target idle" !important;
  }
}

/* Mana Trainer scale correction: keep the layout, reduce the UI weight. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] {
  --mana-polish-gap: 6px;
  --mana-polish-row-gap: 4px;
  --mana-polish-field-h: 24px;
  --mana-polish-label-h: 9px;
  width: min(980px, calc(100vw - 14px)) !important;
  max-width: min(980px, calc(100vw - 14px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
  padding: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace {
  grid-template-columns: minmax(250px, 0.36fr) minmax(520px, 1fr) !important;
  gap: var(--mana-polish-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-anti {
  grid-column: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
  grid-column: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel {
  grid-column: 1 / -1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service,
  .mana-runemaking-panel,
  #module-rule-list) {
  padding: 7px !important;
  gap: var(--mana-polish-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head {
  min-height: 24px !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head,
  .mana-window-list-head) strong {
  font-size: 12px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact {
  grid-template-columns: minmax(156px, 190px) !important;
  gap: var(--mana-polish-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
  grid-template-columns: var(--toggle-width) minmax(150px, 1fr) 58px 70px 82px max-content !important;
  gap: var(--mana-polish-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel {
  min-height: 42px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title small {
  font-size: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head {
  margin-bottom: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
  padding: 6px !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: var(--mana-polish-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-toolbar-rank {
  font-size: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions {
  grid-auto-columns: 24px !important;
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-actions .btn,
  .module-rule-inline-toolbar .btn,
  .mana-runemaking-head .btn,
  .mana-window-list-head .btn,
  .mana-light-source-head .btn) {
  min-width: 24px !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 7px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
  grid-template-columns: 84px minmax(142px, 1fr) 52px 70px 62px 66px 66px 62px 76px 68px !important;
  gap: var(--mana-polish-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
  grid-template-columns: 62px minmax(142px, 1fr) 52px 70px 62px 66px 66px 62px 64px 76px 68px !important;
  gap: var(--mana-polish-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check) {
  grid-template-rows: var(--mana-polish-label-h) var(--mana-polish-field-h) !important;
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check)>span,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check>span:not(.visually-hidden) {
  font-size: 8px !important;
  font-weight: 700 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control :is(input:not([type="checkbox"]),
  select,
  .modal-number-stepper,
  .modal-number-stepper-input) {
  min-height: var(--mana-polish-field-h) !important;
  height: var(--mana-polish-field-h) !important;
  max-height: var(--mana-polish-field-h) !important;
  font-size: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper {
  --modal-stepper-height: var(--mana-polish-field-h);
  --modal-stepper-chevron-width: 14px;
  --modal-stepper-chevron-zone: 14px;
  --modal-stepper-chevron-padding: 21px;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper-input {
  padding-right: 21px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper-buttons,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control .modal-number-stepper-button {
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-check,
  .module-rule-check.compact-rule-control) {
  min-height: var(--mana-polish-field-h) !important;
  height: var(--mana-polish-field-h) !important;
  max-height: var(--mana-polish-field-h) !important;
  padding: 2px 5px !important;
  gap: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-actions {
  min-height: 36px !important;
  padding: 5px 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-actions .btn {
  min-width: 122px !important;
  min-height: 26px !important;
  height: 26px !important;
  font-size: 10px !important;
}

@media (max-width: 900px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
    grid-column: 1 !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
    grid-template-columns: 84px minmax(150px, 1fr) 52px 70px repeat(3, 62px) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
    grid-template-columns: 62px minmax(150px, 1fr) 52px 70px repeat(3, 62px) !important;
  }
}

/* Mana Trainer live lock: Anti Idle left, Light right, compact controls. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] {
  --mana-polish-gap: 5px;
  --mana-polish-row-gap: 3px;
  --mana-polish-field-h: 22px;
  --mana-polish-label-h: 8px;
  width: min(780px, calc(100vw - 10px)) !important;
  min-width: min(780px, calc(100vw - 10px)) !important;
  max-width: min(780px, calc(100vw - 10px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
  padding: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace:is(:where(*)) {
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  gap: var(--mana-polish-gap) !important;
  align-items: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-anti {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  grid-column: 1 / -1 !important;
  padding: 7px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service,
  .mana-runemaking-panel,
  #module-rule-list) {
  padding: 6px !important;
  gap: var(--mana-polish-row-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head,
  .mana-window-list-head) {
  min-height: 22px !important;
  gap: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-trainer-service-head,
  .mana-runemaking-head,
  .mana-window-list-head) strong {
  font-size: 11px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact {
  grid-template-columns: 118px !important;
  width: 118px !important;
  max-width: 118px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact .module-rule-control {
  width: 118px !important;
  max-width: 118px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
  grid-template-columns: var(--toggle-width) 104px 48px 54px 62px max-content !important;
  grid-template-areas: "power spell hotkey mp cooldown actions" !important;
  gap: var(--mana-polish-row-gap) !important;
  justify-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="words"]) {
  width: 104px !important;
  max-width: 104px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="words"]) select {
  width: 104px !important;
  max-width: 104px !important;
  padding-right: 18px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
  padding: 5px !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
  grid-template-columns: 72px minmax(120px, 1fr) 46px 58px 52px 56px 56px 54px 64px 58px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
  grid-template-columns: 54px minmax(120px, 1fr) 46px 58px 52px 56px 56px 54px 56px 64px 58px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check)>span,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check>span:not(.visually-hidden) {
  font-size: 7px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control :is(input:not([type="checkbox"]),
  select,
  .modal-number-stepper,
  .modal-number-stepper-input) {
  min-height: var(--mana-polish-field-h) !important;
  height: var(--mana-polish-field-h) !important;
  max-height: var(--mana-polish-field-h) !important;
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-check,
  .module-rule-check.compact-rule-control) {
  min-height: var(--mana-polish-field-h) !important;
  height: var(--mana-polish-field-h) !important;
  max-height: var(--mana-polish-field-h) !important;
  padding: 1px 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-actions .btn,
  .module-rule-inline-toolbar .btn,
  .mana-runemaking-head .btn,
  .mana-window-list-head .btn,
  .mana-light-source-head .btn) {
  min-height: 22px !important;
  height: 22px !important;
  font-size: 8px !important;
}

@media (max-width: 900px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace:is(:where(*)) {
    grid-template-columns: 250px minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
}

/* Mana Trainer narrow live layout: fixed proportions, no overlapping rule fields. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] {
  --mana-polish-gap: 5px;
  --mana-polish-row-gap: 4px;
  --mana-polish-field-h: 22px;
  --mana-polish-label-h: 8px;
  width: min(560px, calc(100vw - 8px)) !important;
  min-width: min(560px, calc(100vw - 8px)) !important;
  max-width: min(560px, calc(100vw - 8px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace:is(:where(*)) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important;
  gap: var(--mana-polish-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-anti {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .anti-idle-control-grid-compact .module-rule-control {
  width: 116px !important;
  max-width: 116px !important;
  grid-template-columns: 116px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
  display: grid !important;
  grid-template-columns: var(--toggle-width) minmax(82px, 1fr) 42px max-content !important;
  grid-template-areas:
    "power spell hotkey actions"
    "mp cooldown cooldown actions" !important;
  gap: var(--mana-polish-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="words"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="words"]) select {
  width: 100% !important;
  max-width: 100% !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="hotkey"]) {
  width: 42px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="minManaPercent"]) {
  width: 52px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule>.module-rule-control:has([data-rule-field="cooldownMs"]) {
  width: 72px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 5px !important;
  padding: 5px !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-toolbar {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule,
  .module-rule-card.mana-runemaking-rule) .module-rule-actions {
  justify-self: end !important;
  grid-auto-columns: 22px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) 46px 58px !important;
  grid-template-areas:
    "label words words hotkey"
    "cooldown mana mpmin mpmax"
    "hp target target idle" !important;
  gap: var(--mana-polish-row-gap) !important;
  align-items: end !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) 52px 58px !important;
  grid-template-areas:
    "rune words words hotkey"
    "cooldown mana mpmin mpmax"
    "hp cap target idle" !important;
  gap: var(--mana-polish-row-gap) !important;
  align-items: end !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control :is(input:not([type="checkbox"]), select, .modal-number-stepper, .modal-number-stepper-input) {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Ring & Amulet final fit: Tier 3 compact utility modal with both slots visible. */
#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]).module-modal-compact,
#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"])[data-modal-size-category="tiny"] {
  width: min(1080px, calc(100vw - 12px)) !important;
  min-width: 0 !important;
  max-width: min(1080px, calc(100vw - 12px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(76dvh, calc(100dvh - 12px)) !important;
  padding: 4px !important;
  gap: 4px !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .modal-body-module,
#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) #module-extra-fields {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) #module-extra-fields {
  width: 100% !important;
  padding: 0 !important;
  display: block !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-workbench {
  display: block !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 4px !important;
  align-items: start !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot {
  min-width: 0 !important;
  padding: 4px !important;
  display: grid !important;
  gap: 3px !important;
  align-content: start !important;
  opacity: 1 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot.is-off {
  opacity: 0.68 !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-head {
  min-height: 20px !important;
  gap: 5px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-copy {
  gap: 5px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-copy strong {
  font-size: 11px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-copy span {
  font-size: 10px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-power {
  min-height: 20px !important;
  height: 20px !important;
  padding: 1px 5px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-shell {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 3px !important;
  align-content: start !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-overview {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 3px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-stat {
  min-height: 20px !important;
  padding: 2px 4px !important;
  gap: 4px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-stat span,
#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-field span {
  font-size: 7px !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-stat strong {
  font-size: 10px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-panel {
  min-width: 0 !important;
  padding: 3px !important;
  display: grid !important;
  gap: 3px !important;
  align-content: start !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-panel-head {
  min-height: 14px !important;
  gap: 5px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-panel-head strong,
#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-panel-head span {
  font-size: 8px !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-chip-grid {
  gap: 3px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) [data-equipment-replace-panel="bag"] .equipment-replace-chip-grid {
  display: flex !important;
  flex-wrap: wrap !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) [data-equipment-replace-panel="pool"] {
  display: grid !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) [data-equipment-replace-panel="pool"] .equipment-replace-chip-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 3px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-choice {
  min-width: 0 !important;
  min-height: 18px !important;
  height: 18px !important;
  padding: 1px 4px !important;
  overflow: hidden !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  transform: none !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-choice.active {
  border-color: rgba(143, 190, 100, 0.56) !important;
  background:
    linear-gradient(180deg, rgba(143, 190, 100, 0.1), transparent 42%),
    rgba(24, 38, 18, 0.82) !important;
  color: var(--text) !important;
  box-shadow: inset 0 0 0 1px rgba(143, 190, 100, 0.14) !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-empty {
  min-height: 18px !important;
  font-size: 8px !important;
  line-height: 1.15 !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-controls {
  min-width: 0 !important;
  padding: 3px !important;
  display: grid !important;
  grid-template-columns: minmax(86px, 0.9fr) minmax(76px, 0.7fr) minmax(72px, 0.7fr) !important;
  gap: 3px !important;
  align-items: stretch !important;
  border: 1px solid var(--modal-dense-line-soft, rgba(72, 88, 104, 0.38)) !important;
  border-radius: 3px !important;
  background: rgba(8, 13, 18, 0.52) !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-field,
#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-toggle {
  min-height: 22px !important;
  height: 22px !important;
  padding: 2px 5px !important;
  gap: 4px !important;
  border-radius: 3px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-field {
  display: grid !important;
  /* The number input gets a stepper (~84px). A fixed 46px control column made
     it overflow ~32px into the "No target" toggle, clipping it to "…rget".
     Size the control column to its content and clip any residual. */
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-field input {
  width: 46px !important;
  min-width: 0 !important;
  justify-self: end !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-field .modal-number-stepper {
  justify-self: end !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-toggle span {
  font-size: 9px !important;
  line-height: 1 !important;
}

@media (max-width: 900px) {
  #modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) [data-equipment-replace-panel="pool"] .equipment-replace-chip-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  #modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]).module-modal-compact,
  #modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"])[data-modal-size-category="tiny"] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }

  #modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 520px) {
  #modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-controls {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-field {
    grid-column: 1 / -1 !important;
  }

  #modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) [data-equipment-replace-panel="pool"] .equipment-replace-chip-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Modal visibility safety: hidden panels must never paint over the active modal. */
#modal-layer>.modal-panel[hidden],
#modal-layer>.modal-panel[aria-hidden="true"]:not(.open) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#modal-layer>#modal-god-watch.modal-panel[hidden],
#modal-layer>#modal-god-watch.modal-panel[aria-hidden="true"]:not(.open) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* God Minibia Watch: tier-3 dense debug modal. */
#modal-layer>#modal-god-watch.modal-panel-god-watch {
  width: min(812px, calc(100vw - 16px)) !important;
  max-width: min(812px, calc(100vw - 16px)) !important;
  height: min(604px, calc(100dvh - 16px)) !important;
  max-height: min(604px, calc(100dvh - 16px)) !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: 38px minmax(0, 1fr) 38px !important;
  gap: 4px !important;
  padding: 4px !important;
  border-color: rgba(143, 111, 68, 0.58) !important;
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.045), transparent 22%),
    #100b08 !important;
}

#modal-layer>#modal-god-watch .modal-head,
#modal-layer>#modal-god-watch .modal-actions {
  min-height: 0 !important;
  max-height: 42px !important;
  padding: 5px 7px !important;
  gap: 6px !important;
  border-color: rgba(143, 111, 68, 0.34) !important;
  border-radius: 3px !important;
  background: #0b1113 !important;
}

#modal-layer>#modal-god-watch .modal-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

#modal-layer>#modal-god-watch .modal-head .section-title {
  color: #f0d996 !important;
  font-size: 11px !important;
  line-height: 1.05 !important;
}

#modal-layer>#modal-god-watch .modal-head .section-meta {
  max-width: 100%;
  color: #a9997b !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#modal-layer>#modal-god-watch .modal-head-tools {
  gap: 6px !important;
}

#modal-layer>#modal-god-watch .modal-body-god-watch {
  min-height: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-god-watch .god-watch-layout {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(272px, 292px) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  grid-template-areas:
    "status map"
    "evidence sessions" !important;
  gap: 8px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-god-watch .god-watch-status-panel {
  grid-area: status;
}

#modal-layer>#modal-god-watch .god-watch-map-panel {
  grid-area: map;
  align-self: start !important;
}

#modal-layer>#modal-god-watch .god-watch-evidence-panel {
  grid-area: evidence;
}

#modal-layer>#modal-god-watch .god-watch-sessions-panel {
  grid-area: sessions;
}

#modal-layer>#modal-god-watch .god-watch-panel {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 6px !important;
  gap: 6px !important;
  border: 1px solid rgba(143, 111, 68, 0.36) !important;
  border-radius: 3px !important;
  background:
    linear-gradient(180deg, rgba(247, 213, 138, 0.035), transparent 42%),
    rgba(12, 9, 7, 0.94) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#modal-layer>#modal-god-watch .god-watch-panel-head,
#modal-layer>#modal-god-watch .god-watch-status-head {
  min-height: 18px;
  gap: 6px !important;
}

#modal-layer>#modal-god-watch .god-watch-panel-head strong,
#modal-layer>#modal-god-watch .god-watch-status-head strong {
  color: #f0d996 !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#modal-layer>#modal-god-watch .god-watch-panel-head span,
#modal-layer>#modal-god-watch .god-watch-status-head span {
  color: #9d8f77 !important;
  font-size: 8px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.06em !important;
}

#modal-layer>#modal-god-watch .god-watch-state-badge {
  min-width: 0 !important;
  max-width: 138px;
  padding: 3px 6px !important;
  border-color: rgba(143, 111, 68, 0.52) !important;
  border-radius: 2px !important;
  color: #e8d6b1 !important;
  background: rgba(17, 12, 8, 0.92) !important;
  font-size: 8px !important;
  line-height: 1.15 !important;
  letter-spacing: 0.05em !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#modal-layer>#modal-god-watch .god-watch-state-badge[data-tone="online"] {
  border-color: rgba(116, 164, 92, 0.7) !important;
}

#modal-layer>#modal-god-watch .god-watch-state-badge[data-tone="nearby"] {
  border-color: rgba(205, 95, 76, 0.86) !important;
  color: #ffe2da !important;
  background: rgba(72, 25, 20, 0.9) !important;
}

#modal-layer>#modal-god-watch .god-watch-state-badge[data-tone="warn"] {
  border-color: rgba(212, 156, 73, 0.78) !important;
}

#modal-layer>#modal-god-watch .god-watch-summary-grid,
#modal-layer>#modal-god-watch .god-watch-state-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

#modal-layer>#modal-god-watch .summary-cell {
  min-height: 36px !important;
  padding: 5px 6px !important;
  gap: 3px !important;
  border-color: rgba(143, 111, 68, 0.2) !important;
  border-radius: 3px !important;
  background: rgba(7, 10, 10, 0.74) !important;
}

#modal-layer>#modal-god-watch .summary-cell span {
  color: #9d8f77 !important;
  font-size: 8px !important;
  line-height: 1.05 !important;
  letter-spacing: 0.06em !important;
}

#modal-layer>#modal-god-watch .summary-cell strong {
  min-width: 0;
  color: #e5d4b2 !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#modal-layer>#modal-god-watch .god-watch-map-panel .god-watch-panel-head strong {
  font-size: 9px !important;
  text-transform: uppercase;
  letter-spacing: 0.06em !important;
}

#modal-layer>#modal-god-watch .god-watch-minimap {
  width: 100% !important;
  max-width: 260px !important;
  height: 184px !important;
  min-height: 0 !important;
  justify-self: end !important;
  aspect-ratio: auto !important;
  border-color: rgba(143, 111, 68, 0.42) !important;
  border-radius: 2px !important;
  background:
    linear-gradient(rgba(154, 127, 79, 0.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(154, 127, 79, 0.11) 1px, transparent 1px),
    radial-gradient(circle at center, rgba(95, 137, 78, 0.1), transparent 42%),
    #0b120e !important;
  background-size: 18px 18px, 18px 18px, auto, auto !important;
}

#modal-layer>#modal-god-watch .god-watch-map-marker {
  max-width: 96px;
  min-width: 0 !important;
  padding: 3px 5px !important;
  border-radius: 2px !important;
  font-size: 8px !important;
  line-height: 1.05 !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#modal-layer>#modal-god-watch .god-watch-map-line {
  height: 1px !important;
}

#modal-layer>#modal-god-watch .god-watch-map-caption {
  left: 4px !important;
  right: 4px !important;
  bottom: 4px !important;
  padding: 4px 5px !important;
  border-color: rgba(143, 111, 68, 0.28) !important;
  border-radius: 2px !important;
  color: #afa18a !important;
  font-size: 9px !important;
  line-height: 1.15 !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#modal-layer>#modal-god-watch .god-watch-evidence-list,
#modal-layer>#modal-god-watch .god-watch-sessions {
  min-height: 0 !important;
  gap: 3px !important;
  align-content: start !important;
}

#modal-layer>#modal-god-watch .god-watch-sessions {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable;
}

#modal-layer>#modal-god-watch .god-watch-evidence-list {
  overflow: hidden !important;
}

#modal-layer>#modal-god-watch .god-watch-row {
  min-height: 26px !important;
  padding: 4px 5px !important;
  gap: 6px !important;
  align-items: center !important;
  border-color: rgba(143, 111, 68, 0.24) !important;
  border-radius: 2px !important;
  background: rgba(10, 8, 6, 0.78) !important;
}

#modal-layer>#modal-god-watch .god-watch-row strong,
#modal-layer>#modal-god-watch .god-watch-row span {
  min-width: 0 !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#modal-layer>#modal-god-watch .god-watch-row strong {
  color: #e0cda8 !important;
}

#modal-layer>#modal-god-watch .god-watch-row span {
  color: #b5a68b !important;
}

#modal-layer>#modal-god-watch .god-watch-session-row {
  grid-template-columns: minmax(86px, 0.9fr) minmax(72px, 0.75fr) minmax(92px, 1fr) !important;
}

/* History reads as login/logout couples: matching badge pairs (green login, red logout). */
#modal-layer>#modal-god-watch .god-watch-history-row {
  grid-template-columns: max-content max-content minmax(0, 1fr) !important;
}
#modal-layer>#modal-god-watch .god-watch-history-badge {
  padding: 2px 7px !important;
  border: 1px solid rgba(143, 111, 68, 0.5) !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}
#modal-layer>#modal-god-watch .god-watch-history-row[data-kind="Login"] .god-watch-history-badge {
  border-color: rgba(118, 182, 98, 0.7) !important;
  color: #bff0ad !important;
  background: rgba(28, 46, 22, 0.85) !important;
}
#modal-layer>#modal-god-watch .god-watch-history-row[data-kind="Logout"] .god-watch-history-badge {
  border-color: rgba(205, 80, 66, 0.72) !important;
  color: #ffb3a8 !important;
  background: rgba(48, 18, 14, 0.85) !important;
}

#modal-layer>#modal-god-watch .empty-state {
  min-height: 26px !important;
  padding: 6px !important;
  border-color: rgba(143, 111, 68, 0.2) !important;
  border-radius: 2px !important;
  color: #9d8f77 !important;
  background: rgba(10, 8, 6, 0.7) !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-god-watch .god-watch-actions {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  overflow: hidden !important;
}

#modal-layer>#modal-god-watch .btn {
  min-width: 0 !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 3px 8px !important;
  border-radius: 3px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-god-watch .god-watch-actions .btn {
  flex: 0 1 auto;
}

#modal-layer>#modal-god-watch .modal-close-button {
  min-width: 58px !important;
}

@media (max-width: 720px) {
  #modal-layer>#modal-god-watch.modal-panel-god-watch {
    height: calc(100dvh - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    grid-template-rows: 38px minmax(0, 1fr) 38px !important;
  }

  #modal-layer>#modal-god-watch .god-watch-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto minmax(0, 1fr) minmax(120px, 0.8fr) !important;
    grid-template-areas:
      "status"
      "map"
      "sessions"
      "evidence" !important;
  }

  #modal-layer>#modal-god-watch .god-watch-minimap {
    max-width: 260px !important;
    height: 160px !important;
    justify-self: stretch !important;
  }

  #modal-layer>#modal-god-watch .god-watch-summary-grid,
  #modal-layer>#modal-god-watch .god-watch-state-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-god-watch .god-watch-actions .btn {
    padding-inline: 6px !important;
    font-size: 9px !important;
  }
}

/* God Watch final compact grid: status/status/map, evidence/evidence/state, sessions table. */
#modal-layer>#modal-god-watch.modal-panel-god-watch {
  width: min(842px, calc(100vw - 16px)) !important;
  max-width: min(842px, calc(100vw - 16px)) !important;
  height: min(572px, calc(100dvh - 16px)) !important;
  max-height: min(572px, calc(100dvh - 16px)) !important;
  grid-template-rows: 34px minmax(0, 1fr) 34px !important;
}

#modal-layer>#modal-god-watch .modal-head {
  grid-template-columns: minmax(0, 1fr) minmax(118px, max-content) max-content !important;
  align-items: center !important;
  min-height: 0 !important;
  max-height: 34px !important;
  padding: 4px 6px !important;
}

#modal-layer>#modal-god-watch .modal-head-copy {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: baseline !important;
}

#modal-layer>#modal-god-watch .modal-head .section-title {
  font-size: 11px !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-god-watch .modal-head .section-meta {
  font-size: 9px !important;
  text-transform: none !important;
}

#modal-layer>#modal-god-watch .modal-head .god-watch-state-badge {
  justify-self: center !important;
  max-width: 160px !important;
}

#modal-layer>#modal-god-watch .modal-head-tools {
  gap: 4px !important;
}

#modal-layer>#modal-god-watch .modal-body-god-watch {
  overflow: hidden !important;
}

#modal-layer>#modal-god-watch .god-watch-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr) 252px !important;
  grid-template-rows: 112px 124px minmax(0, 1fr) !important;
  grid-template-areas:
    "status status map"
    "evidence evidence state"
    "sessions sessions sessions" !important;
  gap: 6px !important;
}

#modal-layer>#modal-god-watch .god-watch-status-panel,
#modal-layer>#modal-god-watch .god-watch-evidence-panel,
#modal-layer>#modal-god-watch .god-watch-state-panel,
#modal-layer>#modal-god-watch .god-watch-sessions-panel {
  grid-template-rows: auto minmax(0, 1fr) !important;
}

#modal-layer>#modal-god-watch .god-watch-state-panel {
  grid-area: state;
}

#modal-layer>#modal-god-watch .god-watch-map-panel {
  height: 100% !important;
  grid-template-rows: 16px minmax(0, 1fr) !important;
}

#modal-layer>#modal-god-watch .god-watch-panel {
  padding: 6px !important;
  gap: 5px !important;
}

#modal-layer>#modal-god-watch .god-watch-panel-head,
#modal-layer>#modal-god-watch .god-watch-status-head {
  min-height: 14px !important;
  height: 14px !important;
}

#modal-layer>#modal-god-watch .god-watch-panel-head strong,
#modal-layer>#modal-god-watch .god-watch-status-head strong {
  font-size: 9px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

#modal-layer>#modal-god-watch .god-watch-panel-head span,
#modal-layer>#modal-god-watch .god-watch-status-head span {
  font-size: 8px !important;
}

#modal-layer>#modal-god-watch .god-watch-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-god-watch .god-watch-state-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-god-watch .summary-cell {
  min-height: 0 !important;
  height: 36px !important;
  padding: 5px !important;
}

#modal-layer>#modal-god-watch .summary-cell span {
  font-size: 7px !important;
}

#modal-layer>#modal-god-watch .summary-cell strong {
  font-size: 10px !important;
}

#modal-layer>#modal-god-watch .god-watch-minimap {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  justify-self: stretch !important;
  background-size: 16px 16px, 16px 16px, auto, auto !important;
}

#modal-layer>#modal-god-watch .god-watch-map-caption {
  padding: 3px 4px !important;
  font-size: 8px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-god-watch .god-watch-evidence-list,
#modal-layer>#modal-god-watch .god-watch-sessions {
  display: grid !important;
  gap: 2px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-god-watch .god-watch-row {
  min-height: 24px !important;
  height: 24px !important;
  padding: 3px 5px !important;
  gap: 5px !important;
}

#modal-layer>#modal-god-watch .god-watch-source-row {
  grid-template-columns: minmax(72px, 0.45fr) minmax(90px, 0.55fr) minmax(0, 1fr) !important;
}

#modal-layer>#modal-god-watch .god-watch-session-row {
  grid-template-columns: minmax(96px, 0.7fr) minmax(78px, 0.48fr) minmax(96px, 0.58fr) minmax(78px, 0.5fr) !important;
}

#modal-layer>#modal-god-watch .god-watch-row strong,
#modal-layer>#modal-god-watch .god-watch-row span {
  font-size: 9px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-god-watch .god-watch-sessions-panel {
  min-height: 0 !important;
}

#modal-layer>#modal-god-watch .god-watch-actions {
  max-height: 34px !important;
  min-height: 0 !important;
  padding: 4px 6px !important;
  gap: 4px !important;
}

#modal-layer>#modal-god-watch .btn {
  height: 22px !important;
  min-height: 22px !important;
  padding: 2px 7px !important;
  font-size: 9px !important;
}

@media (max-width: 760px) {
  #modal-layer>#modal-god-watch.modal-panel-god-watch {
    height: calc(100dvh - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
  }

  #modal-layer>#modal-god-watch .modal-head {
    grid-template-columns: minmax(0, 1fr) max-content !important;
  }

  #modal-layer>#modal-god-watch .modal-head .god-watch-state-badge {
    display: none !important;
  }

  #modal-layer>#modal-god-watch .god-watch-layout {
    grid-template-columns: minmax(0, 1fr) 232px !important;
    grid-template-rows: auto 116px minmax(0, 1fr) !important;
    grid-template-areas:
      "status map"
      "evidence state"
      "sessions sessions" !important;
  }

  #modal-layer>#modal-god-watch .god-watch-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* God Watch square-map pass: right side is the real minimap, state folds into evidence. */
#modal-layer>#modal-god-watch.modal-panel-god-watch {
  width: min(1084px, calc(100vw - 16px)) !important;
  max-width: min(1084px, calc(100vw - 16px)) !important;
  height: min(666px, calc(100dvh - 16px)) !important;
  max-height: min(666px, calc(100dvh - 16px)) !important;
  grid-template-rows: 34px minmax(0, 1fr) 32px !important;
}

#modal-layer>#modal-god-watch .god-watch-layout {
  grid-template-columns: minmax(0, 1fr) minmax(392px, 424px) !important;
  grid-template-rows: 92px 330px minmax(0, 1fr) !important;
  grid-template-areas:
    "status map"
    "evidence map"
    "sessions sessions" !important;
  gap: 6px !important;
}

#modal-layer>#modal-god-watch .god-watch-map-panel {
  grid-area: map !important;
  align-self: stretch !important;
  grid-template-rows: 14px minmax(0, 1fr) !important;
}

#modal-layer>#modal-god-watch .god-watch-status-panel {
  grid-area: status !important;
  grid-template-rows: 14px minmax(0, 1fr) !important;
}

#modal-layer>#modal-god-watch .god-watch-evidence-panel {
  grid-area: evidence !important;
  grid-template-rows: 14px minmax(0, 1fr) auto !important;
}

#modal-layer>#modal-god-watch .god-watch-sessions-panel {
  grid-area: sessions !important;
}

#modal-layer>#modal-god-watch .god-watch-state-panel {
  display: none !important;
}

#modal-layer>#modal-god-watch .god-watch-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

#modal-layer>#modal-god-watch .god-watch-state-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin-top: 4px !important;
}

#modal-layer>#modal-god-watch .god-watch-minimap {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  align-self: start !important;
  justify-self: stretch !important;
  max-width: none !important;
  max-height: none !important;
  background: #07100c !important;
}

#modal-layer>#modal-god-watch .god-watch-world-map {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#modal-layer>#modal-god-watch .god-watch-minimap-canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}

#modal-layer>#modal-god-watch .god-watch-map-marker,
#modal-layer>#modal-god-watch .god-watch-map-line,
#modal-layer>#modal-god-watch .god-watch-map-caption {
  z-index: 4;
}

#modal-layer>#modal-god-watch .god-watch-map-line {
  z-index: 3;
}

#modal-layer>#modal-god-watch .god-watch-evidence-list {
  min-height: 0 !important;
}

#modal-layer>#modal-god-watch .god-watch-actions {
  justify-content: flex-end !important;
}

#modal-layer>#modal-god-watch .god-watch-actions .btn:not(.modal-close-button) {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  min-width: 82px !important;
  justify-content: center !important;
}

#modal-layer>#modal-god-watch .modal-close-button {
  min-width: 74px !important;
  height: 24px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}

@media (max-width: 760px) {
  #modal-layer>#modal-god-watch .god-watch-layout {
    grid-template-columns: minmax(0, 1fr) minmax(248px, 320px) !important;
    grid-template-rows: 108px 260px minmax(0, 1fr) !important;
    grid-template-areas:
      "status map"
      "evidence map"
      "sessions sessions" !important;
  }

  #modal-layer>#modal-god-watch .god-watch-summary-grid,
  #modal-layer>#modal-god-watch .god-watch-state-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  #modal-layer>#modal-god-watch.modal-panel-god-watch {
    height: calc(100dvh - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
  }

  #modal-layer>#modal-god-watch .god-watch-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(244px, 1fr) minmax(190px, 0.82fr) minmax(140px, 0.62fr) !important;
    grid-template-areas:
      "status"
      "map"
      "evidence"
      "sessions" !important;
  }

  #modal-layer>#modal-god-watch .god-watch-minimap {
    height: 100% !important;
    max-height: none !important;
  }

  #modal-layer>#modal-god-watch .god-watch-actions {
    overflow-x: auto !important;
    justify-content: flex-start !important;
  }
}

/* God Watch Tier 4 restore: large intelligence modal with live session minimap. */
@keyframes god-watch-button-flow {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

@keyframes god-watch-session-pulse {
  0%, 100% {
    box-shadow:
      0 0 0 0 rgba(105, 174, 216, 0.52),
      0 7px 16px rgba(0, 0, 0, 0.34);
  }
  50% {
    box-shadow:
      0 0 0 7px rgba(105, 174, 216, 0),
      0 7px 16px rgba(0, 0, 0, 0.34);
  }
}

@keyframes god-watch-target-pulse {
  0%, 100% {
    box-shadow:
      0 0 0 0 rgba(223, 82, 68, 0.62),
      0 10px 22px rgba(0, 0, 0, 0.42);
  }
  50% {
    box-shadow:
      0 0 0 9px rgba(223, 82, 68, 0),
      0 10px 22px rgba(0, 0, 0, 0.42);
  }
}

#modal-layer>#modal-god-watch.modal-panel-god-watch {
  width: min(1280px, calc(100vw - 18px)) !important;
  max-width: min(1280px, calc(100vw - 18px)) !important;
  height: min(760px, calc(100dvh - 18px)) !important;
  max-height: min(760px, calc(100dvh - 18px)) !important;
  min-height: min(650px, calc(100dvh - 18px)) !important;
  grid-template-rows: 42px minmax(0, 1fr) 38px !important;
  gap: 6px !important;
  padding: 6px !important;
}

#modal-layer>#modal-god-watch .modal-head {
  grid-template-columns: minmax(0, 1fr) minmax(118px, max-content) max-content !important;
  max-height: 42px !important;
  min-height: 0 !important;
  padding: 6px 8px !important;
}

#modal-layer>#modal-god-watch .modal-actions {
  max-height: 38px !important;
  min-height: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 5px 8px !important;
}

#modal-layer>#modal-god-watch .god-watch-footer-copy {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: #a9997b;
  font-size: 10px;
  line-height: 1.1;
  overflow: hidden;
}

#modal-layer>#modal-god-watch .god-watch-footer-copy strong {
  color: #e0cda8;
  white-space: nowrap;
}

#modal-layer>#modal-god-watch .god-watch-footer-copy span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-layer>#modal-god-watch .god-watch-layout {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(410px, 500px) minmax(560px, 1fr) !important;
  grid-template-rows: 112px 198px minmax(116px, 0.72fr) minmax(128px, 0.8fr) !important;
  grid-template-areas:
    "status map"
    "evidence map"
    "history map"
    "sessions map" !important;
  gap: 8px !important;
}

#modal-layer>#modal-god-watch .god-watch-status-panel {
  grid-area: status !important;
}

#modal-layer>#modal-god-watch .god-watch-evidence-panel {
  grid-area: evidence !important;
  grid-template-rows: 16px minmax(0, 1fr) auto !important;
}

#modal-layer>#modal-god-watch .god-watch-history-panel {
  grid-area: history !important;
  grid-template-rows: 16px minmax(0, 1fr) !important;
}

#modal-layer>#modal-god-watch .god-watch-sessions-panel {
  grid-area: sessions !important;
  grid-template-rows: 16px minmax(0, 1fr) !important;
}

#modal-layer>#modal-god-watch .god-watch-map-panel {
  grid-area: map !important;
  align-self: stretch !important;
  grid-template-rows: 18px minmax(0, 1fr) !important;
}

#modal-layer>#modal-god-watch .god-watch-minimap {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  border-color: rgba(88, 132, 107, 0.44) !important;
  background:
    linear-gradient(rgba(154, 127, 79, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(154, 127, 79, 0.1) 1px, transparent 1px),
    #07100c !important;
  background-size: 22px 22px, 22px 22px, auto !important;
}

#modal-layer>#modal-god-watch .god-watch-world-map {
  filter: saturate(0.9) contrast(1.08) brightness(0.78) !important;
}

#modal-layer>#modal-god-watch .god-watch-map-marker {
  appearance: none;
  max-width: 132px;
  min-width: 26px !important;
  min-height: 22px !important;
  padding: 4px 7px !important;
  border-radius: 4px !important;
  font: inherit;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="session"] {
  border-color: rgba(105, 174, 216, 0.72) !important;
  color: #e5f5ff !important;
  background:
    linear-gradient(180deg, rgba(105, 174, 216, 0.22), rgba(20, 43, 58, 0.92)),
    rgba(13, 26, 34, 0.94) !important;
}

#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="session"][data-current="true"] {
  border-color: rgba(205, 231, 247, 0.9) !important;
  color: #ffffff !important;
}

#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="target"] {
  min-width: 84px !important;
  border-color: rgba(223, 82, 68, 0.88) !important;
  color: #fff0ea !important;
  background:
    linear-gradient(180deg, rgba(223, 82, 68, 0.32), rgba(72, 25, 20, 0.94)),
    rgba(72, 25, 20, 0.94) !important;
}

#modal-layer>#modal-god-watch .god-watch-minimap[data-watch-active="true"] .god-watch-map-marker[data-kind="session"][data-current="true"] {
  animation: god-watch-session-pulse 1.35s ease-in-out infinite;
}

#modal-layer>#modal-god-watch .god-watch-minimap[data-watch-active="true"] .god-watch-map-marker[data-kind="target"] {
  animation: god-watch-target-pulse 1.05s ease-in-out infinite;
}

#modal-layer>#modal-god-watch .god-watch-minimap[data-watch-active="false"] .god-watch-map-marker {
  animation: none !important;
}

#modal-layer>#modal-god-watch .god-watch-map-caption {
  left: 8px !important;
  right: 8px !important;
  bottom: 8px !important;
  padding: 6px 8px !important;
  border-radius: 4px !important;
  color: #d7c7a8 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}

#modal-layer>#modal-god-watch .god-watch-evidence-list,
#modal-layer>#modal-god-watch .god-watch-history,
#modal-layer>#modal-god-watch .god-watch-sessions {
  min-height: 0 !important;
  display: grid !important;
  gap: 3px !important;
  align-content: start !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-god-watch .god-watch-row {
  width: 100%;
  border-radius: 4px !important;
  font: inherit;
  text-align: left;
}

#modal-layer>#modal-god-watch button.god-watch-row {
  cursor: pointer;
}

#modal-layer>#modal-god-watch .god-watch-session-row[data-current="true"] {
  border-color: rgba(105, 174, 216, 0.72) !important;
  background:
    linear-gradient(90deg, rgba(105, 174, 216, 0.12), transparent),
    rgba(10, 8, 6, 0.78) !important;
}

#modal-layer>#modal-god-watch .god-watch-history-row[data-tone="danger"] {
  border-color: rgba(223, 82, 68, 0.58) !important;
}

#modal-layer>#modal-god-watch .god-watch-history-row[data-tone="online"] {
  border-color: rgba(105, 174, 216, 0.58) !important;
}

#modal-layer>#modal-god-watch .god-watch-history-row[data-tone="warn"] {
  border-color: rgba(212, 156, 73, 0.62) !important;
}

.god-watch-state-badge[data-tone="online"] {
  border-color: rgba(105, 174, 216, 0.74) !important;
  color: #e5f5ff !important;
  background: rgba(20, 43, 58, 0.72) !important;
}

.god-watch-state-badge[data-tone="nearby"] {
  border-color: rgba(223, 82, 68, 0.84) !important;
  color: #ffe7de !important;
  background: rgba(82, 31, 24, 0.78) !important;
}

.god-watch-state-badge[data-tone="warn"] {
  border-color: rgba(212, 156, 73, 0.78) !important;
  color: #ffe2ac !important;
  background: rgba(64, 45, 18, 0.72) !important;
}

#quick-god-watch-refresh[data-god-watch-active="true"],
#compact-god-watch-refresh[data-god-watch-active="true"],
#modal-layer>#modal-god-watch #god-watch-refresh[data-god-watch-active="true"] {
  background: #173018 !important;
  box-shadow: none !important;
  animation: none !important;
  border-color: rgba(126, 201, 108, 0.54) !important;
  color: rgba(226, 237, 216, 0.88) !important;
}

#quick-god-watch-refresh[data-god-watch-active="false"],
#compact-god-watch-refresh[data-god-watch-active="false"],
#modal-layer>#modal-god-watch #god-watch-refresh[data-god-watch-active="false"] {
  animation: none !important;
}

#quick-god-watch-refresh[data-god-watch-active="false"] strong,
#compact-god-watch-refresh[data-god-watch-active="false"] strong {
  color: inherit !important;
  animation: none !important;
}

#quick-god-watch-refresh[data-god-watch-active="true"] strong,
#compact-god-watch-refresh[data-god-watch-active="true"] strong {
  color: rgba(226, 237, 216, 0.88) !important;
}

@media (max-width: 900px) {
  #modal-layer>#modal-god-watch.modal-panel-god-watch {
    height: calc(100dvh - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    min-height: 0 !important;
  }

  #modal-layer>#modal-god-watch .god-watch-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(320px, 1.25fr) minmax(180px, 0.8fr) minmax(120px, 0.55fr) minmax(140px, 0.6fr) !important;
    grid-template-areas:
      "status"
      "map"
      "evidence"
      "history"
      "sessions" !important;
  }

  #modal-layer>#modal-god-watch .god-watch-summary-grid,
  #modal-layer>#modal-god-watch .god-watch-state-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  #modal-layer>#modal-god-watch .modal-head {
    grid-template-columns: minmax(0, 1fr) max-content !important;
  }

  #modal-layer>#modal-god-watch .god-watch-state-badge {
    display: none !important;
  }

  #modal-layer>#modal-god-watch .god-watch-footer-copy span {
    display: none;
  }
}

/* God Watch minimap immersion pass: full uncropped map, dot markers, no grid/axis lines,
   panel chrome stripped so the map fills the enlarged right column. Friend entry pinned top. */
@media (min-width: 901px) {
  #modal-layer>#modal-god-watch .god-watch-layout {
    grid-template-columns: minmax(356px, 432px) minmax(0, 1fr) !important;
    gap: 10px !important;
  }
}

/* Strip the minimap panel down to just the map image (no head, border, padding or shadow). */
#modal-layer>#modal-god-watch .god-watch-map-panel {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

#modal-layer>#modal-god-watch .god-watch-map-panel .god-watch-panel-head {
  display: none !important;
}

/* Minimap surface: the whole map at real proportions (no crop, no stretch), as large as the
   panel height allows so dots still line up with the linear coordinate projection.
   No grid lines, no centre crosshair axis lines. */
#modal-layer>#modal-god-watch .god-watch-map-panel {
  place-items: center !important;
}

#modal-layer>#modal-god-watch .god-watch-minimap {
  width: auto !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  aspect-ratio: 2001 / 2025 !important;
  align-self: center !important;
  justify-self: center !important;
  border: 1px solid rgba(88, 132, 107, 0.4) !important;
  border-radius: 4px !important;
  background: #060d0a !important;
}

#modal-layer>#modal-god-watch .god-watch-minimap::before,
#modal-layer>#modal-god-watch .god-watch-minimap::after {
  content: none !important;
  display: none !important;
}

/* Full, uncropped map image filling the panel so the whole world reads at real scale. */
#modal-layer>#modal-god-watch .god-watch-world-map {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: fill !important;
  transform: none !important;
  filter: saturate(0.96) contrast(1.04) brightness(0.94) !important;
}

/* Markers become clean location dots — the bulky text tags are gone. */
#modal-layer>#modal-god-watch .god-watch-map-marker {
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  line-height: 0 !important;
  box-shadow: 0 0 0 2px rgba(6, 13, 10, 0.85), 0 2px 6px rgba(0, 0, 0, 0.5) !important;
}

#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="session"] {
  width: 11px !important;
  height: 11px !important;
  border: 2px solid #eaf6ff !important;
  background: radial-gradient(circle at 50% 35%, #8fd2ff, #2f86c8) !important;
  cursor: pointer;
}

#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="session"][data-current="true"] {
  width: 13px !important;
  height: 13px !important;
  border-color: #ffffff !important;
}

#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="target"] {
  width: 16px !important;
  height: 16px !important;
  border: 2px solid #fff0ea !important;
  background: radial-gradient(circle at 50% 35%, #ff7d6c, #c0291c) !important;
}

/* God's last-known position (no live fix): faded, hollow, dashed — clearly an estimate. */
#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="target"][data-stale="true"] {
  border: 2px dashed #ffd0c7 !important;
  background: radial-gradient(circle at 50% 35%, rgba(255, 125, 108, 0.42), rgba(120, 41, 28, 0.42)) !important;
  opacity: 0.78 !important;
}

#modal-layer>#modal-god-watch .god-watch-minimap[data-watch-active="true"] .god-watch-map-marker[data-kind="target"][data-stale="true"] {
  animation: none !important;
}

/* No-fix parked pin (location unknown): amber, dashed, faded — clearly not a real fix. Parked over
   the west sea by GOD_WATCH_NO_FIX_POINT so God is always visible on the map. */
#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="target"][data-nofix="true"] {
  border: 2px dashed #ffd7b0 !important;
  background: radial-gradient(circle at 50% 35%, rgba(255, 196, 130, 0.42), rgba(120, 78, 28, 0.42)) !important;
  opacity: 0.72 !important;
}

#modal-layer>#modal-god-watch .god-watch-minimap[data-watch-active="true"] .god-watch-map-marker[data-kind="target"][data-nofix="true"] {
  animation: none !important;
}

/* Keep a subtle caption only; no rectangular name plates. */
#modal-layer>#modal-god-watch .god-watch-map-caption {
  left: 8px !important;
  right: 8px !important;
  bottom: 8px !important;
  padding: 5px 8px !important;
  border-color: rgba(88, 132, 107, 0.34) !important;
  border-radius: 4px !important;
  background: rgba(4, 9, 7, 0.74) !important;
  color: #bcae93 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
}

/* Pinned friend entry (God Minibia): amber = hidden, green = online, red = offline. */
#modal-layer>#modal-god-watch .god-watch-friend-entry {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) max-content !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 9px !important;
  border: 1px solid rgba(143, 111, 68, 0.4) !important;
  border-radius: 4px !important;
  background: rgba(10, 8, 6, 0.82) !important;
}

#modal-layer>#modal-god-watch .god-watch-friend-entry strong {
  min-width: 0;
  color: #f0d996 !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#modal-layer>#modal-god-watch .god-watch-friend-state {
  justify-self: end !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
}

#modal-layer>#modal-god-watch .god-watch-friend-dot {
  width: 11px !important;
  height: 11px !important;
  border-radius: 50% !important;
  background: #6b6256;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4);
}

#modal-layer>#modal-god-watch .god-watch-friend-entry[data-tone="online"] {
  border-color: rgba(118, 182, 98, 0.7) !important;
}
#modal-layer>#modal-god-watch .god-watch-friend-entry[data-tone="online"] .god-watch-friend-dot {
  background: #7ed070;
  box-shadow: 0 0 8px rgba(126, 208, 112, 0.85);
}
#modal-layer>#modal-god-watch .god-watch-friend-entry[data-tone="online"] .god-watch-friend-state {
  color: #bff0ad !important;
}

#modal-layer>#modal-god-watch .god-watch-friend-entry[data-tone="hidden"] {
  border-color: rgba(226, 170, 70, 0.85) !important;
  background: rgba(46, 33, 12, 0.78) !important;
}
#modal-layer>#modal-god-watch .god-watch-friend-entry[data-tone="hidden"] .god-watch-friend-dot {
  background: #f0b042;
  box-shadow: 0 0 10px rgba(240, 176, 66, 0.95);
}
#modal-layer>#modal-god-watch .god-watch-friend-entry[data-tone="hidden"] .god-watch-friend-state {
  color: #ffd98a !important;
}

#modal-layer>#modal-god-watch .god-watch-friend-entry[data-tone="offline"] {
  border-color: rgba(205, 80, 66, 0.72) !important;
}
#modal-layer>#modal-god-watch .god-watch-friend-entry[data-tone="offline"] .god-watch-friend-dot {
  background: #d6513f;
  box-shadow: 0 0 8px rgba(214, 81, 63, 0.72);
}
#modal-layer>#modal-god-watch .god-watch-friend-entry[data-tone="offline"] .god-watch-friend-state {
  color: #ffb3a8 !important;
}

/* Badge + quick/compact card tones for the new hidden (amber) and offline (red) states. */
.god-watch-state-badge[data-tone="hidden"] {
  border-color: rgba(226, 170, 70, 0.85) !important;
  color: #ffd98a !important;
  background: rgba(46, 33, 12, 0.72) !important;
}

.god-watch-state-badge[data-tone="offline"] {
  border-color: rgba(205, 80, 66, 0.7) !important;
  color: #ffb3a8 !important;
  background: rgba(48, 18, 14, 0.6) !important;
}

.quick-module-card-god-watch[data-state="hidden"]::before,
.quick-module-card-god-watch[data-state="danger"]::before,
.compact-split-card-god-watch[data-state="hidden"]::before,
.compact-split-card-god-watch[data-state="danger"]::before {
  content: "";
  display: block;
  background: var(--ux-state-on) !important;
}

.quick-module-card-god-watch[data-state="offline"]::before,
.compact-split-card-god-watch[data-state="offline"]::before {
  content: "";
  display: block;
  background: #d36d62 !important;
}

.quick-module-card-god-watch[data-state="offline"] .quick-module-open strong,
.compact-split-card-god-watch[data-state="offline"] .compact-card-open strong {
  color: #ffb3a8 !important;
}

/* God Watch operator pass: no header bar, controls in footer, 2-column rail, big map + big dots. */
#modal-layer>#modal-god-watch.modal-panel-god-watch {
  width: min(1360px, calc(100vw - 14px)) !important;
  max-width: min(1360px, calc(100vw - 14px)) !important;
  height: min(880px, calc(100dvh - 14px)) !important;
  max-height: min(880px, calc(100dvh - 14px)) !important;
  min-height: 0 !important;
  grid-template-rows: minmax(0, 1fr) 48px !important;
  gap: 8px !important;
  padding: 8px !important;
}

/* Footer: just the controls — Enabled + Snooze + Close (status moved into left header card). */
#modal-layer>#modal-god-watch .god-watch-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-height: 0 !important;
  max-height: 48px !important;
  padding: 6px 10px !important;
}
#modal-layer>#modal-god-watch .god-watch-actions .btn {
  height: 26px !important;
  min-height: 26px !important;
  font-size: 11px !important;
  padding: 3px 12px !important;
}

/* Two content columns on the left, big map on the right. */
#modal-layer>#modal-god-watch .god-watch-layout {
  grid-template-columns: 266px 266px minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(110px, 0.8fr) minmax(104px, 1fr) !important;
  grid-template-areas:
    "status   status   map"
    "evidence history  map"
    "sessions sessions map" !important;
  gap: 8px !important;
}
#modal-layer>#modal-god-watch .god-watch-history-panel { display: grid !important; }

/* Single 1x4 row instead of a 2x2 grid. */
#modal-layer>#modal-god-watch .god-watch-summary-grid,
#modal-layer>#modal-god-watch .god-watch-state-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 7px !important;
}
#modal-layer>#modal-god-watch .summary-cell {
  height: auto !important;
  min-height: 40px !important;
  padding: 7px 9px !important;
  gap: 3px !important;
}
#modal-layer>#modal-god-watch .summary-cell span { font-size: 8px !important; letter-spacing: 0.06em !important; }
#modal-layer>#modal-god-watch .summary-cell strong { font-size: 12px !important; }

/* Friend entry: a real status card, not a thin strip. Carries the relocated status badge. */
#modal-layer>#modal-god-watch .god-watch-friend-entry {
  grid-template-columns: max-content minmax(0, 1fr) max-content max-content !important;
  padding: 10px 12px !important;
  border-radius: 7px !important;
  gap: 11px !important;
}
#modal-layer>#modal-god-watch .god-watch-friend-entry strong { font-size: 14px !important; }
#modal-layer>#modal-god-watch .god-watch-friend-state { font-size: 11px !important; }
#modal-layer>#modal-god-watch .god-watch-friend-entry .god-watch-state-badge {
  justify-self: end !important;
  max-width: 150px !important;
  font-size: 10px !important;
  padding: 4px 9px !important;
}
#modal-layer>#modal-god-watch .god-watch-friend-dot {
  width: 14px !important;
  height: 14px !important;
}

/* Map fills its panel edge-to-edge to meet the modal margins; world image covers. */
#modal-layer>#modal-god-watch .god-watch-map-panel {
  padding: 0 !important;
  gap: 0 !important;
  border: none !important;
  background: transparent !important;
}
#modal-layer>#modal-god-watch .god-watch-map-panel .god-watch-panel-head {
  position: absolute !important;
  z-index: 6 !important;
  top: 6px !important;
  left: 8px !important;
  right: 8px !important;
  pointer-events: none !important;
}
#modal-layer>#modal-god-watch .god-watch-map-panel {
  position: relative !important;
}
#modal-layer>#modal-god-watch .god-watch-minimap {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}
/* Container no longer matches the image ratio, so stretch the world image to fill rather than
   cover-crop — this keeps the percentage-based dot projection aligned to the full image. */
#modal-layer>#modal-god-watch .god-watch-world-map {
  object-fit: fill !important;
  transform: none !important;
}

/* Bigger, unmissable location dots. */
#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="session"] {
  width: 15px !important;
  height: 15px !important;
  border: 3px solid #ffffff !important;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.65), 0 0 12px 3px rgba(120, 200, 255, 0.9) !important;
}
#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="session"][data-current="true"] {
  width: 18px !important;
  height: 18px !important;
}
#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="target"] {
  width: 21px !important;
  height: 21px !important;
  border: 3px solid #ffffff !important;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.65), 0 0 14px 4px rgba(255, 90, 70, 0.95) !important;
}
#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="target"][data-stale="true"] {
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.6), 0 0 10px 2px rgba(255, 160, 120, 0.7) !important;
}

/* Mana Trainer requested access pass: Rune Making toggle visible, mana windows use two input rows. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-panel {
  position: relative !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule>.module-rule-toolbar {
  position: absolute !important;
  top: 6px !important;
  left: 92px !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  min-height: var(--toggle-height) !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  z-index: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule>.module-rule-toolbar .module-rule-toolbar-main {
  display: block !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule>.module-rule-toolbar .module-rule-toolbar-rank,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule>.module-rule-toolbar .module-rule-actions {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule>.module-rule-toolbar .module-rule-corner-toggle {
  display: block !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head {
  grid-template-columns: max-content var(--toggle-width) minmax(0, 1fr) !important;
  justify-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title {
  grid-column: 1 !important;
  padding-right: calc(var(--toggle-width) + 8px) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
  padding-top: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
  display: grid !important;
  grid-template-columns: 56px minmax(112px, 1fr) 42px 56px !important;
  grid-template-areas:
    "label words words hotkey"
    "cooldown mana mpmin mpmax"
    "hp hp target idle" !important;
  gap: 4px !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="label"]) {
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="words"]) {
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="hotkey"]) {
  width: 42px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="cooldownMs"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="minMana"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="minManaPercent"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="maxManaPercent"]) {
  min-width: 0 !important;
}

/* Mana Trainer correction pass: title toggles, flat Light, deterministic mana-window rows. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head {
  position: relative !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-title {
  padding-right: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule>.module-rule-toolbar {
  top: 6px !important;
  right: 6px !important;
  left: auto !important;
  justify-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule.module-rule-card-disabled .module-rule-sections {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
  border-color: rgba(190, 156, 62, 0.82) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule.module-rule-card,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule.module-rule-card[data-module-key="autoLight"] {
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule :is(input:not([type="checkbox"]), select, .modal-number-stepper, .modal-number-stepper-input) {
  border-color: rgba(190, 156, 62, 0.34) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
  display: grid !important;
  grid-template-columns: 54px minmax(116px, 1fr) 42px 56px 50px 56px 56px !important;
  grid-template-areas:
    "label words words hotkey hotkey hotkey hotkey"
    "cooldown cooldown mana mana mpmin mpmax mpmax"
    "hp hp target target target idle idle" !important;
  gap: 4px !important;
  align-items: end !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="label"]) {
  grid-area: label !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="words"]) {
  grid-area: words !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: hotkey !important;
  width: 42px !important;
  justify-self: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: cooldown !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="minMana"]) {
  grid-area: mana !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: mpmin !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="maxManaPercent"]) {
  grid-area: mpmax !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="minHealthPercent"]) {
  grid-area: hp !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="requireNoTargets"]) {
  grid-area: target !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control:has([data-rule-field="requireStationary"]) {
  grid-area: idle !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control:not(.module-rule-check)>span,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-check>span:not(.visually-hidden) {
  font-size: 7px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.module-rule-actions .btn,
  .module-rule-inline-toolbar .btn,
  .mana-runemaking-head .btn,
  .mana-window-list-head .btn,
  .mana-light-source-head .btn) {
  min-width: 22px !important;
  min-height: 22px !important;
  height: 22px !important;
  padding: 0 6px !important;
  font-size: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-actions .btn {
  padding: 0 !important;
}

@media (max-width: 900px) {
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace,
  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace:is(:where(*)) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
}

/* Mana Trainer flatten pass: panels grow as one surface, inner cards become rows. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head {
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head>.module-option-toggle-only,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-service-head>.module-rule-check {
  grid-column: 2 !important;
  justify-self: end !important;
  align-self: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-panel {
  border-color: rgba(118, 100, 50, 0.78) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule :is(input:not([type="checkbox"]), select, .modal-number-stepper, .modal-number-stepper-input) {
  border-color: rgba(118, 100, 50, 0.36) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-head .btn[data-add-mana-rune-rule] {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-rule-list {
  display: block !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule>.module-rule-toolbar {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-sections {
  display: grid !important;
  grid-template-columns: 62px minmax(0, 1fr) 48px 64px !important;
  grid-template-areas:
    "rune words words hotkey"
    "cooldown mana mpmin mpmax"
    "hp cap target idle" !important;
  gap: 4px !important;
  padding-top: 2px !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  display: grid !important;
  gap: 0 !important;
  padding: 6px !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-list-head {
  margin: 0 !important;
  padding: 0 0 5px !important;
  border-bottom: 1px solid var(--mana-polish-panel-border-soft, rgba(71, 89, 108, 0.38)) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule {
  margin: 0 !important;
  padding: 6px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule+.mana-window-rule {
  border-top: 1px solid rgba(71, 89, 108, 0.32) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: 6px !important;
  padding: 0 0 4px !important;
  border: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) 46px 60px !important;
  grid-template-areas:
    "label words words hotkey"
    "cooldown mana mpmin mpmax"
    "hp target target idle" !important;
  gap: 4px !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-actions {
  justify-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-toolbar-main {
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-toolbar-rank {
  font-size: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-control,
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-card.mana-runemaking-rule .module-rule-control {
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .module-rule-control :is(input:not([type="checkbox"]), select, .modal-number-stepper, .modal-number-stepper-input) {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Alarm modal: mandatory / extra alarm groups and add-alarm picker. */
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-group {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important;
  gap: var(--alarm-gap) !important;
  width: 100% !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-group-head {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 2px 2px 3px !important;
  border-bottom: 1px dashed var(--alarm-terminal-line) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-group-head strong {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-group-head small {
  font-size: 9px !important;
  color: var(--muted) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-control {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-control select {
  min-height: 22px !important;
  height: 22px !important;
  min-width: 130px !important;
  padding: 1px 5px !important;
  font-size: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-control .btn {
  min-height: 22px !important;
  padding: 1px 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-empty-note {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  padding: 6px !important;
  font-size: 10px !important;
  color: var(--muted) !important;
  border: 1px dashed var(--alarm-terminal-line) !important;
  border-radius: 4px !important;
  text-align: center !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-remove-button {
  width: 100% !important;
  min-height: 24px !important;
  padding: 2px 5px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #f0b9ae !important;
  border: 1px solid rgba(229, 83, 67, 0.42) !important;
  background: rgba(229, 83, 67, 0.1) !important;
  border-radius: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-remove-button:hover {
  border-color: rgba(229, 83, 67, 0.72) !important;
  background: rgba(229, 83, 67, 0.2) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-mandatory-pill {
  color: #ffe6a8 !important;
  border-color: rgba(255, 221, 115, 0.4) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-matrix-row .alarms-card-grid :is(.alarms-remove-button, .alarms-mandatory-pill) {
  grid-column: span 2 !important;
}

/* Tier containment pass: compact module modals hug their content instead of
   stretching a mostly-empty surface to the full tier height. Overflow past
   the cap scrolls inside the modal body. */
#modal-layer>#modal-module.module-modal-compact {
  height: auto !important;
  max-height: min(88dvh, calc(100dvh - 12px)) !important;
}

#modal-layer>#modal-module.module-modal-empty-rules,
#modal-layer>#modal-module.module-modal-settings-only {
  height: auto !important;
  max-height: min(72dvh, calc(100dvh - 12px)) !important;
}

/* ===== God Watch final pass: ringless pastel blinking dots, full-bleed map, left-rail footer ===== */
/* Core and red ring blink counter to each other: when the colour core is most faded the red ring is
   most visible, and vice-versa. The black ring never animates. */
@keyframes god-watch-core-blink {
  0%, 55%, 100% { opacity: 1; }
  80% { opacity: 0.5; }
}
@keyframes god-watch-ring-blink {
  0%, 55%, 100% { opacity: 0.12; }
  80% { opacity: 1; }
}

/* 11px ringless cores. The fill colour is applied per-dot through the CSSOM (data-color), so here we
   only strip the white ring/glow and add the slow soft blink. High-specificity + last-in-source so it
   wins over every earlier marker override. */
#modal-layer>#modal-god-watch .god-watch-minimap .god-watch-map-marker,
#modal-layer>#modal-god-watch .god-watch-minimap[data-watch-active="true"] .god-watch-map-marker[data-kind="session"],
#modal-layer>#modal-god-watch .god-watch-minimap[data-watch-active="true"] .god-watch-map-marker[data-kind="session"][data-current="true"],
#modal-layer>#modal-god-watch .god-watch-minimap[data-watch-active="true"] .god-watch-map-marker[data-kind="target"],
#modal-layer>#modal-god-watch .god-watch-minimap[data-watch-active="true"] .god-watch-map-marker[data-kind="target"][data-stale="true"],
#modal-layer>#modal-god-watch .god-watch-minimap[data-watch-active="true"] .god-watch-map-marker[data-kind="target"][data-nofix="true"] {
  width: 9px !important;
  height: 9px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  border: none !important;
  outline: none !important;
  overflow: visible !important;
  background: transparent !important;
  background-image: none !important;
  /* Slim, static, pure-black ring — always visible, never fades. */
  box-shadow: 0 0 0 1.25px #000, 0 0 3px rgba(0, 0, 0, 0.75) !important;
  animation: none !important;
}
/* Colour core (the "big circle"): blinks. */
#modal-layer>#modal-god-watch .god-watch-minimap .god-watch-map-marker::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 50% !important;
  background: var(--gw-dot-color, #85d0ff) !important;
  animation: god-watch-core-blink 1s ease-in-out infinite !important;
}
/* Red inner ring, narrower than the black one, blinks counter to the core. */
#modal-layer>#modal-god-watch .god-watch-minimap .god-watch-map-marker::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: inset 0 0 0 1px #ff2bd6 !important;
  animation: god-watch-ring-blink 1s ease-in-out infinite !important;
  pointer-events: none !important;
}
/* Selected session reads as a touch larger without adding a ring. */
#modal-layer>#modal-god-watch .god-watch-minimap .god-watch-map-marker[data-kind="session"][data-current="true"] {
  width: 11px !important;
  height: 11px !important;
}

/* Body is a single row now — the footer lives inside the layout grid under the left rail. */
#modal-layer>#modal-god-watch.modal-panel-god-watch {
  grid-template-rows: minmax(0, 1fr) !important;
}
#modal-layer>#modal-god-watch .god-watch-layout {
  grid-template-columns: 266px 266px minmax(0, 1fr) !important;
  grid-template-rows: minmax(max-content, auto) minmax(92px, 0.8fr) minmax(92px, 1fr) max-content !important;
  grid-template-areas:
    "status   status   map"
    "evidence history  map"
    "sessions sessions map"
    "footer   footer   map" !important;
  gap: 8px !important;
}
#modal-layer>#modal-god-watch .god-watch-actions {
  grid-area: footer !important;
  grid-template-columns: minmax(0, 1fr) max-content max-content max-content !important;
  max-height: none !important;
  margin: 0 !important;
  border-top: none !important;
}
/* Drop the duplicated status badge from the footer — God's status already shows in the header card. */
#modal-layer>#modal-god-watch .god-watch-actions .god-watch-state-badge { display: none !important; }

/* Map owns the entire right column corner-to-corner: no head strip, no caption, full-bleed image. */
#modal-layer>#modal-god-watch .god-watch-map-panel {
  grid-area: map !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(88, 132, 107, 0.4) !important;
  border-radius: 5px !important;
}
#modal-layer>#modal-god-watch .god-watch-map-panel .god-watch-panel-head { display: none !important; }
#modal-layer>#modal-god-watch .god-watch-map-caption { display: none !important; }
#modal-layer>#modal-god-watch .god-watch-minimap {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  border: none !important;
  border-radius: 0 !important;
}
#modal-layer>#modal-god-watch .god-watch-world-map {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: fill !important;
}

/* Header status card: give it real vertical presence again (it had collapsed to a thin strip). */
#modal-layer>#modal-god-watch .god-watch-status-panel {
  min-height: 138px !important;
  align-content: start !important;
  gap: 10px !important;
}
#modal-layer>#modal-god-watch .god-watch-status-panel .god-watch-friend-entry { padding: 13px 14px !important; }
#modal-layer>#modal-god-watch .god-watch-status-panel .summary-cell { min-height: 48px !important; }

/* ============================================================================
   FINAL God Watch corrections (authoritative — last in cascade)
   ============================================================================ */

/* 1) Header status card must be a fully expanded card, never crushed into a one-line
   grid track, and never overlapped by the summary cells below it. */
#modal-layer>#modal-god-watch .god-watch-status-panel {
  grid-template-rows: max-content max-content !important;
  align-content: start !important;
  min-height: 0 !important;
  overflow: visible !important;
  gap: 10px !important;
}
#modal-layer>#modal-god-watch .god-watch-status-panel .god-watch-friend-entry {
  min-height: 56px !important;
  padding: 14px 16px !important;
  align-items: center !important;
}
#modal-layer>#modal-god-watch .god-watch-status-panel .god-watch-friend-entry strong {
  font-size: 15px !important;
}

/* 2) Map fills its column and bleeds to the modal's top/right/bottom border so it meets the
   modal corners (the modal clips with overflow:hidden + 4px radius). align-self:stretch would
   pin the height to the grid area and swallow the negative margins, so size explicitly with
   start alignment: width = area + 8 (right bleed), height = area + 16 (top + bottom bleed). */
#modal-layer>#modal-god-watch .god-watch-map-panel {
  align-self: start !important;
  justify-self: start !important;
  margin: 0 !important;
  margin-top: -8px !important;
  width: calc(100% + 28px) !important;
  height: calc(100% + 16px) !important;
  border: none !important;
  border-radius: 0 4px 4px 0 !important;
  overflow: hidden !important;
}
#modal-layer>#modal-god-watch .god-watch-minimap {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  border: none !important;
  border-radius: 0 !important;
}
#modal-layer>#modal-god-watch .god-watch-world-map {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: fill !important;
  transform: none !important;
}

/* 3) History reads as session couples: one row per session with the login on the left and the
   logout on the right of the SAME badge. */
#modal-layer>#modal-god-watch .god-watch-history-panel { overflow-y: auto !important; }
#modal-layer>#modal-god-watch .god-watch-history-couple {
  display: grid !important;
  grid-template-columns: 58px 1fr 1fr !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(143, 111, 68, 0.4) !important;
  border-radius: 10px !important;
  background: rgba(20, 16, 10, 0.55) !important;
}
/* Day chip: a single date per session row keeps the two time halves from each repeating it. */
#modal-layer>#modal-god-watch .god-watch-history-couple .gw-couple-date {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px 6px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  color: #d9c8a6 !important;
  background: rgba(40, 32, 18, 0.7) !important;
  border-right: 1px solid rgba(143, 111, 68, 0.32) !important;
}
#modal-layer>#modal-god-watch .god-watch-history-couple .gw-couple-edge {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  min-width: 0 !important;
  padding: 5px 10px !important;
  font-size: 11px !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
#modal-layer>#modal-god-watch .god-watch-history-couple .gw-couple-time {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#modal-layer>#modal-god-watch .god-watch-history-couple .gw-couple-time i {
  font-style: normal !important;
  font-size: 9px !important;
  opacity: 0.7 !important;
}
#modal-layer>#modal-god-watch .god-watch-history-couple .gw-couple-edge b {
  flex: 0 0 auto !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  opacity: 0.6 !important;
}
#modal-layer>#modal-god-watch .god-watch-history-couple .gw-couple-in {
  justify-content: flex-start !important;
  border-right: 1px solid rgba(143, 111, 68, 0.32) !important;
  color: #bff0ad !important;
  background: rgba(28, 46, 22, 0.55) !important;
}
#modal-layer>#modal-god-watch .god-watch-history-couple .gw-couple-out {
  justify-content: flex-end !important;
  color: #ffb3a8 !important;
  background: rgba(48, 18, 14, 0.55) !important;
}
/* Open session (still online / unknown): right half is neutral, not a red logout. */
#modal-layer>#modal-god-watch .god-watch-history-couple[data-status="online"] {
  border-color: rgba(118, 182, 98, 0.6) !important;
}
#modal-layer>#modal-god-watch .god-watch-history-couple[data-status="online"] .gw-couple-out {
  color: #bff0ad !important;
  background: rgba(28, 46, 22, 0.55) !important;
}
#modal-layer>#modal-god-watch .god-watch-history-couple[data-status="unknown"] .gw-couple-out {
  color: #d9c8a6 !important;
  background: rgba(40, 32, 18, 0.55) !important;
}

/* EXIVA triangulation controls: AUTO toggle + "Exiva God", a name field + "Exiva", and the
   per-session bearing list. Kept compact so it fits the status rail under the summary cells. */
#modal-layer>#modal-god-watch .god-watch-exiva-controls {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
#modal-layer>#modal-god-watch .god-watch-exiva-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  color: #d7c7a8 !important;
}
#modal-layer>#modal-god-watch .god-watch-exiva-controls .btn,
#modal-layer>#modal-god-watch .god-watch-target-editor .btn {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
#modal-layer>#modal-god-watch .god-watch-exiva-state {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 10px !important;
  color: var(--muted) !important;
}
#modal-layer>#modal-god-watch .god-watch-target-editor {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 8px !important;
}
#modal-layer>#modal-god-watch .god-watch-target-editor input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
#modal-layer>#modal-god-watch .god-watch-target-list {
  display: grid !important;
  gap: 4px !important;
  margin-top: 8px !important;
  max-height: 132px !important;
  overflow-y: auto !important;
}
/* Triangulated exiva pin (cyan core) reads above session dots. */
#modal-layer>#modal-god-watch .god-watch-map-marker[data-kind="exiva"] {
  z-index: 6 !important;
}

/* Proximity watch: a VIP-style early-warning list + a tiny register log that lives in the
   empty room to the RIGHT of the EXIVA panel at wide widths (stacks below on narrow). The
   existing EXIVA controls keep their place. */
#modal-layer>#modal-god-watch .god-watch-target-editor input.god-watch-proximity-interval {
  flex: 0 0 auto !important;
  width: 52px !important;
  min-width: 52px !important;
  text-align: center !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  margin-top: 8px !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-list {
  display: grid !important;
  gap: 4px !important;
  max-height: 132px !important;
  overflow-y: auto !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 3px 6px !important;
  border-radius: 4px !important;
  background: rgba(8, 13, 18, 0.6) !important;
  font-size: 11px !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-row .px-name {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-row .px-dot {
  flex: 0 0 auto !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #4a5562 !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-row[data-online="true"] .px-dot {
  background: #54d76a !important;
  box-shadow: 0 0 5px rgba(84, 215, 106, 0.8) !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-row .px-band {
  flex: 0 0 auto !important;
  font-size: 10px !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-row[data-band="far"] .px-band { color: #f0c453 !important; }
#modal-layer>#modal-god-watch .god-watch-proximity-row[data-band="near"] .px-band { color: #ff6b6b !important; }
#modal-layer>#modal-god-watch .god-watch-proximity-row .px-eta {
  flex: 0 0 auto !important;
  font-size: 10px !important;
  color: var(--muted) !important;
  min-width: 26px !important;
  text-align: right !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-row .px-drop {
  flex: 0 0 auto !important;
  cursor: pointer !important;
  color: var(--muted) !important;
  opacity: 0.7 !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-row .px-drop:hover { opacity: 1 !important; color: #ff6b6b !important; }
#modal-layer>#modal-god-watch .god-watch-proximity-log-head {
  font-size: 10px !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  margin-bottom: 4px !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-log {
  display: grid !important;
  gap: 2px !important;
  max-height: 150px !important;
  overflow-y: auto !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  color: var(--muted) !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-log .px-log-row {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#modal-layer>#modal-god-watch .god-watch-proximity-log .px-log-row[data-closer="true"] { color: #ffb454 !important; }
#modal-layer>#modal-god-watch .god-watch-proximity-log .px-log-row[data-kind="login"] { color: #54d76a !important; }
#modal-layer>#modal-god-watch .god-watch-proximity-log .px-log-row[data-kind="logout"] { color: #8a94a0 !important; }
@media (min-width: 901px) {
  #modal-layer>#modal-god-watch .god-watch-proximity {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr) !important;
  }
}

/* ============================================================================
   Death Heal compact style unification for module modals
   ============================================================================ */

#modal-layer>#modal-module[data-active-module-key="healer"],
#modal-layer>#modal-module[data-active-module-key="looting"],
#modal-layer>#modal-module[data-active-module-key="spellCaster"],
#modal-layer>#modal-module[data-active-module-key="banking"],
#modal-layer>#modal-module[data-active-module-key="autoEat"],
#modal-layer>#modal-module[data-active-module-key="pkAssist"] {
  --dh-compact-gap: 4px;
  --dh-compact-field-h: 24px;
  --dh-compact-label-h: 10px;
  --dh-compact-label: rgba(216, 204, 180, 0.82);
  --dh-compact-text: #f1f4f7;
  --dh-compact-muted: rgba(196, 207, 219, 0.62);
  --dh-compact-panel: rgba(8, 13, 18, 0.86);
  --dh-compact-panel-soft: rgba(8, 13, 18, 0.68);
  --dh-compact-line: rgba(72, 88, 104, 0.72);
  --dh-compact-line-soft: rgba(72, 88, 104, 0.42);
  --modal-stepper-height: var(--dh-compact-field-h);
  --modal-stepper-chevron-width: 15px;
  --modal-stepper-chevron-gap: 1px;
  --modal-stepper-chevron-inset: 2px;
  --modal-stepper-chevron-zone: calc((var(--modal-stepper-chevron-width) * 2) + var(--modal-stepper-chevron-gap));
  --modal-stepper-chevron-padding: calc(var(--modal-stepper-chevron-zone) + (var(--modal-stepper-chevron-inset) * 2) + 4px);
  gap: var(--dh-compact-gap) !important;
  padding: 4px !important;
  border-radius: 4px !important;
  background: #070b0f !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-head,
#modal-layer>#modal-module[data-active-module-key="looting"] .modal-head,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-head,
#modal-layer>#modal-module[data-active-module-key="banking"] .modal-head,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-head,
#modal-layer>#modal-module[data-active-module-key="pkAssist"] .modal-head {
  min-height: 28px !important;
  padding: 3px 5px !important;
  border-radius: 3px !important;
  background: #090f14 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="looting"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="banking"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-body-module,
#modal-layer>#modal-module[data-active-module-key="pkAssist"] .modal-body-module {
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="looting"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="banking"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="pkAssist"] .modal-module-card[data-module-panel="shared"] {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field):not(.module-rule-check),
#modal-layer>#modal-module[data-active-module-key="looting"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field):not(.module-rule-check),
#modal-layer>#modal-module[data-active-module-key="spellCaster"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field):not(.module-rule-check),
#modal-layer>#modal-module[data-active-module-key="banking"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field):not(.module-rule-check),
#modal-layer>#modal-module[data-active-module-key="autoEat"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field):not(.module-rule-check),
#modal-layer>#modal-module[data-active-module-key="pkAssist"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field):not(.module-rule-check) {
  min-width: 0 !important;
  display: grid !important;
  grid-template-rows: var(--dh-compact-label-h) var(--dh-compact-field-h) !important;
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field)>span:not(.visually-hidden),
#modal-layer>#modal-module[data-active-module-key="looting"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field)>span:not(.visually-hidden),
#modal-layer>#modal-module[data-active-module-key="spellCaster"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field)>span:not(.visually-hidden),
#modal-layer>#modal-module[data-active-module-key="banking"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field)>span:not(.visually-hidden),
#modal-layer>#modal-module[data-active-module-key="autoEat"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field)>span:not(.visually-hidden),
#modal-layer>#modal-module[data-active-module-key="pkAssist"] :is(.module-rule-control, .gold-bank-rule-field, .looting-field)>span:not(.visually-hidden) {
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--dh-compact-label) !important;
  font-size: 9px !important;
  font-weight: 740 !important;
  letter-spacing: 0 !important;
  line-height: var(--dh-compact-label-h) !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] :is(input:not([type="checkbox"]), select, textarea, .modal-number-stepper, .modal-number-stepper-input),
#modal-layer>#modal-module[data-active-module-key="looting"] :is(input:not([type="checkbox"]), select, textarea, .modal-number-stepper, .modal-number-stepper-input),
#modal-layer>#modal-module[data-active-module-key="spellCaster"] :is(input:not([type="checkbox"]), select, textarea, .modal-number-stepper, .modal-number-stepper-input),
#modal-layer>#modal-module[data-active-module-key="banking"] :is(input:not([type="checkbox"]), select, textarea, .modal-number-stepper, .modal-number-stepper-input),
#modal-layer>#modal-module[data-active-module-key="autoEat"] :is(input:not([type="checkbox"]), select, textarea, .modal-number-stepper, .modal-number-stepper-input),
#modal-layer>#modal-module[data-active-module-key="pkAssist"] :is(input:not([type="checkbox"]), select, textarea, .modal-number-stepper, .modal-number-stepper-input) {
  min-width: 0 !important;
  min-height: var(--dh-compact-field-h) !important;
  height: var(--dh-compact-field-h) !important;
  max-height: var(--dh-compact-field-h) !important;
  border-color: var(--dh-compact-line) !important;
  border-radius: 5px !important;
  background: rgba(2, 6, 9, 0.82) !important;
  color: var(--dh-compact-text) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035), inset 0 -1px 0 rgba(0, 0, 0, 0.42) !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] textarea,
#modal-layer>#modal-module[data-active-module-key="looting"] textarea,
#modal-layer>#modal-module[data-active-module-key="banking"] textarea,
#modal-layer>#modal-module[data-active-module-key="pkAssist"] textarea {
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  padding: 4px 6px !important;
  line-height: 1.15 !important;
  resize: none !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="looting"] .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="banking"] .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="pkAssist"] .modal-number-stepper {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-number-stepper-input,
#modal-layer>#modal-module[data-active-module-key="looting"] .modal-number-stepper-input,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input,
#modal-layer>#modal-module[data-active-module-key="banking"] .modal-number-stepper-input,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-number-stepper-input,
#modal-layer>#modal-module[data-active-module-key="pkAssist"] .modal-number-stepper-input {
  width: 100% !important;
  max-width: 100% !important;
  padding-right: var(--modal-stepper-chevron-padding) !important;
  text-align: left !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-number-stepper-buttons,
#modal-layer>#modal-module[data-active-module-key="looting"] .modal-number-stepper-buttons,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-buttons,
#modal-layer>#modal-module[data-active-module-key="banking"] .modal-number-stepper-buttons,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-number-stepper-buttons,
#modal-layer>#modal-module[data-active-module-key="pkAssist"] .modal-number-stepper-buttons {
  position: absolute !important;
  top: var(--modal-stepper-chevron-inset) !important;
  right: var(--modal-stepper-chevron-inset) !important;
  bottom: var(--modal-stepper-chevron-inset) !important;
  left: auto !important;
  width: var(--modal-stepper-chevron-zone) !important;
  min-width: var(--modal-stepper-chevron-zone) !important;
  max-width: var(--modal-stepper-chevron-zone) !important;
  display: grid !important;
  grid-template-columns: repeat(2, var(--modal-stepper-chevron-width)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: var(--modal-stepper-chevron-gap) !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-number-stepper-button,
#modal-layer>#modal-module[data-active-module-key="looting"] .modal-number-stepper-button,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-button,
#modal-layer>#modal-module[data-active-module-key="banking"] .modal-number-stepper-button,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-number-stepper-button,
#modal-layer>#modal-module[data-active-module-key="pkAssist"] .modal-number-stepper-button {
  width: var(--modal-stepper-chevron-width) !important;
  min-width: var(--modal-stepper-chevron-width) !important;
  max-width: var(--modal-stepper-chevron-width) !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border-radius: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-number-stepper-button .route-coordinate-chevron,
#modal-layer>#modal-module[data-active-module-key="looting"] .modal-number-stepper-button .route-coordinate-chevron,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-button .route-coordinate-chevron,
#modal-layer>#modal-module[data-active-module-key="banking"] .modal-number-stepper-button .route-coordinate-chevron,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .modal-number-stepper-button .route-coordinate-chevron,
#modal-layer>#modal-module[data-active-module-key="pkAssist"] .modal-number-stepper-button .route-coordinate-chevron {
  width: 7px !important;
  height: 7px !important;
  border-width: 1.5px 1.5px 0 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] :is(.field-note, .module-rule-summary, .healer-runtime-line, .healer-summary-panel, .healer-family-card-grid),
#modal-layer>#modal-module[data-active-module-key="looting"] :is(.field-note, .looting-overview, .looting-card-kicker, .looting-card-copy, .looting-card-preview),
#modal-layer>#modal-module[data-active-module-key="spellCaster"] :is(.field-note, .module-rule-summary, .module-rule-section-title),
#modal-layer>#modal-module[data-active-module-key="banking"] :is(.field-note, .module-rule-summary, .gold-bank-modal-head>strong, .gold-bank-control-copy>span, .gold-bank-current-line),
#modal-layer>#modal-module[data-active-module-key="autoEat"] :is(.field-note),
#modal-layer>#modal-module[data-active-module-key="pkAssist"] :is(.field-note) {
  display: none !important;
}

/* Healer: dense rule rows plus compact Death Heal/Potion/Condition panels. */
#modal-layer>#modal-module[data-active-module-key="healer"] {
  --healer-grid-gap: var(--dh-compact-gap);
  --healer-field-h: var(--dh-compact-field-h);
  --healer-label-h: var(--dh-compact-label-h);
  width: min(940px, calc(100vw - 12px)) !important;
  max-width: min(940px, calc(100vw - 12px)) !important;
  max-height: min(86dvh, calc(100dvh - 12px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
  grid-template-columns: minmax(0, 1fr) minmax(296px, 0.46fr) !important;
  gap: var(--dh-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list,
#modal-layer>#modal-module[data-active-module-key="healer"] #module-extra-fields,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-shell,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-grid,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-rule-list {
  gap: var(--dh-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-primary-head {
  min-height: 26px !important;
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-section-start strong,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-title {
  color: var(--dh-compact-label) !important;
  font-size: 10px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-primary-add,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-add,
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-actions .btn {
  min-height: var(--dh-compact-field-h) !important;
  height: var(--dh-compact-field-h) !important;
  padding: 0 7px !important;
  border-radius: 4px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-panel {
  padding: 4px !important;
  border-radius: 4px !important;
  border-color: var(--dh-compact-line-soft) !important;
  background: var(--dh-compact-panel-soft) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row {
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: var(--dh-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-toolbar {
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-actions {
  grid-template-columns: repeat(3, 30px) !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-actions .btn {
  width: 30px !important;
  min-width: 30px !important;
}

/* Main healer rule list (wide left column): one row of 8 fields, words gets the
   flexible wide track, the rest are fixed dense number/key columns. */
#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-sections {
  grid-template-columns: 46px 46px minmax(118px, 1fr) 50px 44px 44px 52px 52px !important;
  gap: var(--dh-compact-gap) !important;
}

/* Potion / Condition family lists (narrow right column): wrap fields two-up so
   they never overflow the slim column. */
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-rule-list .module-rule-card-compact-row .module-rule-sections {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--dh-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control,
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field]) {
  grid-column: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="words"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="itemName"]) {
  grid-column: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-row {
  min-height: 24px !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-status,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-current,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-actions>span {
  color: var(--dh-compact-muted) !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

/* Family panels are single-column grids whose default `auto` track sizes to
   content min-content; the Death Heal form is wide enough to blow past the slim
   column, so pin every level of the nesting to a zero-min track. */
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .module-option-rows-deathHeal {
  grid-template-columns: minmax(0, 1fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .module-option-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--dh-compact-gap) !important;
}

/* Death Heal sits in the slim right column, so stack its fields two-up instead
   of one wide strip. Vocation + Hotkey share the top line; the Emergency heal
   select (longest label) spans the full width below so the spell stays readable.
   These :nth-child selectors must match the legacy span-2 rules' specificity to
   win — otherwise the controls keep spanning and overflow the column. */
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-1 .module-rule-control:nth-child(1) {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-1 .module-rule-control:nth-child(3) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-1 .module-rule-control:nth-child(2) {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-2 .module-rule-control:nth-child(1),
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-2 .module-rule-control:nth-child(2) {
  grid-column: auto !important;
}

/* Death Heal header: keep the toggle, title and status on one tidy line with
   the status text truncating instead of wrapping. */
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .healer-utility-left {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .healer-utility-left .healer-inline-toggle,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .healer-utility-left .healer-family-title {
  flex: 0 0 auto !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .healer-utility-left .healer-family-status {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

/* Spell Caster: flatten section cards into compact rows. */
#modal-layer>#modal-module[data-active-module-key="spellCaster"].module-modal-compact {
  --spell-rule-gap: var(--dh-compact-gap);
  --spell-rule-row-h: var(--dh-compact-field-h);
  --spell-rule-number-w: 58px;
  width: min(760px, calc(100vw - 12px)) !important;
  max-width: min(760px, calc(100vw - 12px)) !important;
  max-height: min(86dvh, calc(100dvh - 12px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] #module-rule-list {
  gap: var(--dh-compact-gap) !important;
  padding: 0 2px 6px 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-card.module-rule-card-with-toggle {
  padding: 4px !important;
  gap: var(--dh-compact-gap) !important;
  border-radius: 4px !important;
  border-color: var(--dh-compact-line-soft) !important;
  background: var(--dh-compact-panel-soft) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar {
  min-height: 24px !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-actions {
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-actions .btn {
  min-width: 32px !important;
  min-height: 22px !important;
  height: 22px !important;
  padding: 0 5px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-actions .btn.danger {
  min-width: 38px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
  display: grid !important;
  grid-template-columns: 48px minmax(128px, 1.4fr) 54px 66px repeat(5, 54px) minmax(92px, 0.9fr) !important;
  grid-auto-flow: row dense !important;
  gap: var(--dh-compact-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-grid {
  display: contents !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control {
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control:has([data-rule-field="words"]),
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control:has([data-rule-field="targetNames"]) {
  grid-column: span 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control:has([data-rule-field="pattern"]) {
  grid-column: span 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-check {
  width: 100% !important;
  min-height: var(--dh-compact-field-h) !important;
  height: var(--dh-compact-field-h) !important;
  padding: 2px 5px !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  justify-self: stretch !important;
}

/* Looting: remove summary headers and keep filters/actions dense. */
#modal-layer>#modal-module[data-active-module-key="looting"] {
  width: min(760px, calc(100vw - 12px)) !important;
  max-width: min(760px, calc(100vw - 12px)) !important;
  max-height: min(86dvh, calc(100dvh - 12px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-shell,
#modal-layer>#modal-module[data-active-module-key="looting"] .looting-layout,
#modal-layer>#modal-module[data-active-module-key="looting"] .looting-column {
  gap: var(--dh-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-card {
  padding: 4px !important;
  gap: var(--dh-compact-gap) !important;
  border-radius: 4px !important;
  border-color: var(--dh-compact-line-soft) !important;
  background: var(--dh-compact-panel-soft) !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-card-head {
  min-height: 20px !important;
  padding: 0 !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-card-title,
#modal-layer>#modal-module[data-active-module-key="looting"] .looting-card-count {
  font-size: 10px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-shortcut-bar,
#modal-layer>#modal-module[data-active-module-key="looting"] .looting-token-group {
  padding: 3px !important;
  gap: 3px !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, 0.012) !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-token-strip,
#modal-layer>#modal-module[data-active-module-key="looting"] .looting-shortcut-row {
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-chip {
  min-height: 18px !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-card-ledger .module-option-rows {
  display: grid !important;
  gap: var(--dh-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-card-ledger .module-option-row,
#modal-layer>#modal-module[data-active-module-key="looting"] .looting-card-ledger .form-grid {
  grid-template-columns: minmax(116px, max-content) 76px minmax(180px, 1fr) !important;
  gap: var(--dh-compact-gap) !important;
  align-items: end !important;
}

/* Auto Eat: make food lists and source chips shorter. */
#modal-layer>#modal-module[data-active-module-key="autoEat"] {
  width: min(620px, calc(100vw - 12px)) !important;
  max-width: min(620px, calc(100vw - 12px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-shell-compact,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel {
  gap: var(--dh-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-anti-idle-panel,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-list-row {
  padding: 4px !important;
  border-radius: 4px !important;
  border-color: var(--dh-compact-line-soft) !important;
  background: var(--dh-compact-panel-soft) !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-list-panel {
  gap: var(--dh-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-list-head {
  min-height: 18px !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-list-head strong,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-panel-title strong {
  font-size: 10px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-source-strip {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip {
  min-height: 22px !important;
  padding: 2px 4px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip-main strong,
#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-source-chip-main span {
  font-size: 9px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-token-strip .looting-chip {
  min-height: 17px !important;
  padding: 2px 5px !important;
  font-size: 9px !important;
}

/* Gold & Bank: flattened compact revamp. */
#modal-layer>#modal-module[data-active-module-key="banking"] {
  width: min(720px, calc(100vw - 12px)) !important;
  max-width: min(720px, calc(100vw - 12px)) !important;
  max-height: min(86dvh, calc(100dvh - 12px)) !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-module-fields {
  gap: var(--dh-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-modal-head {
  min-height: 24px !important;
  justify-content: flex-end !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-add-rule,
#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-card .module-rule-actions .btn {
  min-height: var(--dh-compact-field-h) !important;
  height: var(--dh-compact-field-h) !important;
  border-radius: 4px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-subpanel,
#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-card {
  padding: 4px !important;
  gap: var(--dh-compact-gap) !important;
  border-radius: 4px !important;
  border-color: var(--dh-compact-line-soft) !important;
  background: var(--dh-compact-panel-soft) !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-control-row {
  min-height: 24px !important;
  grid-template-columns: max-content minmax(0, 1fr) max-content !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-toggle,
#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-gate,
#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-active {
  min-height: var(--dh-compact-field-h) !important;
  height: var(--dh-compact-field-h) !important;
  padding: 2px 5px !important;
  border-radius: 4px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-control-copy>strong {
  color: var(--dh-compact-label) !important;
  font-size: 10px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-status {
  min-width: 0 !important;
  max-width: 120px !important;
  overflow: hidden !important;
  font-size: 9px !important;
  text-overflow: ellipsis !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-fields {
  grid-template-columns: minmax(128px, 1fr) 78px minmax(112px, max-content) minmax(100px, max-content) !important;
  gap: var(--dh-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-field {
  grid-template-rows: var(--dh-compact-label-h) var(--dh-compact-field-h) !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-rule-cooldown-field {
  width: 78px !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-refill-grid {
  gap: var(--dh-compact-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="banking"] .gold-bank-refill-grid .module-option-row {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 108px), 1fr)) !important;
  gap: var(--dh-compact-gap) !important;
}

/* PK Assist: keep checkbox text visible beside the switch. */
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] {
  --pk-assist-mode-width: 188px;
  --pk-assist-action-width: 124px;
  --pk-assist-number-width: 82px;
  --pk-assist-toggle-width: 178px;
  --pk-assist-safety-toggle-width: 166px;
  --pk-assist-allies-width: 224px;
}

#modal-layer>#modal-module[data-active-module-key="pkAssist"] .module-rule-check {
  min-height: 26px !important;
  height: 26px !important;
  padding: 3px 6px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  gap: 6px !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="pkAssist"] .module-rule-check>input[type="checkbox"] {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="pkAssist"] .module-rule-check>span:not(.visually-hidden) {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
  color: var(--dh-compact-label) !important;
  font-size: 9px !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  #modal-layer>#modal-module[data-active-module-key="healer"],
  #modal-layer>#modal-module[data-active-module-key="looting"],
  #modal-layer>#modal-module[data-active-module-key="spellCaster"],
  #modal-layer>#modal-module[data-active-module-key="banking"],
  #modal-layer>#modal-module[data-active-module-key="autoEat"],
  #modal-layer>#modal-module[data-active-module-key="pkAssist"] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"],
  #modal-layer>#modal-module[data-active-module-key="looting"] .looting-layout,
  #modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-list-panel {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-sections,
  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-sections {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control,
  #modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control {
    grid-column: auto !important;
  }
}

/* Trader: use the compact modal width for the full Trade message row. */
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"] {
  width: min(720px, calc(100vw - 16px)) !important;
  max-width: calc(100vw - 16px) !important;
}

/*
 * Trader body layout.
 *
 * A generic compact pass (~L41444:
 *   #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only:has(.module-option-rows) ...
 * ) forces every `.module-option-rows` modal to `width: max-content` with
 * column-flow rows and squashes each `.module-rule-control` to a `min-content
 * 24px` grid. For trader that collapses the whole body to ~341px (the cramped,
 * apparently-centered top row) and crushes the message box to a single 24px
 * line. The overrides below intentionally repeat the panel classes + the trader
 * data attribute + `:has(.module-option-rows)`, and tack each element's own
 * generic class onto the trader class, so they out-specify that pass and give
 * trader a full-width body with a tall, full-width message box.
 */
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) #module-extra-fields {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  grid-template-columns: none !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .module-option-rows-trader {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-row-top.module-option-row {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-flow: row wrap !important;
  grid-auto-flow: initial !important;
  align-items: end !important;
  gap: 8px 16px !important;
  justify-content: flex-start !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-top-controls,
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-top-intervals {
  min-width: 0 !important;
  display: flex !important;
  align-items: end !important;
  gap: 8px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-top-intervals {
  margin-left: 0 !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-add-message {
  flex: 0 0 24px !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  align-self: end !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

/* The Enable toggle has the whole row to breathe - keep "Enable trader" on a
   single line. The label sits in grid track 1 (toggle in track 2), so track 1
   must be max-content or the label overflows under the toggle oval. */
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-top-controls .module-rule-control.module-rule-check {
  flex: 0 0 auto !important;
  width: max-content !important;
  height: auto !important;
  grid-template-columns: max-content var(--toggle-width) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-top-controls .module-rule-control.module-rule-check>span:not(.visually-hidden) {
  white-space: nowrap !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-row-message.module-option-row {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  grid-auto-flow: initial !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-control.module-rule-control {
  width: 100% !important;
  max-width: 100% !important;
  /* Neutralise the generic compact `:has(textarea) { grid-column: span 2 }`
     rule, which would otherwise spawn a phantom second track here. */
  grid-column: auto !important;
  display: grid !important;
  /* Override the generic `min-content 24px` row track so the textarea can grow. */
  grid-template-rows: min-content minmax(48px, auto) !important;
  gap: 4px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-head {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  color: var(--dh-compact-label) !important;
  font-size: 9px !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-title {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-actions {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  margin-left: auto !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-counter {
  flex: 0 0 auto !important;
  color: rgba(216, 204, 180, 0.66) !important;
  font-variant-numeric: tabular-nums !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-counter.is-warn {
  color: rgba(238, 190, 112, 0.95) !important;
  font-weight: 820 !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-counter.is-full {
  color: rgba(244, 116, 104, 0.96) !important;
  font-weight: 820 !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-enabled-toggle {
  position: relative !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 12px !important;
  display: inline-block !important;
  cursor: pointer !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-enabled-toggle input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
  z-index: 2 !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-enabled-toggle>span {
  position: absolute !important;
  inset: 0 !important;
  border: 1px solid rgba(126, 136, 126, 0.52) !important;
  border-radius: 999px !important;
  background: rgba(93, 102, 90, 0.38) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.36) !important;
  transition: background 120ms ease, border-color 120ms ease !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-enabled-toggle>span::after {
  content: "" !important;
  position: absolute !important;
  top: 2px !important;
  left: 2px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: rgba(221, 226, 213, 0.82) !important;
  transition: transform 120ms ease, background 120ms ease !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-enabled-toggle input:checked+span {
  border-color: rgba(78, 176, 106, 0.84) !important;
  background: rgba(30, 132, 66, 0.84) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-enabled-toggle input:checked+span::after {
  transform: translateX(10px) !important;
  background: rgba(243, 255, 238, 0.96) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-enabled-toggle input:focus-visible+span {
  outline: 2px solid rgba(144, 210, 152, 0.68) !important;
  outline-offset: 2px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-delete {
  flex: 0 0 14px !important;
  width: 14px !important;
  min-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid rgba(168, 74, 68, 0.66) !important;
  border-radius: 3px !important;
  background: rgba(118, 42, 40, 0.72) !important;
  color: rgba(255, 214, 208, 0.9) !important;
  font-size: 9px !important;
  font-weight: 860 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-delete:hover,
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-delete:focus-visible {
  border-color: rgba(215, 98, 89, 0.88) !important;
  background: rgba(142, 50, 47, 0.86) !important;
  color: rgba(255, 235, 231, 0.98) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-row-message.is-disabled .trader-message-title,
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-row-message.is-disabled .trader-message-counter {
  color: rgba(160, 151, 132, 0.48) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-control.module-rule-control textarea {
  width: 100% !important;
  min-width: 0 !important;
  /* Reset the generic compact cap (.module-rule-control textarea -> max-width:360px)
     so the message box spans the full modal width. */
  max-width: none !important;
  box-sizing: border-box !important;
  min-height: 48px !important;
  height: 48px !important;
  max-height: none !important;
  /* Keep one or two short trade lines visually centered without inner scroll chrome. */
  line-height: 1.35 !important;
  padding: 10px 12px 5px !important;
  overflow: hidden !important;
  resize: none !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-row-message.is-disabled .trader-message-control.module-rule-control textarea {
  border-color: rgba(118, 112, 101, 0.36) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.012), transparent 44%),
    rgba(12, 13, 13, 0.92) !important;
  color: rgba(201, 193, 176, 0.56) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"]:has(.module-option-rows) .trader-message-control.module-rule-control textarea.is-single-line {
  padding-top: 16px !important;
  padding-bottom: 11px !important;
}

@media (max-width: 760px) {
  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="trader"] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="trader"] .trader-row-top {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #modal-layer>#modal-module[data-active-module-key="trader"] .trader-top-intervals {
    margin-left: 0 !important;
  }
}

/* Depot-route recording pass: header recorder + flat grid controls. */
#modal-layer>#modal-autowalk .route-drive-card {
  padding-top: 4px !important;
}

#modal-layer>#modal-autowalk .route-drive-head {
  min-height: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 4px !important;
}

#modal-layer>#modal-autowalk .route-header-recorder {
  min-width: 0 !important;
  width: 150px !important;
  display: grid !important;
  grid-template-rows: min-content 30px !important;
  gap: 2px !important;
  color: rgba(220, 229, 224, 0.82) !important;
  font-size: 9px !important;
  font-weight: 850 !important;
}

#modal-layer>#modal-autowalk .route-header-recorder select {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  font-size: 11px !important;
  font-weight: 760 !important;
}

#modal-layer>#modal-autowalk .route-drive-head .route-card-tools {
  width: auto !important;
  margin-left: auto !important;
  justify-content: flex-end !important;
}

#modal-layer>#modal-autowalk .route-record-settings-button {
  width: 88px !important;
  min-width: 88px !important;
  min-height: 30px !important;
  justify-self: end !important;
}

#modal-layer>#modal-autowalk .route-record-settings-status,
#modal-layer>#modal-autowalk .route-record-settings-bar {
  display: none !important;
}

#modal-layer>#modal-autowalk .route-tune-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 5px !important;
  align-items: end !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label {
  grid-column: span 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: min-content 30px !important;
  gap: 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: rgba(220, 229, 224, 0.82) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  overflow: visible !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordWaypointType) {
  grid-column: span 3 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeReturnDestination) {
  grid-column: span 3 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordStep),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#waypointRadius),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#routeRecordWaypointWaitSeconds),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#walkRepathMs),
#modal-layer>#modal-autowalk .route-tune-grid>label:has(#vocation) {
  grid-column: span 2 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-autowalk .route-tune-grid .modal-number-stepper,
#modal-layer>#modal-autowalk .route-tune-grid .modal-number-stepper-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  font-size: 11px !important;
  font-weight: 760 !important;
}

#modal-layer>#modal-autowalk .route-tune-grid .modal-number-stepper {
  --modal-stepper-height: 30px;
  display: grid !important;
}

/* Targeting two-column cleanup: no top header, no center queue column. */
#modal-layer>#modal-targeting>.modal-head[hidden],
#modal-layer>#modal-targeting .route-hunt-config-panel[hidden] {
  display: none !important;
}

#modal-layer>#modal-targeting.modal-panel-targeting {
  width: min(1320px, calc(100vw - 16px)) !important;
}

#modal-layer>#modal-targeting .modal-body-targeting {
  min-height: 0 !important;
  padding: 6px 8px !important;
}

#modal-layer>#modal-targeting .route-hunt-grid-3col {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(620px, 1.55fr) minmax(340px, 0.95fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 8px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-global-bar {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(174px, 224px) !important;
  gap: 7px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-global-bar .targeting-column-kicker {
  display: flex !important;
  min-width: 0 !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-global-stance-field {
  min-width: 0 !important;
  min-height: 25px !important;
  padding: 5px 7px !important;
  display: grid !important;
  grid-template-columns: minmax(76px, max-content) minmax(0, 1fr) !important;
  gap: 6px !important;
  align-items: center !important;
  border: 1px solid rgba(82, 99, 116, 0.66) !important;
  border-radius: 4px !important;
  background: rgba(6, 10, 15, 0.76) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-global-stance-field>span {
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(232, 225, 210, 0.9) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-global-stance-field select {
  width: 100% !important;
  min-width: 0 !important;
  height: 24px !important;
  min-height: 24px !important;
}

#modal-layer>#modal-targeting .route-hunt-registry {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
  gap: 8px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-targeting .route-hunt-registry-panel {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto !important;
  gap: 7px !important;
  overflow: hidden !important;
}

#modal-layer>#modal-targeting .targeting-registry-search {
  min-height: 32px !important;
  padding: 4px 6px !important;
}

#modal-layer>#modal-targeting .targeting-registry-player-policy {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(80px, 0.7fr) minmax(150px, 1fr) !important;
  grid-template-areas:
    "label select"
    "copy copy" !important;
  gap: 4px 8px !important;
  align-items: center !important;
  padding: 6px !important;
  border: 1px solid var(--modal-ux-line-soft) !important;
  border-radius: 4px !important;
  background: rgba(4, 7, 11, 0.3) !important;
  color: var(--modal-ux-text) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

#modal-layer>#modal-targeting .targeting-registry-player-policy select {
  grid-area: select !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 26px !important;
  min-height: 26px !important;
}

#modal-layer>#modal-targeting .targeting-registry-player-policy .target-policy-copy {
  grid-area: copy !important;
  display: block !important;
  font-size: 9px !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-list {
  gap: 8px !important;
  padding: 2px 5px 2px 2px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-row {
  --target-profile-alt-rgb: 68, 92, 116;
  gap: 7px !important;
  padding: 8px !important;
  border: 1px solid rgba(var(--target-profile-alt-rgb), 0.48) !important;
  border-left: 4px solid rgba(var(--target-profile-alt-rgb), 0.9) !important;
  border-radius: 6px !important;
  background:
    linear-gradient(90deg, rgba(var(--target-profile-alt-rgb), 0.18), transparent 46%),
    rgba(8, 12, 17, 0.96) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-row:nth-of-type(even) {
  --target-profile-alt-rgb: 73, 111, 88;
  background:
    linear-gradient(90deg, rgba(var(--target-profile-alt-rgb), 0.18), transparent 46%),
    rgba(9, 15, 13, 0.96) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-row.off {
  opacity: 0.78 !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-row:hover {
  border-color: rgba(var(--target-profile-alt-rgb), 0.72) !important;
  border-left-color: rgba(var(--target-profile-alt-rgb), 1) !important;
  background:
    linear-gradient(90deg, rgba(var(--target-profile-alt-rgb), 0.24), transparent 50%),
    rgba(12, 18, 22, 0.98) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-head {
  min-height: 26px !important;
  padding-bottom: 4px !important;
  border-bottom: 1px solid rgba(var(--target-profile-alt-rgb), 0.24) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid {
  grid-template-columns: repeat(4, minmax(132px, 1fr)) !important;
  gap: 6px !important;
  padding: 0 !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.module-rule-control:not(.module-rule-check) {
  min-width: 0 !important;
  min-height: 34px !important;
  display: grid !important;
  gap: 3px 6px !important;
  padding: 4px 6px !important;
  border-color: rgba(var(--target-profile-alt-rgb), 0.24) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.module-rule-control:has(input[type="number"]) {
  grid-template-columns: minmax(56px, 1fr) var(--modal-stepper-width) !important;
  align-items: center !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.module-rule-control:has(select) {
  grid-column: span 2 !important;
  grid-template-columns: minmax(82px, max-content) minmax(0, 1fr) !important;
  grid-template-rows: 26px !important;
  align-items: center !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.target-intent-field {
  grid-column: span 2 !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.module-rule-control>span:not(.modal-number-stepper) {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid select,
#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid input[type="number"],
#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid .modal-number-stepper,
#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid .modal-number-stepper-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid select {
  height: 26px !important;
  min-height: 26px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .compact-profile-flags {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .compact-profile-flags .target-profile-check {
  border-color: rgba(var(--target-profile-alt-rgb), 0.24) !important;
}

@media (max-width: 1080px) {
  #modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-global-bar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-targeting .route-hunt-grid-3col {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(360px, 1fr) minmax(320px, 0.85fr) !important;
  }

  #modal-layer>#modal-targeting .route-hunt-registry {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  #modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid {
    grid-template-columns: repeat(2, minmax(132px, 1fr)) !important;
  }
}

/* Targeting profile card polish: one conflict-free movement command and aligned steppers. */
#modal-layer>#modal-targeting .route-hunt-profile-panel {
  --modal-stepper-width: 74px;
  --modal-stepper-height: 24px;
  --modal-stepper-chevron-width: 15px;
  --modal-stepper-chevron-gap: 1px;
  --modal-stepper-chevron-inset: 2px;
  --modal-stepper-chevron-zone: calc((var(--modal-stepper-chevron-width) * 2) + var(--modal-stepper-chevron-gap));
  --modal-stepper-chevron-padding: calc(var(--modal-stepper-chevron-zone) + 8px);
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid {
  grid-template-columns: repeat(4, minmax(132px, 1fr)) !important;
  align-items: stretch !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-movement-behavior-field {
  grid-column: span 2 !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid>.module-rule-control:has(select) {
  grid-column: span 2 !important;
  grid-template-columns: minmax(74px, max-content) minmax(0, 1fr) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid select {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .compact-profile-flags {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  align-items: center !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .compact-profile-flags .target-profile-check {
  min-width: 0 !important;
  min-height: 28px !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  justify-content: stretch !important;
  align-items: center !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .compact-profile-flags .target-profile-check>input[type="checkbox"] {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .compact-profile-flags .target-profile-check>span:not(.visually-hidden) {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  text-align: left !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid .modal-number-stepper {
  width: var(--modal-stepper-width) !important;
  min-width: var(--modal-stepper-width) !important;
  max-width: var(--modal-stepper-width) !important;
  height: var(--modal-stepper-height) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid .modal-number-stepper-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--modal-stepper-height) !important;
  min-height: var(--modal-stepper-height) !important;
  padding-right: var(--modal-stepper-chevron-padding) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid .modal-number-stepper-buttons {
  top: var(--modal-stepper-chevron-inset) !important;
  right: var(--modal-stepper-chevron-inset) !important;
  bottom: var(--modal-stepper-chevron-inset) !important;
  width: var(--modal-stepper-chevron-zone) !important;
  min-width: var(--modal-stepper-chevron-zone) !important;
  max-width: var(--modal-stepper-chevron-zone) !important;
  grid-template-columns: repeat(2, var(--modal-stepper-chevron-width)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: var(--modal-stepper-chevron-gap) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid .modal-number-stepper-button {
  width: var(--modal-stepper-chevron-width) !important;
  min-width: var(--modal-stepper-chevron-width) !important;
  max-width: var(--modal-stepper-chevron-width) !important;
}

#modal-layer>#modal-targeting .route-hunt-profile-panel .target-profile-grid .modal-number-stepper-button .route-coordinate-chevron {
  margin: auto !important;
}

@media (max-width: 1080px) {
  #modal-layer>#modal-targeting .route-hunt-profile-panel .compact-profile-flags {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Targeting right-column empty-state cleanup. */
#modal-layer>#modal-targeting.modal-panel-targeting {
  max-height: calc(100dvh - 16px) !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  overflow: hidden !important;
}

#modal-layer>#modal-targeting .modal-body-targeting {
  min-height: 0 !important;
  overflow: hidden !important;
}

#modal-layer>#modal-targeting .route-hunt-grid-3col,
#modal-layer>#modal-targeting .route-hunt-registry,
#modal-layer>#modal-targeting .route-hunt-registry-panel,
#modal-layer>#modal-targeting .route-hunt-presence-grid,
#modal-layer>#modal-targeting .route-hunt-presence-panel {
  min-height: 0 !important;
}

#modal-layer>#modal-targeting .route-hunt-registry {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 2px !important;
}

#modal-layer>#modal-targeting .route-hunt-registry-panel {
  grid-template-rows: auto auto auto auto !important;
  align-content: start !important;
}

#modal-layer>#modal-targeting .targeting-registry-toolbar {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(150px, 1fr) minmax(128px, 142px) minmax(128px, 142px) !important;
  gap: 6px !important;
  align-items: center !important;
}

#modal-layer>#modal-targeting .targeting-registry-search {
  min-height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-targeting .targeting-registry-search>span,
#modal-layer>#modal-targeting .target-policy-copy {
  display: none !important;
}

#modal-layer>#modal-targeting .targeting-registry-search input,
#modal-layer>#modal-targeting select.targeting-registry-global-stance,
#modal-layer>#modal-targeting select.targeting-registry-player-policy {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 28px !important;
  min-height: 28px !important;
}

#modal-layer>#modal-targeting :is(select.targeting-registry-global-stance, select.targeting-registry-player-policy) {
  display: block !important;
  padding: 3px 8px !important;
  border: 1px solid var(--modal-ux-line-soft) !important;
  border-radius: 4px !important;
  background: rgba(4, 7, 11, 0.3) !important;
  color: var(--modal-ux-text) !important;
  font-size: 10px !important;
  font-weight: 760 !important;
  text-transform: none !important;
}

#modal-layer>#modal-targeting :is(#monster-visible-note, #player-visible-note, #npc-visible-note)[hidden] {
  display: none !important;
}

#modal-layer>#modal-targeting :is(.monster-source-list, .player-archive, .npc-archive):has(>.empty-state) {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  display: block !important;
  overflow: visible !important;
  padding: 0 !important;
  background: transparent !important;
  scrollbar-gutter: auto !important;
}

#modal-layer>#modal-targeting :is(.monster-source-list, .player-archive, .npc-archive)>.empty-state {
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

#modal-layer>#modal-targeting .npc-archive:has(>.empty-state)>.empty-state {
  width: 100% !important;
  justify-content: center !important;
}

/* Empty/placeholder panels: keep dashed borders optically centered in their slots. */
.empty-state,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-empty-note {
  box-sizing: border-box !important;
  align-content: center !important;
}

.empty-state {
  margin: 0;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-empty-note {
  min-height: 28px !important;
  padding: 0 8px !important;
  display: grid !important;
  place-items: center !important;
  justify-content: stretch !important;
  line-height: 1.2 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-live-entry-empty {
  justify-content: center !important;
  text-align: center !important;
}

/* Session tab metric row alignment (final override tier: this file has many
   duplicate rule blocks at increasing selector specificity added over time;
   mirror the highest-specificity prefix used elsewhere so this block actually
   wins regardless of source order). */
.bot-tab-metrics,
.app:not([data-view-mode="compact"]) .bot-tab-metrics,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-metrics {
  gap: 2px !important;
  justify-content: flex-start !important;
  padding-left: 0 !important;
  margin-left: -6px !important;
}

.bot-tab-metrics .bot-tab-metric,
.bot-tab-metrics .bot-tab-metric-label,
.bot-tab-metrics .bot-tab-metric-value {
  line-height: 1 !important;
}

.bot-tab-metric.uh {
  order: -1 !important;
  margin-right: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.bot-tab-vitals,
.app:not([data-view-mode="compact"]) .bot-tab-vitals,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-vitals {
  padding: 0 !important;
  margin-right: 0 !important;
  grid-template-columns: max-content max-content max-content !important;
  gap: 3px !important;
}

.bot-tab-vitals .bot-tab-metric,
.bot-tab.active .bot-tab-vitals .bot-tab-metric,
.app:not([data-view-mode="compact"]) .bot-tab-vitals .bot-tab-metric,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-vitals .bot-tab-metric {
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  justify-content: flex-start !important;
  border: 0 !important;
  background: transparent !important;
}

.bot-tab-metric.xp-rate,
.app:not([data-view-mode="compact"]) .bot-tab-metric.xp-rate,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-metric.xp-rate {
  margin-left: 1px !important;
  padding: 0 2px !important;
}

.bot-tab-metrics>.bot-tab-metric {
  min-width: 0 !important;
  padding: 0 2px !important;
  justify-content: flex-start !important;
}

.bot-tabs[data-density="condensed"] .bot-tab-metrics {
  gap: 2px !important;
  margin-left: -6px !important;
}

.bot-tabs[data-density="condensed"] .bot-tab-vitals {
  grid-template-columns: max-content max-content max-content !important;
  gap: 3px !important;
}

.bot-tabs[data-density="condensed"] .bot-tab-vitals .bot-tab-metric {
  padding: 0 !important;
}

.bot-tab .bot-tab-level,
.app:not([data-view-mode="compact"]) .bot-tab .bot-tab-level,
.window-frame>.app:not([data-view-mode="compact"]) .bot-tab-level {
  font-size: 8px !important;
  transform: translateY(1px);
}

/* Alarm modal remap: compact global header, four-card alarm rows, no bottom action block. */
#modal-layer>#modal-module[data-active-module-key="alarms"] {
  width: min(1120px, calc(100vw - 14px)) !important;
  max-width: min(1120px, calc(100vw - 14px)) !important;
  --alarm-gap: 5px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-shell {
  gap: var(--alarm-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar {
  display: grid !important;
  grid-template-columns: minmax(150px, 0.56fr) minmax(0, 1.44fr) minmax(0, 1fr) !important;
  gap: var(--alarm-gap) !important;
  padding: 5px !important;
  border: 1px solid var(--alarm-terminal-line) !important;
  border-radius: 4px !important;
  background: var(--alarm-terminal-bg-2) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar-group {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 3px !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar-group>.alarms-card-kicker {
  display: block !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-header-grid {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(86px, 1fr)) !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-header-grid .module-rule-control,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-header-grid .module-rule-check {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 22px !important;
  padding: 0 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-header-grid .alarms-volume-field {
  grid-column: span 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-header-grid .alarms-volume-row {
  grid-template-columns: minmax(0, 1fr) 30px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-workbench {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--alarm-gap) !important;
  padding-right: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-group {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--alarm-gap) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-group-head {
  min-height: 18px !important;
  padding: 1px 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-group-head small {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) {
  position: relative !important;
  min-height: 96px !important;
  padding: 5px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) :is(.alarms-scope-copy, .alarms-runtime-copy) {
  min-height: 18px !important;
  padding-bottom: 2px !important;
  margin-bottom: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) .alarms-card-title {
  font-size: 10px !important;
  line-height: 1.05 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) .module-rule-control,
#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) .module-rule-check,
#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) :is(input[type="number"], select),
#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="alarms"] :is(.alarms-matrix-row, .alarms-runtime-row) .modal-number-stepper-input {
  min-height: 22px !important;
  height: 22px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-runtime-thresholds {
  grid-template-columns: repeat(auto-fit, minmax(48px, 1fr)) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-control {
  position: relative !important;
  min-width: 0 !important;
  padding-top: 2px !important;
  border-top: 1px dashed var(--alarm-terminal-line) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-chip-row {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-chip,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-add {
  min-height: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  border-radius: 4px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  border: 1px solid rgba(126, 226, 176, 0.28) !important;
  background: rgba(126, 226, 176, 0.08) !important;
  color: var(--text) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-chip span {
  color: #f0b9ae !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-add {
  width: 24px !important;
  min-width: 24px !important;
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-picker,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-control {
  z-index: 3 !important;
  min-width: min(220px, calc(100vw - 30px)) !important;
  padding: 5px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 4px !important;
  align-items: center !important;
  border: 1px solid rgba(142, 153, 166, 0.62) !important;
  border-radius: 4px !important;
  background: #10161c !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.34) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-picker {
  position: absolute !important;
  right: 0 !important;
  bottom: calc(100% + 3px) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-picker select,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-control select {
  min-width: 0 !important;
  width: 100% !important;
  height: 22px !important;
  min-height: 22px !important;
  font-size: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-picker .btn,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-control .btn {
  min-height: 22px !important;
  height: 22px !important;
  padding: 0 7px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-card {
  min-height: 96px !important;
  display: grid !important;
  place-items: stretch !important;
  position: relative !important;
  border: 1px dashed rgba(142, 153, 166, 0.48) !important;
  border-radius: 4px !important;
  background: rgba(12, 17, 22, 0.56) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-card-button {
  width: 100% !important;
  min-height: 100% !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 3px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--text) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-card-button span {
  font-size: 18px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-card-button strong {
  font-size: 11px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-card .alarms-add-control {
  position: absolute !important;
  left: 8px !important;
  right: 8px !important;
  top: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-compact-footer {
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.75fr) !important;
  grid-template-areas: "lists live" !important;
  gap: var(--alarm-gap) !important;
  margin-top: 4px !important;
  padding-top: 6px !important;
  border-top: 1px solid var(--alarm-terminal-line) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-footer-actions {
  display: none !important;
}

@media (max-width: 860px) {
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-group {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar,
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-group,
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-compact-footer {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: none !important;
  }
}

/* Alarms modal final layout: direct four-column cards with compact footer controls. */
#modal-layer>#modal-module[data-active-module-key="alarms"] {
  width: min(1180px, calc(100vw - 14px)) !important;
  max-width: min(1180px, calc(100vw - 14px)) !important;
  --alarm-gap: 4px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-shell {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  gap: var(--alarm-gap) !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar {
  display: grid !important;
  grid-template-columns: minmax(132px, 0.48fr) minmax(0, 1.55fr) minmax(0, 0.95fr) !important;
  gap: var(--alarm-gap) !important;
  align-items: stretch !important;
  padding: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar-group {
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-header-grid {
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)) !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-header-grid .alarms-volume-field {
  grid-column: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar :is(.module-rule-control, .module-rule-check) {
  min-height: 22px !important;
  padding: 2px 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar :is(.module-rule-control, .module-rule-check)>span:not(.visually-hidden) {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  line-height: 1.05 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-workbench {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding-right: 3px !important;
  overflow-y: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--alarm-gap) !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid>:is(.alarms-matrix-row, .alarms-runtime-row, .alarms-add-card) {
  min-width: 0 !important;
  min-height: 92px !important;
  padding: 4px !important;
  gap: 3px !important;
  border-radius: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid :is(.alarms-card-title, .alarms-card-kicker, .alarms-card-note, .alarms-runtime-copy small) {
  letter-spacing: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-card-title {
  font-size: 10px !important;
  line-height: 1.08 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-card-kicker,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-card-note,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-copy small {
  font-size: 9px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-matrix-row .alarms-card-grid {
  display: grid !important;
  grid-template-columns: minmax(42px, 0.7fr) minmax(34px, 0.52fr) minmax(0, 1.25fr) minmax(58px, 0.85fr) !important;
  gap: 3px !important;
  width: 100% !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-matrix-row .alarms-card-grid :is(.alarms-sound-field, .alarms-volume-field) {
  grid-column: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-matrix-row .alarms-card-grid :is(.alarms-remove-button, .alarms-mandatory-pill) {
  grid-column: 1 / -1 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(58px, 0.65fr) !important;
  grid-template-areas:
    "copy state"
    "thresholds thresholds"
    "sound volume"
    "pause pause" !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row .alarms-runtime-copy {
  grid-area: copy !important;
  justify-content: flex-start !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row>:is(.alarms-runtime-pill, .alarms-remove-button) {
  grid-area: state !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row .alarms-runtime-thresholds {
  grid-area: thresholds !important;
  grid-template-columns: repeat(auto-fit, minmax(48px, 1fr)) !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row>.alarms-sound-field {
  grid-area: sound !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row>.alarms-volume-field {
  grid-area: volume !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row>.alarms-module-control {
  grid-area: pause !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid :is(.alarms-scope-copy, .alarms-runtime-copy) {
  min-height: 16px !important;
  padding-bottom: 2px !important;
  margin-bottom: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid :is(.module-rule-control, .module-rule-check, .alarms-runtime-pill, .alarms-remove-button, .alarms-module-chip, .alarms-module-add) {
  min-height: 20px !important;
  height: auto !important;
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid :is(input[type="number"], select, .modal-number-stepper, .modal-number-stepper-input) {
  min-height: 20px !important;
  height: 20px !important;
  min-width: 0 !important;
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid select,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-module-picker select,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-control select {
  padding: 1px 18px 1px 5px !important;
  text-overflow: clip !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-volume-row,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-header-grid .alarms-volume-row {
  grid-template-columns: minmax(0, 1fr) 28px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-module-control {
  padding-top: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-module-chip-row {
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-add-card {
  min-height: 92px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-compact-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr) !important;
  grid-template-areas: "lists live" !important;
  gap: var(--alarm-gap) !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 3px !important;
  padding-top: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-footer-lists {
  grid-area: lists !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--alarm-gap) !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors label {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  gap: 2px !important;
  padding: 0 !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors label span {
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors textarea {
  min-width: 0 !important;
  min-height: 38px !important;
  max-height: 56px !important;
  padding: 4px 6px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-compact-footer .alarms-live-band {
  grid-area: live !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-live-strip {
  max-height: 108px !important;
}

@media (max-width: 980px) {
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar,
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-compact-footer {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: none !important;
  }
}

@media (max-width: 620px) {
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid,
  #modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Selected manual attack player chip. Kept at the end of the file with id-level
   specificity so the active highlight wins over the per-breakpoint
   #modal-targeting .player-archive .presence-chip theming above. */
#modal-targeting .player-archive .presence-chip.active,
#modal-targeting .player-archive .presence-chip.active.live,
#modal-targeting .player-archive .presence-chip.active.history {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px rgba(247, 147, 130, 0.55);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 45%),
    rgba(58, 18, 14, 0.94);
  color: #ffd9d0;
  opacity: 1;
}

/* ============================================================
   Launch pipeline: in-place launching state (silent preload → waves)
   ============================================================ */
/* While a staged launch runs, the launcher modal transforms IN PLACE: the
   compact #route-launch-stage panel appears below the header, the queued-team
   cards stay visible underneath (locked, with per-group status), and the
   normal footer buttons give way to Stop All / Hide. Same card language as
   the team panel: thin warm border, soft fill, uppercase micro-heads. */

/* State-hide must beat the #modal-layer>#modal-route-launcher ID-scoped
   layout rules (several set display with !important at two-ID specificity),
   so both selector forms carry the layer prefix where it counts. */
#modal-layer>#modal-route-launcher.launching #route-launch-plan,
#modal-layer>#modal-route-launcher.launching #route-launch-account-panel,
#modal-layer>#modal-route-launcher.launching #route-launch-delete-preset-confirm,
#modal-layer>#modal-route-launcher.launching .route-launch-footer-start,
#modal-layer>#modal-route-launcher.launching .route-launch-footer-end,
#modal-layer>#modal-route-launcher.launching #route-launch-new-team,
#modal-layer>#modal-route-launcher.launching #route-launch-preset-select,
#modal-layer>#modal-route-launcher.launching #route-launch-accounts,
#modal-layer>#modal-route-launcher.launching .route-launcher-grid,
#modal-layer>#modal-route-launcher.launching .route-launch-remove-group,
#modal-route-launcher.launching #route-launch-plan,
#modal-route-launcher.launching #route-launch-account-panel,
#modal-route-launcher.launching #route-launch-delete-preset-confirm,
#modal-route-launcher.launching .route-launch-footer-start,
#modal-route-launcher.launching .route-launch-footer-end,
#modal-route-launcher.launching #route-launch-new-team,
#modal-route-launcher.launching #route-launch-preset-select,
#modal-route-launcher.launching #route-launch-accounts,
#modal-route-launcher.launching .route-launcher-grid,
#modal-route-launcher.launching .route-launch-remove-group {
  display: none !important;
}

/* Team cards stay visible but read as status rows, not editable entries. */
#modal-route-launcher.launching #route-launch-team-panel {
  pointer-events: none;
}

/* In-place layout while launching: header stays on top, the compact progress
   panel takes the row under it, the team list keeps the remaining space.
   (The body is a named-area grid; without an area of its own the stage panel
   would auto-flow into implicit tracks below/next to the team list.) The
   :has(#…) variant carries an ID inside :has() on purpose — the setup-view
   layout rules use :has([data-launch-mode…]) at class-level specificity, and
   the launching template must beat them in every size category. */
#modal-layer>#modal-route-launcher.launching>.modal-body-route-launcher,
#modal-layer>#modal-route-launcher>.modal-body-route-launcher:has(> #route-launch-stage:not([hidden])),
#modal-route-launcher.launching>.modal-body-route-launcher {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  grid-template-areas:
    "summary"
    "stage"
    "characters" !important;
}

#modal-layer>#modal-route-launcher.launching #route-launch-stage,
#modal-route-launcher.launching #route-launch-stage {
  grid-area: stage !important;
}

/* The hidden attribute must beat button display rules (Force Kill stays
   hidden until Stop All reports a window it could not close). */
#modal-route-launcher .route-launch-stage-actions [hidden],
#modal-layer>#modal-route-launcher .route-launch-stage-actions [hidden] {
  display: none !important;
}

.route-launch-group-card[data-launch-status] {
  opacity: 0.82;
}

.route-launch-group-card[data-launch-status="active"] {
  opacity: 1;
  border-color: rgba(214, 191, 115, 0.4);
}

.route-launch-group-card[data-launch-status="done"] {
  border-color: rgba(127, 196, 106, 0.35);
}

.route-launch-group-card[data-launch-status="failed"],
.route-launch-group-card[data-launch-status="stopped"] {
  border-color: rgba(211, 109, 98, 0.4);
}

.route-launch-group-status {
  min-width: 0;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  align-self: center;
  font-size: 11px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.route-launch-group-card[data-launch-status="active"] .route-launch-group-status {
  color: var(--accent-text, #f54e00);
}

.route-launch-group-card[data-launch-status="done"] .route-launch-group-status {
  color: var(--ok, #7fc46a);
}

.route-launch-group-card[data-launch-status="failed"] .route-launch-group-status,
.route-launch-group-card[data-launch-status="stopped"] .route-launch-group-status {
  color: var(--danger, #d36d62);
}

/* The launching panel is a route-launcher card first: it must read as part of
   the same surface family as the queued-team cards, not a rounder foreign box.
   Match the group-card border (rgba(68,83,98,0.86)), fill (#0d151d), and the
   4px card radius so its corners aren't more rounded than the rest of the app. */
.route-launch-stage {
  min-height: 0;
  display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(68, 83, 98, 0.86);
  border-radius: 4px;
  background: #0d151d;
}

.route-launch-stage[hidden] {
  display: none;
}

.route-launch-stage-head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.route-launch-stage-title {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.route-launch-stage-head strong {
  flex: 0 0 auto;
  margin-left: auto;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

/* Game-data readiness signal: the one truth light of the launch. */
.route-launch-stage-data {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  font-size: 11px;
  color: var(--muted);
}

.route-launch-stage-data-dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  transition: background 0.25s ease, box-shadow 0.25s ease;
}

.route-launch-stage-data-dot[data-state="staging"],
.route-launch-stage-data-dot[data-state="downloading"] {
  background: var(--ux-state-info, #78b8d9);
  box-shadow: 0 0 6px rgba(120, 184, 217, 0.55);
  animation: route-launch-stage-pulse 1.2s ease-in-out infinite;
}

.route-launch-stage-data-dot[data-state="staged"] {
  background: var(--ux-state-info, #78b8d9);
}

.route-launch-stage-data-dot[data-state="ready"] {
  background: var(--ok, #7fc46a);
}

.route-launch-stage-data-dot[data-state="warn"] {
  background: var(--danger, #d36d62);
}

.route-launch-stage-data-dot[data-state="skipped"] {
  background: rgba(255, 255, 255, 0.24);
}

@keyframes route-launch-stage-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}

.route-launch-stage-data-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.route-launch-stage-bar {
  position: relative;
  height: 7px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
}

.route-launch-stage-bar-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ux-state-info, #78b8d9), #b9e4ff);
  transition: width 0.4s ease;
}

.route-launch-stage-bar.indeterminate .route-launch-stage-bar-fill {
  width: 34%;
  animation: route-launch-stage-indeterminate 1.25s ease-in-out infinite;
}

@keyframes route-launch-stage-indeterminate {
  0% { left: -34%; }
  100% { left: 100%; }
}

.route-launch-stage-detail {
  min-height: 15px;
  font-size: 12px;
  color: var(--text);
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.route-launch-stage-note {
  font-size: 11px;
  color: var(--muted);
}

.route-launch-stage-note[hidden] {
  display: none;
}

.route-launch-stage-log {
  min-height: 0;
  max-height: 120px;
  overflow: auto;
  display: grid;
  gap: 2px;
  padding: 5px 6px;
  border: 1px dashed rgba(169, 141, 99, 0.18);
  border-radius: 4px;
  font-size: 10px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.route-launch-stage-log[hidden] {
  display: none;
}

.route-launch-stage-actions {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.route-launch-stage-actions[hidden] {
  display: none;
}

.route-launch-stage-actions-end {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ============================================================
   Modal readability audit — tier-preserving portrait layouts
   Tiers 1–3 keep the 480px desk surface. Readability comes from natural
   document flow, deliberate wrapping, and one body-owned scroll lane.
   ============================================================ */

#modal-layer>#modal-module:is(
  [data-active-module-key="healer"],
  [data-active-module-key="potionHealer"],
  [data-active-module-key="conditionHealer"],
  [data-active-module-key="manaTrainer"],
  [data-active-module-key="alarms"],
  [data-active-module-key="ringAutoReplace"],
  [data-active-module-key="amuletAutoReplace"],
  [data-active-module-key="autoEat"],
  [data-active-module-key="ammo"],
  [data-active-module-key="looting"],
  [data-active-module-key="casino"],
  [data-active-module-key="pkAssist"],
  [data-active-module-key="runeMaker"],
  [data-active-module-key="spellCaster"],
  [data-active-module-key="distanceKeeper"]
)>.modal-body-module {
  min-width: 0 !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-module:is(
  [data-active-module-key="healer"],
  [data-active-module-key="manaTrainer"],
  [data-active-module-key="alarms"],
  [data-active-module-key="ringAutoReplace"],
  [data-active-module-key="amuletAutoReplace"],
  [data-active-module-key="autoEat"],
  [data-active-module-key="ammo"],
  [data-active-module-key="looting"],
  [data-active-module-key="casino"],
  [data-active-module-key="pkAssist"],
  [data-active-module-key="runeMaker"]
) .modal-module-card[data-module-panel="shared"] {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Mana Trainer — one readable rule flow followed by stacked support panels. */
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] {
  width: calc(100vw - 8px) !important;
  max-width: calc(100vw - 8px) !important;
  height: calc(100dvh - 8px) !important;
  max-height: calc(100dvh - 8px) !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"]>.modal-body-module {
  display: block !important;
  padding: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .modal-module-card[data-module-panel="shared"] {
  width: 100% !important;
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-self: start !important;
  gap: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(#module-rule-list, #module-extra-fields) {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-rule-list {
  order: 1 !important;
  padding: 8px !important;
  display: grid !important;
  grid-auto-rows: max-content !important;
  gap: 8px !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] #module-extra-fields {
  order: 2 !important;
  display: block !important;
  padding: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  gap: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-trainer-workspace>:is(
  [data-mana-support-module="manaTrainer"],
  .mana-trainer-service-anti,
  .mana-light-source-panel,
  .mana-runemaking-panel
) {
  grid-column: 1 !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 8px !important;
  gap: 7px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 7px !important;
  display: grid !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-toolbar {
  min-height: 28px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: 8px !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-sections {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-areas:
    "label hotkey"
    "words words"
    "cooldown cooldown"
    "mana hp"
    "mpmin mpmax"
    "target idle" !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) :is(.module-rule-section, .module-rule-grid) {
  display: contents !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-control:has([data-rule-field="label"]) {
  grid-area: label !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: hotkey !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-control:has([data-rule-field="words"]) {
  grid-area: words !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: cooldown !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-control:has([data-rule-field="minMana"]) {
  grid-area: mana !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-control:has([data-rule-field="minHealthPercent"]) {
  grid-area: hp !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: mpmin !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-control:has([data-rule-field="maxManaPercent"]) {
  grid-area: mpmax !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-control:has([data-rule-field="requireNoTargets"]) {
  grid-area: target !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(.mana-window-rule, .mana-runemaking-rule) .module-rule-control:has([data-rule-field="requireStationary"]) {
  grid-area: idle !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(
  .mana-window-rule,
  .mana-runemaking-rule,
  .mana-fluid-control-grid,
  .mana-light-source-rule
) .module-rule-control:not(.module-rule-check) {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-rows: auto 30px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(
  .mana-window-rule,
  .mana-runemaking-rule,
  .mana-fluid-control-grid,
  .mana-light-source-rule
) .module-rule-control>span:not(.visually-hidden) {
  min-height: 12px !important;
  overflow: visible !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] :is(
  .mana-window-rule,
  .mana-runemaking-rule,
  .mana-fluid-control-grid,
  .mana-light-source-rule
) :is(input:not([type="checkbox"]), select, .modal-number-stepper, .modal-number-stepper-input) {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  max-height: 30px !important;
  font-size: 11px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-fluid-control-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule .module-rule-control:has([data-rule-field="words"]),
#modal-layer>#modal-module[data-active-module-key="manaTrainer"] .mana-light-source-rule .module-rule-actions {
  grid-column: 1 / -1 !important;
}

/* Alarms — always four alarm cards across; each narrow card stacks its own
   controls instead of squeezing them into another horizontal grid. */
#modal-layer>#modal-module[data-active-module-key="alarms"] {
  width: calc(100vw - 12px) !important;
  max-width: calc(100vw - 12px) !important;
  height: calc(100dvh - 12px) !important;
  max-height: calc(100dvh - 12px) !important;
  --alarm-gap: 4px;
}

#modal-layer>#modal-module[data-active-module-key="alarms"]>.modal-body-module {
  display: block !important;
  padding: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module[data-active-module-key="alarms"] #module-extra-fields,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-shell {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-shell {
  display: grid !important;
  grid-template-rows: repeat(3, max-content) !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 6px !important;
  padding: 7px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-header-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-workbench {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  gap: var(--alarm-gap) !important;
  align-items: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid>:is(.alarms-matrix-row, .alarms-runtime-row, .alarms-add-card) {
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 5px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  gap: 5px !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-matrix-row .alarms-card-grid {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-matrix-row .alarms-card-grid>* {
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row {
  grid-template-areas:
    "copy"
    "state"
    "thresholds"
    "sound"
    "volume"
    "pause" !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row .alarms-runtime-copy {
  grid-area: copy !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row>:is(.alarms-runtime-pill, .alarms-remove-button) {
  grid-area: state !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row .alarms-runtime-thresholds,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row>.alarms-runtime-pill.muted {
  grid-area: thresholds !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row>.alarms-sound-field {
  grid-area: sound !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row>.alarms-volume-field {
  grid-area: volume !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-runtime-row>.alarms-module-control {
  grid-area: pause !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid :is(
  .module-rule-control,
  .module-rule-check,
  .alarms-runtime-pill,
  .alarms-remove-button,
  .alarms-module-chip,
  .alarms-module-add
) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 24px !important;
  height: auto !important;
  padding: 3px 4px !important;
  font-size: 9px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid :is(
  input:not([type="checkbox"]),
  select,
  .modal-number-stepper,
  .modal-number-stepper-input
) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 26px !important;
  height: 26px !important;
  font-size: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid :is(.alarms-card-title, .alarms-card-kicker, .alarms-card-note, .alarms-runtime-copy small) {
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid .alarms-card-title {
  font-size: 10px !important;
  line-height: 1.15 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-grid :is(.alarms-card-kicker, .alarms-card-note, .alarms-runtime-copy small) {
  font-size: 9px !important;
  line-height: 1.15 !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-compact-footer,
#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: none !important;
  grid-auto-rows: max-content !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="alarms"] .alarms-list-editors textarea {
  min-height: 58px !important;
  height: 58px !important;
  max-height: 58px !important;
  font-size: 10px !important;
}

/* Ring & Amulet — two compact slot columns, with the full catalog in a select
   rather than dozens of always-visible chips. */
#modal-layer>#modal-module.module-modal-compact:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) {
  width: calc(100vw - 12px) !important;
  max-width: calc(100vw - 12px) !important;
  height: auto !important;
  max-height: min(44dvh, calc(100dvh - 12px)) !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"])>.modal-body-module {
  display: block !important;
  padding: 4px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) :is(
  .modal-module-card[data-module-panel="shared"],
  #module-extra-fields,
  .equipment-replace-workbench
) {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="ringAutoReplace"] .equipment-replace-slot-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="amuletAutoReplace"] .equipment-replace-slot-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot {
  min-width: 0 !important;
  height: auto !important;
  padding: 5px !important;
  gap: 4px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot.is-off .equipment-replace-shell {
  display: none !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-head {
  min-height: 26px !important;
  gap: 5px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-copy {
  min-width: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 5px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-copy strong {
  font-size: 11px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-slot-copy span {
  min-width: 0 !important;
  overflow: hidden !important;
  font-size: 9px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-shell {
  display: grid !important;
  grid-auto-rows: max-content !important;
  gap: 4px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-status {
  min-height: 20px !important;
  padding: 2px 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 4px !important;
  font-size: 8px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-controls {
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 3px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-selection {
  grid-column: 1 / -1 !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-controls>.equipment-replace-field:not(.equipment-replace-selection) {
  grid-column: auto !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) :is(.equipment-replace-field, .equipment-replace-toggle) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 24px !important;
  height: auto !important;
  padding: 2px 6px !important;
  gap: 4px !important;
  border-color: var(--modal-dense-line-soft, rgba(72, 88, 104, 0.38)) !important;
  border-radius: 3px !important;
  background: rgba(8, 13, 18, 0.6) !important;
}

/* A generic .modal-panel :has(.modal-number-stepper) rule forces a two-row
   label/control template; these fields are single-row label|control, so the
   second row rendered as dead space. */
#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: none !important;
  align-items: center !important;
  overflow: hidden !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-field>span {
  min-height: 10px !important;
  overflow: visible !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-field :is(input, select, .modal-number-stepper, .modal-number-stepper-input) {
  width: auto !important;
  min-width: 0 !important;
  min-height: 22px !important;
  height: 22px !important;
  font-size: 10px !important;
  justify-self: end !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-live-choices {
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 3px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="ringAutoReplace"], [data-active-module-key="amuletAutoReplace"]) .equipment-replace-live-choices .equipment-replace-choice {
  min-width: 0 !important;
  min-height: 21px !important;
  height: 21px !important;
  padding: 2px 5px !important;
  overflow: hidden !important;
  font-size: 8px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Casino and PK Assist — semantic groups become real cards in a single
   body-owned scroll flow; generic compact column-flow is neutralized. */
#modal-layer>#modal-module:is([data-active-module-key="casino"], [data-active-module-key="pkAssist"])>.modal-body-module {
  display: block !important;
  padding: 6px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="casino"], [data-active-module-key="pkAssist"]) :is(
  .modal-module-card[data-module-panel="shared"],
  #module-extra-fields,
  .module-option-rows
) {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module:is([data-active-module-key="casino"], [data-active-module-key="pkAssist"]) .module-option-rows {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  gap: 8px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="casino"], [data-active-module-key="pkAssist"]) .module-option-row {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 8px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
  align-items: end !important;
  border: 1px solid rgba(71, 89, 108, 0.62) !important;
  border-radius: 5px !important;
  background: rgba(7, 12, 17, 0.86) !important;
}

#modal-layer>#modal-module:is([data-active-module-key="casino"], [data-active-module-key="pkAssist"]) .module-option-row-title {
  grid-column: 1 !important;
  min-height: 18px !important;
  color: #e8eef5 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

#modal-layer>#modal-module:is([data-active-module-key="casino"], [data-active-module-key="pkAssist"]) .module-option-row .module-rule-control {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

#modal-layer>#modal-module:is([data-active-module-key="casino"], [data-active-module-key="pkAssist"]) .module-option-row .module-rule-control:not(.module-rule-check) {
  display: grid !important;
  grid-template-rows: auto 30px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="casino"], [data-active-module-key="pkAssist"]) .module-option-row .module-rule-control>span:not(.visually-hidden) {
  min-height: 12px !important;
  overflow: visible !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer>#modal-module:is([data-active-module-key="casino"], [data-active-module-key="pkAssist"]) .module-option-row :is(
  input:not([type="checkbox"]),
  select,
  textarea,
  .modal-number-stepper,
  .modal-number-stepper-input
) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  font-size: 11px !important;
}

#modal-layer>#modal-module[data-active-module-key="pkAssist"] .module-option-row :is(textarea, input[type="text"]) {
  height: auto !important;
  min-height: 38px !important;
}

/* Auto Eat — a two-column cadence band, then full-width food lists. */
#modal-layer>#modal-module[data-active-module-key="autoEat"]>.modal-body-module {
  display: block !important;
  padding: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] :is(
  .modal-module-card[data-module-panel="shared"],
  #module-extra-fields,
  .autoeat-shell-compact
) {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-controls-compact {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: max-content !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-cadence-field {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) max-content !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-toggle-field {
  width: 100% !important;
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-list-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-compact-control {
  min-height: 30px !important;
  height: auto !important;
  padding: 4px 6px !important;
  font-size: 10px !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] .autoeat-cadence-field .modal-number-stepper {
  width: 100% !important;
  min-width: 118px !important;
  max-width: none !important;
  min-height: 30px !important;
  height: 30px !important;
}

#modal-layer>#modal-module[data-active-module-key="autoEat"] :is(.autoeat-panel-title strong, .autoeat-list-head strong, .autoeat-compact-control>span) {
  overflow: visible !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

/* Looting — one readable column at the tier-3 width, no fixed 372px ledger. */
#modal-layer>#modal-module[data-active-module-key="looting"]>.modal-body-module {
  display: block !important;
  padding: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] :is(
  .modal-module-card[data-module-panel="shared"],
  #module-extra-fields,
  .looting-shell,
  .looting-layout
) {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-card {
  padding: 7px !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-card-ledger :is(.module-option-row, .form-grid) {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] :is(.looting-card-title, .module-rule-control>span, .looting-field>span) {
  overflow: visible !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] :is(input:not([type="checkbox"]), select, textarea, .modal-number-stepper, .modal-number-stepper-input) {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  font-size: 11px !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] textarea {
  min-height: 54px !important;
  height: 54px !important;
  max-height: 54px !important;
}

#modal-layer>#modal-module[data-active-module-key="looting"] .looting-chip {
  min-height: 23px !important;
  padding: 3px 7px !important;
  font-size: 9px !important;
}

/* Ammo — replace horizontal carousels with a wrapped grid. */
#modal-layer>#modal-module[data-active-module-key="ammo"]>.modal-body-module {
  display: block !important;
  padding: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] :is(
  .modal-module-card[data-module-panel="shared"],
  #module-extra-fields,
  .ammo-shell
) {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-status-strip {
  min-height: 0 !important;
  height: auto !important;
  padding: 6px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  gap: 5px !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-source-card {
  min-height: 34px !important;
  padding: 4px 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .autoeat-columns,
#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-number-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] .ammo-number-row .module-rule-control>span {
  overflow: visible !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer>#modal-module[data-active-module-key="ammo"] :is(
  .ammo-preferred-select-field select,
  .ammo-number-row input:not([type="checkbox"]),
  .ammo-number-row .modal-number-stepper,
  .ammo-number-row .modal-number-stepper-input
) {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  max-height: 30px !important;
  font-size: 11px !important;
}

/* Rune Maker — let live badges wrap before they collide with the empty-state
   action, and stack the editor regions at the tier-3 width. */
#modal-layer>#modal-module[data-active-module-key="runeMaker"]>.modal-body-module {
  display: block !important;
  padding: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] :is(
  .modal-module-card[data-module-panel="rune"],
  .rune-maker-layout,
  .rune-maker-main,
  .rune-maker-sidebar
) {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-live-summary {
  min-height: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 5px !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-live-badges {
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="runeMaker"] .rune-maker-live-badges .module-rule-pill {
  min-width: 0 !important;
  min-height: 22px !important;
  height: auto !important;
  padding: 3px 6px !important;
  font-size: 9px !important;
}

/* Remaining tier-3 rule editors: natural cards and two readable field tracks. */
#modal-layer>#modal-module:is([data-active-module-key="spellCaster"], [data-active-module-key="distanceKeeper"])>.modal-body-module {
  display: block !important;
  padding: 5px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="spellCaster"], [data-active-module-key="distanceKeeper"]) :is(
  .modal-module-card[data-module-panel="shared"],
  #module-rule-list,
  .module-rule-card
) {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module:is([data-active-module-key="spellCaster"], [data-active-module-key="distanceKeeper"]) .module-rule-card {
  padding: 7px !important;
  display: grid !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="spellCaster"], [data-active-module-key="distanceKeeper"]) .module-rule-sections {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
  align-items: end !important;
}

#modal-layer>#modal-module:is([data-active-module-key="spellCaster"], [data-active-module-key="distanceKeeper"]) :is(.module-rule-section, .module-rule-grid) {
  display: contents !important;
}

#modal-layer>#modal-module:is([data-active-module-key="spellCaster"], [data-active-module-key="distanceKeeper"]) .module-rule-control {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

#modal-layer>#modal-module:is([data-active-module-key="spellCaster"], [data-active-module-key="distanceKeeper"]) .module-rule-control:not(.module-rule-check) {
  display: grid !important;
  grid-template-rows: auto 30px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="spellCaster"], [data-active-module-key="distanceKeeper"]) .module-rule-control>span:not(.visually-hidden) {
  min-height: 12px !important;
  overflow: visible !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer>#modal-module:is([data-active-module-key="spellCaster"], [data-active-module-key="distanceKeeper"]) .module-rule-control :is(
  input:not([type="checkbox"]),
  select,
  textarea,
  .modal-number-stepper,
  .modal-number-stepper-input
) {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  font-size: 11px !important;
}

/* Specificity bridges for legacy compact selectors. */
#modal-layer>#modal-module.module-modal-compact[data-active-module-key="manaTrainer"] .module-rule-card.mana-window-rule[data-module-key="manaTrainer"]:not(.mana-runemaking-rule) .module-rule-sections {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-areas:
    "label hotkey"
    "words words"
    "cooldown cooldown"
    "mana hp"
    "mpmin mpmax"
    "target idle" !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
}

#modal-layer>#modal-module.module-modal-compact[data-active-module-key="manaTrainer"] .module-rule-card.mana-window-rule[data-module-key="manaTrainer"]:not(.mana-runemaking-rule) .module-rule-control {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  justify-self: stretch !important;
}

#modal-layer>#modal-module.module-modal-compact[data-active-module-key="manaTrainer"] .module-rule-card.mana-window-rule[data-module-key="manaTrainer"]:not(.mana-runemaking-rule) .module-rule-control:not(.module-rule-check) {
  grid-template-rows: auto 30px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module.module-modal-compact[data-active-module-key="manaTrainer"] .module-rule-card.mana-window-rule[data-module-key="manaTrainer"]:not(.mana-runemaking-rule) .module-rule-control>span:not(.visually-hidden) {
  min-height: 12px !important;
  overflow: visible !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer>#modal-module.module-modal-compact[data-active-module-key="manaTrainer"] .module-rule-card.mana-window-rule[data-module-key="manaTrainer"]:not(.mana-runemaking-rule) .module-rule-control :is(
  input:not([type="checkbox"]),
  select,
  .modal-number-stepper,
  .modal-number-stepper-input
) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  max-height: 30px !important;
  font-size: 11px !important;
}

#modal-layer>#modal-module.module-modal-compact[data-active-module-key="manaTrainer"] .mana-light-source-rule.module-rule-card[data-module-key="autoLight"] {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-areas: none !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
}

#modal-layer>#modal-module.module-modal-compact[data-active-module-key="manaTrainer"] .mana-light-source-rule.module-rule-card[data-module-key="autoLight"]>* {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-area: auto !important;
}

#modal-layer>#modal-module.module-modal-compact[data-active-module-key="manaTrainer"] .mana-light-source-rule.module-rule-card[data-module-key="autoLight"]>.module-rule-control:has([data-rule-field="words"]),
#modal-layer>#modal-module.module-modal-compact[data-active-module-key="manaTrainer"] .mana-light-source-rule.module-rule-card[data-module-key="autoLight"]>.module-rule-actions {
  grid-column: 1 / -1 !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"]:has(.module-option-rows) .modal-body-module,
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"]:has(.module-option-rows) .modal-module-card[data-module-panel="shared"],
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"]:has(.module-option-rows) #module-extra-fields {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  display: block !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"]:has(.module-option-rows) .module-option-rows,
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"]:has(.module-option-rows) .module-option-row {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  grid-auto-rows: max-content !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-cadence-field,
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-cadence-field:has(.modal-number-stepper) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-template-columns: max-content minmax(150px, 1fr) max-content !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-cadence-field .modal-number-stepper {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="autoEat"] .autoeat-eat-panel .autoeat-cadence-field .modal-number-stepper-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* Direct Potion / Condition Healer editors use the same two-column rule
   rhythm as the combined Healer workspace. */
#modal-layer>#modal-module:is([data-active-module-key="potionHealer"], [data-active-module-key="conditionHealer"]) .module-rule-card-compact-row {
  min-width: 0 !important;
  height: auto !important;
  padding: 7px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="potionHealer"], [data-active-module-key="conditionHealer"]) .module-rule-card-compact-row .module-rule-sections {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
  align-items: end !important;
}

#modal-layer>#modal-module:is([data-active-module-key="potionHealer"], [data-active-module-key="conditionHealer"]) .module-rule-card-compact-row :is(.module-rule-section, .module-rule-grid) {
  display: contents !important;
}

#modal-layer>#modal-module:is([data-active-module-key="potionHealer"], [data-active-module-key="conditionHealer"]) .module-rule-card-compact-row .module-rule-control {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

#modal-layer>#modal-module:is([data-active-module-key="potionHealer"], [data-active-module-key="conditionHealer"]) .module-rule-card-compact-row .module-rule-control:not(.module-rule-check) {
  display: grid !important;
  grid-template-rows: auto 30px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module:is([data-active-module-key="potionHealer"], [data-active-module-key="conditionHealer"]) .module-rule-card-compact-row .module-rule-control>span:not(.visually-hidden) {
  min-height: 12px !important;
  overflow: visible !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer>#modal-module:is([data-active-module-key="potionHealer"], [data-active-module-key="conditionHealer"]) .module-rule-card-compact-row .module-rule-control :is(
  input:not([type="checkbox"]),
  select,
  .modal-number-stepper,
  .modal-number-stepper-input
) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  font-size: 11px !important;
}

/* Auto Convert — remove the sparse fixed-width strip. */
#modal-layer>#modal-module[data-active-module-key="autoConvert"]>.modal-body-module {
  min-height: 0 !important;
  display: block !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="autoConvert"] :is(
  .modal-module-card[data-module-panel="shared"],
  #module-rule-list,
  .module-rule-card
) {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="autoConvert"] .module-rule-card {
  padding: 7px !important;
  display: grid !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
}

#modal-layer>#modal-module[data-active-module-key="autoConvert"] .module-rule-sections {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  gap: 7px !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="autoConvert"] :is(.module-rule-section, .module-rule-grid) {
  display: contents !important;
}

#modal-layer>#modal-module[data-active-module-key="autoConvert"] .module-rule-control {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

#modal-layer>#modal-module[data-active-module-key="autoConvert"] .module-rule-control:not(.module-rule-check) {
  display: grid !important;
  grid-template-rows: auto 30px !important;
  gap: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="autoConvert"] .module-rule-control>span:not(.visually-hidden) {
  min-height: 12px !important;
  overflow: visible !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#modal-layer>#modal-module[data-active-module-key="autoConvert"] .module-rule-control :is(
  input:not([type="checkbox"]),
  select,
  .modal-number-stepper,
  .modal-number-stepper-input
) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 30px !important;
  height: 30px !important;
  font-size: 11px !important;
}

/* Medium status workspaces keep their action row fixed while the content
   above it scrolls; no card may disappear beneath Save/Close. */
#modal-layer>#modal-module:is([data-active-module-key="reconnect"], [data-active-module-key="rookiller"], [data-active-module-key="recoverLoot"])>.modal-body-module {
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-module:is([data-active-module-key="reconnect"], [data-active-module-key="rookiller"], [data-active-module-key="recoverLoot"]) :is(
  .modal-module-card[data-module-panel="shared"],
  #module-extra-fields
) {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
/* ============================================================
   Healer modal — single consolidated layout layer.
   Replaces the retired "workspace redesign" and "readability audit"
   healer layers. Every rule here wins by cascade order over the
   remaining shared dense-modal layers, so layout-affecting
   properties are stated explicitly rather than inherited from them.
   Flow: Healer Rules (tiers + policy) → Death Heal → Potion → Condition.
   ============================================================ */

#modal-layer>#modal-module[data-active-module-key="healer"] {
  --hx-gap: 8px;
  --hx-row-gap: 6px;
  --hx-field-h: 26px;
  --hx-label: rgba(196, 207, 219, 0.72);
  --hx-title: #e8eef5;
  --hx-line: rgba(71, 89, 108, 0.55);
  --hx-panel: rgba(7, 12, 17, 0.94);
  --hx-card: rgba(2, 7, 11, 0.6);
  --modal-stepper-height: var(--hx-field-h);
  --modal-stepper-chevron-width: 14px;
  --modal-stepper-chevron-gap: 2px;
  --modal-stepper-chevron-inset: 2px;
  /* The modal fills its dedicated ~660px window (main process sizes the OS
     window to MODAL_SURFACE_WIDTH_BY_MODAL.healer on open), so the layout is
     independent of the main window's side-panel state. It never re-flows into
     stacked rows — columns compress within this band. */
  width: calc(100vw - 8px) !important;
  max-width: calc(100vw - 8px) !important;
  height: auto !important;
  max-height: min(92dvh, calc(100dvh - 16px)) !important;
  display: grid !important;
  /* Headless module modal: the hidden .modal-head is not placed, so the
     grid is body + actions only. */
  grid-template-rows: minmax(0, 1fr) auto !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"]>.modal-body-module {
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: var(--hx-gap) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-module-card[data-module-panel="shared"] {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--hx-gap) !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] :is(#module-rule-list, #module-extra-fields) {
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
  overflow: visible !important;
}

/* Panel order: Death Heal ("tier S") leads, the always-on tier list follows,
   Condition Healer closes. Extra-fields containers flatten (display: contents)
   so the three panels are flex siblings and can interleave. */
#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list {
  order: 1 !important;
  padding: var(--hx-gap) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--hx-row-gap) !important;
  border: 1px solid var(--hx-line) !important;
  border-radius: 6px !important;
  background: var(--hx-panel) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-extra-fields:not([hidden]) {
  display: contents !important;
}

/* Noise suppressed everywhere in this modal. */
#modal-layer>#modal-module[data-active-module-key="healer"] :is(
  .field-note,
  .module-rule-summary,
  .module-rule-section-title,
  .healer-priority-head,
  .healer-workspace-head,
  .healer-family-card-grid,
  .healer-family-toolbar,
  .healer-family-current,
  .healer-family-kicker,
  .healer-family-detail,
  .healer-rule-lead,
  .healer-utility-actions>span
) {
  display: none !important;
}

/* --- Healer Rules header: title + policy fields + Add Tier --- */
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-primary-head {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 0 var(--hx-row-gap) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-areas:
    "heading add"
    "policy policy" !important;
  gap: var(--hx-row-gap) !important;
  align-items: center !important;
  border-bottom: 1px solid var(--hx-line) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-section-start {
  grid-area: heading !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-section-copy {
  min-width: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-section-copy>strong {
  flex: 0 0 auto !important;
  color: var(--hx-title) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-primary-meta {
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(190, 203, 216, 0.62) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-primary-add {
  grid-area: add !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-primary-policy {
  grid-area: policy !important;
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 220px)) !important;
  gap: var(--hx-row-gap) !important;
}

/* --- Support family panels (Death Heal / Condition) ---
   Shell and grid flatten so each panel is a direct flex sibling of the tier
   list; ordering is decided by the panels themselves. */
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-shell,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-support-grid {
  display: contents !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel {
  order: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-panel:not(.healer-death-heal-panel) {
  order: 2 !important;
}

/* Disabled support families stay available from their header, but do not
   occupy space with controls that cannot currently be used. */
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-panel[data-healer-family="conditionHealer"]:has(
  input[data-module-option-field="conditionHealerEnabled"]:not(:checked)
) .healer-family-rule-list,
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-panel[data-healer-family="conditionHealer"]:has(
  input[data-module-option-field="conditionHealerEnabled"]:not(:checked)
) .healer-family-add {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-panel[data-healer-family="conditionHealer"]:has(
  input[data-module-option-field="conditionHealerEnabled"]:not(:checked)
) {
  gap: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-panel {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: var(--hx-gap) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: none !important;
  grid-auto-rows: max-content !important;
  align-content: start !important;
  gap: var(--hx-row-gap) !important;
  border: 1px solid var(--hx-line) !important;
  border-radius: 6px !important;
  background: var(--hx-panel) !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-row {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 0 var(--hx-row-gap) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-bottom: 1px solid var(--hx-line) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-left {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-utility-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-title {
  flex: 0 0 auto !important;
  color: var(--hx-title) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-status {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(190, 203, 216, 0.62) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] :is(.healer-primary-add, .healer-family-add) {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: var(--hx-field-h) !important;
  height: var(--hx-field-h) !important;
  padding: 0 10px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-rule-list {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  display: grid !important;
  gap: var(--hx-row-gap) !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-rule-list .empty-state {
  min-height: 32px !important;
  padding: 8px 10px !important;
  display: flex !important;
  align-items: center !important;
  border: 1px dashed var(--hx-line) !important;
  border-radius: 5px !important;
  color: rgba(196, 207, 219, 0.6) !important;
  font-size: 9px !important;
}

/* --- Death Heal fields: one row, five columns.
   The two DOM rows flatten (display: contents) into a single 5-track grid:
   Emergency heal | Vocation | Hotkey | HP threshold % | Repeat ms. --- */
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .module-option-rows-deathHeal {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-auto-rows: max-content !important;
  gap: var(--hx-row-gap) !important;
  align-items: start !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .module-option-row {
  display: contents !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-1 .module-rule-control:nth-child(2) {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-1 .module-rule-control:nth-child(1) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-1 .module-rule-control:nth-child(3) {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-2 .module-rule-control:nth-child(1) {
  grid-column: 4 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .healer-death-heal-panel .death-heal-row-2 .module-rule-control:nth-child(2) {
  grid-column: 5 !important;
  grid-row: 1 !important;
}

/* --- Rule cards (tier list and family lists) --- */
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: var(--hx-row-gap) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "tools"
    "fields" !important;
  grid-auto-rows: max-content !important;
  gap: var(--hx-row-gap) !important;
  border: 1px solid var(--hx-line) !important;
  border-radius: 5px !important;
  background: var(--hx-card) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-toolbar {
  grid-area: tools !important;
  min-width: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-toolbar-main {
  min-width: 0 !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-toolbar-rank {
  color: rgba(190, 203, 216, 0.72) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-actions {
  display: grid !important;
  grid-template-columns: repeat(3, 32px) !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-actions .btn {
  width: 32px !important;
  min-width: 32px !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  font-size: 8px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row :is(.module-rule-sections, .module-rule-section, .module-rule-grid) {
  min-width: 0 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row :is(.module-rule-section, .module-rule-grid) {
  display: contents !important;
}

/* Tier cards: the toolbar (T1 toggle + Up/Dn/Del) and the name/key/heal fields
   share row 1; the five gates fill row 2. Toolbar and sections both flatten
   (display: contents) so the toggle, the three fields, the action buttons, and
   the five metrics are all direct items of one 15-track card grid. 15 = 3×5 so
   row 1 (toggle | name | key | heal | actions) and row 2 (five equal metrics)
   both divide the track cleanly. Scoped to #module-rule-list so the narrower
   Condition Healer family cards keep their own stacked layout. */
#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row {
  grid-template-columns: repeat(15, minmax(0, 1fr)) !important;
  grid-template-areas: none !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-toolbar {
  display: contents !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-toolbar-main {
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  align-self: end !important;
  height: var(--hx-field-h) !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-actions {
  grid-column: 13 / 16 !important;
  grid-row: 1 !important;
  align-self: end !important;
  justify-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-sections {
  display: contents !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-control:has([data-rule-field="label"]) {
  grid-area: auto !important;
  grid-column: 3 / 7 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: auto !important;
  grid-column: 7 / 9 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-control:has([data-rule-field="words"]) {
  grid-area: auto !important;
  grid-column: 9 / 13 !important;
  grid-row: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: auto !important;
  grid-column: 1 / 4 !important;
  grid-row: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-control:has([data-rule-field="minHealthPercent"]) {
  grid-area: auto !important;
  grid-column: 4 / 7 !important;
  grid-row: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-control:has([data-rule-field="maxHealthPercent"]) {
  grid-area: auto !important;
  grid-column: 7 / 10 !important;
  grid-row: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-control:has([data-rule-field="minMana"]) {
  grid-area: auto !important;
  grid-column: 10 / 13 !important;
  grid-row: 2 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] #module-rule-list .module-rule-card-compact-row .module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: auto !important;
  grid-column: 13 / 16 !important;
  grid-row: 2 !important;
}

/* Family cards live in narrower panels: stack action full width. */
#modal-layer>#modal-module[data-active-module-key="healer"] .healer-family-rule-list .module-rule-card-compact-row .module-rule-sections {
  grid-area: fields !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-areas:
    "name name hotkey cooldown"
    "action action action action"
    "hpmin hpmax mana mpmin" !important;
  grid-auto-rows: max-content !important;
  gap: var(--hx-row-gap) !important;
  align-items: start !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="label"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="condition"]) {
  grid-area: name !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="hotkey"]) {
  grid-area: hotkey !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="words"]),
#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="itemName"]) {
  grid-area: action !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="cooldownMs"]) {
  grid-area: cooldown !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="minHealthPercent"]) {
  grid-area: hpmin !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="maxHealthPercent"]) {
  grid-area: hpmax !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="minMana"]) {
  grid-area: mana !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .module-rule-card-compact-row .module-rule-control:has([data-rule-field="minManaPercent"]) {
  grid-area: mpmin !important;
}

/* --- One field language for the whole modal --- */
#modal-layer>#modal-module[data-active-module-key="healer"] :is(
  .module-rule-card-compact-row,
  .healer-death-heal-panel,
  .healer-primary-policy
) .module-rule-control:not(.module-rule-check) {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 12px var(--hx-field-h) !important;
  gap: 2px !important;
  align-content: start !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] :is(
  .module-rule-card-compact-row,
  .healer-death-heal-panel,
  .healer-primary-policy
) .module-rule-control:not(.module-rule-check)>span:not(.visually-hidden) {
  min-width: 0 !important;
  min-height: 12px !important;
  overflow: hidden !important;
  color: var(--hx-label) !important;
  font-size: 9px !important;
  font-weight: 740 !important;
  letter-spacing: 0.02em !important;
  line-height: 12px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] :is(
  .module-rule-card-compact-row,
  .healer-death-heal-panel,
  .healer-primary-policy
) :is(input:not([type="checkbox"]), select) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: var(--hx-field-h) !important;
  height: var(--hx-field-h) !important;
  max-height: var(--hx-field-h) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

/* Steppers stretch with their track; chevrons stay inside the input as a
   horizontal pair on the right. Stated in full because the retired healer
   layers above still restyle steppers as bordered flex fields with stacked
   18px chevrons — every property they touch is re-decided here. */
#modal-layer>#modal-module[data-active-module-key="healer"] .modal-number-stepper.modal-number-stepper.modal-number-stepper {
  --modal-stepper-chevron-width: 14px;
  --modal-stepper-chevron-gap: 2px;
  --modal-stepper-chevron-inset: 2px;
  --modal-stepper-chevron-zone: calc((var(--modal-stepper-chevron-width) * 2) + var(--modal-stepper-chevron-gap));
  --modal-stepper-chevron-padding: calc(var(--modal-stepper-chevron-zone) + (var(--modal-stepper-chevron-inset) * 2) + 4px);
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--hx-field-h) !important;
  min-height: var(--hx-field-h) !important;
  max-height: var(--hx-field-h) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-number-stepper-input.modal-number-stepper-input.modal-number-stepper-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--hx-field-h) !important;
  min-height: var(--hx-field-h) !important;
  max-height: var(--hx-field-h) !important;
  padding-right: var(--modal-stepper-chevron-padding) !important;
  text-align: left !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-number-stepper-buttons.modal-number-stepper-buttons.modal-number-stepper-buttons {
  position: absolute !important;
  top: var(--modal-stepper-chevron-inset) !important;
  right: var(--modal-stepper-chevron-inset) !important;
  bottom: var(--modal-stepper-chevron-inset) !important;
  left: auto !important;
  width: var(--modal-stepper-chevron-zone) !important;
  min-width: var(--modal-stepper-chevron-zone) !important;
  max-width: var(--modal-stepper-chevron-zone) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, var(--modal-stepper-chevron-width)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: var(--modal-stepper-chevron-gap) !important;
  z-index: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-number-stepper-button.modal-number-stepper-button.modal-number-stepper-button {
  width: var(--modal-stepper-chevron-width) !important;
  min-width: var(--modal-stepper-chevron-width) !important;
  max-width: var(--modal-stepper-chevron-width) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 3px !important;
}

#modal-layer>#modal-module[data-active-module-key="healer"] .modal-number-stepper-button .route-coordinate-chevron {
  width: 7px !important;
  height: 7px !important;
}

/* Form help must never cover editable healer controls; labels are visible
   and field notes are intentionally suppressed in this modal. */
body:has(#modal-layer>#modal-module.open[data-active-module-key="healer"]) .hover-tooltip {
  display: none !important;
}

/* ============================================================
   Spells modal — compact priority workspace.
   Mirrors the Healer editor's single-scroll, dense-card language while
   keeping spell targeting and the built-in knight guard easy to scan.
   ============================================================ */

#modal-layer>#modal-module[data-active-module-key="spellCaster"] {
  --sx-gap: 8px;
  --sx-row-gap: 6px;
  --sx-field-h: 26px;
  --sx-label: rgba(196, 207, 219, 0.72);
  --sx-title: #e8eef5;
  --sx-line: rgba(71, 89, 108, 0.55);
  --sx-panel: rgba(7, 12, 17, 0.94);
  --sx-card: rgba(2, 7, 11, 0.6);
  --modal-stepper-height: var(--sx-field-h);
  width: calc(100vw - 8px) !important;
  max-width: calc(100vw - 8px) !important;
  height: auto !important;
  max-height: min(92dvh, calc(100dvh - 16px)) !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"]>.modal-body-module {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: var(--sx-gap) !important;
  display: block !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-module-card[data-module-panel="shared"] {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--sx-gap) !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] :is(#module-rule-list, #module-extra-fields) {
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] #module-rule-list {
  order: 0 !important;
  padding: var(--sx-gap) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--sx-row-gap) !important;
  border: 1px solid var(--sx-line) !important;
  border-radius: 6px !important;
  background: var(--sx-panel) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] #module-extra-fields:not([hidden]) {
  order: 1 !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] :is(.field-note, .module-rule-summary, .module-rule-section-title) {
  display: none !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-head {
  min-width: 0 !important;
  padding: 0 0 var(--sx-row-gap) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: var(--sx-row-gap) !important;
  align-items: center !important;
  border-bottom: 1px solid var(--sx-line) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-heading,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-copy {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-heading {
  gap: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-copy {
  gap: 7px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-copy>strong {
  flex: 0 0 auto !important;
  color: var(--sx-title) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-copy>span {
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(190, 203, 216, 0.62) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-power {
  flex: 0 0 auto !important;
  width: var(--toggle-width) !important;
  min-width: var(--toggle-width) !important;
  height: var(--toggle-height) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-add {
  min-width: 76px !important;
  min-height: var(--sx-field-h) !important;
  height: var(--sx-field-h) !important;
  padding: 0 10px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-card-compact-row {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: var(--sx-row-gap) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: var(--sx-row-gap) !important;
  border: 1px solid var(--sx-line) !important;
  border-radius: 5px !important;
  background: var(--sx-card) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar {
  min-width: 0 !important;
  min-height: var(--sx-field-h) !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar-main {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-toolbar-rank {
  color: rgba(190, 203, 216, 0.72) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-actions {
  display: grid !important;
  grid-template-columns: repeat(3, 34px) !important;
  gap: 4px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-actions .btn,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-actions .btn.danger {
  width: 34px !important;
  min-width: 34px !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  font-size: 8px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-sections {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 4px !important;
  align-items: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section {
  min-width: 0 !important;
  min-height: 43px !important;
  padding: 4px 5px !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 6px !important;
  align-items: end !important;
  border: 1px solid rgba(71, 89, 108, 0.34) !important;
  border-radius: 4px !important;
  background: rgba(8, 14, 20, 0.54) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section-title {
  min-width: 0 !important;
  height: var(--sx-field-h) !important;
  display: flex !important;
  align-items: center !important;
  color: rgba(154, 174, 194, 0.72) !important;
  font-size: 8px !important;
  font-weight: 850 !important;
  letter-spacing: 0.09em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-grid {
  min-width: 0 !important;
  display: grid !important;
  gap: 6px !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="cast"] .module-rule-grid {
  grid-template-columns: minmax(110px, 1fr) minmax(170px, 1.55fr) minmax(64px, 0.55fr) minmax(82px, 0.72fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="targeting"] .module-rule-grid {
  grid-template-columns: minmax(104px, 0.9fr) minmax(160px, 1.7fr) minmax(58px, 0.54fr) minmax(58px, 0.54fr) minmax(94px, 0.9fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section="gates"] .module-rule-grid {
  grid-template-columns: minmax(70px, 0.7fr) minmax(70px, 0.7fr) minmax(118px, 1.15fr) minmax(64px, 0.62fr) minmax(64px, 0.62fr) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section[data-module-section] .module-rule-grid>.module-rule-control:has([data-rule-field]) {
  grid-column: auto !important;
  grid-row: auto !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control:not(.module-rule-check) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 12px var(--sx-field-h) !important;
  gap: 2px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control:not(.module-rule-check)>span:not(.visually-hidden) {
  min-width: 0 !important;
  min-height: 12px !important;
  overflow: hidden !important;
  color: var(--sx-label) !important;
  font-size: 9px !important;
  font-weight: 740 !important;
  line-height: 12px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-control :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper,
#modal-layer>#modal-module[data-active-module-key="spellCaster"] .modal-number-stepper-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: var(--sx-field-h) !important;
  height: var(--sx-field-h) !important;
  max-height: var(--sx-field-h) !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-check {
  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--sx-field-h) !important;
  height: var(--sx-field-h) !important;
  padding: 2px 6px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  align-items: center !important;
  justify-self: stretch !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-check>input {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-check>span:not(.visually-hidden) {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  color: var(--sx-label) !important;
  font-size: 9px !important;
  font-weight: 740 !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .knight-exori-panel {
  width: 100% !important;
  min-width: 0 !important;
  padding: var(--sx-gap) !important;
  gap: var(--sx-row-gap) !important;
  border: 1px solid var(--sx-line) !important;
  border-radius: 6px !important;
  background: var(--sx-panel) !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .knight-exori-head {
  min-width: 0 !important;
  align-items: center !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .knight-exori-kicker {
  color: rgba(190, 203, 216, 0.56) !important;
  font-size: 8px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .knight-exori-title {
  color: var(--sx-title) !important;
  font-size: 12px !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .knight-exori-detail {
  color: rgba(190, 203, 216, 0.66) !important;
  font-size: 9px !important;
  line-height: 1.25 !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .knight-exori-fields {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)) !important;
  gap: var(--sx-row-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module[data-active-module-key="spellCaster"] .knight-exori-fields .module-rule-control {
  grid-column: auto !important;
  grid-row: auto !important;
}

body:has(#modal-layer>#modal-module.open[data-active-module-key="spellCaster"]) .hover-tooltip {
  display: none !important;
}

@media (max-width: 620px) {
  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-head {
    grid-template-columns: minmax(0, 1fr) max-content !important;
  }

  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-copy>span,
  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .spell-workspace-heading>.module-rule-pill {
    display: none !important;
  }

  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .knight-exori-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .module-rule-section-title {
    height: auto !important;
  }

  #modal-layer>#modal-module[data-active-module-key="spellCaster"] :is(
    [data-module-section="cast"],
    [data-module-section="targeting"],
    [data-module-section="gates"]
  ) .module-rule-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #modal-layer>#modal-module[data-active-module-key="spellCaster"] .knight-exori-fields .module-rule-control:first-child {
    grid-column: 1 / -1 !important;
  }
}

/* ============================================================
   Haste modal — final three-row compact grid.
   The four semantic DOM rows flatten into one aligned control matrix:
   spell identity, cast gates, then mana-fluid support.
   ============================================================ */

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] {
  --hs-gap: 5px;
  --hs-field-h: 25px;
  --hs-label-h: 10px;
  --modal-stepper-height: var(--hs-field-h);
  width: min(480px, calc(100vw - 12px)) !important;
  min-width: 0 !important;
  max-width: min(480px, calc(100vw - 12px)) !important;
  height: auto !important;
  max-height: min(250px, calc(100dvh - 12px)) !important;
  gap: 4px !important;
  padding: 4px !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"]>.modal-body-module {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 4px !important;
  display: block !important;
  overflow: visible !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .modal-module-card[data-module-panel="shared"] {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] #module-extra-fields:not([hidden]) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(3, max-content) !important;
  grid-auto-flow: row !important;
  gap: 4px var(--hs-gap) !important;
  align-items: end !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-row {
  display: contents !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  justify-self: stretch !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-option-row>.module-rule-control:has([data-module-option-field]) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:not(.module-rule-check) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: var(--hs-label-h) var(--hs-field-h) !important;
  gap: 2px !important;
  align-content: end !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control:not(.module-rule-check)>span:not(.visually-hidden) {
  min-width: 0 !important;
  min-height: var(--hs-label-h) !important;
  overflow: hidden !important;
  color: rgba(202, 211, 221, 0.7) !important;
  font-size: 8px !important;
  font-weight: 760 !important;
  letter-spacing: 0.015em !important;
  line-height: var(--hs-label-h) !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-rule-control :is(input:not([type="checkbox"]), select),
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .modal-number-stepper,
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .modal-number-stepper-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: var(--hs-field-h) !important;
  height: var(--hs-field-h) !important;
  max-height: var(--hs-field-h) !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-option-row>.module-rule-check.module-rule-check {
  min-width: 0 !important;
  min-height: var(--hs-field-h) !important;
  height: var(--hs-field-h) !important;
  max-height: var(--hs-field-h) !important;
  padding: 2px 6px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--toggle-width) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 6px !important;
  align-self: end !important;
  align-items: center !important;
  border-color: rgba(71, 89, 108, 0.58) !important;
  background: rgba(4, 9, 13, 0.74) !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-option-row>.module-rule-check.module-rule-check>input[type="checkbox"] {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-option-row>.module-rule-check.module-rule-check>span:not(.visually-hidden) {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(216, 224, 232, 0.78) !important;
  font-size: 8px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-rule-control:has([data-module-option-field="hasteWords"]) { grid-column: 1 / 9 !important; grid-row: 1 !important; }
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-rule-control:has([data-module-option-field="hasteHotkey"]) { grid-column: 9 / 13 !important; grid-row: 1 !important; }
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-rule-control:has([data-module-option-field="hasteMinMana"]) { grid-column: 1 / 3 !important; grid-row: 2 !important; }
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-rule-control:has([data-module-option-field="hasteMinManaPercent"]) { grid-column: 3 / 5 !important; grid-row: 2 !important; }
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-rule-control:has([data-module-option-field="hasteCooldownMs"]) { grid-column: 5 / 7 !important; grid-row: 2 !important; }
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-rule-control:has([data-module-option-field="hasteRequireNoTargets"]) { grid-column: 7 / 10 !important; grid-row: 2 !important; }
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-rule-control:has([data-module-option-field="hasteRequireStationary"]) { grid-column: 10 / 13 !important; grid-row: 2 !important; }
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-rule-control:has([data-module-option-field="hasteManaFluidEnabled"]) { grid-column: 1 / 4 !important; grid-row: 3 !important; }
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-rule-control:has([data-module-option-field="hasteManaFluidName"]) { grid-column: 4 / 8 !important; grid-row: 3 !important; }
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-rule-control:has([data-module-option-field="hasteManaFluidHotkey"]) { grid-column: 8 / 10 !important; grid-row: 3 !important; }
#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows .module-rule-control:has([data-module-option-field="hasteManaFluidCooldownMs"]) { grid-column: 10 / 13 !important; grid-row: 3 !important; }

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .field-note {
  display: none !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .modal-actions {
  min-height: 31px !important;
  padding: 4px 6px !important;
  gap: 5px !important;
  justify-content: flex-end !important;
}

#modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .modal-actions .btn {
  min-width: 64px !important;
  min-height: 23px !important;
  height: 23px !important;
  padding: 0 9px !important;
  font-size: 9px !important;
}

body:has(#modal-layer>#modal-module.open[data-active-module-key="haste"]) .hover-tooltip {
  display: none !important;
}

@media (max-width: 430px) {
  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
  }

  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-rows {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
  }

  #modal-layer>#modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="haste"] .module-option-row {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }

  #modal-layer>#modal-module[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field]) {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  #modal-layer>#modal-module[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteWords"]),
  #modal-layer>#modal-module[data-active-module-key="haste"] .module-rule-control:has([data-module-option-field="hasteManaFluidName"]) {
    grid-column: 1 / -1 !important;
  }
}

/* Unified Route workspace: Floor is the default route view, Tactical hosts the
   live Tactical controls, and Waypoints preserves the complete route editor. */
#modal-layer>#modal-autowalk.route-modal-panel {
  grid-template-rows: auto minmax(0, 1fr) !important;
}

#modal-layer>#modal-autowalk.route-modal-panel[data-route-module-view="waypoints"] {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
}

#modal-autowalk .route-module-tabs {
  min-width: 0;
  min-height: 34px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) 64px;
  gap: 4px;
  padding: 3px;
  border: 1px solid rgba(58, 70, 84, 0.92);
  border-radius: 6px;
  background: #080d12;
  -webkit-app-region: no-drag;
}

#modal-autowalk .route-module-tabs button {
  min-width: 0;
  min-height: 26px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  cursor: pointer;
}

#modal-autowalk .route-module-tabs button:hover,
#modal-autowalk .route-module-tabs button:focus-visible {
  color: var(--text);
  background: rgba(255, 255, 255, 0.045);
}

#modal-autowalk .route-module-tabs button[data-active="true"],
#modal-autowalk .route-module-tabs button[aria-selected="true"] {
  border-color: rgba(79, 208, 176, 0.5);
  background: rgba(79, 208, 176, 0.12);
  color: #c9eee5;
}

#modal-autowalk .route-module-tabs .route-module-close {
  border-color: rgba(214, 64, 58, 0.42);
  color: #ef9a94;
}

#modal-autowalk .route-navigation-workspace,
#modal-autowalk .route-navigation-host {
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

#modal-autowalk .route-navigation-workspace[hidden],
#modal-autowalk [data-route-waypoints-workspace][hidden] {
  display: none !important;
}

#modal-autowalk .route-navigation-host>.navigation-tactical-shell {
  min-height: 0;
  height: 100%;
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .navigation-tactical-main {
  grid-template-columns: minmax(0, 1fr);
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .navigation-tactical-battle {
  display: none;
}

@media (max-width: 800px) {
  #modal-autowalk .route-navigation-workspace {
    overflow-x: hidden;
    overflow-y: auto;
  }
}

/* NEWUI final cascade: the stylesheet has historical modal layers, so these
   owner-qualified selectors intentionally finish the cascade for touched UI. */
#modal-layer > #modal-module[data-active-module-key="runeMaker"] { width: min(920px, calc(100vw - 12px)) !important; height: fit-content !important; max-height: calc(100vh - 12px) !important; }
#modal-layer > #modal-module[data-active-module-key="manaTrainer"] { width: min(900px, calc(100vw - 12px)) !important; height: fit-content !important; max-height: calc(100vh - 12px) !important; }
#modal-layer > #modal-module[data-active-module-key="pkAssist"] { width: min(720px, calc(100vw - 12px)) !important; height: fit-content !important; max-height: calc(100vh - 12px) !important; }
#modal-layer > #modal-module[data-active-module-key="ringAutoReplace"] { width: min(620px, calc(100vw - 12px)) !important; height: fit-content !important; max-height: calc(100vh - 12px) !important; }
#modal-layer > #modal-module[data-active-module-key="trainer"] { width: min(1040px, calc(100vw - 12px)) !important; height: fit-content !important; max-height: calc(100vh - 12px) !important; }
#modal-layer > #modal-module:is([data-active-module-key="looting"], [data-active-module-key="antiParalyze"], [data-active-module-key="banking"]) { height: fit-content !important; max-height: calc(100vh - 12px) !important; }

#modal-layer > #modal-module.module-modal-compact.module-modal-settings-only[data-active-module-key="pkAssist"] { width: min(720px, calc(100vw - 12px)) !important; }
#modal-layer > #modal-module.module-modal-compact[data-active-module-key="ringAutoReplace"] { width: min(620px, calc(100vw - 12px)) !important; }
#modal-layer > #modal-module:is([data-active-module-key="pkAssist"], [data-active-module-key="looting"]) { grid-template-rows: auto minmax(0, 1fr) auto !important; overflow: hidden !important; }
#modal-layer > #modal-module:is([data-active-module-key="pkAssist"], [data-active-module-key="looting"]) > .modal-actions { position: static !important; inset: auto !important; transform: none !important; }

#modal-layer > #modal-module:is([data-active-module-key="runeMaker"], [data-active-module-key="manaTrainer"], [data-active-module-key="pkAssist"], [data-active-module-key="looting"], [data-active-module-key="trainer"]) .modal-body-module { min-height: 0 !important; overflow-x: hidden !important; overflow-y: auto !important; }
#modal-layer > #modal-module[data-active-module-key="runeMaker"] .rune-maker-layout { grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; }
#modal-layer > #modal-module[data-active-module-key="runeMaker"] .rune-maker-template-grid { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 5px !important; }
#modal-layer > #modal-module[data-active-module-key="runeMaker"] .module-rule-sections { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 6px !important; }
#modal-layer > #modal-module[data-active-module-key="runeMaker"] .module-rule-section { display: grid !important; grid-template-columns: 72px minmax(0, 1fr) !important; gap: 8px !important; }
#modal-layer > #modal-module[data-active-module-key="runeMaker"] .module-rule-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 6px !important; }
#modal-layer > #modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
#modal-layer > #modal-module[data-active-module-key="manaTrainer"] .mana-runemaking-rule .module-rule-sections { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 6px !important; }
#modal-layer > #modal-module[data-active-module-key="manaTrainer"] .mana-fluid-control-grid { grid-template-columns: .7fr 1.4fr .7fr .8fr .8fr auto auto !important; gap: 5px !important; }
#modal-layer > #modal-module[data-active-module-key="pkAssist"] .pk-assist-workspace-body .module-option-rows { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 7px !important; }
#modal-layer > #modal-module[data-active-module-key="pkAssist"] :is(.module-rule-check, .module-rule-check span) { white-space: nowrap !important; }
#modal-layer > #modal-module[data-active-module-key="ringAutoReplace"] .equipment-replace-slot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
#modal-layer > #modal-module[data-active-module-key="ringAutoReplace"] .equipment-replace-slot.is-off .equipment-replace-shell { display: none !important; }

@media (max-width: 720px), (max-height: 640px) {
  #modal-layer > #modal-module[data-active-module-key="runeMaker"] .rune-maker-template-grid,
  #modal-layer > #modal-module[data-active-module-key="runeMaker"] .module-rule-grid,
  #modal-layer > #modal-module[data-active-module-key="manaTrainer"] .mana-fluid-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #modal-layer > #modal-module[data-active-module-key="runeMaker"] .module-rule-section,
  #modal-layer > #modal-module[data-active-module-key="manaTrainer"] .mana-window-rule .module-rule-sections,
  #modal-layer > #modal-module[data-active-module-key="pkAssist"] .pk-assist-workspace-body .module-option-rows { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Route workspace density pass: navigation metadata belongs in the right rail,
   leaving the map as the dominant work surface. */
#modal-layer > #modal-autowalk.route-modal-panel {
  height: calc(100dvh - 12px) !important;
  max-height: calc(100dvh - 12px) !important;
}

#modal-autowalk .route-module-tabs {
  min-height: 36px;
  display: grid;
  grid-template-columns: minmax(0, 660px) auto;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 4px;
  border-color: rgba(70, 86, 102, 0.82);
  background: linear-gradient(180deg, rgba(19, 29, 37, 0.96), rgba(7, 12, 17, 0.98));
}

#modal-autowalk .route-module-tablist {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(110px, 1fr));
  gap: 4px;
}

#modal-autowalk .route-module-tabs .route-module-tablist > button {
  min-height: 26px;
}

#modal-autowalk .route-module-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}

#modal-autowalk .route-module-tabs .route-module-actions > button {
  min-width: 64px;
  min-height: 26px;
  height: 26px;
  padding: 0 11px;
  border-radius: 4px;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#modal-autowalk .route-module-tabs .route-module-save {
  display: none;
  border-color: rgba(114, 191, 79, 0.78) !important;
  background: #173018 !important;
  color: #e9ffdf !important;
}

#modal-autowalk[data-route-module-view="waypoints"] .route-module-tabs .route-module-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#modal-autowalk .route-module-tabs .route-module-close {
  border-color: rgba(214, 64, 58, 0.58) !important;
  background: rgba(68, 20, 18, 0.62) !important;
  color: #f3aaa4 !important;
}

#modal-autowalk .route-module-tabs .route-module-stop {
  border-color: rgba(216, 190, 120, 0.52) !important;
  background: rgba(69, 55, 24, 0.56) !important;
  color: #ead89d !important;
}

#modal-autowalk .route-module-tabs .route-module-save:hover:not(:disabled),
#modal-autowalk .route-module-tabs .route-module-save:focus-visible {
  border-color: #88d462 !important;
  background: #1e3d1f !important;
  color: #f4ffe8 !important;
}

#modal-autowalk .route-module-tabs .route-module-close:hover:not(:disabled),
#modal-autowalk .route-module-tabs .route-module-close:focus-visible {
  border-color: #e5645c !important;
  background: rgba(104, 27, 23, 0.76) !important;
  color: #ffe0dd !important;
}

#modal-autowalk .route-module-tabs .route-module-stop:hover:not(:disabled),
#modal-autowalk .route-module-tabs .route-module-stop:focus-visible {
  border-color: #e0ca84 !important;
  background: rgba(91, 72, 28, 0.76) !important;
  color: #fff0b8 !important;
}

/* Tactical: map left; compact sessions, battle, chat and loot at right. */
#modal-autowalk .route-navigation-host > .navigation-tactical-shell {
  grid-template-columns: minmax(540px, 58fr) minmax(390px, 42fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
}

#modal-autowalk .navigation-tactical-shell > .navigation-tactical-header {
  grid-column: 2;
  grid-row: 1;
  min-height: 0;
  align-items: start;
  gap: 6px;
  padding: 5px;
}

#modal-autowalk .navigation-tactical-shell > .navigation-tactical-main {
  display: contents;
}

#modal-autowalk .navigation-tactical-shell .navigation-tactical-canvas-col {
  grid-column: 1;
  grid-row: 1 / 3;
}

#modal-autowalk .navigation-tactical-shell .navigation-tactical-live-frame {
  place-self: center;
  width: 100%;
  height: auto;
  max-height: 100%;
}

#modal-autowalk .navigation-tactical-header .navigation-tactical-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px;
  max-height: 78px;
  overflow-x: hidden;
  overflow-y: auto;
}

#modal-autowalk .navigation-tactical-header .navigation-tactical-tab {
  width: 100%;
  max-width: none;
  height: 23px;
  padding: 0 7px;
  gap: 5px;
  border-radius: 4px;
  font-size: 10px;
}

#modal-autowalk .navigation-tactical-header-tools {
  gap: 4px;
}

#modal-autowalk .navigation-tactical-header-tools .navigation-tactical-icon-button {
  height: 25px;
}

#modal-autowalk .navigation-tactical-header-tools .navigation-tactical-icon-button:not(.navigation-tactical-stop) {
  width: 25px;
}

#modal-autowalk .navigation-tactical-header-tools .navigation-tactical-stop {
  padding: 0 8px;
}

#modal-autowalk .navigation-tactical-shell .navigation-tactical-battle {
  grid-column: 2;
  grid-row: 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 6px 8px;
  overflow: hidden;
}

#modal-autowalk .navigation-tactical-battle-list {
  grid-column: 1 / -1;
  grid-row: 1;
}

#modal-autowalk .navigation-tactical-chat {
  grid-column: 1;
  grid-row: 2;
}

#modal-autowalk .navigation-tactical-loot {
  grid-column: 2;
  grid-row: 2;
}

#modal-autowalk .navigation-tactical-chat-list,
#modal-autowalk .navigation-tactical-loot-list {
  max-height: 112px;
}

#modal-autowalk .navigation-tactical-loot-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 8px;
}

#modal-autowalk .tactical-loot-empty {
  grid-column: 1 / -1;
}

#modal-autowalk .tactical-chat-row[data-tone="item-use"] .tactical-chat-text {
  color: var(--tactical-teal);
  font-weight: 700;
}

/* Floor: promote the map's toolbar, metrics, legend, and session picker into a
   narrow right rail. display:contents is limited to this layout mode. */
#modal-autowalk .navigation-tactical-shell[data-map-view="full"] {
  grid-template-columns: minmax(0, 1fr) clamp(280px, 25vw, 360px);
  grid-template-rows: auto auto auto minmax(0, 1fr) auto auto;
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] > .navigation-tactical-header {
  grid-column: 2;
  grid-row: 1;
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .navigation-tactical-main,
#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .navigation-tactical-canvas-col,
#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .whole-floor-map {
  display: contents;
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .whole-floor-map-toolbar {
  grid-column: 2;
  grid-row: 2;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  padding: 7px;
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .whole-floor-map-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .whole-floor-map-metrics {
  grid-column: 2;
  grid-row: 3;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .whole-floor-map-metrics > span:last-child {
  grid-column: 1 / -1;
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .whole-floor-map-walk-status {
  grid-column: 2;
  grid-row: 4;
  padding: 2px 4px;
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .whole-floor-map-viewport {
  grid-column: 1;
  grid-row: 1 / 5;
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .whole-floor-map-legend {
  grid-column: 1;
  grid-row: 5;
  align-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 3px 9px;
  padding: 2px 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .whole-floor-creature-list {
  grid-column: 1;
  grid-row: 6;
}

#modal-autowalk .navigation-tactical-shell[data-map-view="full"] .navigation-tactical-tabs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: 102px;
}

@media (max-width: 900px) {
  #modal-autowalk .route-module-tabs {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  #modal-autowalk .route-navigation-host > .navigation-tactical-shell {
    height: auto;
    min-height: 100%;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    overflow-y: auto;
  }

  #modal-autowalk .navigation-tactical-shell > .navigation-tactical-header {
    grid-column: 1;
    grid-row: 1;
  }

  #modal-autowalk .navigation-tactical-shell > .navigation-tactical-main {
    grid-column: 1;
    grid-row: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
  }

  #modal-autowalk .navigation-tactical-shell .navigation-tactical-canvas-col,
  #modal-autowalk .navigation-tactical-shell .navigation-tactical-battle {
    grid-column: 1;
    grid-row: auto;
  }

  #modal-autowalk .navigation-tactical-shell[data-map-view="full"] .navigation-tactical-canvas-col,
  #modal-autowalk .navigation-tactical-shell[data-map-view="full"] .whole-floor-map {
    display: grid;
  }

  #modal-autowalk .navigation-tactical-shell[data-map-view="full"] .whole-floor-map {
    grid-template-rows: auto auto auto minmax(360px, 1fr) auto;
  }

  #modal-autowalk .navigation-tactical-shell[data-map-view="full"] :is(
    .whole-floor-map-toolbar,
    .whole-floor-map-metrics,
    .whole-floor-map-walk-status,
    .whole-floor-map-viewport,
    .whole-floor-map-legend
  ) {
    grid-column: auto;
    grid-row: auto;
  }

  #modal-autowalk .navigation-tactical-header .navigation-tactical-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #modal-autowalk .navigation-tactical-shell .navigation-tactical-battle {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(180px, auto) auto auto;
    overflow: visible;
  }

  #modal-autowalk .navigation-tactical-battle-list,
  #modal-autowalk .navigation-tactical-chat,
  #modal-autowalk .navigation-tactical-loot {
    grid-column: 1;
    grid-row: auto;
  }

  #modal-autowalk .navigation-tactical-loot-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Route header restyle: the two header rows were shouty and cramped — the tab
   strip stretched three all-caps tabs across 660px, the action buttons were
   filled blocks, and row two hid Load/Rename/Blank draft *inside* the inputs.
   Tabs and actions are now content-sized sentence-case controls on the house
   button palette, and row two lays its buttons out beside their fields. */
#modal-layer > #modal-autowalk.route-modal-panel {
  --route-header-control-height: 22px;
}

#modal-layer > #modal-autowalk .route-module-tabs {
  min-height: 30px !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  justify-content: stretch !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 3px 4px !important;
  border-radius: 6px !important;
}

#modal-layer > #modal-autowalk .route-module-tablist {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 2px !important;
}

#modal-layer > #modal-autowalk .route-module-tabs button {
  min-width: 0 !important;
  height: var(--route-header-control-height) !important;
  min-height: var(--route-header-control-height) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

#modal-layer > #modal-autowalk .route-module-tabs .route-module-tablist > button {
  padding: 0 14px !important;
  border-color: transparent !important;
  background: transparent !important;
  color: rgba(180, 192, 205, 0.82) !important;
}

#modal-layer > #modal-autowalk .route-module-tabs .route-module-tablist > button:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.05) !important;
  color: #e6ecf2 !important;
}

#modal-layer > #modal-autowalk .route-module-tabs .route-module-tablist > button[aria-selected="true"] {
  border-color: rgba(79, 208, 176, 0.42) !important;
  background: rgba(79, 208, 176, 0.1) !important;
  color: #cdeee6 !important;
}

#modal-layer > #modal-autowalk .route-module-actions {
  justify-self: end !important;
  gap: 5px !important;
}

#modal-layer > #modal-autowalk .route-module-tabs .route-module-actions > button {
  width: auto !important;
  min-width: 0 !important;
  padding: 0 11px !important;
  border: 1px solid #323232 !important;
  background: #151515 !important;
  color: #ececec !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

#modal-layer > #modal-autowalk .route-module-tabs .route-module-actions > button:hover:not(:disabled) {
  border-color: #5e5a52 !important;
  background: #1c1c1c !important;
}

#modal-layer > #modal-autowalk .route-module-tabs .route-module-stop {
  border-color: rgba(170, 143, 84, 0.6) !important;
  background: #151515 !important;
  color: #e2cf9a !important;
}

#modal-layer > #modal-autowalk .route-module-tabs .route-module-save {
  border-color: rgba(104, 160, 92, 0.62) !important;
  background: #151515 !important;
  color: #cfe9bf !important;
}

#modal-layer > #modal-autowalk .route-module-tabs .route-module-close {
  border-color: rgba(168, 82, 76, 0.62) !important;
  background: #151515 !important;
  color: #eaa9a3 !important;
}

#modal-layer > #modal-autowalk .route-module-tabs .route-module-stop:hover:not(:disabled),
#modal-layer > #modal-autowalk .route-module-tabs .route-module-stop:focus-visible {
  border-color: #d8be78 !important;
  background: #1d1a12 !important;
  color: #ffeeb8 !important;
}

#modal-layer > #modal-autowalk .route-module-tabs .route-module-save:hover:not(:disabled),
#modal-layer > #modal-autowalk .route-module-tabs .route-module-save:focus-visible {
  border-color: #86c86e !important;
  background: #141d12 !important;
  color: #e9ffdd !important;
}

#modal-layer > #modal-autowalk .route-module-tabs .route-module-close:hover:not(:disabled),
#modal-layer > #modal-autowalk .route-module-tabs .route-module-close:focus-visible {
  border-color: #d6635b !important;
  background: #1f1211 !important;
  color: #ffdbd7 !important;
}

/* Row two: three breathing fields — library, file meta, route name. */
#modal-layer > #modal-autowalk .route-toolbar-row,
#modal-layer > #modal-autowalk .route-modal-head-grid {
  grid-template-columns: minmax(200px, 0.7fr) minmax(280px, 1.3fr) minmax(320px, 0.95fr) !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 4px 0 0 !important;
}

/* These header fields are toolbar cells, not menu labels, so the shared
   220px menu-control clamp must not apply to them. */
#modal-layer > #modal-autowalk .route-modal-head-grid > .route-head-field,
#modal-layer > #modal-autowalk .route-toolbar-row > .route-head-field {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
}

#modal-layer > #modal-autowalk .route-library-select-wrap,
#modal-layer > #modal-autowalk .route-name-input-wrap {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  height: var(--route-modal-control-height) !important;
  min-height: var(--route-modal-control-height) !important;
}

#modal-layer > #modal-autowalk .route-library-select-wrap select,
#modal-layer > #modal-autowalk .route-name-input-wrap input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 0 8px !important;
  font-size: 11px !important;
}

/* The wrap no longer overlays the Load button, so the select gets its caret back. */
#modal-layer > #modal-autowalk .route-library-select-wrap select {
  padding-right: 20px !important;
  background-image: linear-gradient(45deg, transparent 50%, #94a2b1 50%),
    linear-gradient(135deg, #94a2b1 50%, transparent 50%) !important;
  background-repeat: no-repeat !important;
  background-position: calc(100% - 10px) 50%, calc(100% - 6px) 50% !important;
  background-size: 4px 4px, 4px 4px !important;
}

#modal-layer > #modal-autowalk #load-route.route-load-button,
#modal-layer > #modal-autowalk .route-name-input-wrap .route-rename-button,
#modal-layer > #modal-autowalk .route-name-input-wrap .route-blank-button {
  position: static !important;
  inset: auto !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: var(--route-header-control-height) !important;
  min-height: var(--route-header-control-height) !important;
  padding: 0 11px !important;
  border: 1px solid #323232 !important;
  border-radius: 4px !important;
  background: #151515 !important;
  color: #ececec !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

#modal-layer > #modal-autowalk #load-route.route-load-button {
  border-color: rgba(91, 140, 190, 0.6) !important;
  color: #d4e6f7 !important;
}

#modal-layer > #modal-autowalk #load-route.route-load-button:hover:not(:disabled),
#modal-layer > #modal-autowalk #load-route.route-load-button:focus-visible {
  border-color: #6fa8dd !important;
  background: #121a22 !important;
  color: #eef7ff !important;
}

#modal-layer > #modal-autowalk .route-name-input-wrap .route-rename-button:hover:not(:disabled),
#modal-layer > #modal-autowalk .route-name-input-wrap .route-blank-button:hover:not(:disabled) {
  border-color: #5e5a52 !important;
  background: #1c1c1c !important;
}

#modal-layer > #modal-autowalk .route-file-info-block {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: var(--route-modal-control-height) !important;
  min-height: var(--route-modal-control-height) !important;
  padding: 0 8px !important;
  border-radius: 4px !important;
}

#modal-layer > #modal-autowalk .route-file-info-block strong {
  flex: 0 0 auto !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#modal-layer > #modal-autowalk .route-file-info-block > #route-file-path {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
  color: rgba(200, 210, 220, 0.72) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 1120px) {
  #modal-layer > #modal-autowalk .route-toolbar-row,
  #modal-layer > #modal-autowalk .route-modal-head-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
}

@media (max-width: 900px) {
  #modal-layer > #modal-autowalk .route-module-tabs {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 4px !important;
  }

  #modal-layer > #modal-autowalk .route-module-actions {
    justify-self: stretch !important;
    justify-content: flex-start !important;
  }
}

/* Website replica contract: every desktop lateral panel opens from the left.
   Keep the copied renderer's state machine and move only the detached surface
   geometry so the iframe can sit directly over the website hero image. */
.window-frame:has(> .app:not([data-view-mode="compact"]):is(
  [data-battle-panel="open"],
  [data-side-panel="logs"],
  [data-side-panel="route"],
  [data-side-panel="global"],
  [data-side-panel="client"],
  [data-side-panel="special"]
)) {
  justify-content: center !important;
  overflow: hidden !important;
}

.window-frame > .app:not([data-view-mode="compact"]):is(
  [data-battle-panel="open"],
  [data-side-panel="logs"],
  [data-side-panel="route"],
  [data-side-panel="global"],
  [data-side-panel="client"],
  [data-side-panel="special"]
) {
  --desk-left-side-panel-total-width: 0px;
  --desk-left-panel-total-width: var(--desk-battle-panel-total-width);
  flex: 0 0 min(var(--desk-shell-width), 100vw) !important;
  width: min(var(--desk-shell-width), 100vw) !important;
  max-width: min(var(--desk-shell-width), 100vw) !important;
  margin-left: var(--desk-left-panel-total-width) !important;
  margin-right: 0 !important;
  overflow: visible !important;
  contain: none !important;
}

.window-frame > .app:not([data-view-mode="compact"]):is(
  [data-side-panel="logs"],
  [data-side-panel="route"],
  [data-side-panel="global"],
  [data-side-panel="client"],
  [data-side-panel="special"]
) {
  --desk-left-side-panel-total-width: calc(var(--desk-side-panel-width) + var(--desk-side-panel-gap));
  --desk-left-panel-total-width: calc(
    var(--desk-battle-panel-total-width) + var(--desk-left-side-panel-total-width)
  );
}

.window-frame > .app:not([data-view-mode="compact"])[data-battle-panel="open"] {
  --desk-battle-panel-total-width: calc(var(--desk-battle-panel-width) + var(--desk-battle-panel-gap));
}

.window-frame > .app:not([data-view-mode="compact"]):is(
  [data-side-panel="logs"],
  [data-side-panel="route"],
  [data-side-panel="global"],
  [data-side-panel="client"],
  [data-side-panel="special"]
) .right-column {
  top: var(--desk-side-panel-top-offset) !important;
  right: calc(100% + var(--desk-side-panel-gap)) !important;
  bottom: var(--desk-side-panel-bottom-offset) !important;
  left: auto !important;
  width: var(--desk-side-panel-visible-width) !important;
  min-width: var(--desk-side-panel-visible-width) !important;
  max-width: var(--desk-side-panel-visible-width) !important;
  height: auto !important;
  transform: none !important;
}

.window-frame > .app:not([data-view-mode="compact"])[data-battle-panel="open"] #battle-column-content {
  top: var(--desk-side-panel-top-offset) !important;
  right: calc(100% + var(--desk-battle-panel-gap) + var(--desk-left-side-panel-total-width)) !important;
  bottom: var(--desk-side-panel-bottom-offset) !important;
  left: auto !important;
  width: min(var(--desk-battle-panel-width), 100vw) !important;
  max-width: min(var(--desk-battle-panel-width), 100vw) !important;
  height: auto !important;
  transform: none !important;
}

@media (max-width: 640px) {
  .window-frame > .app:not([data-view-mode="compact"]):is(
    [data-battle-panel="open"],
    [data-side-panel="logs"],
    [data-side-panel="route"],
    [data-side-panel="global"],
    [data-side-panel="client"],
    [data-side-panel="special"]
  ) {
    margin-left: 0 !important;
  }

  .window-frame > .app:not([data-view-mode="compact"]):is(
    [data-side-panel="logs"],
    [data-side-panel="route"],
    [data-side-panel="global"],
    [data-side-panel="client"],
    [data-side-panel="special"]
  ) .right-column {
    left: 0 !important;
    transform: none !important;
    width: min(var(--desk-side-panel-width), 100%) !important;
    min-width: 0 !important;
  }

  .window-frame > .app:not([data-view-mode="compact"])[data-battle-panel="open"] #battle-column-content {
    left: 0 !important;
    transform: none !important;
    width: min(var(--desk-battle-panel-width), 100%) !important;
  }
}

/* Embedded public-site presentation: keep the console surface content-sized. */
.window-frame > .app {
  align-self: flex-start;
  position: absolute !important;
  top: 168px !important;
  left: calc(50% + 5px) !important;
  width: min(var(--desk-shell-width), 100vw) !important;
  max-width: min(var(--desk-shell-width), 100vw) !important;
  transform: translateX(-50%) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  background: #050505 !important;
  border-color: #252525 !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.44) !important;
}

/* Keep the main console anchored when a right-side panel is opened. */
.window-frame:has(> .app:not([data-view-mode="compact"]):is(
  [data-battle-panel="open"],
  [data-side-panel="logs"],
  [data-side-panel="route"],
  [data-side-panel="global"],
  [data-side-panel="client"],
  [data-side-panel="special"]
)) {
  justify-content: center !important;
  overflow: visible !important;
}

.window-frame > .app:not([data-view-mode="compact"]):is(
  [data-battle-panel="open"],
  [data-side-panel="logs"],
  [data-side-panel="route"],
  [data-side-panel="global"],
  [data-side-panel="client"],
  [data-side-panel="special"]
) {
  flex: 0 0 min(var(--desk-shell-width), 100vw) !important;
  width: min(var(--desk-shell-width), 100vw) !important;
  max-width: min(var(--desk-shell-width), 100vw) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
}

/* Open auxiliary console panels on the GUI's right side when embedded. */
.window-frame > .app:not([data-view-mode="compact"]):is(
  [data-side-panel="logs"],
  [data-side-panel="route"],
  [data-side-panel="global"],
  [data-side-panel="client"],
  [data-side-panel="special"]
) .right-column {
  right: auto !important;
  left: calc(100% + var(--desk-side-panel-gap)) !important;
}

.window-frame > .app:not([data-view-mode="compact"])[data-battle-panel="open"] #battle-column-content {
  right: auto !important;
  left: calc(100% + var(--desk-battle-panel-gap)) !important;
}
