/* ============================================================
   BOTONES — PLATES DE IMAGEN (set sci-fi de referencia) v10
   Cada boton usa una imagen real recortada del set (idle/hover/active),
   estirada al tamano del boton. Aplica a .btn, .tab-btn y .sidebar-item.
   Carga DESPUES de visual-overhaul.css para ganar la cascada.
   ============================================================ */
.btn,
.tab-btn {
  --btn-idle:   url("../assets/images/ui/buttons-v3/btn-cyan-idle.png");
  --btn-hover:  url("../assets/images/ui/buttons-v3/btn-cyan-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-cyan-active.png");
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 40px !important;
  padding: 10px 26px !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background: var(--btn-idle) center / 100% 100% no-repeat !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: #eaf7ff !important;
  font-family: var(--font-display, "Outfit", sans-serif) !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 3px #000, 0 0 6px rgba(0,0,0,0.6) !important;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.35)) !important;
  transition: filter .15s ease, transform .12s ease !important;
  overflow: visible !important;
  cursor: pointer !important;
}
.btn::before, .btn::after,
.tab-btn::before, .tab-btn::after { content: none !important; display: none !important; }

.btn > i, .btn > span, .btn > svg,
.tab-btn > i, .tab-btn > span, .tab-btn > svg { position: relative !important; z-index: 1 !important; }

.btn:hover:not(:disabled),
.tab-btn:hover:not(:disabled) {
  background-image: var(--btn-hover) !important;
  transform: translateY(-1px) !important;
  filter: brightness(1.05) drop-shadow(0 4px 10px rgba(0,0,0,0.5)) !important;
}
.btn:active:not(:disabled),
.tab-btn:active:not(:disabled) {
  background-image: var(--btn-active) !important;
  transform: translateY(1px) scale(0.99) !important;
}

.tab-btn.active { background-image: var(--btn-active) !important; color: #ffffff !important; }

.btn:disabled,
.tab-btn:disabled {
  background-image: var(--btn-idle) !important;
  filter: grayscale(0.7) brightness(0.62) !important;
  color: #7e8ea0 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* Variantes de color */
.btn-primary {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-blue-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-blue-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-blue-active.png");
}
.btn-secondary {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-cyan-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-cyan-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-cyan-active.png");
}
.btn-success {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-green-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-green-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-green-active.png");
}
.btn-gold {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-teal-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-teal-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-teal-active.png");
}
.btn-darkmatter {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-purple-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-purple-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-purple-active.png");
}
.btn-danger, .btn-danger-hover:hover {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-red-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-red-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-red-active.png");
}
#topbar-exit-btn {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-red-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-red-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-red-active.png");
}
#topbar-wiki-btn {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-teal-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-teal-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-teal-active.png");
}
#topbar-rankings-btn {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-cyan-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-cyan-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-cyan-active.png");
}
#topbar-alliance-rankings-btn {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-purple-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-purple-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-purple-active.png");
}
/* Override de especificidad-ID (el sistema viejo targetea estos botones por ID) */
#topbar-exit-btn, #topbar-wiki-btn {
  background: var(--btn-idle) center / 100% 100% no-repeat !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#topbar-exit-btn:hover, #topbar-wiki-btn:hover {
  background-image: var(--btn-hover) !important;
}
#topbar-exit-btn:active, #topbar-wiki-btn:active {
  background-image: var(--btn-active) !important;
}

#topbar-rankings-btn, #topbar-alliance-rankings-btn {
  background: var(--btn-idle) center / 100% 100% no-repeat !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 6px 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
}
#topbar-rankings-btn:hover, #topbar-alliance-rankings-btn:hover {
  background-image: var(--btn-hover) !important;
}
#topbar-rankings-btn:active, #topbar-alliance-rankings-btn:active {
  background-image: var(--btn-active) !important;
}


/* ── SIDEBAR con los mismos plates, color por seccion ── */
.sidebar-menu { gap: 7px !important; padding: 0 10px !important; }
.sidebar-item {
  --btn-idle:   url("../assets/images/ui/buttons-v3/btn-cyan-idle.png");
  --btn-hover:  url("../assets/images/ui/buttons-v3/btn-cyan-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-cyan-active.png");
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background: var(--btn-idle) center / 100% 100% no-repeat !important;
  background-color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  cursor: pointer !important;
  transition: filter .15s ease, transform .12s ease !important;
}
.sidebar-item::before, .sidebar-item::after { content: none !important; display: none !important; }
.sidebar-item .sidebar-item-icon,
.sidebar-item > i.fa {
  position: relative !important; z-index: 1 !important;
  width: 20px !important; min-width: 20px !important; text-align: center !important;
  font-size: 15px !important; color: #dff3ff !important;
  filter: drop-shadow(0 0 5px rgba(0,0,0,0.6)) !important;
}
.sidebar-item span {
  position: relative !important; z-index: 1 !important;
  display: inline !important; width: auto !important; height: auto !important;
  clip: auto !important; overflow: visible !important; white-space: nowrap !important;
  color: #eaf7ff !important;
  font-family: var(--font-display, "Outfit", sans-serif) !important;
  font-size: 0.85rem !important; font-weight: 800 !important; letter-spacing: 0.02em !important;
  text-shadow: 0 1px 3px #000 !important;
}
.sidebar-item:hover {
  background-image: var(--btn-hover) !important;
  transform: translateX(2px) !important;
  filter: brightness(1.06) !important;
}
.sidebar-item.active {
  background-image: var(--btn-active) !important;
  filter: brightness(1.04) !important;
}
.sidebar-item.active span { color: #ffffff !important; }

.sidebar-item[data-section="recursos"]      { --btn-idle:url("../assets/images/ui/buttons-v3/btn-cyan-idle.png");   --btn-hover:url("../assets/images/ui/buttons-v3/btn-cyan-hover.png");   --btn-active:url("../assets/images/ui/buttons-v3/btn-cyan-active.png"); }
.sidebar-item[data-section="edificios"]      { --btn-idle:url("../assets/images/ui/buttons-v3/btn-blue-idle.png");   --btn-hover:url("../assets/images/ui/buttons-v3/btn-blue-hover.png");   --btn-active:url("../assets/images/ui/buttons-v3/btn-blue-active.png"); }
.sidebar-item[data-section="investigacion"]  { --btn-idle:url("../assets/images/ui/buttons-v3/btn-teal-idle.png");   --btn-hover:url("../assets/images/ui/buttons-v3/btn-teal-hover.png");   --btn-active:url("../assets/images/ui/buttons-v3/btn-teal-active.png"); }
.sidebar-item[data-section="astillero"]      { --btn-idle:url("../assets/images/ui/buttons-v3/btn-blue-idle.png");   --btn-hover:url("../assets/images/ui/buttons-v3/btn-blue-hover.png");   --btn-active:url("../assets/images/ui/buttons-v3/btn-blue-active.png"); }
.sidebar-item[data-section="defensa"]        { --btn-idle:url("../assets/images/ui/buttons-v3/btn-green-idle.png");  --btn-hover:url("../assets/images/ui/buttons-v3/btn-green-hover.png");  --btn-active:url("../assets/images/ui/buttons-v3/btn-green-active.png"); }
.sidebar-item[data-section="flota"]          { --btn-idle:url("../assets/images/ui/buttons-v3/btn-blue-idle.png");   --btn-hover:url("../assets/images/ui/buttons-v3/btn-blue-hover.png");   --btn-active:url("../assets/images/ui/buttons-v3/btn-blue-active.png"); }
.sidebar-item[data-section="galaxia"]        { --btn-idle:url("../assets/images/ui/buttons-v3/btn-cyan-idle.png");   --btn-hover:url("../assets/images/ui/buttons-v3/btn-cyan-hover.png");   --btn-active:url("../assets/images/ui/buttons-v3/btn-cyan-active.png"); }
.sidebar-item[data-section="alianza"]        { --btn-idle:url("../assets/images/ui/buttons-v3/btn-purple-idle.png"); --btn-hover:url("../assets/images/ui/buttons-v3/btn-purple-hover.png"); --btn-active:url("../assets/images/ui/buttons-v3/btn-purple-active.png"); }
.sidebar-item[data-section="tienda"]         { --btn-idle:url("../assets/images/ui/buttons-v3/btn-purple-idle.png"); --btn-hover:url("../assets/images/ui/buttons-v3/btn-purple-hover.png"); --btn-active:url("../assets/images/ui/buttons-v3/btn-purple-active.png"); }
.sidebar-item[data-section="mensajes"]       { --btn-idle:url("../assets/images/ui/buttons-v3/btn-green-idle.png");  --btn-hover:url("../assets/images/ui/buttons-v3/btn-green-hover.png");  --btn-active:url("../assets/images/ui/buttons-v3/btn-green-active.png"); }
.sidebar-item[data-section="simulador"]      { --btn-idle:url("../assets/images/ui/buttons-v3/btn-teal-idle.png");   --btn-hover:url("../assets/images/ui/buttons-v3/btn-teal-hover.png");   --btn-active:url("../assets/images/ui/buttons-v3/btn-teal-active.png"); }
.sidebar-item[data-section="configuracion"]  { --btn-idle:url("../assets/images/ui/buttons-v3/btn-cyan-idle.png");   --btn-hover:url("../assets/images/ui/buttons-v3/btn-cyan-hover.png");   --btn-active:url("../assets/images/ui/buttons-v3/btn-cyan-active.png"); }
.sidebar-item[data-section="admin"]          { --btn-idle:url("../assets/images/ui/buttons-v3/btn-red-idle.png");    --btn-hover:url("../assets/images/ui/buttons-v3/btn-red-hover.png");    --btn-active:url("../assets/images/ui/buttons-v3/btn-red-active.png"); }

.sidebar-item .sidebar-msg-badge,
.sidebar-item .message-badge,
.sidebar-item .unread-badge {
  position: absolute !important; right: 12px !important; left: auto !important;
  top: 50% !important; transform: translateY(-50%) !important; z-index: 3 !important;
}

@media (max-width: 1024px) {
  .sidebar-item { justify-content: center !important; padding: 0 !important; gap: 0 !important; }
  .sidebar-item span { display: none !important; }
}

/* ============================================================
   SOBREESCRITURA GENERAL PARA BOTONES ESPECÍFICOS DEL ASTILLERO Y DEFENSAS
   ============================================================ */
.sy-build-btn,
.def-build-btn,
.def-popup-build-btn,
.rt-upgrade-btn,
.rt-popup-upgrade-btn,
.quick-upgrade-btn,
.sy-max-btn,
.sy-qty-btn,
.def-max-btn,
.def-qty-btn,
.def-popup-qty-btn,
.quantity-btn,
.galaxy-jump-btn,
.btn-action-icon,
.fleet-tracker-toggle,
.shop-tab-btn,
.shop-tab-btn.active,
.messages-tab-btn,
.messages-tab-btn.active,
.cfg-tab-btn,
.cfg-tab-btn.active {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: filter .15s ease, transform .12s ease !important;
}

.sy-build-btn:hover:not(:disabled),
.def-build-btn:hover:not(:disabled),
.def-popup-build-btn:hover:not(:disabled),
.rt-upgrade-btn:hover:not(:disabled),
.rt-popup-upgrade-btn:hover:not(:disabled),
.quick-upgrade-btn:hover:not(:disabled),
.sy-max-btn:hover:not(:disabled),
.sy-qty-btn:hover:not(:disabled),
.def-max-btn:hover:not(:disabled),
.def-qty-btn:hover:not(:disabled),
.def-popup-qty-btn:hover:not(:disabled),
.quantity-btn:hover:not(:disabled),
.galaxy-jump-btn:hover:not(:disabled),
.btn-action-icon:hover:not(:disabled),
.fleet-tracker-toggle:hover:not(:disabled),
.shop-tab-btn:hover,
.messages-tab-btn:hover,
.cfg-tab-btn:hover {
  background-image: var(--btn-hover) !important;
  transform: translateY(-1px) !important;
  filter: brightness(1.05) drop-shadow(0 4px 10px rgba(0,0,0,0.5)) !important;
}

.sy-build-btn:active:not(:disabled),
.def-build-btn:active:not(:disabled),
.def-popup-build-btn:active:not(:disabled),
.rt-upgrade-btn:active:not(:disabled),
.rt-popup-upgrade-btn:active:not(:disabled),
.quick-upgrade-btn:active:not(:disabled),
.sy-max-btn:active:not(:disabled),
.sy-qty-btn:active:not(:disabled),
.def-max-btn:active:not(:disabled),
.def-qty-btn:active:not(:disabled),
.def-popup-qty-btn:active:not(:disabled),
.quantity-btn:active:not(:disabled),
.galaxy-jump-btn:active:not(:disabled),
.btn-action-icon:active:not(:disabled),
.fleet-tracker-toggle:active:not(:disabled),
.shop-tab-btn:active,
.messages-tab-btn:active,
.cfg-tab-btn:active {
  background-image: var(--btn-active) !important;
  transform: translateY(1px) scale(0.99) !important;
}

/* Colores de botones del Astillero e Investigación (Azul / Primary) */
.sy-build-btn:not(:disabled),
.rt-upgrade-btn:not(:disabled),
.rt-popup-upgrade-btn:not(:disabled),
.quick-upgrade-btn:not(:disabled) {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-blue-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-blue-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-blue-active.png");
  background: var(--btn-idle) center / 100% 100% no-repeat !important;
  color: #eaf7ff !important;
  text-shadow: 0 1px 3px #000, 0 0 6px rgba(0,0,0,0.6) !important;
}

/* Colores de botones de Defensas (Rojo / Danger) */
.def-build-btn:not(:disabled),
.def-popup-build-btn:not(:disabled) {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-red-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-red-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-red-active.png");
  background: var(--btn-idle) center / 100% 100% no-repeat !important;
  color: #ffeaea !important;
  text-shadow: 0 1px 3px #000, 0 0 6px rgba(0,0,0,0.6) !important;
}

/* Cantidad, Max, Saltar y Toggles (Cian / Secondary) */
.sy-max-btn:not(:disabled),
.sy-qty-btn:not(:disabled),
.quantity-btn:not(:disabled),
.galaxy-jump-btn:not(:disabled),
.fleet-tracker-toggle:not(:disabled) {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-cyan-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-cyan-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-cyan-active.png");
  background: var(--btn-idle) center / 100% 100% no-repeat !important;
  color: #eaf7ff !important;
}

/* Cantidad de Defensa y Max (Teal / Gold) */
.def-max-btn:not(:disabled),
.def-qty-btn:not(:disabled),
.def-popup-qty-btn:not(:disabled) {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-teal-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-teal-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-teal-active.png");
  background: var(--btn-idle) center / 100% 100% no-repeat !important;
  color: #e6fcfc !important;
}

/* Pestañas (Tabs) */
.shop-tab-btn, .messages-tab-btn, .cfg-tab-btn {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-cyan-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-cyan-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-cyan-active.png");
  background: var(--btn-idle) center / 100% 100% no-repeat !important;
  color: #eaf7ff !important;
}
.shop-tab-btn.active, .messages-tab-btn.active, .cfg-tab-btn.active {
  background: var(--btn-active) center / 100% 100% no-repeat !important;
  color: #ffffff !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.shop-tab-btn:hover, .messages-tab-btn:hover, .cfg-tab-btn:hover {
  background: var(--btn-hover) center / 100% 100% no-repeat !important;
  border: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.shop-tab-btn.active:hover, .messages-tab-btn.active:hover, .cfg-tab-btn.active:hover {
  background: var(--btn-active) center / 100% 100% no-repeat !important;
  border: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Iconos de Acción Galaxia (.btn-action-icon) */
.btn-action-icon {
  width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-cyan-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-cyan-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-cyan-active.png");
  background: var(--btn-idle) center / 100% 100% no-repeat !important;
  color: #eaf7ff !important;
}
.btn-action-icon.spy {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-purple-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-purple-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-purple-active.png");
}
.btn-action-icon.transport {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-blue-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-blue-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-blue-active.png");
}
.btn-action-icon.attack {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-red-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-red-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-red-active.png");
}
.btn-action-icon.message {
  --btn-idle: url("../assets/images/ui/buttons-v3/btn-cyan-idle.png");
  --btn-hover: url("../assets/images/ui/buttons-v3/btn-cyan-hover.png");
  --btn-active: url("../assets/images/ui/buttons-v3/btn-cyan-active.png");
}

/* Estilo para Botón Deshabilitado (Disabled) */
.sy-build-btn:disabled,
.def-build-btn:disabled,
.def-popup-build-btn:disabled,
.rt-upgrade-btn:disabled,
.rt-popup-upgrade-btn:disabled,
.quick-upgrade-btn:disabled,
.sy-max-btn:disabled,
.sy-qty-btn:disabled,
.def-max-btn:disabled,
.def-qty-btn:disabled,
.def-popup-qty-btn:disabled,
.quantity-btn:disabled,
.galaxy-jump-btn:disabled,
.btn-action-icon:disabled,
.fleet-tracker-toggle:disabled {
  background-image: var(--btn-idle) !important;
  filter: grayscale(0.7) brightness(0.5) !important;
  color: #7e8ea0 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* Readability pass: keep the image plates, but make compact white labels easier to scan. */
.btn,
.tab-btn,
.shop-tab-btn,
.messages-tab-btn,
.cfg-tab-btn,
.sy-build-btn,
.def-build-btn,
.def-popup-build-btn,
.rt-upgrade-btn,
.rt-popup-upgrade-btn,
.quick-upgrade-btn,
.galaxy-jump-btn,
.fleet-tracker-toggle {
  color: #d8e7f2 !important;
  font-family: var(--font-primary, "Inter", system-ui, sans-serif) !important;
  font-weight: 650 !important;
  letter-spacing: 0.015em !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85) !important;
}

#topbar-wiki-btn,
#topbar-exit-btn,
#topbar-rankings-btn,
#topbar-alliance-rankings-btn,
#topbar-commander-badge,
.topbar-logo-sub {
  color: #d8e7f2 !important;
  font-family: var(--font-primary, "Inter", system-ui, sans-serif) !important;
  font-weight: 650 !important;
  letter-spacing: 0.01em !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.82) !important;
}

#topbar-wiki-btn:hover,
#topbar-exit-btn:hover,
#topbar-rankings-btn:hover,
#topbar-alliance-rankings-btn:hover {
  color: #f1f7fb !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.88) !important;
}

.btn:hover:not(:disabled),
.btn:active:not(:disabled),
.tab-btn:hover:not(:disabled),
.tab-btn:active:not(:disabled),
.tab-btn.active,
.shop-tab-btn:hover,
.shop-tab-btn.active,
.messages-tab-btn:hover,
.messages-tab-btn.active,
.cfg-tab-btn:hover,
.cfg-tab-btn.active {
  color: #f1f7fb !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9) !important;
}

.auth-tab,
.auth-pill,
.faction-card strong,
.universe-status,
.account-box .btn,
.universe-admin-actions .btn,
.modal-actions .btn {
  font-family: var(--font-primary, "Inter", system-ui, sans-serif) !important;
  font-weight: 650 !important;
  letter-spacing: 0.01em !important;
  text-shadow: none !important;
}

.auth-tab.active,
.universe-status {
  color: #e6f1f8 !important;
}

.sidebar-item span {
  color: #d6e4ee !important;
  font-family: var(--font-primary, "Inter", system-ui, sans-serif) !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.82) !important;
}

.sidebar-item:hover span,
.sidebar-item.active span {
  color: #f0f6fa !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.88) !important;
}

