.unit-card {
  position: relative;
  overflow: visible;
  border: 1px solid var(--wm-color-border-dark-500);
  border-radius: 10px;
  background: linear-gradient(180deg, var(--wm-color-surface-dark-700) 0%, var(--wm-color-surface-dark-200) 100%);
  box-shadow: 0 12px 26px var(--wm-overlay-black-35), inset 0 1px 0 var(--wm-overlay-white-05);
  color: var(--wm-color-text-primary);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.unit-card:hover, .unit-card:focus-within {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--wm-color-accent-primary) 52%, var(--wm-color-border-dark-500));
  box-shadow: 0 18px 34px var(--wm-overlay-black-45), 0 0 0 1px var(--wm-overlay-accent-20);
}
.unit-card--busy {
  border-color: color-mix(in srgb, var(--wm-color-danger) 44%, var(--wm-color-border-dark-500));
}
.unit-card--near {
  box-shadow: 0 12px 28px var(--wm-overlay-black-35), 0 0 0 1px var(--wm-overlay-accent-20);
}
.unit-card__inner {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
}
.unit-card__header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: start;
}
.unit-card__icon-wrap {
  display: grid;
  justify-items: center;
  gap: 0.35rem;
}
.unit-card__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(180deg, var(--wm-overlay-warning-25), var(--wm-overlay-black-10));
  color: color-mix(in srgb, var(--wm-color-warning) 78%, white);
  box-shadow: inset 0 1px 0 var(--wm-overlay-white-08), 0 6px 14px var(--wm-overlay-black-30);
}
.unit-card__type-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.2rem;
  padding: 0 0.42rem;
  border-radius: 999px;
  border: 1px solid var(--wm-overlay-white-08);
  background: var(--wm-overlay-black-25);
  color: var(--wm-color-text-80);
  font: 700 0.58rem/1 "Rajdhani", var(--wm-font-family-base);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.unit-card__title-block {
  min-width: 0;
  display: grid;
  gap: 0.45rem;
}
.unit-card__title-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}
.unit-card__name {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: 600 1.1rem/1 "Rajdhani", var(--wm-font-family-base);
  text-align: left;
}
.unit-card__name-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.unit-card__rename-icon, .unit-card__admin-link {
  color: var(--wm-color-text-60);
  font-size: 0.78rem;
  transition: color 0.16s ease;
}
.unit-card__name:hover .unit-card__rename-icon, .unit-card__admin-link:hover {
  color: var(--wm-color-accent-primary);
}
.unit-card__level {
  flex: 0 0 auto;
  padding: 0.12rem 0.38rem;
  border-radius: 0.42rem;
  background: color-mix(in srgb, var(--wm-color-accent-primary) 22%, transparent);
  color: color-mix(in srgb, var(--wm-color-accent-primary) 82%, white);
  font: 700 0.78rem/1.1 "Rajdhani", var(--wm-font-family-base);
  letter-spacing: 0.03em;
}
.unit-card__xp-track {
  position: relative;
  overflow: hidden;
  height: 4px;
  border-radius: 999px;
  background: var(--wm-overlay-black-45);
}
.unit-card__xp-bar {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, color-mix(in srgb, var(--wm-color-success) 92%, white), color-mix(in srgb, var(--wm-color-accent-primary) 56%, var(--wm-color-success)));
  box-shadow: 0 0 10px var(--wm-overlay-success-50);
}
.unit-card__badges {
  display: grid;
  justify-items: end;
  gap: 0.42rem;
}
.unit-card__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.45rem;
  padding: 0.1rem 0.58rem;
  border-radius: 0.45rem;
  border: 1px solid var(--wm-overlay-white-08);
  font: 700 0.76rem/1 "Rajdhani", var(--wm-font-family-base);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.unit-card__badge--state-attacking {
  background: color-mix(in srgb, var(--wm-color-danger) 24%, transparent);
  border-color: color-mix(in srgb, var(--wm-color-danger) 48%, transparent);
  color: color-mix(in srgb, var(--wm-color-danger) 76%, white);
}
.unit-card__badge--state-moving, .unit-card__badge--state-defending, .unit-card__badge--state-idle {
  background: var(--wm-overlay-black-25);
  color: var(--wm-color-text-85);
}
.unit-card__badge--rarity-common {
  background: color-mix(in srgb, var(--wm-color-warning) 24%, transparent);
  border-color: color-mix(in srgb, var(--wm-color-warning) 50%, transparent);
  color: color-mix(in srgb, var(--wm-color-warning) 86%, white);
}
.unit-card__badge--rarity-rare {
  background: color-mix(in srgb, var(--wm-color-accent-primary) 24%, transparent);
  border-color: color-mix(in srgb, var(--wm-color-accent-primary) 50%, transparent);
  color: color-mix(in srgb, var(--wm-color-accent-primary) 86%, white);
}
.unit-card__badge--rarity-epic, .unit-card__badge--rarity-legendary, .unit-card__badge--rarity-uncommon {
  background: color-mix(in srgb, var(--wm-color-accent-tertiary) 28%, transparent);
  border-color: color-mix(in srgb, var(--wm-color-accent-tertiary) 50%, transparent);
  color: color-mix(in srgb, var(--wm-color-accent-tertiary) 90%, white);
}
.unit-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  align-items: center;
  min-width: 0;
}
.unit-card__stat {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--wm-color-text-90);
  font: 700 1rem/1 "Share Tech Mono", var(--wm-font-family-mono);
}
.unit-card__stat i {
  color: var(--wm-color-text-70);
  font-size: 0.86rem;
}
.unit-card__distance {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.55rem;
}
.unit-card__distance-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.46rem 0.65rem;
  border: 1px solid var(--wm-overlay-white-08);
  border-radius: 0.48rem;
  background: var(--wm-overlay-black-20);
}
.unit-card__distance-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
  color: var(--wm-color-text-60);
  font: 700 0.72rem/1 "Rajdhani", var(--wm-font-family-base);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.unit-card__distance-value {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  justify-content: flex-end;
  min-width: 0;
  color: var(--wm-color-text-90);
  font: 700 0.98rem/1 "Share Tech Mono", var(--wm-font-family-mono);
}
.unit-card__target-row {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.6rem 0.72rem;
  border: 1px solid color-mix(in srgb, var(--wm-color-danger) 42%, transparent);
  border-radius: 0.48rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--wm-color-danger) 12%, transparent), color-mix(in srgb, var(--wm-overlay-black-45) 82%, transparent));
  box-shadow: inset 0 1px 0 var(--wm-overlay-white-04);
}
.unit-card--attacking .unit-card__target-row {
  display: flex;
}
.unit-card--moving .unit-card__target-row--movement {
  display: flex;
}
.unit-card__target-row--movement {
  border-color: color-mix(in srgb, var(--wm-color-accent-primary) 42%, transparent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--wm-color-accent-primary) 10%, transparent), color-mix(in srgb, var(--wm-overlay-black-45) 82%, transparent));
}
.unit-card__target-main, .unit-card__target-eta-wrap {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}
.unit-card__target-label, .unit-card__target-eta-label {
  color: color-mix(in srgb, var(--wm-color-danger) 70%, white);
  font: 600 0.66rem/1 "Rajdhani", var(--wm-font-family-base);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.unit-card__target-row--movement .unit-card__target-label, .unit-card__target-row--movement .unit-card__target-eta-label {
  color: color-mix(in srgb, var(--wm-color-accent-primary) 72%, white);
}
.unit-card__target-name, .unit-card__target-eta {
  color: var(--wm-color-text-primary);
  font: 500 0.96rem/1 "Share Tech Mono", var(--wm-font-family-mono);
}
.unit-card__target-jump {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--wm-color-accent-primary) 34%, transparent);
  background: color-mix(in srgb, var(--wm-color-accent-primary) 18%, transparent);
  color: var(--wm-color-text-primary);
}
.unit-card__target-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.unit-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.unit-card__meta-pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.4rem;
  padding: 0.12rem 0.48rem;
  border-radius: 999px;
  background: var(--wm-overlay-black-25);
  border: 1px solid var(--wm-overlay-white-08);
  color: var(--wm-color-text-70);
  font: 600 0.7rem/1.1 "Rajdhani", var(--wm-font-family-base);
}
.unit-card__actions {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.34rem;
  min-width: 0;
}
.unit-card__action-group {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.34rem;
  min-width: 0;
}
.unit-card__action-group.is-visible:not(.is-first-visible) {
  padding-left: 0.58rem;
  margin-left: 0.06rem;
}
.unit-card__action-group.is-visible:not(.is-first-visible)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 18px;
  transform: translateY(-50%);
  background: linear-gradient(180deg, transparent 0%, var(--wm-overlay-white-18) 20%, var(--wm-overlay-white-18) 80%, transparent 100%);
}
.unit-card__action-group:not([hidden]) + .unit-card__action-group:not([hidden]) {
  padding-left: 0.58rem;
  margin-left: 0.06rem;
}
.unit-card__action-group:not([hidden]) + .unit-card__action-group:not([hidden])::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 18px;
  transform: translateY(-50%);
  background: linear-gradient(180deg, transparent 0%, var(--wm-overlay-white-18) 20%, var(--wm-overlay-white-18) 80%, transparent 100%);
}
.unit-card__action-group--seed[hidden] {
  display: none;
}
.unit-card__action-btn, .unit-card__overflow-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid transparent;
  box-shadow: inset 0 1px 0 var(--wm-overlay-white-06);
  color: var(--wm-color-text-primary);
  transition: transform 0.14s ease, border-color 0.14s ease, background 0.14s ease, opacity 0.14s ease;
}
.unit-card__action-btn:hover, .unit-card__action-btn:focus-visible, .unit-card__overflow-toggle:hover, .unit-card__overflow-toggle:focus-visible {
  transform: translateY(-1px);
}
.unit-card__action-btn:disabled, .unit-card__action-btn.is-unavailable, .unit-card__overflow-toggle:disabled, .unit-card__overflow-toggle.is-unavailable {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}
.unit-card__action-btn--info, .unit-card__action-btn--move {
  background: color-mix(in srgb, var(--wm-color-accent-primary) 76%, black);
  border-color: color-mix(in srgb, var(--wm-color-accent-primary) 40%, transparent);
}
.unit-card__action-btn--attack {
  background: color-mix(in srgb, var(--wm-color-danger) 78%, black);
  border-color: color-mix(in srgb, var(--wm-color-danger) 40%, transparent);
}
.unit-card__action-btn--delete {
  background: color-mix(in srgb, var(--wm-color-danger) 48%, black);
  border-color: color-mix(in srgb, var(--wm-color-danger) 30%, transparent);
}
.unit-card__action-btn--heal {
  background: color-mix(in srgb, var(--wm-color-accent-tertiary) 82%, black);
  border-color: color-mix(in srgb, var(--wm-color-accent-tertiary) 40%, transparent);
}
.unit-card__overflow {
  position: relative;
  flex: 0 0 auto;
  margin-left: auto;
  padding-left: 0.58rem;
}
.unit-card__overflow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 18px;
  transform: translateY(-50%);
  background: linear-gradient(180deg, transparent 0%, var(--wm-overlay-white-18) 20%, var(--wm-overlay-white-18) 80%, transparent 100%);
}
.unit-card__overflow--solo {
  padding-left: 0;
}
.unit-card__overflow--solo::before {
  display: none;
}
.unit-card__overflow-toggle {
  background: color-mix(in srgb, var(--wm-color-surface-dark-400) 78%, black);
  border-color: color-mix(in srgb, var(--wm-overlay-white-16) 70%, transparent);
}
.unit-card__overflow-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 0.45rem);
  z-index: 12;
  display: grid;
  gap: 0.25rem;
  min-width: 152px;
  padding: 0.35rem;
  border: 1px solid var(--wm-overlay-white-08);
  border-radius: 0.55rem;
  background: color-mix(in srgb, var(--wm-color-surface-dark-700) 94%, black);
  box-shadow: 0 16px 30px var(--wm-overlay-black-45);
}
.unit-card__overflow-menu[hidden] {
  display: none;
}
.unit-card__overflow-item {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 30px;
  padding: 0.42rem 0.55rem;
  border: 1px solid transparent;
  border-radius: 0.45rem;
  background: transparent;
  color: var(--wm-color-text-primary);
  font: 600 0.8rem/1 "Rajdhani", var(--wm-font-family-base);
  text-align: left;
}
.unit-card__overflow-item:hover, .unit-card__overflow-item:focus-visible {
  background: var(--wm-overlay-white-06);
  border-color: var(--wm-overlay-white-08);
}
@media (max-width: 639px) {
  .unit-card__header {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .unit-card__badges {
    grid-column: 1/-1;
    justify-items: start;
    grid-auto-flow: column;
    justify-content: start;
  }
  .unit-card__distance {
    grid-template-columns: 1fr;
  }
  .unit-card__target-row {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .unit-card__actions, .unit-card__action-group {
    gap: 0.28rem;
  }
  .unit-card__action-group.is-visible:not(.is-first-visible) {
    padding-left: 0.46rem;
  }
  .unit-card__action-btn, .unit-card__overflow-toggle {
    width: 28px;
    height: 28px;
  }
  .unit-card__overflow {
    padding-left: 0.46rem;
  }
}

#unitOffcanvas {
  height: 100dvh;
  max-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: linear-gradient(135deg, var(--wm-color-surface-dark-100) 0%, var(--wm-color-surface-dark-200) 100%);
  color: var(--wm-color-text-90);
  border-left: 1px solid var(--wm-color-border-dark-100);
}
#unitOffcanvas h5.offcanvas-title {
  color: var(--wm-color-text-primary);
  font-weight: 700;
  font-size: 1.35rem;
  text-shadow: var(--wm-shadow-sm);
}
#unitOffcanvas .offcanvas-header {
  border-bottom: 1px solid var(--wm-color-border-dark-100);
  background: linear-gradient(to bottom, var(--wm-overlay-black-40), transparent);
  padding: 1.2rem 1.5rem;
}
#unitOffcanvas div#unit-filter-wrapper #unit-filter,
#unitOffcanvas div#unit-filter-wrapper #unit-sort {
  background-color: var(--wm-color-surface-dark-600);
  color: var(--wm-color-text-primary);
  border: 1.5px solid var(--wm-color-border-dark-500);
  border-radius: 0.5rem;
  padding: 0.4rem 0.8rem;
  font-size: 0.95rem;
  transition: all 0.2s ease;
  box-shadow: var(--wm-shadow-sm);
}
#unitOffcanvas div#unit-filter-wrapper #unit-filter:hover,
#unitOffcanvas div#unit-filter-wrapper #unit-sort:hover {
  border-color: var(--wm-color-border-hover);
  background-color: var(--wm-color-surface-dark-700);
}
#unitOffcanvas div#unit-filter-wrapper #unit-filter:focus,
#unitOffcanvas div#unit-filter-wrapper #unit-sort:focus {
  border-color: var(--wm-color-accent-primary);
  background-color: var(--wm-color-surface-dark-700);
  box-shadow: 0 0 0 3px var(--wm-overlay-accent-15);
  outline: none;
}
#unitOffcanvas .offcanvas-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 1rem 1.2rem calc(var(--wm-space-lg) + env(safe-area-inset-bottom, 0px));
  background: transparent;
  min-height: 0;
}
#unitOffcanvas #unit-list .unit-card {
  background: linear-gradient(135deg, var(--wm-color-surface-dark-700) 0%, var(--wm-color-surface-dark-600) 100%);
  border-radius: 0.8rem;
  box-shadow: 0 4px 16px var(--wm-overlay-black-25), 0 2px 8px var(--wm-overlay-black-15);
  border: 1.5px solid var(--wm-color-border-dark-300);
  width: 100%;
  margin: 0;
  flex: 0 0 auto;
  position: relative;
  color: var(--wm-color-text-90);
  overflow: visible;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
#unitOffcanvas #unit-list .unit-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--wm-overlay-accent-30), transparent);
  opacity: 0;
  transition: opacity 0.25s ease;
}
#unitOffcanvas #unit-list .unit-card:hover, #unitOffcanvas #unit-list .unit-card:focus-within {
  box-shadow: 0 8px 32px var(--wm-overlay-accent-35), 0 4px 16px var(--wm-overlay-accent-20);
  border-color: var(--wm-color-accent-primary);
  transform: translateY(-2px);
  z-index: 2;
}
#unitOffcanvas #unit-list .unit-card:hover::before, #unitOffcanvas #unit-list .unit-card:focus-within::before {
  opacity: 1;
}
#unitOffcanvas #unit-list .unit-card[data-unit-busy="1"] {
  border-color: color-mix(in srgb, var(--wm-color-danger) 55%, var(--wm-color-border-dark-300));
  box-shadow: 0 4px 16px color-mix(in srgb, var(--wm-color-danger) 25%, transparent), 0 2px 8px var(--wm-overlay-black-15);
}
#unitOffcanvas #unit-list .unit-card[data-unit-busy="1"]::before {
  opacity: 1;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--wm-color-danger) 60%, #ffb347), transparent);
}
#unitOffcanvas #unit-list .unit-card[data-unit-busy="1"] .card-header {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wm-color-danger) 18%, var(--wm-color-surface-elevated)) 0%, var(--wm-color-surface-elevated) 100%);
}
#unitOffcanvas #unit-list .unit-card .card-header {
  background: var(--wm-color-surface-elevated);
  border-bottom: 1px solid var(--wm-color-border-dark-300);
  padding: 0.75rem 1rem;
}
#unitOffcanvas #unit-list .unit-card .card-header .unit-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
}
#unitOffcanvas #unit-list .unit-card .card-header .unit-icon i {
  font-size: 2rem !important;
  filter: drop-shadow(0 2px 4px var(--wm-overlay-black-30));
}
#unitOffcanvas #unit-list .unit-card .card-header .unit-type-badge {
  font-size: 0.7rem;
  padding: 0.25em 0.6em;
  background: var(--wm-gradient-button);
  border: 1px solid var(--wm-overlay-white-10);
}
#unitOffcanvas #unit-list .unit-card .card-header .unit-name {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--wm-color-text-primary);
  text-shadow: 0 1px 2px var(--wm-overlay-black-30);
}
#unitOffcanvas #unit-list .unit-card .card-body {
  padding: 1rem;
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}
#unitOffcanvas #unit-list .unit-card .unit-details {
  flex: 1;
  min-width: 0;
}
#unitOffcanvas #unit-list .unit-card .unit-xp-bar .progress {
  background-color: var(--wm-overlay-black-50);
  border-radius: 2px;
  overflow: hidden;
}
#unitOffcanvas #unit-list .unit-card .unit-xp-bar .progress .progress-bar {
  background: var(--wm-gradient-progress);
  transition: width 0.3s ease;
}
#unitOffcanvas #unit-list .unit-card .unit-xp-bar small {
  font-size: 0.75rem;
  color: var(--wm-color-text-80);
}
#unitOffcanvas #unit-list .unit-card .unit-xp-bar__progress,
#unitOffcanvas #unit-list .unit-card .unit-card-xp__progress {
  height: 3px;
}
#unitOffcanvas #unit-list .unit-card .unit-stats {
  font-size: 0.85rem;
  color: var(--wm-color-text-80);
}
#unitOffcanvas #unit-list .unit-card .unit-stats .stat-item {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  transition: color 0.2s ease;
}
#unitOffcanvas #unit-list .unit-card .unit-stats .stat-item:hover {
  color: var(--wm-color-text-primary);
}
#unitOffcanvas #unit-list .unit-card .unit-stats .stat-item i {
  font-size: 0.9em;
}
#unitOffcanvas #unit-list .unit-card .unit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wm-space-xs);
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  padding: 0;
}
#unitOffcanvas #unit-list .unit-card .badge {
  font-size: 0.7rem;
  font-weight: 600;
  border-radius: 0.35rem;
  padding: 0.25em 0.55em;
  letter-spacing: 0.01em;
  background: var(--wm-color-surface-dark-800);
  color: var(--wm-color-text-85);
  box-shadow: 0 1px 2px var(--wm-overlay-black-15);
  transition: all 0.2s ease;
}
#unitOffcanvas #unit-list .unit-card .badge.bg-success {
  background: linear-gradient(135deg, var(--wm-color-success) 0%, color-mix(in srgb, var(--wm-color-success) 80%, black) 100%);
  color: var(--wm-color-text-inverse);
  border: 1px solid var(--wm-overlay-white-10);
}
#unitOffcanvas #unit-list .unit-card .badge.bg-info {
  background: linear-gradient(135deg, var(--wm-color-info) 0%, color-mix(in srgb, var(--wm-color-info) 70%, black) 100%);
  color: var(--wm-color-text-inverse);
  border: 1px solid var(--wm-overlay-white-10);
}
#unitOffcanvas #unit-list .unit-card .badge.bg-info i {
  margin-right: 0.25em;
}
#unitOffcanvas #unit-list .unit-card .badge.bg-warning {
  background: linear-gradient(135deg, var(--wm-color-warning) 0%, color-mix(in srgb, var(--wm-color-warning) 75%, black) 100%);
  color: var(--wm-color-text-inverse);
  border: 1px solid var(--wm-overlay-white-10);
}
#unitOffcanvas #unit-list .unit-card .badge.bg-secondary {
  background: var(--wm-gradient-button);
  color: var(--wm-color-text-90);
  border: 1px solid var(--wm-overlay-white-10);
}
#unitOffcanvas .unit-list-empty,
#unitOffcanvas .text-muted.text-center.mt-4 {
  font-size: 1.2rem;
  opacity: 0.65;
  margin-top: 3rem;
  color: var(--wm-color-text-70);
  padding: 2rem;
}
#unitOffcanvas .unit-list-empty i,
#unitOffcanvas .text-muted.text-center.mt-4 i {
  color: var(--wm-color-text-muted);
  margin-bottom: 1rem;
  filter: drop-shadow(0 2px 4px var(--wm-overlay-black-30));
}

.unit-list-wrapper {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: var(--wm-space-md);
}
.unit-list-wrapper .unit-list-header {
  flex: 0 0 auto;
  background: linear-gradient(145deg, var(--wm-overlay-black-55, var(--wm-color-surface-dark-700)), var(--wm-overlay-black-35, var(--wm-color-surface-dark-600)));
  border: 1px solid var(--wm-overlay-white-12);
  border-radius: var(--wm-radius-md, 0.5rem);
  box-shadow: 0 8px 20px var(--wm-overlay-black-35), inset 0 1px 0 var(--wm-overlay-white-08);
  backdrop-filter: blur(4px);
}
.unit-list-wrapper .unit-list-header__topbar {
  display: none;
  margin-bottom: 0.75rem;
}
.unit-list-wrapper .unit-list-header__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.55rem 0.7rem;
  border-radius: 0.5rem;
  border: 1px solid var(--wm-overlay-white-12);
  background: color-mix(in srgb, var(--wm-color-surface-dark-700) 84%, var(--wm-overlay-black-45));
  color: var(--wm-color-text-primary);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.unit-list-wrapper .unit-list-header__grid {
  align-items: flex-end;
}
.unit-list-wrapper .unit-list-header .js-wm-unit-type-filter.select2-hidden-accessible {
  display: none !important;
}
.unit-list-wrapper .unit-list-header .form-label {
  color: var(--wm-color-text-primary);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 2px var(--wm-overlay-black-40);
}
.unit-list-wrapper .unit-list-header .form-select,
.unit-list-wrapper .unit-list-header .form-control {
  background-color: color-mix(in srgb, var(--wm-color-surface-dark-700) 82%, var(--wm-overlay-black-40));
  color: var(--wm-color-text-primary);
  border: 1.5px solid var(--wm-overlay-white-15);
  border-radius: 0.4rem;
  box-shadow: inset 0 1px 0 var(--wm-overlay-white-05);
}
.unit-list-wrapper .unit-list-header .form-select:hover,
.unit-list-wrapper .unit-list-header .form-control:hover {
  border-color: var(--wm-overlay-accent-35);
  background-color: color-mix(in srgb, var(--wm-color-surface-dark-700) 90%, var(--wm-overlay-black-45));
}
.unit-list-wrapper .unit-list-header .form-select:focus,
.unit-list-wrapper .unit-list-header .form-control:focus {
  border-color: var(--wm-color-accent-primary);
  background-color: color-mix(in srgb, var(--wm-color-surface-dark-700) 92%, var(--wm-overlay-black-45));
  box-shadow: 0 0 0 3px var(--wm-overlay-accent-15);
  outline: none;
}
.unit-list-wrapper .unit-list-header .form-select::-moz-placeholder, .unit-list-wrapper .unit-list-header .form-control::-moz-placeholder {
  color: var(--wm-color-text-80);
  opacity: 1;
}
.unit-list-wrapper .unit-list-header .form-select::placeholder,
.unit-list-wrapper .unit-list-header .form-control::placeholder {
  color: var(--wm-color-text-80);
  opacity: 1;
}
.unit-list-wrapper .unit-list-header .form-check-input {
  background-color: color-mix(in srgb, var(--wm-color-surface-dark-700) 80%, var(--wm-overlay-black-45));
  border: 1.5px solid var(--wm-overlay-white-20);
}
.unit-list-wrapper .unit-list-header .form-check-input:checked {
  background-color: var(--wm-color-accent-primary);
  border-color: var(--wm-color-accent-primary);
}
.unit-list-wrapper .unit-list-header .form-check-input:focus {
  box-shadow: 0 0 0 0.2rem var(--wm-overlay-accent-25);
}
.unit-list-wrapper .unit-list-header .form-check-label {
  color: var(--wm-color-text-primary);
  text-shadow: 0 1px 2px var(--wm-overlay-black-40);
}
.unit-list-wrapper .unit-list-header .select2-container {
  width: 100% !important;
}
.unit-list-wrapper .unit-list-header .select2-container .select2-selection--single {
  min-height: 36px;
  height: 36px;
  background-color: color-mix(in srgb, var(--wm-color-surface-dark-700) 82%, var(--wm-overlay-black-40));
  border: 1.5px solid var(--wm-overlay-white-15);
  border-radius: 0.4rem;
  box-shadow: inset 0 1px 0 var(--wm-overlay-white-05);
}
.unit-list-wrapper .unit-list-header .select2-container .select2-selection__rendered {
  display: flex;
  align-items: center;
  height: 100%;
  line-height: 1;
  padding: 0 2rem 0 0.5rem;
  color: var(--wm-color-text-primary);
}
.unit-list-wrapper .unit-list-header .select2-container .select2-selection__arrow {
  height: 100%;
}
.unit-list-wrapper .unit-list-header .select2-container.select2-container--focus .select2-selection--single, .unit-list-wrapper .unit-list-header .select2-container.select2-container--open .select2-selection--single {
  border-color: var(--wm-color-accent-primary);
  box-shadow: 0 0 0 3px var(--wm-overlay-accent-15);
}
.unit-list-wrapper .unit-list-header .select2-container--bootstrap-5 .select2-dropdown, .unit-list-wrapper .unit-list-header .select2-container--bootstrap-5.select2-container--open .select2-dropdown {
  background: linear-gradient(180deg, var(--wm-color-surface-dark-500), var(--wm-color-surface-dark-700));
  border: 1.5px solid var(--wm-color-border-dark-300);
  box-shadow: 0 10px 24px var(--wm-overlay-black-45);
}
.unit-list-wrapper .unit-list-header .select2-container--bootstrap-5 .select2-search--dropdown .select2-search__field {
  background-color: color-mix(in srgb, var(--wm-color-surface-dark-800) 86%, var(--wm-overlay-black-50));
  color: var(--wm-color-text-primary);
  border: 1px solid var(--wm-overlay-white-18);
}
.unit-list-wrapper .unit-list-header .select2-container--bootstrap-5 .select2-search--dropdown .select2-search__field:focus {
  border-color: var(--wm-color-accent-primary);
  box-shadow: 0 0 0 2px var(--wm-overlay-accent-15);
}
.unit-list-wrapper .unit-list-header .select2-container--bootstrap-5 .select2-results__option {
  background: transparent;
  color: var(--wm-color-text-90);
  padding: 0.45rem 0.55rem;
}
.unit-list-wrapper .unit-list-header .select2-container--bootstrap-5 .select2-results__option--highlighted.select2-results__option--selectable {
  background: var(--wm-overlay-accent-25);
  color: var(--wm-color-text-primary);
}
.unit-list-wrapper .unit-list-header .select2-container--bootstrap-5 .select2-results__option--selected {
  background: var(--wm-overlay-accent-35);
  color: var(--wm-color-text-primary);
}
.unit-list-wrapper .unit-list-header .select2-container.select2-container--bootstrap-5 .select2-dropdown,
.unit-list-wrapper .unit-list-header .select2-container.select2-container--bootstrap-5 .select2-results,
.unit-list-wrapper .unit-list-header .select2-container.select2-container--bootstrap-5 .select2-results__options {
  background: linear-gradient(180deg, var(--wm-color-surface-dark-500), var(--wm-color-surface-dark-700)) !important;
}
.unit-list-wrapper .unit-list-header .select2-container.select2-container--bootstrap-5 .select2-results__option {
  color: var(--wm-color-text-90) !important;
}
.unit-list-wrapper .unit-list-header .select2-container.select2-container--bootstrap-5 .select2-results__option--highlighted.select2-results__option--selectable {
  background: var(--wm-overlay-accent-25) !important;
  color: var(--wm-color-text-primary) !important;
}
.unit-list-wrapper .unit-list-header .select2-container.select2-container--bootstrap-5 .select2-results__option--selected {
  background: var(--wm-overlay-accent-35) !important;
  color: var(--wm-color-text-primary) !important;
}
.unit-list-wrapper .unit-list-header .wm-type-option {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  width: 100%;
}
.unit-list-wrapper .unit-list-header .wm-type-option i {
  width: 1.1rem;
  text-align: center;
  opacity: 0.9;
}
.unit-list-wrapper .unit-list-header .wm-type-option__label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.unit-list-wrapper .unit-list-header .wm-type-option__count {
  margin-left: auto;
  font-size: 0.72rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  min-width: 2.2rem;
  text-align: center;
  background: var(--wm-overlay-accent-35);
  color: var(--wm-color-text-primary);
  border: 1px solid var(--wm-overlay-white-10);
}
.unit-list-wrapper .unit-list-header .select2-selection__rendered .wm-type-option__count {
  min-width: 2.35rem;
}
.unit-list-wrapper .unit-list-header .select2-selection__rendered .wm-type-option {
  width: 100%;
  min-height: 100%;
  display: grid;
  grid-template-columns: 1.1rem minmax(0, 1fr) auto;
  -moz-column-gap: 0.4rem;
       column-gap: 0.4rem;
  align-items: center;
}
.unit-list-wrapper .unit-list-header .select2-selection__rendered .wm-type-option i {
  width: 1.1rem;
  text-align: center;
  margin: 0;
}
.unit-list-wrapper .unit-list-header .select2-selection__rendered .wm-type-option__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.25rem;
  line-height: 1;
  padding: 0 0.5rem;
}
.unit-list-wrapper .select2-container--bootstrap-5 .select2-dropdown, .unit-list-wrapper .select2-container--bootstrap-5.select2-container--open .select2-dropdown {
  background: linear-gradient(180deg, var(--wm-color-surface-dark-500), var(--wm-color-surface-dark-700));
  border: 1.5px solid var(--wm-color-border-dark-300);
  box-shadow: 0 10px 24px var(--wm-overlay-black-45);
}
.unit-list-wrapper .select2-container--bootstrap-5 .select2-search--dropdown .select2-search__field {
  background-color: var(--wm-color-surface-dark-800);
  color: var(--wm-color-text-primary);
  border: 1px solid var(--wm-color-border-dark-400);
}
.unit-list-wrapper .select2-container--bootstrap-5 .select2-search--dropdown .select2-search__field:focus {
  border-color: var(--wm-color-accent-primary);
  box-shadow: 0 0 0 2px var(--wm-overlay-accent-15);
}
.unit-list-wrapper .select2-container--bootstrap-5 .select2-results,
.unit-list-wrapper .select2-container--bootstrap-5 .select2-results__options {
  background: linear-gradient(180deg, var(--wm-color-surface-dark-500), var(--wm-color-surface-dark-700)) !important;
}
.unit-list-wrapper .select2-container--bootstrap-5 .select2-results__option {
  background: transparent !important;
  color: var(--wm-color-text-90) !important;
  padding: 0.45rem 0.55rem;
}
.unit-list-wrapper .select2-container--bootstrap-5 .select2-results__option.select2-results__option--highlighted {
  background: var(--wm-overlay-accent-25) !important;
  color: var(--wm-color-text-primary) !important;
}
.unit-list-wrapper .select2-container--bootstrap-5 .select2-results__option--selected {
  background: var(--wm-overlay-accent-35) !important;
  color: var(--wm-color-text-primary) !important;
}
.unit-list-wrapper .unit-list-actions {
  flex: 0 0 auto;
}
.unit-list-wrapper .unit-list-container {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: var(--wm-space-lg);
  container-type: inline-size;
  container-name: unit-list;
}
.unit-list-wrapper .unit-list-container::-webkit-scrollbar {
  width: 8px;
}
.unit-list-wrapper .unit-list-container::-webkit-scrollbar-track {
  background: var(--wm-color-surface-elevated);
  border-radius: 4px;
}
.unit-list-wrapper .unit-list-container::-webkit-scrollbar-thumb {
  background: var(--wm-overlay-accent-30);
  border-radius: 4px;
}
.unit-list-wrapper .unit-list-container::-webkit-scrollbar-thumb:hover {
  background: var(--wm-overlay-accent-50);
}
.unit-list-wrapper #unit-list-loading {
  flex: 0 0 auto;
}
.unit-list-wrapper .wm-unit-list-grid {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  gap: var(--wm-gap-3, 12px);
  grid-template-columns: 1fr;
}
.unit-list-wrapper .wm-unit-list-grid > * {
  width: 100%;
}

@container unit-list (min-width: 760px) {
  .unit-list-wrapper .wm-unit-list-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@container unit-list (min-width: 1120px) {
  .unit-list-wrapper .wm-unit-list-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.wm-actionbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--wm-space-sm);
  flex-wrap: wrap;
}

.wm-actionbar--compact {
  gap: var(--wm-space-xs);
}

.wm-actionbtn {
  position: relative;
  border-radius: var(--wm-radius-xl);
  border: 1px solid var(--wm-color-border);
  padding: var(--wm-space-button-y) var(--wm-space-button-x);
  background: var(--wm-gradient-button);
  color: var(--wm-color-text-primary);
  font-size: var(--wm-font-size-sm);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--wm-space-xs);
  overflow: hidden;
  transition: var(--wm-transition-all);
  box-shadow: 0 10px 25px var(--wm-overlay-black-45), inset 0 1px 0 var(--wm-overlay-white-10);
}

.unit-actions .wm-actionbtn {
  margin: 0 0.25rem;
}

.wm-actionbtn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, transparent, var(--wm-overlay-white-35), transparent);
  transform: skewX(-25deg);
  transition: left 0.7s ease-in-out;
}

.wm-actionbtn:hover,
.wm-actionbtn:focus {
  transform: translateY(-1px);
  background: var(--wm-gradient-button-hover);
  border-color: var(--wm-color-border-hover);
  box-shadow: var(--wm-shadow-glow-strong);
  outline: none;
}

.wm-actionbtn:hover::after,
.wm-actionbtn:focus::after {
  left: 150%;
}

.wm-actionbtn:active {
  transform: translateY(0);
  box-shadow: var(--wm-shadow-glow);
}

.wm-actionbtn--primary {
  background: var(--wm-gradient-primary, var(--wm-gradient-button));
  border-color: var(--wm-color-accent-primary);
  color: var(--wm-color-text-primary);
  box-shadow: var(--wm-shadow-glow);
}

.wm-actionbtn--ghost {
  background: var(--wm-overlay-white-03);
  border-color: var(--wm-overlay-white-20);
  color: var(--wm-color-text-secondary);
  letter-spacing: 0.05em;
  text-transform: none;
}

.wm-actionbtn--ghost:hover,
.wm-actionbtn--ghost:focus {
  background: var(--wm-overlay-white-10);
  color: var(--wm-color-text-primary);
}

.wm-actionbtn--icon {
  min-width: 42px;
  width: 42px;
  height: 42px;
  padding: 0;
  letter-spacing: 0;
  text-transform: none;
  border-radius: var(--wm-radius-lg);
}

.wm-actionbtn--primary:hover,
.wm-actionbtn--primary:focus {
  background: var(--wm-gradient-primary-hover, var(--wm-gradient-button-hover));
  border-color: var(--wm-color-accent-secondary);
  box-shadow: var(--wm-shadow-glow-strong);
}

.wm-actionbtn--danger {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wm-color-danger) 82%, #3b1117), color-mix(in srgb, var(--wm-color-danger) 60%, #12070a));
  border-color: color-mix(in srgb, var(--wm-color-danger) 78%, var(--wm-overlay-white-10));
}

.wm-actionbtn--danger:hover,
.wm-actionbtn--danger:focus {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wm-color-danger) 90%, #4a151d), color-mix(in srgb, var(--wm-color-danger) 72%, #17090c));
}

.wm-actionbtn--warning {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wm-color-warning) 78%, #3d2800), color-mix(in srgb, var(--wm-color-warning) 56%, #191100));
  border-color: color-mix(in srgb, var(--wm-color-warning) 70%, var(--wm-overlay-white-10));
}

.wm-actionbtn--warning:hover,
.wm-actionbtn--warning:focus {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wm-color-warning) 88%, #473000), color-mix(in srgb, var(--wm-color-warning) 64%, #1d1400));
}

.wm-actionbtn--success {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wm-color-success) 78%, #0b2917), color-mix(in srgb, var(--wm-color-success) 56%, #06150d));
  border-color: color-mix(in srgb, var(--wm-color-success) 68%, var(--wm-overlay-white-10));
}

.wm-actionbtn--success:hover,
.wm-actionbtn--success:focus {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wm-color-success) 86%, #0f341e), color-mix(in srgb, var(--wm-color-success) 64%, #081910));
}

.wm-actionbtn--info {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wm-color-info) 74%, #0a2034), color-mix(in srgb, var(--wm-color-info) 54%, #07121d));
  border-color: color-mix(in srgb, var(--wm-color-info) 64%, var(--wm-overlay-white-10));
}

.wm-actionbtn--info:hover,
.wm-actionbtn--info:focus {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wm-color-info) 82%, #0d2842), color-mix(in srgb, var(--wm-color-info) 62%, #081824));
}

.wm-actionbtn.is-unavailable,
.wm-actionbtn:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  box-shadow: none;
}

.wm-actionbtn.is-unavailable:hover,
.wm-actionbtn.is-unavailable:focus,
.wm-actionbtn:disabled:hover,
.wm-actionbtn:disabled:focus {
  transform: none;
  box-shadow: none;
  border-color: var(--wm-color-border);
}

.unit-distance {
  display: flex;
  flex-direction: column;
  gap: var(--wm-space-xs);
  width: 100%;
  min-width: 0;
  font-size: 0.8rem;
  color: var(--wm-color-text-80);
}

.unit-distance__line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wm-space-sm);
  min-width: 0;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: var(--wm-overlay-white-03);
  border: 1px solid var(--wm-overlay-white-08);
}

.unit-distance__title {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.unit-distance__icon {
  font-size: 0.82rem;
  color: var(--wm-color-text-muted);
  flex: 0 0 auto;
}

.unit-distance__label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wm-color-text-muted);
}

.unit-distance__value {
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  color: var(--wm-color-text-primary);
}

.unit-distance--s {
  flex-direction: row;
  flex-wrap: wrap;
}

.unit-distance--s .unit-distance__line {
  flex: 1 1 calc(50% - var(--wm-space-xs));
}

.unit-distance--s .unit-distance__label {
  display: none;
}

.unit-distance--s .unit-distance__value {
  margin-left: auto;
}

.unit-distance--m,
.unit-distance--l {
  flex-direction: row;
  flex-wrap: nowrap;
}

.unit-distance--m .unit-distance__line,
.unit-distance--l .unit-distance__line {
  flex: 1 1 0;
}

.unit-distance--m .unit-distance__value,
.unit-distance--l .unit-distance__value {
  margin-left: auto;
}

.unit-distance--near .unit-distance__line,
.unit-card--near {
  border-color: color-mix(in srgb, var(--wm-color-success) 42%, var(--wm-color-border-dark-300));
}

.unit-distance--medium .unit-distance__line,
.unit-card--medium {
  border-color: color-mix(in srgb, var(--wm-color-warning) 42%, var(--wm-color-border-dark-300));
}

.unit-distance--far .unit-distance__line,
.unit-card--far {
  border-color: color-mix(in srgb, var(--wm-color-danger) 34%, var(--wm-color-border-dark-300));
}

.unit-distance--near .unit-distance__value,
.unit-distance--medium .unit-distance__value,
.unit-distance--far .unit-distance__value {
  color: var(--wm-color-text-primary);
}

.unit-list-wrapper.is-restoring .unit-list-container {
  opacity: 0;
  pointer-events: none;
}
.unit-list-wrapper[data-panel-size-mode=S] .unit-card .card-header {
  padding: 0.6rem 0.75rem;
}
.unit-list-wrapper[data-panel-size-mode=S] .unit-card .card-body {
  padding: 0.8rem;
  gap: 0.6rem;
}
.unit-list-wrapper[data-panel-size-mode=S] .wm-unit-list-grid {
  gap: 0.6rem;
}
.unit-list-wrapper[data-panel-size-mode=S] .unit-actions {
  gap: 0.3rem !important;
  flex-wrap: nowrap;
  align-items: center;
}
.unit-list-wrapper[data-panel-size-mode=S] .wm-actionbtn--icon {
  min-width: 38px;
  width: 38px;
  height: 38px;
}
.unit-list-wrapper[data-panel-size-mode=L] .wm-unit-list-grid {
  grid-template-columns: 1fr;
  gap: 1rem;
}
.unit-list-wrapper[data-panel-size-mode=L] .unit-card .card-header {
  padding: 0.9rem 1.1rem;
}
.unit-list-wrapper[data-panel-size-mode=L] .unit-card .card-body {
  padding: 1.1rem;
  gap: 0.9rem;
}
.unit-list-wrapper[data-panel-size-mode=L] .unit-actions {
  gap: 0.35rem !important;
}
.unit-list-wrapper[data-panel-size-mode=L] .wm-actionbtn--icon {
  min-width: 40px;
  width: 40px;
  height: 36px;
}

@media (max-width: 767.98px) {
  .unit-list-wrapper .unit-list-header {
    padding: 0.75rem !important;
  }
  .unit-list-wrapper .unit-list-header__topbar {
    display: block;
  }
  .unit-list-wrapper .unit-list-header__grid[hidden] {
    display: none !important;
  }
  #wm-offcanvas .wm-size-toggle,
  #wm-offcanvas .war-offcanvas-resizer__quick-sizes,
  #wm-offcanvas .war-offcanvas-resizer {
    display: none !important;
  }
}
.wm-actionbtn--overflow-hidden {
  display: none !important;
}

.wm-unit-action-overflow {
  margin-left: auto;
  flex: 0 0 auto;
}

.wm-unit-action-overflow .wm-unit-action-overflow__source {
  display: none !important;
}

.wm-unit-action-overflow__toggle {
  min-width: 38px;
  width: 38px;
  height: 38px;
}

.wm-unit-action-overflow__toggle.is-open {
  box-shadow: var(--wm-shadow-glow-strong);
}

.wm-unit-action-floating-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1400;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.35rem;
  border-radius: var(--wm-radius-md);
  border: 1px solid var(--wm-overlay-white-15);
  background: linear-gradient(180deg, var(--wm-color-surface-dark-600), var(--wm-color-surface-dark-800));
  box-shadow: 0 12px 28px var(--wm-overlay-black-55);
  backdrop-filter: blur(10px);
}

.wm-unit-action-floating-menu[hidden] {
  display: none;
}

.wm-unit-action-overflow__menu {
  min-width: 12.25rem;
  padding: 0.35rem;
  z-index: 1085;
  border-radius: var(--wm-radius-md);
  border: 1px solid var(--wm-overlay-white-15);
  background: linear-gradient(180deg, var(--wm-color-surface-dark-600), var(--wm-color-surface-dark-800));
  box-shadow: 0 12px 28px var(--wm-overlay-black-55);
}

.wm-unit-action-overflow__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: var(--wm-radius-sm);
  color: var(--wm-color-text-primary);
  font-size: 0.82rem;
  font-weight: 600;
  width: 100%;
  padding: 0.55rem 0.65rem;
  border: 0;
  background: transparent;
  text-align: left;
}

.wm-unit-action-overflow__item i {
  width: 1rem;
  text-align: center;
}

.wm-unit-action-overflow__item:hover,
.wm-unit-action-overflow__item:focus {
  background: var(--wm-overlay-accent-30);
  color: var(--wm-color-text-primary);
}

.wm-unit-action-overflow__item:disabled,
.wm-unit-action-overflow__item.is-unavailable {
  opacity: 0.5;
}

.unit-list-loading__icon {
  width: 48px;
  height: 48px;
}

.unit-distance__value--viewport {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.unit-distance__direction {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--wm-color-info) 22%, transparent);
  border: 1px solid color-mix(in srgb, var(--wm-color-info) 38%, transparent);
  color: var(--wm-color-text-primary);
  font-size: 0.92rem;
  line-height: 1;
}

.wm-unit-map-hover {
  animation: unitMarkerGlow 1.2s ease-in-out infinite;
  filter: drop-shadow(0 0 8px color-mix(in srgb, #9fe870 76%, transparent)) drop-shadow(0 0 18px color-mix(in srgb, #9fe870 48%, transparent));
}

.wm-unit-route-hover {
  filter: drop-shadow(0 0 6px color-mix(in srgb, #9fe870 72%, transparent));
}

.wm-unit-edge-beacon {
  position: absolute;
  z-index: 760;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--wm-color-surface-dark-900) 86%, transparent);
  border: 1px solid color-mix(in srgb, #9fe870 34%, var(--wm-overlay-white-10));
  box-shadow: 0 10px 24px var(--wm-overlay-black-45), 0 0 0 1px color-mix(in srgb, #9fe870 18%, transparent);
  color: var(--wm-color-text-primary);
  pointer-events: none;
  backdrop-filter: blur(8px);
}

.wm-unit-edge-beacon__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  background: color-mix(in srgb, #9fe870 20%, transparent);
  color: #c9ff9b;
  font-size: 1rem;
  font-weight: 700;
}

.wm-unit-edge-beacon__meta {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  line-height: 1.05;
}

.wm-unit-edge-beacon__label {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wm-color-text-muted);
}

.wm-unit-edge-beacon__distance {
  font-size: 0.8rem;
  font-weight: 700;
}

.wm-unit-edge-beacon[data-side=top] {
  top: 0.9rem;
  left: 50%;
  transform: translateX(-50%);
}

.wm-unit-edge-beacon[data-side=top-right] {
  top: 0.9rem;
  right: 0.9rem;
}

.wm-unit-edge-beacon[data-side=right] {
  top: 50%;
  right: 0.9rem;
  transform: translateY(-50%);
}

.wm-unit-edge-beacon[data-side=bottom-right] {
  right: 0.9rem;
  bottom: 0.9rem;
}

.wm-unit-edge-beacon[data-side=bottom] {
  bottom: 0.9rem;
  left: 50%;
  transform: translateX(-50%);
}

.wm-unit-edge-beacon[data-side=bottom-left] {
  bottom: 0.9rem;
  left: 0.9rem;
}

.wm-unit-edge-beacon[data-side=left] {
  top: 50%;
  left: 0.9rem;
  transform: translateY(-50%);
}

.wm-unit-edge-beacon[data-side=top-left] {
  top: 0.9rem;
  left: 0.9rem;
}

.unit-marker-hover {
  animation: unitMarkerGlow 1s ease-in-out;
  filter: drop-shadow(0 0 8px var(--wm-overlay-warning-80)) drop-shadow(0 0 16px var(--wm-overlay-warning-40));
  z-index: 1000 !important;
}

@keyframes unitMarkerGlow {
  0%, 100% {
    filter: drop-shadow(0 0 8px var(--wm-overlay-warning-80)) drop-shadow(0 0 16px var(--wm-overlay-warning-40));
  }
  50% {
    filter: drop-shadow(0 0 12px var(--wm-color-warning)) drop-shadow(0 0 24px var(--wm-overlay-warning-60));
  }
}
.unit-repair-summary {
  display: grid;
  gap: 0.4rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--wm-color-border-dark-300);
  border-radius: var(--wm-radius-md);
  background: linear-gradient(180deg, var(--wm-color-surface-elevated) 0%, var(--wm-color-surface-dark-700) 100%);
}
.unit-repair-summary__label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wm-color-text-80);
}
.unit-repair-summary__active, .unit-repair-summary__options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}
.unit-repair-summary__active {
  color: var(--wm-color-info);
}
.unit-repair-summary__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: var(--wm-overlay-white-05);
  border: 1px solid var(--wm-overlay-white-10);
  color: var(--wm-color-text-90);
  font-size: 0.74rem;
}

.wm-repair-dialog {
  display: grid;
  gap: 0.9rem;
}
.wm-repair-dialog__hero, .wm-repair-dialog__card {
  padding: 1rem 1.05rem;
  border-radius: var(--wm-radius-lg);
  border: 1px solid var(--wm-overlay-white-10);
  background: linear-gradient(180deg, var(--wm-color-surface-elevated) 0%, var(--wm-color-surface-dark-700) 100%);
  box-shadow: 0 16px 40px var(--wm-overlay-black-20);
}
.wm-repair-dialog__card--danger {
  border-color: color-mix(in srgb, var(--wm-color-danger) 45%, var(--wm-overlay-white-10));
  background: linear-gradient(180deg, color-mix(in srgb, var(--wm-color-danger) 10%, var(--wm-color-surface-elevated)) 0%, var(--wm-color-surface-dark-700) 100%);
}
.wm-repair-dialog__eyebrow, .wm-repair-dialog__card-title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wm-color-text-80);
  margin-bottom: 0.45rem;
}
.wm-repair-dialog__unit {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--wm-color-text-primary);
  margin-bottom: 0.45rem;
}
.wm-repair-dialog__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  color: var(--wm-color-text-90);
}
.wm-repair-dialog__meta span {
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: var(--wm-overlay-white-05);
  border: 1px solid var(--wm-overlay-white-10);
  font-size: 0.8rem;
}
.wm-repair-dialog__table {
  width: 100%;
  border-collapse: collapse;
}
.wm-repair-dialog__table th,
.wm-repair-dialog__table td {
  padding: 0.45rem 0.35rem;
  border-bottom: 1px solid var(--wm-overlay-white-10);
  color: var(--wm-color-text-90);
  font-size: 0.82rem;
}
.wm-repair-dialog__table th {
  color: var(--wm-color-text-70);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
}
.wm-repair-dialog__table .is-missing {
  color: var(--wm-color-danger);
  font-weight: 700;
}
.wm-repair-dialog__reasons {
  margin: 0;
  padding-left: 1rem;
  color: var(--wm-color-text-90);
}
.wm-repair-dialog__reasons li + li {
  margin-top: 0.35rem;
}

@media screen and (max-width: 767px) {
  #unitOffcanvas .unit-card .card-header {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  #unitOffcanvas .unit-card .card-header .unit-icon {
    min-width: 40px;
  }
  #unitOffcanvas .unit-card .card-header .unit-icon i {
    font-size: 1.5rem !important;
  }
  #unitOffcanvas .unit-card .card-header .unit-name {
    font-size: 0.95rem;
  }
  #unitOffcanvas .unit-card .card-body {
    flex-direction: column;
    gap: 0.75rem;
  }
  #unitOffcanvas .unit-card .unit-actions {
    flex-direction: row;
    max-height: none;
    overflow: visible;
    flex-wrap: wrap;
    justify-content: center;
  }
  .unit-list-wrapper .unit-list-header {
    flex-direction: column;
  }
  .wm-unit-edge-beacon {
    max-width: calc(100% - 1.8rem);
  }
}

/*# sourceMappingURL=unit-list.css.map */