/* Antibot uses the Healer/Mana family panels and compact header rhythm. */

/* This is a stacked editor, not a full-height workspace. The shared module
   shell otherwise leaves a large empty body below the five panels. */
:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] {
  --modal-stepper-height: 26px;
  --modal-stepper-width: 52px;
  width: min(472px, calc(100vw - 16px)) !important;
  max-width: min(472px, calc(100vw - 16px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 16px) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] > .modal-body-module {
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 72px) !important;
  overflow-y: auto !important;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .modal-module-card[data-module-panel="shared"] {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] :is(#module-extra-fields, [data-replica-id="module-extra-fields"]):not([hidden]) {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.antibot-shell {
  min-width: 0;
  display: grid;
  gap: 8px;
  align-content: start;
}

.antibot-ai-settings {
  min-width: 0;
  display: grid;
  gap: 6px;
  padding: 4px 8px;
  border: 1px solid var(--modal-color-line);
  border-radius: 6px;
  background: var(--modal-color-panel);
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-panel {
  box-sizing: border-box;
  min-width: 0;
  height: 34px;
  min-height: 34px;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: none;
  align-content: start;
  gap: 6px;
  padding: 3px 8px;
  border-radius: 6px;
  border-color: var(--modal-color-line);
  background: var(--modal-color-panel);
  box-shadow: none;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-panel:has(> .antibot-panel-head input:checked) {
  height: auto;
}

.antibot-panel-head {
  min-width: 0;
  min-height: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-panel-content {
  min-width: 0;
  display: none;
  gap: 6px;
  padding: 3px 0 5px;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-panel:has(> .antibot-panel-head input:checked) > .antibot-panel-content {
  display: grid;
}

.antibot-header-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-panel:has(> .antibot-panel-head input:not(:checked)) .antibot-header-actions {
  display: none;
}

.antibot-header-actions .btn {
  height: 22px;
  min-height: 22px;
}

.antibot-panel .healer-family-title {
  color: var(--modal-color-title);
  font-size: 11px;
  line-height: 1.15;
}

.antibot-panel .healer-family-status {
  color: var(--modal-color-muted);
  font-size: 10px;
  line-height: 1.2;
}

.antibot-fields {
  min-width: 0;
  display: flex;
  align-items: end;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 6px;
}

.antibot-switches {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
  gap: 6px;
}

.antibot-rogue-switches {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-field {
  min-width: 0;
  display: grid;
  gap: 3px;
  color: var(--modal-color-label);
  font-size: 10px;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-field:has(input[type="number"]) {
  width: 60px;
}

.antibot-field > span {
  white-space: nowrap;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-field:has(select) {
  width: 132px;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-shell :is(input:not([type="checkbox"]), select) {
  box-sizing: border-box;
  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;
}

.antibot-field > :is(input, select) {
  width: 100%;
  min-width: 0;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-field :is(.modal-number-stepper, .modal-number-stepper-input) {
  box-sizing: border-box;
  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;
}

.antibot-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 4px;
  max-height: 220px;
  overflow-y: auto;
}

.antibot-row {
  min-width: 0;
  padding: 5px 7px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid var(--modal-color-line);
  border-radius: 4px;
  background: var(--modal-color-panel);
}

.antibot-row.tone-danger {
  border-color: rgba(187, 109, 88, 0.55);
}

.antibot-row.tone-warning {
  border-color: rgba(247, 213, 138, 0.45);
}

.antibot-row.tone-safe {
  border-color: rgba(143, 190, 100, 0.4);
}

.antibot-row-main {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.antibot-row-main strong {
  color: var(--text);
  font-size: 11px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.antibot-row-main small,
.antibot-empty {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.antibot-badge {
  flex: none;
  padding: 2px 6px;
  border: 1px solid rgba(187, 109, 88, 0.55);
  color: var(--text);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.antibot-add {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 6px;
}

.antibot-add input {
  min-width: 0;
  min-height: 26px;
  height: 26px;
}

.antibot-key {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 0;
}

.antibot-key-heading,
.antibot-key-controls {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.antibot-key-heading {
  justify-content: space-between;
  color: var(--modal-color-title);
  font-size: 10px;
  font-weight: 700;
}

.antibot-key-heading span,
.antibot-key small {
  color: var(--modal-color-muted);
  font-size: 10px;
  font-weight: 400;
}

.antibot-key-controls input {
  box-sizing: border-box;
  min-width: 0;
  flex: 1;
  height: 26px;
}

.antibot-key-controls :is(button, a[data-replica-control]) {
  flex: none;
}

.antibot-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: none;
}

.antibot-facts {
  margin: 0;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 3px 10px;
  font-size: 11px;
}

.antibot-facts dt {
  color: var(--muted);
}

.antibot-facts dd {
  margin: 0;
  color: var(--text);
  overflow-wrap: anywhere;
}

.antibot-notice {
  margin: 0;
  padding: 5px 8px;
  border: 1px solid rgba(247, 213, 138, 0.42);
  color: var(--text);
  font-size: 11px;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-toggle {
  min-width: 0;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  height: 26px;
  min-height: 26px;
  display: flex;
  flex-direction: row !important;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 2px 5px;
  border: 1px solid var(--modal-color-line);
  border-radius: 4px;
  background: var(--modal-color-panel);
}

.antibot-toggle > span {
  order: -1;
  white-space: nowrap;
  color: var(--modal-color-title);
  font-size: 10px;
  font-weight: 700;
}

.antibot-toggle > input {
  flex: none;
  margin-left: auto;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-header-toggle {
  flex: none;
  width: auto;
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

/* Flat reply switch row; disclosure wrappers carry state without adding cards. */
:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-replies {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-key {
  grid-column: 1 / -1;
  gap: 4px;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-replies:not(:has(> .antibot-toggle [data-module-option-field="autoTalkEnabled"]:checked)) > .antibot-toggle:has([data-module-option-field="autoTalkGodChatEnabled"]) {
  display: none;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-staff {
  min-width: 0;
  display: grid;
  gap: 4px;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-staff > .antibot-toggle {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
}

/* One alarm table: range, floors, sound, volume share fixed column positions. */
:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-alarm-settings .antibot-fields {
  display: grid;
  grid-template-columns: 60px 60px minmax(0, 1fr) 60px;
  gap: 6px;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-alarm-settings .antibot-field {
  width: 100%;
}

.antibot-alarm-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  align-items: end;
  gap: 6px;
}

.antibot-alarm-row > .healer-family-title {
  align-self: end;
  height: 26px;
  display: flex;
  align-items: center;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-alarm-row > .antibot-fields {
  grid-template-columns: minmax(0, 1fr) 60px;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-replies:not(:has(> .antibot-toggle [data-module-option-field="autoTalkEnabled"]:checked)) {
  grid-template-columns: minmax(0, 1fr);
}

[data-antibot-live="captcha"]:empty {
  display: none;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-panel-content:not(:has([data-module-option-field="rogueNpcItemAct"]:checked)) > .antibot-item-detail {
  display: none;
}

:is(#modal-layer, [data-replica-id="modal-layer"]) > :is(#modal-module, [data-replica-id="modal-module"])[data-active-module-key="antibot"] .antibot-shell [hidden] {
  display: none !important;
}

.antibot-panel-content > .looting-card-copy {
  margin: 0;
}
